From 1be8d335fa5eb894d19e3641dbf4001a3a8ada18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Jensen?= Date: Fri, 24 Aug 2018 15:10:10 +0200 Subject: [PATCH] PdmUiTableViewEditor. Add support for setting column widths --- .../cafUserInterface/cafPdmUiTableViewEditor.cpp | 15 ++++++++++++++- .../cafUserInterface/cafPdmUiTableViewEditor.h | 5 +++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/Fwk/AppFwk/cafUserInterface/cafPdmUiTableViewEditor.cpp b/Fwk/AppFwk/cafUserInterface/cafPdmUiTableViewEditor.cpp index 2a95cbfb51..7757ebfbb5 100644 --- a/Fwk/AppFwk/cafUserInterface/cafPdmUiTableViewEditor.cpp +++ b/Fwk/AppFwk/cafUserInterface/cafPdmUiTableViewEditor.cpp @@ -139,10 +139,14 @@ void PdmUiTableViewEditor::configureAndUpdateUi(const QString& uiConfigName) auto childArrayFH = childArrayFieldHandle(); + PdmUiTableViewEditorAttribute editorAttrib; + bool editorAttribLoaded = false; + if ( childArrayFH && childArrayFH->ownerObject() && childArrayFH->ownerObject()->uiCapability() ) { - PdmUiTableViewEditorAttribute editorAttrib; childArrayFH->ownerObject()->uiCapability()->editorAttribute(childArrayFH, uiConfigName, &editorAttrib); + editorAttribLoaded = true; + this->setSelectionLevel(editorAttrib.selectionLevel); this->enableHeaderText(editorAttrib.enableHeaderText); } @@ -192,6 +196,15 @@ void PdmUiTableViewEditor::configureAndUpdateUi(const QString& uiConfigName) m_previousFieldHandle = childArrayFH; } + if (editorAttribLoaded) + { + int colCount = m_tableModelPdm->columnCount(); + for (int c = 0; c < colCount && c < editorAttrib.columnWidths.size(); c++) + { + auto w = editorAttrib.columnWidths[c]; + if (w > 0) m_tableView->setColumnWidth(c, w); + } + } } //-------------------------------------------------------------------------------------------------- diff --git a/Fwk/AppFwk/cafUserInterface/cafPdmUiTableViewEditor.h b/Fwk/AppFwk/cafUserInterface/cafPdmUiTableViewEditor.h index 35b5ee897e..eb5788d2f7 100644 --- a/Fwk/AppFwk/cafUserInterface/cafPdmUiTableViewEditor.h +++ b/Fwk/AppFwk/cafUserInterface/cafPdmUiTableViewEditor.h @@ -87,8 +87,9 @@ public: { } - int selectionLevel; - bool enableHeaderText; + int selectionLevel; + bool enableHeaderText; + std::vector columnWidths; };