diff options
author | Florian Jung <flo@windfisch.org> | 2011-08-16 17:03:24 +0000 |
---|---|---|
committer | Florian Jung <flo@windfisch.org> | 2011-08-16 17:03:24 +0000 |
commit | ac7c404804691fcf7f9b36f038025ac486ffea6a (patch) | |
tree | 7d3e6276115487f5e5dcab229401402691f0b74e /muse2/muse/master | |
parent | 6b5e69ff5def2c8469657e33413bec84d815df9d (diff) |
half-way working version
toolbar state can be saved and restored, though this is still a bit buggy
Diffstat (limited to 'muse2/muse/master')
-rw-r--r-- | muse2/muse/master/lmaster.cpp | 42 | ||||
-rw-r--r-- | muse2/muse/master/lmaster.h | 17 |
2 files changed, 49 insertions, 10 deletions
diff --git a/muse2/muse/master/lmaster.cpp b/muse2/muse/master/lmaster.cpp index f434e99a..7f5e6f75 100644 --- a/muse2/muse/master/lmaster.cpp +++ b/muse2/muse/master/lmaster.cpp @@ -39,6 +39,7 @@ #define LMASTER_MSGBOX_STRING "MusE: List Editor" + //don't remove or insert new elements in keyStrs. //only renaming (keeping the semantic sense) is allowed! (flo( QStringList keyStrs = QStringList() @@ -89,6 +90,8 @@ QString keyToString(key_enum key) //flo return keyStrs[index]; } + + //--------------------------------------------------------- // closeEvent //--------------------------------------------------------- @@ -407,6 +410,45 @@ void LMaster::writeStatus(int level, Xml& xml) const } //--------------------------------------------------------- +// readConfiguration +//--------------------------------------------------------- + +void LMaster::readConfiguration(Xml& xml) + { + for (;;) { + Xml::Token token = xml.parse(); + const QString& tag = xml.s1(); + switch (token) { + case Xml::Error: + case Xml::End: + return; + case Xml::TagStart: + if (tag == "topwin") + TopWin::readConfiguration(LMASTER, xml); + else + xml.unknown("LMaster"); + break; + case Xml::TagEnd: + if (tag == "lmaster") + return; + default: + break; + } + } + } + +//--------------------------------------------------------- +// writeConfiguration +//--------------------------------------------------------- + +void LMaster::writeConfiguration(int level, Xml& xml) + { + xml.tag(level++, "lmaster"); + TopWin::writeConfiguration(LMASTER, level, xml); + xml.tag(level, "/lmaster"); + } + +//--------------------------------------------------------- // select //--------------------------------------------------------- diff --git a/muse2/muse/master/lmaster.h b/muse2/muse/master/lmaster.h index a64fd49d..d79fee4d 100644 --- a/muse2/muse/master/lmaster.h +++ b/muse2/muse/master/lmaster.h @@ -14,15 +14,10 @@ #include "tempo.h" #include "keyevent.h" ///#include "sig.h" -//#include "al/sig.h" +#include "al/sig.h" #include <QTreeWidgetItem> -namespace AL { - class SigEvent; - }; -using AL::SigEvent; - namespace Awl { class PosEdit; class SigEdit; @@ -97,12 +92,12 @@ class LMasterKeyEventItem : public LMasterLViewItem { class LMasterSigEventItem : public LMasterLViewItem { private: - const SigEvent* sigEvent; + const AL::SigEvent* sigEvent; public: - LMasterSigEventItem(QTreeWidget* parent, const SigEvent* s); + LMasterSigEventItem(QTreeWidget* parent, const AL::SigEvent* s); virtual LMASTER_LVTYPE getType() { return LMASTER_SIGEVENT; } - const SigEvent* getEvent() { return sigEvent; } + const AL::SigEvent* getEvent() { return sigEvent; } virtual unsigned tick() { return sigEvent->tick; } int z() { return sigEvent->sig.z; } int n() { return sigEvent->sig.n; } @@ -126,7 +121,7 @@ class LMaster : public MidiEditor { virtual void closeEvent(QCloseEvent*); void updateList(); void insertTempo(const TEvent*); - void insertSig(const SigEvent*); + void insertSig(const AL::SigEvent*); void insertKey(const KeyEvent&); LMasterLViewItem* getItemAtPos(unsigned tick, LMASTER_LVTYPE t); void initShortcuts(); @@ -164,6 +159,8 @@ class LMaster : public MidiEditor { ~LMaster(); virtual void readStatus(Xml&); virtual void writeStatus(int, Xml&) const; + static void readConfiguration(Xml&); + static void writeConfiguration(int, Xml&); LMasterLViewItem* getLastOfType(LMASTER_LVTYPE t); }; |