Added access function to get QTreeView from tree view editor

p4#: 22347
This commit is contained in:
Magne Sjaastad committed 2013-09-08 08:56:38 +02:00
1 parent e6386255e6
commit bc56e97eb7
4 files changed
+49 -2

No files matched your search

+8
View File
@@ -81,5 +81,13 @@ void PdmUiTreeView::setPdmObject(caf::PdmObject* object)
m_treeViewEditor->setPdmObject(object);
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QTreeView* PdmUiTreeView::treeView()
{
return m_treeViewEditor->treeView();
}
} //End of namespace caf
+5 -2
View File
@@ -22,6 +22,7 @@
#include <QWidget>
class QVBoxLayout;
class QTreeView;
namespace caf
{
@@ -40,8 +41,10 @@ public:
PdmUiTreeView(QWidget* parent = 0, Qt::WindowFlags f = 0);
~PdmUiTreeView();
void setUiConfigurationName(QString uiConfigName);
void setPdmObject(caf::PdmObject* object);
void setUiConfigurationName(QString uiConfigName);
void setPdmObject(caf::PdmObject* object);
QTreeView* treeView();
private:
PdmUiTreeViewEditor* m_treeViewEditor;
@@ -81,6 +81,11 @@ QWidget* PdmUiTreeViewEditor::createWidget(QWidget* parent)
//--------------------------------------------------------------------------------------------------
void PdmUiTreeViewEditor::configureAndUpdateUi(const QString& uiConfigName)
{
if (this->pdmObject())
{
this->pdmObject()->objectEditorAttribute(uiConfigName, &m_editorAttributes);
}
if (!m_treeModelPdm->treeItemRoot() || m_treeModelPdm->treeItemRoot()->dataObject() != this->pdmObject())
{
caf::PdmUiTreeItem* treeItemRoot = caf::UiTreeItemBuilderPdm::buildViewItems(NULL, -1, this->pdmObject());
@@ -102,6 +107,10 @@ void PdmUiTreeViewEditor::configureAndUpdateUi(const QString& uiConfigName)
}
}
PdmUiTreeViewEditorAttribute leab;
// Notify all connected views that the complete model is updated
m_treeModelPdm->notifyModelChanged();
}
@@ -142,6 +151,14 @@ void PdmUiTreeViewEditor::childObjects(PdmObject* pdmObject, std::vector<PdmObje
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QTreeView* PdmUiTreeViewEditor::treeView()
{
return m_treeView;
}
} // end namespace caf
+19
View File
@@ -20,6 +20,7 @@
#pragma once
#include "cafPdmUiObjectEditorHandle.h"
#include "cafPdmUiFieldEditorHandle.h"
#include <QWidget>
#include <QPointer>
@@ -36,12 +37,28 @@ class UiTreeModelPdm;
class PdmUiProxyEditorHandle;
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
class PdmUiTreeViewEditorAttribute : public PdmUiEditorAttribute
{
public:
PdmUiTreeViewEditorAttribute()
{
}
public:
};
class PdmUiTreeViewEditor : public PdmUiObjectEditorHandle
{
public:
PdmUiTreeViewEditor();
~PdmUiTreeViewEditor();
QTreeView* treeView();
protected:
virtual QWidget* createWidget(QWidget* parent);
virtual void configureAndUpdateUi(const QString& uiConfigName);
@@ -60,6 +77,8 @@ private:
// Forward update events to the tree view editor connected to Pdm root object using a proxy editor
PdmUiProxyEditorHandle* m_proxyEditor;
PdmUiTreeViewEditorAttribute m_editorAttributes;
};