Files
oak-editor/app/window/mainwindow/mainwindowlayoutinfo.h
T
itsmattkc cb75e37e77 moved several files around
Mostly moved classes that became node derivatives into the node/ folder.
2021-04-08 12:15:59 +10:00

58 lines
1006 B
C++

#ifndef MAINWINDOWLAYOUTINFO_H
#define MAINWINDOWLAYOUTINFO_H
#include "node/project/folder/folder.h"
#include "node/project/sequence/sequence.h"
namespace olive {
class MainWindowLayoutInfo
{
public:
MainWindowLayoutInfo() = default;
void toXml(QXmlStreamWriter* writer) const;
static MainWindowLayoutInfo fromXml(QXmlStreamReader* reader, XMLNodeData &xml_data);
void add_folder(Folder* f);
struct OpenSequence {
Sequence* sequence;
QByteArray panel_state;
};
void add_sequence(const OpenSequence& seq);
void set_state(const QByteArray& layout);
const QList<Folder*>& open_folders() const
{
return open_folders_;
}
const QList<OpenSequence>& open_sequences() const
{
return open_sequences_;
}
const QByteArray& state() const
{
return state_;
}
private:
QByteArray state_;
QList<Folder*> open_folders_;
QList<OpenSequence> open_sequences_;
};
}
Q_DECLARE_METATYPE(olive::MainWindowLayoutInfo)
#endif // MAINWINDOWLAYOUTINFO_H