Isis 3.0 Programmer Reference
Back | Home
CnetEditorWidget.h
1 #ifndef CnetEditorWidget_H
2 #define CnetEditorWidget_H
3 
4 
5 #include <QWidget>
6 
7 class QAction;
8 class QBoxLayout;
9 class QGroupBox;
10 template< typename T > class QList;
11 class QMenu;
12 class QScrollArea;
13 class QSplitter;
14 class QString;
15 class QToolBar;
16 
17 namespace Isis {
18  class ControlNet;
19 
20  namespace CnetViz {
21  class AbstractTableModel;
22  class AbstractTreeItem;
23  class FilterWidget;
24  class ImageImageTreeModel;
25  class ImagePointTreeModel;
26  class MeasureTableModel;
27  class PointMeasureTreeModel;
28  class PointTableModel;
29  class TableView;
30  class TreeView;
31  }
32 
46  class CnetEditorWidget : public QWidget {
47  Q_OBJECT
48 
49  public:
50  enum View {
51  PointView,
52  ImageView,
53  ConnectionView
54  };
55 
56 
57  public:
58  CnetEditorWidget(ControlNet *, QString);
59  virtual ~CnetEditorWidget();
60  void readSettings();
61  void writeSettings();
62 
63  QWidget *pointTreeView();
64  QWidget *serialTreeView();
65  QWidget *connectionTreeView();
66  QWidget *pointFilterWidget();
67  QWidget *serialFilterWidget();
68  QWidget *connectionFilterWidget();
69 
70  CnetViz::AbstractTableModel *measureTableModel();
71  CnetViz::AbstractTableModel *pointTableModel();
72 
73  QMap< QAction *, QList< QString > > menuActions();
74  QMap< QString, QList< QAction * > > toolBarActions();
75 
76  ControlNet *filteredNetwork() const;
77 
78  bool measureTableSortingEnabled() const;
79  int measureTableSortLimit() const;
80  bool pointTableSortingEnabled() const;
81  int pointTableSortLimit() const;
82 
83  void setMeasureTableSortingEnabled(bool enabled);
84  void setMeasureTableSortLimit(int limit);
85  void setPointTableSortingEnabled(bool enabled);
86  void setPointTableSortLimit(int limit);
87 
88 
89  public slots:
90  void configSorting();
91  void setTablesFrozen(bool);
92 
93 
94  signals:
95  void cnetModified();
96 
97 
98  private:
99  void nullify();
100  QBoxLayout *createMainLayout();
101  void createActions();
102  void createPointTreeView();
103  void createSerialTreeView();
104  void createConnectionTreeView();
105  void createFilterArea();
106  void createPointTableView();
107  void createMeasureTableView();
108  void upgradeVersion();
109  void handleTableFilterCountsChanged(int visibleRows, int totalRows,
110  QGroupBox *box, QString initialText);
111 
112 
113  private slots:
114  void rebuildModels();
115  void rebuildModels(QList< CnetViz::AbstractTreeItem * > itemsToDelete);
116 
117  void pointColToggled();
118  void measureColToggled();
119 
120  void handlePointTableFilterCountsChanged(int visibleRows, int totalRows);
121  void handleMeasureTableFilterCountsChanged(int visibleRows,
122  int totalRows);
123 
124 
125  private: // data
126  bool m_updatingSelection;
127  ControlNet *m_controlNet;
128  QString *m_workingVersion;
129  static const QString VERSION;
130 
131 
132  private: // widgets
133  CnetViz::TreeView *m_pointTreeView;
134  CnetViz::TreeView *m_imageTreeView;
135  CnetViz::TreeView *m_connectionTreeView;
136 
137  CnetViz::TableView *m_pointTableView;
138  CnetViz::TableView *m_measureTableView;
139 
140  QGroupBox *m_pointTableBox;
141  QGroupBox *m_measureTableBox;
142 
143  QScrollArea *m_filterArea;
144 
145  QWidget *m_pointFilterWidget;
146  QWidget *m_serialFilterWidget;
147  QWidget *m_connectionFilterWidget;
148 
149  CnetViz::PointMeasureTreeModel *m_pointModel;
150  CnetViz::ImagePointTreeModel *m_imageModel;
151  CnetViz::ImageImageTreeModel *m_connectionModel;
152 
153  CnetViz::PointTableModel *m_pointTableModel;
154  CnetViz::MeasureTableModel *m_measureTableModel;
155 
156  QSplitter *m_mainSplitter;
157 
158  QMap< QAction *, QList< QString > > * m_menuActions;
159  QMap< QString, QList< QAction * > > * m_toolBarActions;
160 
161  QString *m_settingsPath;
162  };
163 }
164 
165 #endif
166 
Table model for control measures.
Translates the tree model into a table model.
a control network
Definition: ControlNet.h:207
Tree model for images and control points.
Tree model for control points and control measures.
Tree model for images and images.
Table model for control points.
This widget provides full editing, filtering and viewing capabilities for the raw data in a control n...

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 ISIS Support Center
File Modified: 07/12/2023 23:16:04