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.
XQItem* XQMainModel::makeTreeItem( XQNodePtr contentNode )
XQItem* XQMainModel::addProjectItem( XQNodePtr contentNode )
{
// wir durchsuchen alle unsere section nach dem passenden content-type,
// hier: content-type beschreibt die
@@ -52,20 +52,21 @@ XQItem* XQMainModel::makeTreeItem( XQNodePtr contentNode )
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" );
// __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 );
_treeTable->expand( section.modelIndex() );
// ??
_treeTable->setCurrentIndex( section.modelIndex() );
newItem->setContentNode(contentNode);
// ... ausklappen...
const QModelIndex index = section.headerItem().index();
_treeTable->expand( index );
// ... und markieren
_treeTable->setCurrentIndex( index );
// den gesamten projekt knoten speichern, warum?
//newItem->setContentNode(contentNode);
// erzeuger sheet node speichern
newItem->setSheetNode( sheetNode );
emit itemCreated( 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);
virtual ~XQMainModel() = default;
XQItem* makeTreeItem( XQNodePtr contentNode );
XQItem* addProjectItem( XQNodePtr contentNode );
public slots:

View File

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

View File

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

View File

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