/*************************************************************************** source::worx xtree Copyright © 2024-2025 c.holzheuer christoph.holzheuer@gmail.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. ***************************************************************************/ #ifndef XQMAINWINDOW_H #define XQMAINWINDOW_H #include #include #include #include #include #include class XQMainWindow : public QMainWindow, public Ui_XQMainWindow { Q_OBJECT public: XQMainWindow( QWidget* parent = nullptr ); virtual ~XQMainWindow() = default; void initMainWindow(); signals: void doTheFirz(XQItem& item); public slots: virtual void onMyFirz(XQItem& item) { qDebug() << " --- myFirz: " << item.text(); } void onUndo(); void onRedo(); void onCreateDocument(); void onOpenDocument(); void onSaveDocument(); void onSaveDocumentAs(); void onCloseDocument(); void onAbout(); void onExit(); void onTreeItemClicked( XQItem& item ); void onTreeItemChanged( XQItem& item ); void onChildViewItemClicked( XQItem& item ); void onChildViewItemChanged( XQItem& item ); void onTabClicked( int index ); //void onItemCreated( XQItem* item ); void onSectionCreated( const XQModelSection& section); void onSectionToggled( const XQModelSection& section ); static void setupWorkingDir(); protected: // fixme implement void showDocumnet( const QString& key ){} void loadDocument( const QString& fileName ); void loadDocumentQML( const QString& fileName ); void saveDocument( const QString& fileName ); QUndoStack _undoStack; XQDocumentStore _documentStore; XQMainModel _mainModel; XQItem* _currentProjectItem{}; }; #endif // XQMAINWINDOW_H