some fixes

This commit is contained in:
Christoph Holzheuer
2025-08-18 16:09:47 +02:00
parent 0f7299a74a
commit 429c939cdf
5 changed files with 57 additions and 33 deletions

View File

@@ -43,7 +43,7 @@ void XQMainModel::initContextMenu()
//! erzeugt einen eintrag in der baum-übersicht. //! erzeugt einen eintrag in der baum-übersicht.
XQItem* XQMainModel::makeTreeItem( XQNodePtr contentNode ) XQItem* XQMainModel::addProjectItem( XQNodePtr contentNode )
{ {
// wir durchsuchen alle unsere section nach dem passenden content-type, // wir durchsuchen alle unsere section nach dem passenden content-type,
// hier: content-type beschreibt die // hier: content-type beschreibt die
@@ -52,20 +52,21 @@ XQItem* XQMainModel::makeTreeItem( XQNodePtr contentNode )
if( contentNode->attribute( c_ContentType) == section.contentType() ) if( contentNode->attribute( c_ContentType) == section.contentType() )
{ {
qDebug() << " --- wtf1: " << contentNode->to_string();
qDebug() << " --- wtf2: " << section.sectionRootNode()->to_string();
qDebug() << " --- wtf3: " << section.sheetRootNode()->to_string();
const QString* contentPtr = contentNode->attribute_ptr( "ProjectName" ); const QString* contentPtr = contentNode->attribute_ptr( "ProjectName" );
// __fixme! das ist mist! // __fixme! das ist mist!
XQItem* newItem = _itemFactory.makeItem(section.sheetRootNode()->child(0), contentPtr ); const XQNodePtr sheetNode = section.sheetRootNode()->first_child();
XQItem* newItem = _itemFactory.makeItem(sheetNode, contentPtr );
// den neuen eintrag in die passende section der übersicht eintragen ...
section.headerItem().appendRow( newItem ); section.headerItem().appendRow( newItem );
_treeTable->expand( section.modelIndex() ); // ... ausklappen...
// ?? const QModelIndex index = section.headerItem().index();
_treeTable->setCurrentIndex( section.modelIndex() ); _treeTable->expand( index );
newItem->setContentNode(contentNode); // ... und markieren
_treeTable->setCurrentIndex( index );
// den gesamten projekt knoten speichern, warum?
//newItem->setContentNode(contentNode);
// erzeuger sheet node speichern
newItem->setSheetNode( sheetNode );
emit itemCreated( newItem ); emit itemCreated( newItem );
return newItem; return newItem;
@@ -74,5 +75,15 @@ XQItem* XQMainModel::makeTreeItem( XQNodePtr contentNode )
} }
throw XQException( "makeTreeItem: main model should not be empty!" ); throw XQException( "addProjectItem: main model should not be empty!" );
} }
/*
XQItem* XQMainModel::addSectionItem( XQItem* projectItem )
{
const XQNodePtr& parentSheet = projectItem->sheetNode();
const XQNodePtr sheetNode = parentSheet->first_child();
return _itemFactor.makeItem( sheetNode, new QString("fitz!"));
}
*/

View File

@@ -32,7 +32,7 @@ public:
explicit XQMainModel(QObject *parent = nullptr); explicit XQMainModel(QObject *parent = nullptr);
virtual ~XQMainModel() = default; virtual ~XQMainModel() = default;
XQItem* makeTreeItem( XQNodePtr contentNode ); XQItem* addProjectItem( XQNodePtr contentNode );
public slots: public slots:

View File

@@ -281,6 +281,10 @@ void XQMainWindow::onTabClicked( int index )
void XQMainWindow::onSectionCreated( const XQModelSection& section ) void XQMainWindow::onSectionCreated( const XQModelSection& section )
{ {
if( _currentProjectItem )
{
;
}
qDebug() << " --- XXX section created: " << section.contentType() << ":" << section.contentType(); qDebug() << " --- XXX section created: " << section.contentType() << ":" << section.contentType();
} }
@@ -339,9 +343,10 @@ void XQMainWindow::loadDocument( const QString& fileName )
childModel->setTreeTable(childTreeView); childModel->setTreeTable(childTreeView);
// neuen eintrag im übsichts-baum erzeugen // neuen eintrag im übsichts-baum erzeugen
XQItem* newEntry = _mainModelView.makeTreeItem( contentRoot ); _currentProjectItem = _mainModelView.addProjectItem( contentRoot );
//_mainTreeView->setCurrentIndex( newEntry->index() ); _documentStore.addDocument( fileName, pTitle, _currentProjectItem, childModel );
//_documentStore.addDocument( fileName, pTitle, newEntry, childModel );
qDebug() << " --- ZZZ und jetzt:";
// die Modelstruktur anlegen // die Modelstruktur anlegen
childModel->initModel( c_ChildModelName ); childModel->initModel( c_ChildModelName );

View File

@@ -67,6 +67,7 @@ protected:
XQDocumentStore _documentStore; XQDocumentStore _documentStore;
XQMainModel _mainModelView; XQMainModel _mainModelView;
XQItem* _currentProjectItem{};
}; };

