Isis 3 Programmer Reference
CnetEditorWidget.h
1#ifndef CnetEditorWidget_H
2#define CnetEditorWidget_H
3
10/* SPDX-License-Identifier: CC0-1.0 */
11
12
13#include <QWidget>
14
15
16class QAction;
17class QBoxLayout;
18class QGroupBox;
19template< typename T > class QList;
20class QMenu;
21class QScrollArea;
22class QSplitter;
23class QString;
24class QToolBar;
25class QXmlStreamWriter;
26class QXmlAttributes;
27
28namespace Isis {
29 class AbstractTableModel;
30 class AbstractTreeItem;
31 class Control;
32 class ControlNet;
33 class ControlPoint;
34 class Directory;
35 class FileName;
36 class Image;
37 class MosaicGraphicsView;
38 class MosaicSceneItem;
39 class MosaicTool;
40 class ProgressBar;
41 class Projection;
42 class Project;
43 class PvlGroup;
44 class PvlObject;
45 class ToolPad;
46 class FilterWidget;
47 class ImageImageTreeModel;
48 class ImagePointTreeModel;
49 class MeasureTableModel;
50 class PointMeasureTreeModel;
51 class PointTableModel;
52 class TableView;
53 class TreeView;
54 class CnetEditorSortConfigDialog;
55
116 class CnetEditorWidget : public QWidget {
117 Q_OBJECT
118
119 public:
120 enum View {
121 PointView,
122 ImageView,
123 ConnectionView
124 };
125
126 CnetEditorWidget(Control *control, QString pathForSettings);
127 virtual ~CnetEditorWidget();
128 void readSettings();
129 void writeSettings();
130
140
141
144
145 QMap< QAction *, QList< QString > > menuActions();
146 QMap< QString, QList< QAction * > > toolBarActions();
147
149
150 bool measureTableSortingEnabled() const;
151 int measureTableSortLimit() const;
152 bool pointTableSortingEnabled() const;
153 int pointTableSortLimit() const;
154
155 void setMeasureTableSortingEnabled(bool enabled);
156 void setMeasureTableSortLimit(int limit);
157 void setPointTableSortingEnabled(bool enabled);
158 void setPointTableSortLimit(int limit);
159
160
161 public slots:
162 void configSorting();
165 void setTablesFrozen(bool);
166 void rebuildModels();
167
168
169 signals:
170 void cnetModified();
171 void editControlPoint(ControlPoint *controlPoint, QString serialNumber);
172 void coordinateDisplayTypeChanged();
173
174 private slots:
175 void rebuildModels(QList< AbstractTreeItem * > itemsToDelete);
176
177 void pointColToggled();
178 void measureColToggled();
179
180 void handlePointTableFilterCountsChanged(int visibleRows, int totalRows);
181 void handleMeasureTableFilterCountsChanged(int visibleRows,
182 int totalRows);
183 void setCnetModified();
184
185
186 private:
187 //methods
188 void nullify();
189 QBoxLayout *createMainLayout();
190 void createActions();
191 void createPointTreeView();
194 void createFilterArea();
197 void upgradeVersion();
198 void handleTableFilterCountsChanged(int visibleRows, int totalRows,
199 QGroupBox *box, QString initialText);
200
201 // data
205 static const QString VERSION;
206
207 //widgets
211
214
215 QGroupBox *m_pointTableBox;
216 QGroupBox *m_measureTableBox;
217
218 QScrollArea *m_filterArea;
219
223
227
230
231 QSplitter *m_mainSplitter;
232
233 QMap< QAction *, QList< QString > > * m_menuActions;
234 QMap< QString, QList< QAction * > > * m_toolBarActions;
235
236 QString *m_settingsPath;
237
239 };
240}
241
242#endif
Translates the tree model into a table model.
Configure user's sorting settings for the cneteditor widget.
This widget provides full editing, filtering and viewing capabilities for the raw data in a control n...
void createSerialTreeView()
Creates the serial tree and adds it to the model.
Control * m_control
Control for this widget.
virtual ~CnetEditorWidget()
Destructor.
QWidget * m_connectionFilterWidget
Connection filter widget.
int pointTableSortLimit() const
Returns the sorting limit for the point table.
void setPointTableSortLimit(int limit)
Sets the point table sorting limit.
TreeView * m_connectionTreeView
Connection tree view.
static const QString VERSION
Version.
void setCnetModified()
Connected to cnetModified().
void createMeasureTableView()
Creates the measure table and adds it to the widget.
QString * m_settingsPath
Path to read/write settings.
TreeView * m_imageTreeView
Image tree view.
QWidget * serialFilterWidget()
Returns the serial filter widget.
QGroupBox * m_pointTableBox
Point table box.
AbstractTableModel * measureTableModel()
Returns the measure table model.
void setMeasureTableSortLimit(int limit)
Sets the measure table sorting limit.
bool m_updatingSelection
Updates selection.
void rebuildModels()
Rebuilds the models.
QMap< QString, QList< QAction * > > toolBarActions()
Returns the tool bar actions.
ControlNet * control()
Returns the control network.
QWidget * connectionTreeView()
Returns the connection tree view.
void createConnectionTreeView()
Creates the connection tree and adds it to the model.
void pointColToggled()
Toggles the point column.
void handleMeasureTableFilterCountsChanged(int visibleRows, int totalRows)
Handles measure table filter changes.
AbstractTableModel * pointTableModel()
Returns the point table model.
ControlNet * filteredNetwork() const
Returns the filtered control net.
QWidget * connectionFilterWidget()
Returns the connection filter widget.
void writeSettings()
Writes the configuration settings used.
void setTablesFrozen(bool)
Sets if the tables are frozen.
void readSettings()
Reads the working version settings stored at the settings path.
PointTableModel * m_pointTableModel
Point table model.
void createPointTableView()
Creates the point table and adds it to the widget.
QGroupBox * m_measureTableBox
Measure table box.
void createPointTreeView()
Creates the point tree view and adds it to the model.
QSplitter * m_mainSplitter
Splitter.
void handlePointTableFilterCountsChanged(int visibleRows, int totalRows)
Handles point table filter changes.
MeasureTableModel * m_measureTableModel
Measure table model.
void handleTableFilterCountsChanged(int visibleRows, int totalRows, QGroupBox *box, QString initialText)
Handles any table filter changes.
void setXYZCoordinateDisplay()
Set control point coordinate display type to X,Y,Z.
void upgradeVersion()
Upgrades the working version number.
int measureTableSortLimit() const
Returns the sorting limit for the measure table.
QScrollArea * m_filterArea
Scroll area for filters.
void setPointTableSortingEnabled(bool enabled)
Sets if the point table can be sorted.
CnetEditorSortConfigDialog * m_sortDialog
Sorting dialog.
QWidget * m_pointFilterWidget
Point filter widget.
TableView * pointTableView()
Returns the point table view.
void nullify()
Sets all member variables to NULL.
QBoxLayout * createMainLayout()
Creates the layout of the widget.
void createFilterArea()
Creates filter widgets.
QMap< QAction *, QList< QString > > * m_menuActions
QMap of menu actions.
void createActions()
Creates the menus, and options for the widget.
QMap< QAction *, QList< QString > > menuActions()
Returns the menu actions.
TableView * measureTableView()
Returns the measure table view.
TreeView * m_pointTreeView
Point tree view.
void setMeasureTableSortingEnabled(bool enabled)
Sets if the measure table can be sorted.
QWidget * serialTreeView()
Returns the serial tree view.
TableView * m_pointTableView
Point table view.
QWidget * pointTreeView()
Returns the point tree view.
void setLatLonRadiusCoordinateDisplay()
Set control point coordinate display type to latitude, longitude, radius.
QWidget * m_serialFilterWidget
Serial filter widget.
QString * m_workingVersion
Working version.
bool measureTableSortingEnabled() const
Returns true if the measure table can be sorted.
void configSorting()
Configures the sorting dialog.
ImageImageTreeModel * m_connectionModel
Connection tree model.
bool pointTableSortingEnabled() const
Returns true if the point table can be sorted.
void measureColToggled()
Toggles the measure column.
TableView * m_measureTableView
Measure table view.
QWidget * pointFilterWidget()
Returns the point filter widget.
PointMeasureTreeModel * m_pointModel
Point tree model.
ImagePointTreeModel * m_imageModel
Image tree model.
QMap< QString, QList< QAction * > > * m_toolBarActions
QMap of tool bar actions.
This represents an ISIS control net in a project-based GUI interface.
Definition Control.h:65
a control network
Definition ControlNet.h:258
A single control point.
Tree model for images and images.
Tree model for images and control points.
Table model for control measures.
Tree model for control points and control measures.
Table model for control points.
This is free and unencumbered software released into the public domain.
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16