OpendTect  6.6
uitablemodel.h
Go to the documentation of this file.
1 #pragma once
2 /*+
3 ________________________________________________________________________
4 
5  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
6  Author: Nanne Hemstra
7  Date: October 2019
8 ________________________________________________________________________
9 
10 -*/
11 
12 
13 #include "uibasemod.h"
14 #include "uiobj.h"
15 #include "rowcol.h"
16 
17 class ODAbstractTableModel;
18 class ODTableView;
19 class QSortFilterProxyModel;
20 class QVariant;
21 
23 {
24 public:
26  {
27  public:
29  CellData(const QVariant&);
30  CellData(const char*);
31  CellData(bool);
32  CellData(int);
33  CellData(float,int nrdec);
34  CellData(double,int nrdec);
35  CellData(const CellData&);
37 
38  bool getBoolValue() const;
39  const char* text() const;
40  float getFValue() const;
41  double getDValue() const;
42  int getIntValue() const;
43 
44  QVariant& qvar_;
45  };
46 
47  enum ItemFlag { NoFlags=0, ItemSelectable=1, ItemEditable=2,
48  ItemDragEnabled=4, ItemDropEnabled=8,
49  ItemIsUserCheckable=16, ItemEnabled=32 };
50  virtual ~uiTableModel();
51 
52  virtual int nrRows() const = 0;
53  virtual int nrCols() const = 0;
54  virtual int flags(int row,int col) const = 0;
55  virtual void setCellData(int row,int col,const CellData&) =0;
56  virtual CellData getCellData(int row,int col) const =0;
57 
58  virtual Color textColor(int row,int col) const = 0;
59  virtual Color cellColor(int row,int col) const = 0;
60  virtual uiPixmap pixmap(int row,int col) const = 0;
61  virtual void setChecked(int row,int col,int val) {}
62  virtual int isChecked(int row,int col) const { return -1; }
63  virtual uiString headerText(int rowcol,OD::Orientation) const =0;
64  virtual uiString tooltip(int row,int col) const = 0;
65  ODAbstractTableModel* getAbstractModel() { return odtablemodel_;}
66  void beginReset();
67  void endReset();
68 
69 protected:
71 
72  ODAbstractTableModel* odtablemodel_;
73 };
74 
75 
76 mExpClass(uiBase) uiTableView : public uiObject
77 {
78 public:
79  enum SelectionBehavior { SelectItems, SelectRows, SelectColumns };
80  enum SelectionMode { SingleSelection=1, ExtendedSelection=3,
81  NoSelection=0 };
82  enum CellType { Bool, Text, NumI, NumF, NumD, Color, Date };
83 
84  uiTableView(uiParent*,const char* nm);
86 
88  mDeprecated("Use resetHorizontalHeader")
89  void resetHorHeader() { resetHorizontalHeader(); }
90  mDeprecated("Use saveHorizontalHeaderState")
91  void saveState() { saveHorizontalHeaderState(); }
94 
95  void setSectionsMovable(bool);
96  void setSortingEnabled(bool);
97  bool isSortingEnabled() const;
98  void sortByColumn(int col,bool asc=true);
99  void setRowHidden(int row,bool);
100  bool isRowHidden(int row) const;
101  void setColumnHidden(int col,bool);
102  bool isColumnHidden(int col) const;
103  void setNrFrozenColumns(int nrcols);
104 
105  RowCol mapFromSource(const RowCol&) const;
106  // source model to filter model
107  RowCol mapToSource(const RowCol&) const;
108  // filter model to source model
115 
117  void setColumnWidth( int col,int width );
118 
119 protected:
120 
121  ODTableView& mkView(uiParent*,const char*);
122 
124  ODTableView* odtableview_;
125  QSortFilterProxyModel* qproxymodel_;
126 };
uiTableModel::CellData::qvar_
QVariant & qvar_
Definition: uitablemodel.h:44
uiTableView::SelectionBehavior
SelectionBehavior
Definition: uitablemodel.h:79
uiTableModel::CellData::CellData
CellData(double, int nrdec)
uiTableModel::CellData::CellData
CellData(const char *)
uiTableView::SelectRows
@ SelectRows
Definition: uitablemodel.h:79
uiPixmap
Off-screen pixel-based paint device.
Definition: uipixmap.h:34
uiTableModel::CellData::CellData
CellData(int)
uiTableModel::CellData::getFValue
float getFValue() const
uiTableModel::CellData
Definition: uitablemodel.h:26
sKey::Color
FixedString Color()
Definition: keystrs.h:45
uiTableView::setNrFrozenColumns
void setNrFrozenColumns(int nrcols)
uiTableModel::CellData::CellData
CellData(bool)
uiTableView::getSelectedCells
bool getSelectedCells(TypeSet< RowCol > &) const
uiTableModel::CellData::CellData
CellData(const QVariant &)
uiTableView::mapToSource
RowCol mapToSource(const RowCol &) const
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
uiTableModel
Definition: uitablemodel.h:23
sKey::Date
FixedString Date()
Definition: keystrs.h:57
uiTableModel::flags
virtual int flags(int row, int col) const =0
uiTableModel::CellData::text
const char * text() const
uiTableView::mDeprecated
mDeprecated("Use saveHorizontalHeaderState") void saveState()
Definition: uitablemodel.h:90
uiTableModel::setChecked
virtual void setChecked(int row, int col, int val)
Definition: uitablemodel.h:61
uiTableView::SelectionMode
SelectionMode
Definition: uitablemodel.h:80
uiTableModel::~uiTableModel
virtual ~uiTableModel()
uiTableView::isColumnHidden
bool isColumnHidden(int col) const
uiTableView::uiTableView
uiTableView(uiParent *, const char *nm)
uiTableView::getSelectedRows
bool getSelectedRows(TypeSet< int > &) const
uiTableModel::setCellData
virtual void setCellData(int row, int col, const CellData &)=0
uiTableModel::CellData::getIntValue
int getIntValue() const
uiTableModel::headerText
virtual uiString headerText(int rowcol, OD::Orientation) const =0
uiTableModel::nrCols
virtual int nrCols() const =0
uiTableModel::getAbstractModel
ODAbstractTableModel * getAbstractModel()
Definition: uitablemodel.h:65
uiTableView::qproxymodel_
QSortFilterProxyModel * qproxymodel_
Definition: uitablemodel.h:125
uiTableModel::pixmap
virtual uiPixmap pixmap(int row, int col) const =0
uiTableView::setSectionsMovable
void setSectionsMovable(bool)
uiTableView::mapFromSource
RowCol mapFromSource(const RowCol &) const
uiTableModel::nrRows
virtual int nrRows() const =0
uiTableView::clearSelection
void clearSelection()
uiTableView::setColumnHidden
void setColumnHidden(int col, bool)
uiTableModel::textColor
virtual Color textColor(int row, int col) const =0
uiTableModel::beginReset
void beginReset()
uiTableView::setColumnWidth
void setColumnWidth(int col, int width)
uiTableView::isSortingEnabled
bool isSortingEnabled() const
uiTableModel::endReset
void endReset()
uiTableModel::tooltip
virtual uiString tooltip(int row, int col) const =0
uiTableView::saveHorizontalHeaderState
void saveHorizontalHeaderState()
uiTableView::setRowHidden
void setRowHidden(int row, bool)
uiTableView::mkView
ODTableView & mkView(uiParent *, const char *)
uiObject
The base class for most UI elements.
Definition: uiobj.h:38
uiTableModel::odtablemodel_
ODAbstractTableModel * odtablemodel_
Definition: uitablemodel.h:72
uiTableView::setSelectionMode
void setSelectionMode(SelectionMode)
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
uiTableView::odtableview_
ODTableView * odtableview_
Definition: uitablemodel.h:124
uiTableModel::CellData::getBoolValue
bool getBoolValue() const
uiTableModel::uiTableModel
uiTableModel()
uiTableModel::isChecked
virtual int isChecked(int row, int col) const
Definition: uitablemodel.h:62
OD::Orientation
Orientation
Fundamental orientation in 2D UIs.
Definition: oduicommon.h:23
uiTableView::isRowHidden
bool isRowHidden(int row) const
uiTableView::resetHorizontalHeader
void resetHorizontalHeader()
uiTableModel::CellData::CellData
CellData(const CellData &)
uiTableView::sortByColumn
void sortByColumn(int col, bool asc=true)
uiTableView::setSortingEnabled
void setSortingEnabled(bool)
RowCol
IdxPair used for its row() and col().
Definition: rowcol.h:25
uiParent
Definition: uiparent.h:26
uiTableView::getSelectedColumns
bool getSelectedColumns(TypeSet< int > &) const
uiTableModel::ItemFlag
ItemFlag
Definition: uitablemodel.h:47
uiTableView::tablemodel_
uiTableModel * tablemodel_
Definition: uitablemodel.h:123
uiTableView::setModel
void setModel(uiTableModel *)
uiTableView::setSelectionBehavior
void setSelectionBehavior(SelectionBehavior)
uiTableView::setColumnValueType
void setColumnValueType(int col, CellType)
Color
Color is an RGB color object, with a transparancy. The storage is in a 4-byte integer,...
Definition: color.h:26
uiTableModel::getCellData
virtual CellData getCellData(int row, int col) const =0
uiTableView::mDeprecated
mDeprecated("Use resetHorizontalHeader") void resetHorHeader()
Definition: uitablemodel.h:88
uiTableView::Text
@ Text
Definition: uitablemodel.h:82
rowcol.h
uiTableModel::CellData::CellData
CellData(float, int nrdec)
uiTableView::~uiTableView
~uiTableView()
uiTableModel::cellColor
virtual Color cellColor(int row, int col) const =0
uiTableModel::CellData::CellData
CellData()
uiTableModel::CellData::~CellData
~CellData()
uiTableView::CellType
CellType
Definition: uitablemodel.h:82
uiobj.h
TypeSet< int >
uiTableModel::CellData::getDValue
double getDValue() const
uiTableView
Definition: uitablemodel.h:77

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2021