View File

@@ -7,17 +7,18 @@
--> -->
<ItemTypes> <ItemTypes>
<TreeParentType RenderStyle="PlainStyle" ItemFlags="IsEnabled|IsDropEnabled" Icon="DirIcon" /> <TreeParentType RenderStyle="PlainStyle" ItemFlags="IsEnabled|IsDropEnabled" Icon="DirIcon" />
<TreeChildType RenderStyle="PlainStyle" ItemFlags="IsEnabled|IsDragEnabled|IsSelectable|IsDropEnabled" Icon="DesktopIcon"/> <TreeChildType RenderStyle="PlainStyle" ItemFlags="IsEnabled" Icon="DesktopIcon"/>
<HeaderType RenderStyle="HeaderStyle" ItemFlags="IsUserCheckable|IsEnabled" Icon="DirIcon"/> <TreeSectionType RenderStyle="PlainStyle" ItemFlags="IsEnabled" Icon="DirIcon"/>
<HiddenType RenderStyle="HiddenStyle"/> <HeaderType RenderStyle="HeaderStyle" ItemFlags="IsUserCheckable|IsEnabled" Icon="DirIcon"/>
<StaticType RenderStyle="PlainStyle"/> <HiddenType RenderStyle="HiddenStyle"/>
<PlainType RenderStyle="PlainStyle" ItemFlags="IsEnabled|IsEditable|IsSelectable"/> <StaticType RenderStyle="PlainStyle"/>
<ValueType RenderStyle="FormattedStyle" ItemFlags="IsEnabled|IsEditable|IsSelectable" UnitType="Coulomb"/> <PlainType RenderStyle="PlainStyle" ItemFlags="IsEnabled|IsEditable|IsSelectable"/>
<CheckableType RenderStyle="FormattedStyle" ItemFlags="IsUserCheckable|IsEnabled|IsEditable|IsSelectable" UnitType="###"/> <ValueType RenderStyle="FormattedStyle" ItemFlags="IsEnabled|IsEditable|IsSelectable" UnitType="Coulomb"/>
<PercentageType RenderStyle="ProgressBarStyle" ItemFlags="IsEnabled|IsSelectable"/> <CheckableType RenderStyle="FormattedStyle" ItemFlags="IsUserCheckable|IsEnabled|IsEditable|IsSelectable" UnitType="###"/>
<ChoiceType RenderStyle="ComboBoxStyle" ItemFlags="IsEnabled|IsSelectable|IsEditable" FixedChoices="la|le|lo|lu"/> <PercentageType RenderStyle="ProgressBarStyle" ItemFlags="IsEnabled|IsSelectable"/>
<IntValueType RenderStyle="SpinBoxStyle" ItemFlags="IsEnabled|IsSelectable"/> <ChoiceType RenderStyle="ComboBoxStyle" ItemFlags="IsEnabled|IsSelectable|IsEditable" FixedChoices="la|le|lo|lu"/>
<IntValueType RenderStyle="SpinBoxStyle" ItemFlags="IsEnabled|IsSelectable"/>
</ItemTypes> </ItemTypes>
@@ -27,15 +28,19 @@
<Entry Caption="Active Projects" ItemType="TreeParentType"/> <Entry Caption="Active Projects" ItemType="TreeParentType"/>
</Header> </Header>
<ModelSheet firz="running"> <ModelSheet firz="running">
<Project Caption="@ProjectName" ItemType="TreeChildType"/> <Project Caption="@ProjectName" ItemType="TreeChildType">
<CurrentSection ItemType="TreeSectionType"/>
</Project>
</ModelSheet> </ModelSheet>
</Section> </Section>
<Section ContentType="planned"> <Section ContentType="planned">
<Header> <Header>
<Entry Caption="Planned Projects" ItemType="TreeParentType"/> <Entry Caption="Planned Projects" ItemType="TreeParentType"/>
</Header> </Header>
<ModelSheet firz="planned"> <ModelSheet firz="planned">
<Project Caption="@ProjectName" ItemType="TreeChildType"/> <Project Caption="@ProjectName" ItemType="TreeChildType">
<CurrentSection ItemType="TreeSectionType"/>
</Project>
</ModelSheet> </ModelSheet>
</Section> </Section>
<Section ContentType="finished"> <Section ContentType="finished">
@@ -43,11 +48,13 @@
<Entry Caption="Finished Projects" ItemType="TreeParentType"/> <Entry Caption="Finished Projects" ItemType="TreeParentType"/>
</Header> </Header>
<ModelSheet firz="finished"> <ModelSheet firz="finished">
<Project Caption="@ProjectName" ItemType="TreeChildType"/> <Project Caption="@ProjectName" ItemType="TreeChildType">
<CurrentSection ItemType="TreeSectionType"/>
</Project>
</ModelSheet> </ModelSheet>
</Section> </Section>
</DocumentTreeModel> </DocumentTreeModel>
<DocumentDetailsModel> <DocumentDetailsModel>