fb2dock.hpp 932 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #ifndef FB2DOCK_H
  2. #define FB2DOCK_H
  3. #include <QAction>
  4. #include <QIcon>
  5. #include <QStackedWidget>
  6. #include <QToolBar>
  7. #include <QIODevice>
  8. class FbTextEdit;
  9. class FbHeadEdit;
  10. class FbCodeEdit;
  11. class FbMainDock : public QStackedWidget
  12. {
  13. Q_OBJECT
  14. public:
  15. enum Mode { Text = 0, Head, Code };
  16. explicit FbMainDock(QWidget *parent = 0);
  17. FbTextEdit * text() { return m_text; }
  18. FbHeadEdit * head() { return m_head; }
  19. FbCodeEdit * code() { return m_code; }
  20. bool load(const QString &filename);
  21. bool save(QIODevice *device, const QString &codec = QString());
  22. Mode mode() const;
  23. void setMode(Mode mode);
  24. void setTool(QToolBar *tool) { m_tool = tool; }
  25. signals:
  26. public slots:
  27. private:
  28. QFrame *textFrame;
  29. FbTextEdit *m_text;
  30. FbHeadEdit *m_head;
  31. FbCodeEdit *m_code;
  32. QToolBar *m_tool;
  33. bool isSwitched;
  34. };
  35. #endif // FB2DOCK_H