diff --git a/src/application/xqchildmodel.cpp b/src/application/xqchildmodel.cpp index 658ad21..ebcf41f 100644 --- a/src/application/xqchildmodel.cpp +++ b/src/application/xqchildmodel.cpp @@ -77,14 +77,6 @@ void XQChildModel::addModelData( const XQNodePtr& contentRoot ) } -//! SLOT als weiterleitung vom SIGNAL itemchanged - -void XQChildModel::onItemChanged(XQItem& item ) -{ - qDebug() << " --- Child item changed: " << item.text(); -} - - //! Erzeugt eine model-section und fügt den zugehörigen header ein. void XQChildModel::addSectionEntry( const QString& key, const XQNodePtr& contentEntry ) diff --git a/src/application/xqchildmodel.h b/src/application/xqchildmodel.h index 3819e3b..d98d88e 100644 --- a/src/application/xqchildmodel.h +++ b/src/application/xqchildmodel.h @@ -32,10 +32,6 @@ public: void addModelData(const XQNodePtr& contentRoot ); void addSectionEntry(const QString& key, const XQNodePtr& contentEntry ); -//public slots: - - void onItemChanged( XQItem& item ) override; - protected: //void setupViewProperties() override; diff --git a/src/application/xqmainmodel.cpp b/src/application/xqmainmodel.cpp index ca37b44..fcebe68 100644 --- a/src/application/xqmainmodel.cpp +++ b/src/application/xqmainmodel.cpp @@ -79,9 +79,3 @@ void XQMainModel::addSectionItem( const XQModelSection& section, XQItem* project } - -void XQMainModel::onItemChanged( XQItem& item ) -{ - qDebug() << " --- MAIN Model on itemChanged:" << item.text(); - -} diff --git a/src/application/xqmainmodel.h b/src/application/xqmainmodel.h index a5339fc..7504f80 100644 --- a/src/application/xqmainmodel.h +++ b/src/application/xqmainmodel.h @@ -36,11 +36,6 @@ public: void addSectionItem( const XQModelSection& section, XQItem* projectItem ); -//public slots: - - void onItemChanged(XQItem& item ) override; - - protected: void initContextMenu() override; diff --git a/src/application/xqmainwindow.cpp b/src/application/xqmainwindow.cpp index 68573c1..cd36d4d 100644 --- a/src/application/xqmainwindow.cpp +++ b/src/application/xqmainwindow.cpp @@ -88,29 +88,19 @@ void XQMainWindow::initMainWindow() connect( _actionExit, &QAction::triggered, this, &XQMainWindow::onExit ); connect( _actionAbout, &QAction::triggered, this, &XQMainWindow::onAbout ); - connect( _tabWidget, SIGNAL(tabBarClicked(int)), this, SLOT(onTabClicked(int)) ); + connect( _tabWidget, SIGNAL(tabBarClicked(int)), this, SLOT(onChildViewTabClicked(int)) ); //connect(&_mainModel, &QStandardItemModel::itemChanged, this, &XQMainWindow::onTreeItemChanged ); //connect( _mainTreeView, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(onDoubleClicked(QModelIndex)) ); //connect( _mainTreeView, SIGNAL(clicked(QModelIndex)), this, SLOT(onTreeItemClicked(QModelIndex)) ); - /* - connect( _mainTreeView, &QTreeView::clicked, this, [&,this](const QModelIndex& index) - { - onTreeItemClicked( XQItem::xqItemFromIndex(index) ); - }); - */ + + connect(&_mainModel, &XQViewModel::xqItemChanged, this, &XQMainWindow::onTreeViewItemChanged ); connect( _mainTreeView, &QTreeView::clicked, this, [&,this](const QModelIndex& index) { - onMyFirz( XQItem::xqItemFromIndex(index) ); + onChildViewItemClicked( XQItem::xqItemFromIndex(index) ); }); - connect( this, &XQMainWindow::doTheFirz, this, &XQMainWindow::onMyFirz ); - - XQItem* item = new XQItem(); - item->setText("xxxFITZ!"); - - emit doTheFirz(*item); /* connect( &_mainModel, &XQViewModel::itemCreated, this, [=, this](XQItem* item) @@ -267,7 +257,7 @@ void XQMainWindow::onAbout() //! wenn ein item im navigations-baum geklickt wird, soll die document //! view rechts angepasst werden. -void XQMainWindow::onTreeItemClicked( XQItem& item ) +void XQMainWindow::onTreeViewItemClicked( const XQItem& item ) { qDebug() << " --- XXX mainWindow onTreeItemClicked:" << item.text(); @@ -285,17 +275,17 @@ void XQMainWindow::onTreeItemClicked( XQItem& item ) } } -void XQMainWindow::onTreeItemChanged(XQItem& item ) +void XQMainWindow::onTreeViewItemChanged(const XQItem &item ) { qDebug() << " --- MAIN WINDOW on itemChanged:" << item.text(); } -void XQMainWindow::onChildViewItemClicked( XQItem& item ) +void XQMainWindow::onChildViewItemClicked( const XQItem& item ) { qDebug() << " --- MAIN WINDOW on CHILD item CLICK:" << item.text(); } -void XQMainWindow::onChildViewItemChanged( XQItem& item ) +void XQMainWindow::onChildViewItemChanged(const XQItem &item ) { qDebug() << " --- MAIN WINDOW on CHILD itemChanged:" << item.text(); } @@ -303,8 +293,9 @@ void XQMainWindow::onChildViewItemChanged( XQItem& item ) //! beim click auf ein tab im linken fenster wird der navigationsbaum angepasst. -void XQMainWindow::onTabClicked( int index ) +void XQMainWindow::onChildViewTabClicked( int index ) { + qDebug() << " --- onChildTabClicked: " << index; //const QString& key = _documentStore[index].treeItem->attribute( c_ProjectID ); //qDebug() << " ---- tab clicked: " << index << " : " << _documentStore[index].friendlyName;// << ": " << key; //_mainTreeView->setCurrentIndex( _documentStore[index]->treeTtem.index() ); diff --git a/src/application/xqmainwindow.h b/src/application/xqmainwindow.h index 4169b16..1fbfbb9 100644 --- a/src/application/xqmainwindow.h +++ b/src/application/xqmainwindow.h @@ -33,10 +33,6 @@ public: void initMainWindow(); -signals: - - void doTheFirz(XQItem& item); - public slots: virtual void onMyFirz(XQItem& item) @@ -55,11 +51,12 @@ public slots: 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 onTreeViewItemClicked(const XQItem& item ); + void onTreeViewItemChanged( const XQItem& item ); + void onChildViewItemClicked( const XQItem& item ); + void onChildViewItemChanged( const XQItem& item ); + void onChildViewTabClicked( int index ); + //void onItemCreated( XQItem* item ); void onSectionCreated( const XQModelSection& section); void onSectionToggled( const XQModelSection& section ); diff --git a/src/model/xqviewmodel.cpp b/src/model/xqviewmodel.cpp index 6ed39e6..6e5114b 100644 --- a/src/model/xqviewmodel.cpp +++ b/src/model/xqviewmodel.cpp @@ -47,14 +47,14 @@ XQViewModel::XQViewModel( QObject* parent ) { invisibleRootItem()->setData( "[rootItem]", Qt::DisplayRole ); setItemPrototype( new XQItem ); - /* + // auf änderungen kann in den unterklassen reagiert werden connect(this, &QStandardItemModel::itemChanged, this, [this](QStandardItem *item) { XQItem* xqItem = static_cast(item); - onItemChanged( *xqItem ); + emit xqItemChanged( *xqItem ); }); - */ + //qRegisterMetaType("XQItem"); } @@ -171,22 +171,6 @@ void XQViewModel::addSection(const XQItemList& list, const XQNodePtr& sectionNod void XQViewModel::onToggleSection(const QString& sectionKey ) { qDebug() << " --- onToggleSection: " << sectionKey; - /* - - connect(model, &QStandardItemModel::dataChanged, this, &YourClass::onItemChanged); - -void YourClass::onItemChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector &roles) -{ - if (roles.contains(Qt::CheckStateRole)) { - Qt::CheckState state = static_cast(topLeft.data(Qt::CheckStateRole).toInt()); - if (state == Qt::Checked) { - qDebug() << "Checkbox wurde aktiviert!"; - // Hier kannst du dein QObject benachrichtigen - } - } -} -*/ - } /* diff --git a/src/model/xqviewmodel.h b/src/model/xqviewmodel.h index 808bb38..95ec3b5 100644 --- a/src/model/xqviewmodel.h +++ b/src/model/xqviewmodel.h @@ -95,8 +95,9 @@ public: */ +signals: - virtual void onItemChanged( XQItem& item ) = 0; + void xqItemChanged( const XQItem& item ); public slots: @@ -104,7 +105,6 @@ public slots: virtual void onActionTriggered(QAction* action); virtual void onToggleSection(const QString& sectionKey ); - // handle XQCommands ( == UndoCommand ) virtual void onCommandRedo( const XQCommand& command ); virtual void onCommandUndo( const XQCommand& command );