Isis Developer Reference
CnetEditorWidget.h
Go to the documentation of this file.
1#ifndef CnetEditorWidget_H
2#define CnetEditorWidget_H
3
10/* SPDX-License-Identifier: CC0-1.0 */
11
12
13#include <QWidget>
14
15#include "XmlStackedHandler.h"
16
17class QAction;
18class QBoxLayout;
19class QGroupBox;
20template< typename T > class QList;
21class QMenu;
22class QScrollArea;
23class QSplitter;
24class QString;
25class QToolBar;
26class QXmlStreamWriter;
27class QXmlAttributes;
28
29namespace Isis {
30 class AbstractTableModel;
31 class AbstractTreeItem;
32 class Control;
33 class ControlNet;
34 class ControlPoint;
35 class Directory;
36 class FileName;
37 class Image;
38 class MosaicGraphicsView;
39 class MosaicSceneItem;
40 class MosaicTool;
41 class ProgressBar;
42 class Projection;
43 class Project;
44 class PvlGroup;
45 class PvlObject;
46 class ToolPad;
47 class FilterWidget;
48 class ImageImageTreeModel;
49 class ImagePointTreeModel;
50 class MeasureTableModel;
51 class PointMeasureTreeModel;
52 class PointTableModel;
53 class TableView;
54 class TreeView;
55 class CnetEditorSortConfigDialog;
56
96 class CnetEditorWidget : public QWidget {
97 Q_OBJECT
98
99 public:
105
106 CnetEditorWidget(Control *control, QString pathForSettings);
107 virtual ~CnetEditorWidget();
108 void readSettings();
109 void writeSettings();
110
120
121
124
125 QMap< QAction *, QList< QString > > menuActions();
126 QMap< QString, QList< QAction * > > toolBarActions();
127
129
130 bool measureTableSortingEnabled() const;
131 int measureTableSortLimit() const;
132 bool pointTableSortingEnabled() const;
133 int pointTableSortLimit() const;
134
135 void setMeasureTableSortingEnabled(bool enabled);
136 void setMeasureTableSortLimit(int limit);
137 void setPointTableSortingEnabled(bool enabled);
138 void setPointTableSortLimit(int limit);
139
140
141 public slots:
142 void configSorting();
143 void setTablesFrozen(bool);
144 void rebuildModels();
145
146
147 signals:
149 void editControlPoint(ControlPoint *controlPoint, QString serialNumber);
150
151 private slots:
152 void rebuildModels(QList< AbstractTreeItem * > itemsToDelete);
153
154 void pointColToggled();
155 void measureColToggled();
156
157 void handlePointTableFilterCountsChanged(int visibleRows, int totalRows);
158 void handleMeasureTableFilterCountsChanged(int visibleRows,
159 int totalRows);
160 void setCnetModified();
161
162
163 private:
164 //methods
165 void nullify();
166 QBoxLayout *createMainLayout();
167 void createActions();
168 void createPointTreeView();
169 void createSerialTreeView();
170 void createConnectionTreeView();
171 void createFilterArea();
172 void createPointTableView();
173 void createMeasureTableView();
174 void upgradeVersion();
175 void handleTableFilterCountsChanged(int visibleRows, int totalRows,
176 QGroupBox *box, QString initialText);
177
178 // data
179 bool m_updatingSelection;
180 Control *m_control;
181 QString *m_workingVersion;
182 static const QString VERSION;
183
184 //widgets
185 TreeView *m_pointTreeView;
186 TreeView *m_imageTreeView;
187 TreeView *m_connectionTreeView;
188
189 TableView *m_pointTableView;
190 TableView *m_measureTableView;
191
192 QGroupBox *m_pointTableBox;
193 QGroupBox *m_measureTableBox;
194
195 QScrollArea *m_filterArea;
196
197 QWidget *m_pointFilterWidget;
198 QWidget *m_serialFilterWidget;
199 QWidget *m_connectionFilterWidget;
200
201 PointMeasureTreeModel *m_pointModel;
202 ImagePointTreeModel *m_imageModel;
203 ImageImageTreeModel *m_connectionModel;
204
205 PointTableModel *m_pointTableModel;
206 MeasureTableModel *m_measureTableModel;
207
208 QSplitter *m_mainSplitter;
209
210 QMap< QAction *, QList< QString > > * m_menuActions;
211 QMap< QString, QList< QAction * > > * m_toolBarActions;
212
213 QString *m_settingsPath;
214
215 CnetEditorSortConfigDialog *m_sortDialog;
216
217 };
218}
219
220#endif
Translates the tree model into a table model.
Definition AbstractTableModel.h:48
Configure user's sorting settings for the cneteditor widget.
Definition CnetEditorSortConfigDialog.h:37
This widget provides full editing, filtering and viewing capabilities for the raw data in a control n...
Definition CnetEditorWidget.h:96
View
Definition CnetEditorWidget.h:100
@ ImageView
Definition CnetEditorWidget.h:102
@ ConnectionView
Definition CnetEditorWidget.h:103
@ PointView
Definition CnetEditorWidget.h:101
virtual ~CnetEditorWidget()
Destructor.
Definition CnetEditorWidget.cpp:109
int pointTableSortLimit() const
Returns the sorting limit for the point table.
Definition CnetEditorWidget.cpp:975
void setPointTableSortLimit(int limit)
Sets the point table sorting limit.
Definition CnetEditorWidget.cpp:1015
QWidget * serialFilterWidget()
Returns the serial filter widget.
Definition CnetEditorWidget.cpp:755
AbstractTableModel * measureTableModel()
Returns the measure table model.
Definition CnetEditorWidget.cpp:795
void setMeasureTableSortLimit(int limit)
Sets the measure table sorting limit.
Definition CnetEditorWidget.cpp:995
void rebuildModels()
Rebuilds the models.
Definition CnetEditorWidget.cpp:529
QMap< QString, QList< QAction * > > toolBarActions()
Returns the tool bar actions.
Definition CnetEditorWidget.cpp:835
ControlNet * control()
Returns the control network.
Definition CnetEditorWidget.cpp:815
QWidget * connectionTreeView()
Returns the connection tree view.
Definition CnetEditorWidget.cpp:735
CnetEditorWidget(Control *control, QString pathForSettings)
Definition CnetEditorWidget.cpp:75
AbstractTableModel * pointTableModel()
Returns the point table model.
Definition CnetEditorWidget.cpp:805
ControlNet * filteredNetwork() const
Returns the filtered control net.
Definition CnetEditorWidget.cpp:845
QWidget * connectionFilterWidget()
Returns the connection filter widget.
Definition CnetEditorWidget.cpp:765
void writeSettings()
Writes the configuration settings used.
Definition CnetEditorWidget.cpp:673
void setTablesFrozen(bool)
Sets if the tables are frozen.
Definition CnetEditorWidget.cpp:1037
void readSettings()
Reads the working version settings stored at the settings path.
Definition CnetEditorWidget.cpp:632
int measureTableSortLimit() const
Returns the sorting limit for the measure table.
Definition CnetEditorWidget.cpp:955
void setPointTableSortingEnabled(bool enabled)
Sets if the point table can be sorted.
Definition CnetEditorWidget.cpp:1005
TableView * pointTableView()
Returns the point table view.
Definition CnetEditorWidget.cpp:775
QMap< QAction *, QList< QString > > menuActions()
Returns the menu actions.
Definition CnetEditorWidget.cpp:825
TableView * measureTableView()
Returns the measure table view.
Definition CnetEditorWidget.cpp:785
void setMeasureTableSortingEnabled(bool enabled)
Sets if the measure table can be sorted.
Definition CnetEditorWidget.cpp:985
QWidget * serialTreeView()
Returns the serial tree view.
Definition CnetEditorWidget.cpp:725
QWidget * pointTreeView()
Returns the point tree view.
Definition CnetEditorWidget.cpp:715
bool measureTableSortingEnabled() const
Returns true if the measure table can be sorted.
Definition CnetEditorWidget.cpp:945
void configSorting()
Configures the sorting dialog.
Definition CnetEditorWidget.cpp:1024
bool pointTableSortingEnabled() const
Returns true if the point table can be sorted.
Definition CnetEditorWidget.cpp:965
QWidget * pointFilterWidget()
Returns the point filter widget.
Definition CnetEditorWidget.cpp:745
void editControlPoint(ControlPoint *controlPoint, QString serialNumber)
This represents an ISIS control net in a project-based GUI interface.
Definition Control.h:66
a control network
Definition ControlNet.h:258
A single control point.
Definition ControlPoint.h:356
Tree model for images and images.
Definition ImageImageTreeModel.h:48
Tree model for images and control points.
Definition ImagePointTreeModel.h:48
Table model for control measures.
Definition MeasureTableModel.h:42
Tree model for control points and control measures.
Definition PointMeasureTreeModel.h:49
Table model for control points.
Definition PointTableModel.h:39
Definition TableView.h:43
Definition TreeView.h:31
This is free and unencumbered software released into the public domain.
Definition BoxcarCachingAlgorithm.h:13
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16