faking success.
This commit is contained in:
@@ -59,9 +59,12 @@ XQItem* XQMainModel::createTreeEntry( XQNodePtr contentNode )
|
||||
{
|
||||
for(const auto& section : _sections )
|
||||
{
|
||||
qDebug() << " --- wtf1: " << contentNode->to_string();
|
||||
qDebug() << " --- wtf2: " << section.sheetRootNode->to_string();
|
||||
|
||||
if( contentNode->attribute("State") == section.sheetRootNode->attribute("State") )
|
||||
{
|
||||
XQItem* newTreeentry = _itemFactory.makeContentItem( contentNode, section.sheetRootNode );
|
||||
XQItem* newTreeentry = _itemFactory.makeTreeChildItem( contentNode, section.sheetRootNode );
|
||||
section.headerItem().appendRow( newTreeentry );
|
||||
_treeTable->expand( section.modelIndex );
|
||||
// ??
|
||||
|
@@ -23,7 +23,7 @@
|
||||
#include <xqnodewriter.h>
|
||||
|
||||
|
||||
//! firz
|
||||
//! konstruktor.
|
||||
|
||||
XQMainWindow::XQMainWindow( QWidget* parent )
|
||||
: QMainWindow(parent)
|
||||
@@ -34,7 +34,7 @@ XQMainWindow::XQMainWindow( QWidget* parent )
|
||||
}
|
||||
|
||||
|
||||
//! firz
|
||||
//! actions & document struktur einrichten.
|
||||
|
||||
void XQMainWindow::initMainWindow()
|
||||
{
|
||||
@@ -67,6 +67,7 @@ void XQMainWindow::initMainWindow()
|
||||
connect( _mainTreeView, SIGNAL(clicked(QModelIndex)), this, SLOT(onTreeItemClicked(QModelIndex)) );
|
||||
connect( _tabWidget, SIGNAL(tabBarClicked(int)), this, SLOT(onTabClicked(int)) );
|
||||
|
||||
|
||||
connect( &_mainModelView, &XQViewModel::xqItemCreated, this, [=, this](XQItem* item)
|
||||
{
|
||||
// when a new main tree item has been created ...
|
||||
@@ -102,7 +103,7 @@ void XQMainWindow::initMainWindow()
|
||||
}
|
||||
|
||||
|
||||
//! firz
|
||||
//! slot für zentrales undo
|
||||
|
||||
void XQMainWindow::onUndo()
|
||||
{
|
||||
@@ -113,14 +114,13 @@ void XQMainWindow::onUndo()
|
||||
}
|
||||
|
||||
|
||||
//!
|
||||
//! slot für zentrales redo
|
||||
|
||||
void XQMainWindow::onRedo()
|
||||
{
|
||||
qDebug() << " --- redo Pressed";
|
||||
if(_undoStack.canRedo())
|
||||
_undoStack.redo();
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -214,8 +214,9 @@ void XQMainWindow::onAbout()
|
||||
}
|
||||
|
||||
|
||||
//! firz
|
||||
// when item in the left tree is clicked, switch view on the right side
|
||||
//! wenn ein item im navigations-baum geklickt wird, soll die document
|
||||
//! view rechts angepasst werden.
|
||||
|
||||
void XQMainWindow::onTreeItemClicked(const QModelIndex& index )
|
||||
{
|
||||
|
||||
@@ -234,8 +235,8 @@ void XQMainWindow::onTreeItemClicked(const QModelIndex& index )
|
||||
}
|
||||
|
||||
|
||||
//! firz
|
||||
// when item in the left tree is clicked, switch view on the right side
|
||||
//! beim click auf ein tab im linken fenster wird der navigationsbaum angepasst.
|
||||
|
||||
void XQMainWindow::onTabClicked( int index )
|
||||
{
|
||||
const QString& key = _documentStore[index].treeItem->attribute( c_ProjectID );
|
||||
@@ -293,8 +294,10 @@ void XQMainWindow::loadDocument( const QString& fileName )
|
||||
|
||||
// read the model data
|
||||
childModel->setContent( contentRoot->first_child() );
|
||||
|
||||
// create new entry in the left side main tree view
|
||||
XQItem* newEntry = _mainModelView.createTreeEntry( contentRoot );
|
||||
|
||||
XQItem* newEntry = _mainModelView.createTreeEntry( contentRoot );
|
||||
_mainTreeView->setCurrentIndex( newEntry->index() );
|
||||
_documentStore.addDocument( fileName, pTitle, newEntry, childModel );
|
||||
|
||||
|
@@ -115,20 +115,6 @@ XQNodePtr XQItemFactory::findModelSheet( const QString& modelName ) const
|
||||
}
|
||||
|
||||
|
||||
XQItem* XQItemFactory::makeContentItem( const XQNodePtr& contentNode, const XQNodePtr& sheetEntry )
|
||||
{
|
||||
// den itemtype des neuen items rausfinden
|
||||
QString typeKey = sheetEntry->attribute("ItemType");
|
||||
//XQItemType* itemType = findItemTypeTemplate(typeKey); // throws
|
||||
XQItemType* itemType = makeItemType(sheetEntry); // throws
|
||||
|
||||
const QString* contentPtr = contentNode->attribute_ptr( sheetEntry->tag_name() );
|
||||
|
||||
XQItem* newItem = new XQItem( itemType, contentPtr );
|
||||
|
||||
return newItem;
|
||||
}
|
||||
|
||||
|
||||
XQItem* XQItemFactory::makeHeaderItem( const XQNodePtr& sheetEntry )
|
||||
{
|
||||
@@ -140,15 +126,42 @@ XQItem* XQItemFactory::makeHeaderItem( const XQNodePtr& sheetEntry )
|
||||
|
||||
// den itemtype des neuen items rausfinden
|
||||
QString typeKey = sheetEntry->attribute("HeaderItemType");
|
||||
XQItemType* itemType = findItemTypeTemplate(typeKey); // throws
|
||||
//XQItemType* itemType = makeItemType(sheetEntry); // throws
|
||||
XQItemType* itemType = findItemTypeTemplate(typeKey);
|
||||
// das ist Unterschied zum normalen Item: Der Titel kommt aus der Modelbeschreibung
|
||||
const QString* contentPtr = sheetEntry->attribute_ptr("HeaderCaption");
|
||||
|
||||
XQItem* newHeaderItem = new XQItem( itemType, contentPtr );
|
||||
return new XQItem( itemType, contentPtr );
|
||||
|
||||
return newHeaderItem;
|
||||
}
|
||||
|
||||
XQItem* XQItemFactory::makeContentItem( const XQNodePtr& contentNode, const XQNodePtr& sheetEntry )
|
||||
{
|
||||
// den itemtype des neuen items rausfinden
|
||||
QString typeKey = sheetEntry->attribute("ItemType");
|
||||
//XQItemType* itemType = findItemTypeTemplate(typeKey); // throws
|
||||
XQItemType* itemType = makeItemType(sheetEntry); // throws
|
||||
|
||||
const QString* contentPtr = contentNode->attribute_ptr( sheetEntry->tag_name() );
|
||||
|
||||
return new XQItem( itemType, contentPtr );
|
||||
|
||||
}
|
||||
|
||||
|
||||
XQItem* XQItemFactory::makeTreeChildItem( const XQNodePtr& contentNode, const XQNodePtr& sheetEntry )
|
||||
{
|
||||
// den itemtype des neuen items rausfinden
|
||||
QString typeKey = sheetEntry->attribute("ItemType");
|
||||
XQItemType* itemType = findItemTypeTemplate(typeKey); // throws
|
||||
//XQItemType* itemType = makeItemType(sheetEntry); // throws
|
||||
|
||||
const QString* contentPtr = contentNode->attribute_ptr( "ProjectName" );
|
||||
|
||||
XQItem* newItem = new XQItem( itemType, contentPtr );
|
||||
|
||||
return newItem;
|
||||
}
|
||||
|
||||
void XQItemFactory::setItemDataFromString( XQItem& item, const QString& roleKey, const QString& source ) const
|
||||
{
|
||||
|
@@ -34,6 +34,7 @@ public:
|
||||
|
||||
XQItem* makeHeaderItem(const XQNodePtr& typeSheetNode );
|
||||
XQItem* makeContentItem( const XQNodePtr& contentNode, const XQNodePtr& sheetEntry );
|
||||
XQItem* makeTreeChildItem( const XQNodePtr& contentNode, const XQNodePtr& sheetEntry );
|
||||
|
||||
virtual XQItemList makeHeaderRow( const XQNodePtr& sheetNode );
|
||||
virtual XQItemList makeContentRow( const XQNodePtr& contentNode, const XQNodePtr& sheetNode );
|
||||
|
@@ -224,6 +224,7 @@ namespace znode
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
//! hängt einen knoten an meine kinderliste an.
|
||||
int add_child( const zshared_node& node )
|
||||
{
|
||||
_children.push_back( node );
|
||||
|
@@ -1,6 +1,6 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
|
||||
<Project ProjectID="HA01" FriendlyName="@ProjectName" ProjectName="Wiebelbach West" Established="2006" WattPeak="84000" State="runnning">
|
||||
<Project ProjectID="HA01" FriendlyName="@ProjectName" ProjectName="Wiebelbach West" Established="2006" WattPeak="84000" State="runnning" LastFileName="modelData1.xtr">
|
||||
<Components>
|
||||
|
||||
<Panel PanelID="#1 JA 01" FriendlyName="@PanelName" PanelName="JA 01 Solar T62B" Manufacturer="JA Solar 1 XX" WattPeak="620" Height="2,70" Width="1,10" Weight="12" MaxVolt="67" MaxAmpere="11">
|
||||
|
@@ -7,16 +7,16 @@
|
||||
-->
|
||||
|
||||
<ItemTypes>
|
||||
<TreeParentType RenderStyle="PlainStyle" ItemFlags="IsEnabled|IsDropEnabled" Icon="folder-new" />
|
||||
<TreeChildType RenderStyle="PlainStyle" ItemFlags="IsEnabled|IsDragEnabled|IsSelectable|IsDropEnabled"/>
|
||||
<HeaderType RenderStyle="HeaderStyle" ItemFlags="IsEnabled" Icon="battery"/>
|
||||
<HiddenType RenderStyle="HiddenStyle"/>
|
||||
<StaticType RenderStyle="PlainStyle"/>
|
||||
<TreeChildType RenderStyle="PlainStyle" ItemFlags="IsEnabled|IsDragEnabled|IsSelectable|IsDropEnabled"/>
|
||||
<PlainType RenderStyle="PlainStyle" ItemFlags="IsEnabled|IsEditable|IsSelectable"/>
|
||||
<ValueType RenderStyle="FormattedStyle" ItemFlags="IsEnabled|IsEditable|IsSelectable" UnitType="Coulomb"/>
|
||||
<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="battery" />
|
||||
<HeaderType RenderStyle="HeaderStyle" ItemFlags="IsEnabled" Icon="battery"/>
|
||||
<IntValueType RenderStyle="SpinBoxStyle" ItemFlags="IsEnabled|IsSelectable"/>
|
||||
</ItemTypes>
|
||||
|
||||
<!--
|
||||
@@ -25,11 +25,25 @@
|
||||
-->
|
||||
|
||||
<DocumentTreeModel>
|
||||
<ActiveProjects HeaderItemType="TreeParentType" HeaderCaption="Active Projects" ItemType="ValueType" ItemFlags="IsEnabled|IsDropEnabled" RenderStyle="HeaderStyle" State="runnning"/>
|
||||
<PlannedProjects HeaderItemType="TreeParentType" HeaderCaption="Planned Projects" ItemType="ValueType" ItemFlags="IsEnabled|IsDropEnabled" RenderStyle="HeaderStyle" State="planned"/>
|
||||
<FinishedProjectss HeaderItemType="TreeParentType" HeaderCaption="Finished Projects" ItemType="ValueType" ItemFlags="IsEnabled|IsDropEnabled" RenderStyle="HeaderStyle" State="finished"/>
|
||||
<ActiveProjects ItemType="PlainType" HeaderItemType="TreeParentType" HeaderCaption="Active Projects" State="runnning">
|
||||
<Project ItemType="farz" HeaderItemType="TreeChildType" Icon="list-add"/>
|
||||
</ActiveProjects>
|
||||
<PlannedProjects HeaderItemType="TreeParentType" HeaderCaption="Planned Projects" State="planned">
|
||||
<Project ItemType="TreeChildType" Icon="list-add"/>
|
||||
</PlannedProjects>
|
||||
<FinishedProjects HeaderItemType="TreeParentType" HeaderCaption="Finished Projects" State="finished">
|
||||
<Project ItemType="TreeChildType" Icon="list-remove"/>
|
||||
</FinishedProjects>
|
||||
</DocumentTreeModel>
|
||||
|
||||
<!--
|
||||
<DocumentTreeModelX>
|
||||
<ActiveProjects ItemType="TreeParentType" HeaderCaption="Active Projects" ItemType="ValueType" State="runnning"/>
|
||||
<PlannedProjects HeaderItemType="TreeParentType" HeaderCaption="Planned Projects" ItemType="ValueType" State="planned"/>
|
||||
<FinishedProjects HeaderItemType="TreeParentType" HeaderCaption="Finished Projects" ItemType="ValueType" State="finished"/>
|
||||
</DocumenTreeModelX>
|
||||
-->
|
||||
|
||||
<!--
|
||||
DocumentDetailsModel:
|
||||
-->
|
||||
|
Reference in New Issue
Block a user