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
24class CASettings;
25class CAMidiDevice;
26class CADocument;
27class CAUndo;
28class CAHelpCtl;
29
30class CACanorus {
31public:
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
87private:
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
102};
103#endif /* CANORUS_H_ */
Class for making recovery files for application crashes.
Definition: autorecovery.h:15
Definition: canorus.h:30
static CAMidiDevice * _midiDevice
Definition: canorus.h:95
static void parseOpenFileArguments(int argc, char *argv[])
Definition: canorus.cpp:286
static CAAutoRecovery * _autoRecovery
Definition: canorus.h:98
static void repaintUI()
Definition: canorus.cpp:352
static void removeRecentDocument(QString)
Definition: canorus.cpp:240
static const QList< CAMainWin * > & mainWinList()
Definition: canorus.h:49
static QList< QString > & recentDocumentList()
Definition: canorus.h:63
static QList< QString > _recentDocumentList
Definition: canorus.h:91
static int mainWinCount(CADocument *)
Definition: canorus.cpp:311
static const char * propContext()
Definition: canorus.h:81
static CAHelpCtl * help()
Definition: canorus.h:70
static CAUndo * undo()
Definition: canorus.h:58
static void initHelp()
Definition: canorus.cpp:220
static void initPlayback()
Definition: canorus.cpp:155
static void initMain(int argc=0, char *argv[]=0)
Definition: canorus.cpp:78
static bool parseSettingsArguments(int argc, char *argv[])
Definition: canorus.cpp:269
static void removeView(CAView *v)
Definition: canorus.h:55
static CAHelpCtl * _help
Definition: canorus.h:101
static void addRecentDocument(QString)
Definition: canorus.cpp:236
static CAUndo * _undo
Definition: canorus.h:90
static void insertRecentDocument(QString)
Definition: canorus.cpp:224
static void cleanUp()
Definition: canorus.cpp:247
static CASettings * _settings
Definition: canorus.h:89
static const char * propConflicts()
Definition: canorus.h:85
static void initTranslations()
Definition: canorus.cpp:91
static void restartTimeEditedTimes(CADocument *doc)
Definition: canorus.h:56
static CAMidiDevice * midiDevice()
Definition: canorus.h:67
static void initFonts()
Definition: canorus.cpp:201
static void rebuildUI(CADocument *document, CASheet *sheet)
Definition: canorus.cpp:326
static void removeMainWin(CAMainWin *w)
Definition: canorus.h:51
static CASettings * settings()
Definition: canorus.h:65
static void initSearchPaths()
Definition: canorus.cpp:51
static const char * propShortCut()
Definition: canorus.h:83
static void initCommonGUI()
Definition: canorus.cpp:111
static CAAutoRecovery * autoRecovery()
Definition: canorus.h:66
static void initScripting()
Definition: canorus.cpp:181
static int fetaCodepoint(const QString &name)
Definition: canorus.cpp:216
static QList< CAMainWin * > findMainWin(CADocument *document)
Definition: canorus.cpp:361
static QList< CAMainWin * > _mainWinList
Definition: canorus.h:88
static void setMidiDevice(CAMidiDevice *d)
Definition: canorus.h:68
static void addMainWin(CAMainWin *w)
Definition: canorus.h:50
static QHash< QString, int > _fetaMap
Definition: canorus.h:92
static const char * propCommand()
Definition: canorus.h:80
static CASettingsDialog::CASettingsPage initSettings()
Definition: canorus.cpp:167
static void initUndo()
Definition: canorus.cpp:197
static void connectSlotsByName(QObject *pOS, const QObject *pOR)
Definition: canorus.cpp:389
static const char * propMidiCommand()
Definition: canorus.h:84
static const char * propDescription()
Definition: canorus.h:82
static void initAutoRecovery()
Definition: canorus.cpp:193
Class which represents the current document.
Definition: document.h:19
Class for showing User's guide, What's new, Did you know tips etc.
Definition: helpctl.h:16
Canorus main window Class CAMainWin represents Canorus main window. The core layout is generated usin...
Definition: plugins_swig.h:6
Canorus<->Midi bridge.
Definition: mididevice.h:22
CASettingsPage
Definition: settingsdialog.h:24
Class for storing the Canorus settings.
Definition: settings.h:21
Represents a single sheet of paper in the document.
Definition: sheet.h:22
Undo/Redo support.
Definition: undo.h:17
Base class for various views.
Definition: view.h:15