Canorus  0.7
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 class CASettings;
22 class CAMidiDevice;
23 class CADocument;
24 class CAUndo;
25 class CAHelpCtl;
26 
27 class CACanorus {
28 public:
29  static void initMain( int argc=0, char *argv[]=0 );
31  static void initTranslations();
32  static void initCommonGUI();
33  static void initPlayback();
34  static bool parseSettingsArguments(int argc, char *argv[]);
35  static void initScripting();
36  static void initAutoRecovery();
37  static void initUndo();
38  static void initSearchPaths();
39  static void initFonts();
40  static void initHelp();
41  static void parseOpenFileArguments(int argc, char *argv[]);
42  static void cleanUp();
43 
44  static int fetaCodepoint(const QString& name);
45 
46  inline static int mainWinCount() { return _mainWinList.size(); }
47  static int mainWinCount(CADocument *);
48  static QList<CAMainWin*> findMainWin(CADocument* document);
49  inline static CAMainWin* mainWinAt(int idx) { return _mainWinList[idx]; }
50  inline static void removeMainWin(CAMainWin *w) { _mainWinList.removeAll(w); }
51  inline static void removeViewPort(CAViewPort *v) { for (int i=0; i<mainWinCount(); i++) _mainWinList[i]->removeViewPort(v); }
52  inline static void addMainWin( CAMainWin *w ) { _mainWinList << w; }
53  inline static void restartTimeEditedTimes(CADocument *doc) { for (int i=0; i<mainWinCount(); i++) if (mainWinAt(i)->document()==doc) mainWinAt(i)->restartTimeEditedTime(); }
54 
55  inline static CAUndo *undo() { return _undo; }
56 
57  static void addRecentDocument( QString );
58  static void insertRecentDocument( QString );
59  static void removeRecentDocument( QString );
60  inline static QList<QString>& recentDocumentList() { return _recentDocumentList; }
61 
62  inline static CASettings *settings() { return _settings; }
63  inline static CAAutoRecovery *autoRecovery() { return _autoRecovery; }
64  inline static CAMidiDevice *midiDevice() { return _midiDevice; }
65  inline static void setMidiDevice(CAMidiDevice *d) { _midiDevice = d; }
66 
67  inline static CAHelpCtl *help() { return _help; }
68 
69  static void rebuildUI( CADocument *document, CASheet *sheet );
70  static void rebuildUI( CADocument *document=0 );
71  static void repaintUI();
72 
73  // Our own slot connection method
74  static void connectSlotsByName(QObject *pOS, const QObject *pOR);
75 
76 private:
77  static QList<CAMainWin*> _mainWinList;
79  static CAUndo *_undo;
80  static QList<QString> _recentDocumentList;
81  static QHash<QString, int> _fetaMap;
82 
83  // Playback output
85 
86  // Auto recovery
88 
89  // Help
90  static CAHelpCtl *_help;
91 };
92 #endif /* CANORUS_H_ */
Represents a single sheet of paper in the document.
Definition: sheet.h:20
static void initSearchPaths()
Definition: canorus.cpp:49
static void initAutoRecovery()
Definition: canorus.cpp:182
static QList< CAMainWin * > findMainWin(CADocument *document)
Definition: canorus.cpp:350
Class for storing the Canorus settings.
Definition: settings.h:19
Undo/Redo support.
Definition: undo.h:17
static void rebuildUI(CADocument *document, CASheet *sheet)
Definition: canorus.cpp:315
static void parseOpenFileArguments(int argc, char *argv[])
Definition: canorus.cpp:275
static CASettings * settings()
Definition: canorus.h:62
static bool parseSettingsArguments(int argc, char *argv[])
Definition: canorus.cpp:258
static void initPlayback()
Definition: canorus.cpp:149
static CASettingsDialog::CASettingsPage initSettings()
Definition: canorus.cpp:161
static void connectSlotsByName(QObject *pOS, const QObject *pOR)
Definition: canorus.cpp:378
static void initHelp()
Definition: canorus.cpp:209
static CASettings * _settings
Definition: canorus.h:78
Class which represents the current document.
Definition: document.h:19
Canorus<->Midi bridge.
Definition: mididevice.h:22
static void addRecentDocument(QString)
Definition: canorus.cpp:225
static void initScripting()
Definition: canorus.cpp:170
static void removeRecentDocument(QString)
Definition: canorus.cpp:229
static int fetaCodepoint(const QString &name)
Definition: canorus.cpp:205
static void insertRecentDocument(QString)
Definition: canorus.cpp:213
static void initUndo()
Definition: canorus.cpp:186
static CAAutoRecovery * autoRecovery()
Definition: canorus.h:63
static void initFonts()
Definition: canorus.cpp:190
static void initCommonGUI()
Definition: canorus.cpp:107
static QHash< QString, int > _fetaMap
Definition: canorus.h:81
static CAMidiDevice * midiDevice()
Definition: canorus.h:64
static void initMain(int argc=0, char *argv[]=0)
Definition: canorus.cpp:76
static void restartTimeEditedTimes(CADocument *doc)
Definition: canorus.h:53
Class for showing User's guide, What's new, Did you know tips etc.
Definition: helpctl.h:17
void restartTimeEditedTime()
Definition: mainwin.h:84
static CAMainWin * mainWinAt(int idx)
Definition: canorus.h:49
Definition: canorus.h:27
static int mainWinCount()
Definition: canorus.h:46
static void removeViewPort(CAViewPort *v)
Definition: canorus.h:51
static CAAutoRecovery * _autoRecovery
Definition: canorus.h:87
static void removeMainWin(CAMainWin *w)
Definition: canorus.h:50
Class for making recovery files for application crashes.
Definition: autorecovery.h:15
static CAHelpCtl * _help
Definition: canorus.h:90
static void addMainWin(CAMainWin *w)
Definition: canorus.h:52
CASettingsPage
Definition: settingsdialog.h:23
static CAHelpCtl * help()
Definition: canorus.h:67
static CAUndo * undo()
Definition: canorus.h:55
static QList< QString > & recentDocumentList()
Definition: canorus.h:60
static QList< CAMainWin * > _mainWinList
Definition: canorus.h:77
static void cleanUp()
Definition: canorus.cpp:236
static void initTranslations()
Definition: canorus.cpp:89
static void setMidiDevice(CAMidiDevice *d)
Definition: canorus.h:65
static QList< QString > _recentDocumentList
Definition: canorus.h:80
static CAMidiDevice * _midiDevice
Definition: canorus.h:84
static CAUndo * _undo
Definition: canorus.h:79
Canorus main window Class CAMainWin represents Canorus main window. The core layout is generated usin...
Definition: plugins_swig.h:6
CADocument * document()
Definition: mainwin.h:124
Base class for various viewports.
Definition: viewport.h:15
static void repaintUI()
Definition: canorus.cpp:341