vtabwidget.h 881 B

1234567891011121314151617181920212223242526272829303132333435
  1. #ifndef VTABWIDGET_H
  2. #define VTABWIDGET_H
  3. #include <QTabWidget>
  4. #include <QJsonObject>
  5. #include <QString>
  6. class VTabWidget : public QTabWidget
  7. {
  8. Q_OBJECT
  9. public:
  10. explicit VTabWidget(QWidget *parent = 0);
  11. signals:
  12. public slots:
  13. void openFile(QJsonObject fileJson);
  14. // Close the file forcely
  15. void closeFile(QJsonObject fileJson);
  16. void editFile();
  17. void saveFile();
  18. void readFile();
  19. private slots:
  20. void handleTabCloseRequest(int index);
  21. private:
  22. void openWelcomePage();
  23. int insertTabWithData(int index, QWidget *page, const QString &label, const QJsonObject &tabData);
  24. int appendTabWithData(QWidget *page, const QString &label, const QJsonObject &tabData);
  25. int findTabByFile(const QString &path, const QString &name);
  26. int openFileInTab(const QString &path, const QString &name, bool modifiable);
  27. };
  28. #endif // VTABWIDGET_H