mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#3441 Improve table view to work better with more attribute types.
This commit is contained in:
parent
0914d5b333
commit
71a1bd98ab
@ -122,7 +122,7 @@ void RimWellPathAttributeCollection::defineEditorAttribute(const caf::PdmFieldHa
|
|||||||
auto tvAttribute = dynamic_cast<caf::PdmUiTableViewEditorAttribute*>(attribute);
|
auto tvAttribute = dynamic_cast<caf::PdmUiTableViewEditorAttribute*>(attribute);
|
||||||
if (tvAttribute)
|
if (tvAttribute)
|
||||||
{
|
{
|
||||||
tvAttribute->forceColumnWidthResize = true;
|
tvAttribute->autoResizeColumnsToFillContainer = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -646,7 +646,7 @@ void RimWellPathGeometryDef::defineEditorAttribute(const caf::PdmFieldHandle* fi
|
|||||||
if (tvAttribute && m_pickPointsEnabled)
|
if (tvAttribute && m_pickPointsEnabled)
|
||||||
{
|
{
|
||||||
tvAttribute->baseColor.setRgb(255, 220, 255);
|
tvAttribute->baseColor.setRgb(255, 220, 255);
|
||||||
tvAttribute->forceColumnWidthResize = true;
|
tvAttribute->autoResizeColumnsToFitContent = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -47,6 +47,7 @@
|
|||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include <QEvent>
|
#include <QEvent>
|
||||||
#include <QGridLayout>
|
#include <QGridLayout>
|
||||||
|
#include <QHeaderView>
|
||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
#include <QMenu>
|
#include <QMenu>
|
||||||
#include <QTableView>
|
#include <QTableView>
|
||||||
@ -208,15 +209,13 @@ void PdmUiTableViewEditor::configureAndUpdateUi(const QString& uiConfigName)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( m_previousFieldHandle != childArrayFH || editorAttrib.forceColumnWidthResize )
|
if ( m_previousFieldHandle != childArrayFH)
|
||||||
{
|
{
|
||||||
// Set default column widths
|
int colCount = m_tableModelPdm->columnCount();
|
||||||
m_tableView->resizeColumnsToContents();
|
|
||||||
|
|
||||||
// Set specified widths (if any)
|
// Set specified widths (if any)
|
||||||
if (editorAttribLoaded)
|
if (editorAttribLoaded)
|
||||||
{
|
{
|
||||||
int colCount = m_tableModelPdm->columnCount();
|
|
||||||
for (int c = 0; c < colCount && c < static_cast<int>(editorAttrib.columnWidths.size()); c++)
|
for (int c = 0; c < colCount && c < static_cast<int>(editorAttrib.columnWidths.size()); c++)
|
||||||
{
|
{
|
||||||
auto w = editorAttrib.columnWidths[c];
|
auto w = editorAttrib.columnWidths[c];
|
||||||
@ -224,6 +223,16 @@ void PdmUiTableViewEditor::configureAndUpdateUi(const QString& uiConfigName)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (editorAttrib.autoResizeColumnsToFitContent)
|
||||||
|
{
|
||||||
|
// Set default column widths
|
||||||
|
m_tableView->resizeColumnsToContents();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (editorAttrib.autoResizeColumnsToFillContainer)
|
||||||
|
{
|
||||||
|
m_tableView->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m_previousFieldHandle = childArrayFH;
|
m_previousFieldHandle = childArrayFH;
|
||||||
|
@ -86,7 +86,8 @@ public:
|
|||||||
, rowSelectionLevel(1)
|
, rowSelectionLevel(1)
|
||||||
, enableHeaderText(true)
|
, enableHeaderText(true)
|
||||||
, minimumHeight(-1)
|
, minimumHeight(-1)
|
||||||
, forceColumnWidthResize(false)
|
, autoResizeColumnsToFitContent(false)
|
||||||
|
, autoResizeColumnsToFillContainer(false)
|
||||||
{
|
{
|
||||||
QPalette myPalette;
|
QPalette myPalette;
|
||||||
baseColor = myPalette.color(QPalette::Active, QPalette::Base);
|
baseColor = myPalette.color(QPalette::Active, QPalette::Base);
|
||||||
@ -99,7 +100,8 @@ public:
|
|||||||
std::vector<int> columnWidths;
|
std::vector<int> columnWidths;
|
||||||
int minimumHeight; ///< Not used if If < 0
|
int minimumHeight; ///< Not used if If < 0
|
||||||
QColor baseColor;
|
QColor baseColor;
|
||||||
bool forceColumnWidthResize;
|
bool autoResizeColumnsToFitContent;
|
||||||
|
bool autoResizeColumnsToFillContainer;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user