fb2dock.cpp 980 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #include "fb2dock.hpp"
  2. #include "fb2code.hpp"
  3. #include "fb2head.hpp"
  4. #include "fb2text.hpp"
  5. #include <QLayout>
  6. FbMainDock::FbMainDock(QWidget *parent)
  7. : QStackedWidget(parent)
  8. {
  9. textFrame = new FbWebFrame(this);
  10. m_text = new FbTextEdit(textFrame);
  11. textFrame->layout()->addWidget(m_text);
  12. m_head = new FbHeadEdit(this);
  13. m_code = new FbCodeEdit(this);
  14. addWidget(textFrame);
  15. addWidget(m_head);
  16. addWidget(m_code);
  17. m_head->setText(m_text);
  18. }
  19. FbMainDock::Mode FbMainDock::mode() const
  20. {
  21. QWidget * current = currentWidget();
  22. if (current == textFrame) return Text;
  23. if (current == m_head) return Head;
  24. if (current == m_code) return Code;
  25. return Text;
  26. }
  27. void FbMainDock::setMode(Mode mode)
  28. {
  29. switch (mode) {
  30. case Text: setCurrentWidget(textFrame); return;
  31. case Head: setCurrentWidget(m_head); return;
  32. case Code: setCurrentWidget(m_code); return;
  33. }
  34. }