File failed to load: https://isis.astrogeology.usgs.gov/6.0.0/Object/assets/jax/output/NativeMML/config.js
Isis 3 Programmer Reference
TableViewContent.h
1 #ifndef TableViewContent_H
2 #define TableViewContent_H
3 
10 /* SPDX-License-Identifier: CC0-1.0 */
11 
12 #include <QAbstractScrollArea>
13 
14 #include <QPoint>
15 #include <QPointer>
16 
17 
18 class QAction;
19 class QEvent;
20 class QKeyEvent;
21 template< typename T > class QList;
22 class QMenu;
23 class QMouseEvent;
24 class QPoint;
25 class QResizeEvent;
26 
27 
28 namespace Isis {
29  class AbstractTreeItem;
30  class AbstractTableModel;
31  class ControlPoint;
32  class TableColumn;
33  class TableColumnList;
34  class TableView;
35 
61  Q_OBJECT
62 
63  public:
65  virtual ~TableViewContent();
66  QSize minimumSizeHint() const;
67  QSize sizeHint() const;
69  // void setModel(AbstractTableModel * someModel);
70  void setActiveControlNet(bool activeNet);
71 
72 
73  signals:
74  void rebuildModels(QList< AbstractTreeItem * >);
75  void modelDataChanged();
76  void tableSelectionChanged();
77  void tableSelectionChanged(QList< AbstractTreeItem * >);
78  void horizontalScrollBarValueChanged(int);
79 
80  void editControlPoint(ControlPoint *controlPoint, QString serialNumber);
81 
82 
83  public slots:
85  void scrollTo(AbstractTreeItem *);
86  void refresh();
87  void updateHorizontalScrollBar(bool scrollRight = false);
88 
89 
90  protected:
91  bool eventFilter(QObject *target, QEvent *event);
92  void keyPressEvent(QKeyEvent *event);
93  void leaveEvent(QEvent *event);
94  void mouseDoubleClickEvent(QMouseEvent *event);
95  void mouseMoveEvent(QMouseEvent *event);
96  void mousePressEvent(QMouseEvent *event);
97  void mouseReleaseEvent(QMouseEvent *event);
98  void paintEvent(QPaintEvent *event);
99  void resizeEvent(QResizeEvent *event);
100  void scrollContentsBy(int dx, int dy);
101 
102 
103  private:
104  TableViewContent(const TableViewContent &other);
105  TableViewContent &operator=(const TableViewContent &other);
106 
107 
108  private:
109  void nullify();
110  void cellDataChanged(TableColumn const *col);
111  void clearActiveCell();
112  void clearColumnSelection();
113  void copyCellSelection(bool);
114  void createActions();
115  void selectAllRows();
116  int getColumnFromScreenX(int screenX) const;
117  int getRowFromScreenY(int screenY) const;
118  bool hasActiveCell() const;
119  bool hasRowSelection() const;
120  bool mouseInCellSelection(QPoint) const;
121  bool mouseInRowSelection(QPoint) const;
122  bool rowIsValid(int rowNum) const;
123  bool columnIsValid(int colNum) const;
124  bool cellIsEditable(int, int) const;
125  bool isDataColumn(int) const;
126  void paintRow(QPainter *, int, QPoint, QPoint);
127  void updateActiveCell(QPoint);
128  void updateHoveredCell(QPoint, bool);
131  void finishEditing();
132  void moveActiveCellDown();
133  void moveActiveCellUp();
134  void moveActiveCellLeft();
135  void moveActiveCellRight();
136 
137 
138  private slots:
139  void copySelection();
140  void copyAll();
141  void deleteSelectedRows();
142  void editControlPoint();
143  void updateItemList();
144  void showContextMenu(QPoint);
145 
146 
147  private:
148  TableView *m_parentView;
149  AbstractTableModel *m_model;
151  TableColumnList *m_columns;
152 
153  QPair< AbstractTreeItem *, int > * m_activeCell;
154 
155  QPair< AbstractTreeItem *, int > * m_lastShiftArrowSelectedCell;
156  bool m_lastShiftArrowDirectionUp;
157 
163 
164  QWidget *m_editWidget;
165 
171  QList< AbstractTreeItem * > * m_lastShiftSelection;
172  int m_rowHeight;
173 
179 
185 
190 
195 
196  bool m_activeControlNet;
197 
198 
199  private:
200  static const int ITEM_PADDING = 7;
201  static const int ITEM_INDENTATION = 3;
202  };
203 }
204 
205 #endif
Isis::TableViewContent::finishEditing
void finishEditing()
Saves the data from the cell the user was modifying.
Definition: TableViewContent.cpp:768
Isis::TableViewContent::paintEvent
void paintEvent(QPaintEvent *event)
Paints the table when there is a paint event.
Definition: TableViewContent.cpp:862
QAbstractScrollArea
Isis::TableViewContent::mouseMoveEvent
void mouseMoveEvent(QMouseEvent *event)
Overrides QWidget::mouseMoveEvent.
Definition: TableViewContent.cpp:487
QWidget
Isis::TableViewContent::clearActiveCell
void clearActiveCell()
Clears the active cell.
Definition: TableViewContent.cpp:1041
QList
This is free and unencumbered software released into the public domain.
Definition: BoxcarCachingAlgorithm.h:13
Isis::TableViewContent::createActions
void createActions()
Builds the menus.
Definition: TableViewContent.cpp:1116
Isis::TableViewContent::updateRowGroupSelection
QList< AbstractTreeItem * > updateRowGroupSelection(int lastRow)
Updates which row is selected.
Definition: TableViewContent.cpp:1543
Isis::TableViewContent::columnIsValid
bool columnIsValid(int colNum) const
Checks if the column number is valid.
Definition: TableViewContent.cpp:1258
Isis::TableViewContent::hasActiveCell
bool hasActiveCell() const
Checks if there is an active cell.
Definition: TableViewContent.cpp:1189
QMenu
Isis::TableViewContent::m_lastDirectlySelectedRow
AbstractTreeItem * m_lastDirectlySelectedRow
This is the last row that was selected by either a control-click or normal click.
Definition: TableViewContent.h:170
Isis::TableViewContent::nullify
void nullify()
Clears all member variables.
Definition: TableViewContent.cpp:1007
Isis::TableViewContent::leaveEvent
void leaveEvent(QEvent *event)
Overrides QWidget::leaveEvent.
Definition: TableViewContent.cpp:553
Isis::TableView
Definition: TableView.h:43
Isis::TableViewContent::cellDataChanged
void cellDataChanged(TableColumn const *col)
Rebuilds the models when the data is changed.
Definition: TableViewContent.cpp:1030
Isis::TableViewContent::mousePressEvent
void mousePressEvent(QMouseEvent *event)
Overrides QWidget::mousePressEvent.
Definition: TableViewContent.cpp:352
Isis::TableViewContent::clearColumnSelection
void clearColumnSelection()
Clears the selected column.
Definition: TableViewContent.cpp:1050
Isis::TableViewContent::mouseInCellSelection
bool mouseInCellSelection(QPoint) const
Checks if the mouse is in the selected cells.
Definition: TableViewContent.cpp:1211
Isis::TableColumn
Definition: TableColumn.h:26
Isis::TableViewContent::rowIsValid
bool rowIsValid(int rowNum) const
Checks if the row number is valid.
Definition: TableViewContent.cpp:1241
Isis::TableViewContent::scrollTo
void scrollTo(QList< AbstractTreeItem * >)
Scrolls to the selected items.
Definition: TableViewContent.cpp:274
Isis::TableViewContent::moveActiveCellLeft
void moveActiveCellLeft()
Changes the viewport when the active cell is moved.
Definition: TableViewContent.cpp:827
Isis::AbstractTableModel
Translates the tree model into a table model.
Definition: AbstractTableModel.h:48
Isis::TableViewContent::paintRow
void paintRow(QPainter *, int, QPoint, QPoint)
Repaints the row.
Definition: TableViewContent.cpp:1313
Isis::ControlPoint
A single control point.
Definition: ControlPoint.h:354
Isis::TableViewContent::mouseInRowSelection
bool mouseInRowSelection(QPoint) const
Checks if the mouse is in the selected row.
Definition: TableViewContent.cpp:1227
Isis::TableViewContent::resizeEvent
void resizeEvent(QResizeEvent *event)
Updates the table when it is resized.
Definition: TableViewContent.cpp:985
Isis::TableViewContent::moveActiveCellUp
void moveActiveCellUp()
Shifts the active cell up.
Definition: TableViewContent.cpp:786
Isis::TableViewContent::moveActiveCellRight
void moveActiveCellRight()
Changes the viewport when the active cell is moved.
Definition: TableViewContent.cpp:843
Isis::TableViewContent::keyPressEvent
void keyPressEvent(QKeyEvent *event)
Overrides QWidget::keyPressEvent.
Definition: TableViewContent.cpp:563
Isis::TableColumnList
Definition: TableColumnList.h:30
Isis::TableViewContent::getModel
AbstractTableModel * getModel()
Returns the model.
Definition: TableViewContent.cpp:167
Isis::TableViewContent::sizeHint
QSize sizeHint() const
Returns the minimum size hint.
Definition: TableViewContent.cpp:157
Isis::TableViewContent::rowsWithActiveColumnSelected
QList< AbstractTreeItem * > * rowsWithActiveColumnSelected
Stores a list of the rows that have their active column cells selected.
Definition: TableViewContent.h:162
Isis::TableViewContent::getRowFromScreenY
int getRowFromScreenY(int screenY) const
Calculates the visible range of a row and returns the index of the column.
Definition: TableViewContent.cpp:1173
Isis::TableViewContent::m_applyToSelectionAct
QAction * m_applyToSelectionAct
This action applies (copies) the contents of the active cell to the current selection.
Definition: TableViewContent.h:178
Isis::TableViewContent::TableViewContent
TableViewContent(AbstractTableModel *someModel)
Constructor.
Definition: TableViewContent.cpp:51
Isis::TableViewContent::updateItemList
void updateItemList()
Updates the item list.
Definition: TableViewContent.cpp:1655
Isis::TableViewContent::m_deleteSelectedRowsAct
QAction * m_deleteSelectedRowsAct
This action deletes the selected rows.
Definition: TableViewContent.h:189
Isis::TableViewContent::mouseDoubleClickEvent
void mouseDoubleClickEvent(QMouseEvent *event)
Overrides QWidget::mouseDoubleClickEvent.
Definition: TableViewContent.cpp:325
Isis::TableViewContent::~TableViewContent
virtual ~TableViewContent()
Destructor.
Definition: TableViewContent.cpp:108
Isis::TableViewContent::minimumSizeHint
QSize minimumSizeHint() const
Returns the minimum size hint.
Definition: TableViewContent.cpp:145
Isis::TableViewContent::m_editControlPointAct
QAction * m_editControlPointAct
This action edits selected control point or if measure selected, edit parent control pt.
Definition: TableViewContent.h:194
Isis::TableViewContent::getColumnFromScreenX
int getColumnFromScreenX(int screenX) const
Calculates the visible range of a column and returns the index of the column.
Definition: TableViewContent.cpp:1150
Isis::TableViewContent::showContextMenu
void showContextMenu(QPoint)
Populates the context menus based on where the user clicked.
Definition: TableViewContent.cpp:1677
Isis::TableViewContent::moveActiveCellDown
void moveActiveCellDown()
Changes the viewport when the active cell is moved.
Definition: TableViewContent.cpp:806
Isis::TableViewContent::isDataColumn
bool isDataColumn(int) const
Checks if the column has a non empty title.
Definition: TableViewContent.cpp:1299
Isis::TableViewContent::eventFilter
bool eventFilter(QObject *target, QEvent *event)
Overrides QObject::eventFilter.
Definition: TableViewContent.cpp:315
Isis::TableViewContent::updateColumnGroupSelection
void updateColumnGroupSelection(AbstractTreeItem *)
Updates which column is selected.
Definition: TableViewContent.cpp:1513
Isis::TableViewContent::updateHorizontalScrollBar
void updateHorizontalScrollBar(bool scrollRight=false)
Updates the horizontal scroll bar.
Definition: TableViewContent.cpp:251
QPair
This is free and unencumbered software released into the public domain.
Definition: CubeIoHandler.h:23
Isis::TableViewContent::setActiveControlNet
void setActiveControlNet(bool activeNet)
Sets if there is an active control net.
Definition: TableViewContent.cpp:216
Isis::TableViewContent::copyCellSelection
void copyCellSelection(bool)
Copies the selected cells.
Definition: TableViewContent.cpp:1062
QObject
Isis::TableViewContent::mouseReleaseEvent
void mouseReleaseEvent(QMouseEvent *event)
Overrides QWidget::mouseReleaseEvent.
Definition: TableViewContent.cpp:478
Isis::TableViewContent::copySelection
void copySelection()
Copies selected cells.
Definition: TableViewContent.cpp:1582
QAction
Isis::TableViewContent::copyAll
void copyAll()
Copies all of the cells.
Definition: TableViewContent.cpp:1592
Isis::TableViewContent::refresh
void refresh()
Refreshes the table and viewport.
Definition: TableViewContent.cpp:224
Isis::AbstractTreeItem
Base class for an item in the tree.
Definition: AbstractTreeItem.h:39
Isis::TableViewContent::updateActiveCell
void updateActiveCell(QPoint)
Updates which cell is active.
Definition: TableViewContent.cpp:1460
Isis::TableViewContent::editControlPoint
void editControlPoint()
Retrieves the control point from the selected cells for editing.
Definition: TableViewContent.cpp:1621
Isis::TableViewContent::m_applyToAllAct
QAction * m_applyToAllAct
This action applies (copies) the contents of the active cell to all of the cells in the active cell's...
Definition: TableViewContent.h:184
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
Isis::TableViewContent
Definition: TableViewContent.h:60
Isis::TableViewContent::cellIsEditable
bool cellIsEditable(int, int) const
Checks if the cell is editable.
Definition: TableViewContent.cpp:1276
Isis::TableViewContent::hasRowSelection
bool hasRowSelection() const
Checks if there is a row selected.
Definition: TableViewContent.cpp:1199
Isis::TableViewContent::scrollContentsBy
void scrollContentsBy(int dx, int dy)
Updates the item list when the user scrolls.
Definition: TableViewContent.cpp:998
Isis::TableViewContent::deleteSelectedRows
void deleteSelectedRows()
Deletes the selected rows.
Definition: TableViewContent.cpp:1600

U.S. Department of the Interior | U.S. Geological Survey
ISIS | Privacy & Disclaimers | Astrogeology Research Program
To contact us, please post comments and questions on the USGS Astrogeology Discussion Board
To report a bug, or suggest a feature go to: ISIS Github
File Modified: 07/13/2023 15:17:22