Canorus  0.0
canorus.h
Go to the documentation of this file.
1 
8 #ifndef CANORUS_H_
9 #define CANORUS_H_
10 
11 // Python.h needs to be loaded first!
12 #include "ui/settingsdialog.h"
13 #include "ui/mainwin.h"
14 #include "core/autorecovery.h"
15 
16 #include <QString>
17 #include <QList>
18 #include <QUndoStack>
19 #include <QHash>
20 
21 //Duma leads to a crash on libfontconfig with Ubuntu (10.04/12.04)
22 //#include "duma.h"
23 
24 class CASettings;
25 class CAMidiDevice;
26 class CADocument;
27 class CAUndo;
28 class CAHelpCtl;
29 
30 class CACanorus {
31 public:
32  static void initMain( int argc=0, char *argv[]=0 );
34  static void initTranslations();
35  static void initCommonGUI();
36  static void initPlayback();
37  static bool parseSettingsArguments(int argc, char *argv[]);
38  static void initScripting();
39  static void initAutoRecovery();
40  static void initUndo();
41  static void initSearchPaths();
42  static void initFonts();
43  static void initHelp();
44  static void parseOpenFileArguments(int argc, char *argv[]);
45  static void cleanUp();
46 
47  static int fetaCodepoint(const QString& name);
48 
49  inline static const QList<CAMainWin*>& mainWinList() { return _mainWinList; }
50  inline static void addMainWin( CAMainWin *w ) { _mainWinList << w; }
51  inline static void removeMainWin(CAMainWin *w) { _mainWinList.removeAll(w); }
52  static int mainWinCount(CADocument *);
53  static QList<CAMainWin*> findMainWin(CADocument* document);
54 
55  inline static void removeView(CAView *v) { for (int i=0; i<mainWinList().size(); i++) _mainWinList[i]->removeView(v); }
56  inline static void restartTimeEditedTimes(CADocument *doc) { for (int i=0; i<mainWinList().size(); i++) if (mainWinList()[i]->document()==doc) mainWinList()[i]->restartTimeEditedTime(); }
57 
58  inline static CAUndo *undo() { return _undo; }
59 
60  static void addRecentDocument( QString );
61  static void insertRecentDocument( QString );
62  static void removeRecentDocument( QString );
63  inline static QList<QString>& recentDocumentList() { return _recentDocumentList; }
64 
65  inline static CASettings *settings() { return _settings; }
66  inline static CAAutoRecovery *autoRecovery() { return _autoRecovery; }
67  inline static CAMidiDevice *midiDevice() { return _midiDevice; }
68  inline static void setMidiDevice(CAMidiDevice *d) { _midiDevice = d; }
69 
70  inline static CAHelpCtl *help() { return _help; }
71 
72  static void rebuildUI( CADocument *document, CASheet *sheet );
73  static void rebuildUI( CADocument *document=0 );
74  static void repaintUI();
75 
76  // Our own slot connection method
77  static void connectSlotsByName(QObject *pOS, const QObject *pOR);
78 
79  // Canorus specific names of const properties for actions
80  static const char *propCommand() { return "Command"; }
81  static const char *propContext() { return "Context"; }
82  static const char *propDescription() { return "Description"; }
83  static const char *propShortCut() { return "ShortCut"; }
84  static const char *propMidiCommand() { return "MidiCommand"; }
85  static const char *propConflicts() { return "Conflicts"; }
86 
87 private:
88  static QList<CAMainWin*> _mainWinList;
90  static CAUndo *_undo;
91  static QList<QString> _recentDocumentList;
92  static QHash<QString, int> _fetaMap;
93 
94  // Playback output
96 
97  // Auto recovery
99 
100  // Help
101  static CAHelpCtl *_help;
102 };
103 #endif /* CANORUS_H_ */
Represents a single sheet of paper in the document.
Definition: sheet.h:22
static void initSearchPaths()
Definition: canorus.cpp:51
static void initAutoRecovery()
Definition: canorus.cpp:193
static const char * propConflicts()
Definition: canorus.h:85
static QList< CAMainWin * > findMainWin(CADocument *document)
Definition: canorus.cpp:361
Class for storing the Canorus settings.
Definition: settings.h:21
static int mainWinCount(CADocument *)
Definition: canorus.cpp:311
Undo/Redo support.
Definition: undo.h:17
static void rebuildUI(CADocument *document, CASheet *sheet)
Definition: canorus.cpp:326
static void parseOpenFileArguments(int argc, char *argv[])
Definition: canorus.cpp:286
static CASettings * settings()
Definition: canorus.h:65
static bool parseSettingsArguments(int argc, char *argv[])
Definition: canorus.cpp:269
static void initPlayback()
Definition: canorus.cpp:155
static CASettingsDialog::CASettingsPage initSettings()
Definition: canorus.cpp:167
static void connectSlotsByName(QObject *pOS, const QObject *pOR)
Definition: canorus.cpp:389
static void initHelp()
Definition: canorus.cpp:220
Base class for various views.
Definition: view.h:15
static CASettings * _settings
Definition: canorus.h:89
Class which represents the current document.
Definition: document.h:19
Canorus<->Midi bridge.
Definition: mididevice.h:22
static void addRecentDocument(QString)
Definition: canorus.cpp:236
static void initScripting()
Definition: canorus.cpp:181
static const char * propContext()
Definition: canorus.h:81
static void removeRecentDocument(QString)
Definition: canorus.cpp:240
static int fetaCodepoint(const QString &name)
Definition: canorus.cpp:216
static void insertRecentDocument(QString)
Definition: canorus.cpp:224
static void removeView(CAView *v)
Definition: canorus.h:55
static void initUndo()
Definition: canorus.cpp:197
static CAAutoRecovery * autoRecovery()
Definition: canorus.h:66
static void initFonts()
Definition: canorus.cpp:201
static void initCommonGUI()
Definition: canorus.cpp:111
static const QList< CAMainWin * > & mainWinList()
Definition: canorus.h:49
static QHash< QString, int > _fetaMap
Definition: canorus.h:92
static CAMidiDevice * midiDevice()
Definition: canorus.h:67
static void initMain(int argc=0, char *argv[]=0)
Definition: canorus.cpp:78
static void restartTimeEditedTimes(CADocument *doc)
Definition: canorus.h:56
Class for showing User's guide, What's new, Did you know tips etc.
Definition: helpctl.h:16
Definition: canorus.h:30
static CAAutoRecovery * _autoRecovery
Definition: canorus.h:98
static void removeMainWin(CAMainWin *w)
Definition: canorus.h:51
Class for making recovery files for application crashes.
Definition: autorecovery.h:15
static CAHelpCtl * _help
Definition: canorus.h:101
static void addMainWin(CAMainWin *w)
Definition: canorus.h:50
CASettingsPage
Definition: settingsdialog.h:24
static CAHelpCtl * help()
Definition: canorus.h:70
static CAUndo * undo()
Definition: canorus.h:58
static QList< QString > & recentDocumentList()
Definition: canorus.h:63
static void cleanUp()
Definition: canorus.cpp:247
static QList< CAMainWin * > _mainWinList
Definition: canorus.h:88
static void initTranslations()
Definition: canorus.cpp:91
static const char * propCommand()
Definition: canorus.h:80
static void setMidiDevice(CAMidiDevice *d)
Definition: canorus.h:68
static const char * propShortCut()
Definition: canorus.h:83
static QList< QString > _recentDocumentList
Definition: canorus.h:91
static CAMidiDevice * _midiDevice
Definition: canorus.h:95
static CAUndo * _undo
Definition: canorus.h:90
Canorus main window Class CAMainWin represents Canorus main window. The core layout is generated usin...
Definition: plugins_swig.h:6
static const char * propMidiCommand()
Definition: canorus.h:84
static const char * propDescription()
Definition: canorus.h:82
static void repaintUI()
Definition: canorus.cpp:352