Isis 3 Programmer Reference
TableMainWindow.h
1 #ifndef TableMainWindow_h
2 #define TableMainWindow_h
3 
4 #include <QMainWindow>
5 #include <QMenu>
6 
7 #include <QListWidgetItem>
8 #include <QPointer>
9 
10 #include "MainWindow.h"
11 
12 class QTableWidget;
13 
14 namespace Isis {
57  class TableMainWindow : public MainWindow {
58  Q_OBJECT
59  public:
60  TableMainWindow(QString title, QWidget *parent = 0);
61  ~TableMainWindow();
62 
63  void clear();
64 
70  QTableWidget *table() const {
71  return p_table;
72  };
73 
74 
75  QList<QListWidgetItem *> itemList() const;
76 
77 
84  QListWidget *listWidget() const {
85  return p_listWidget;
86  };
87 
94  int selectedRows() const {
95  return p_selectedRows;
96  };
97 
104  int currentIndex() const {
105  return p_currentIndex;
106  };
107 
114  int currentRow() const {
115  return p_currentRow;
116  };
117 
118  void addToTable(bool setOn, const QString &heading,
119  const QString &menuText = "", int insertAt = -1,
120  Qt::Orientation o = Qt::Horizontal, QString toolTip = "");
121  void deleteColumn(int item);
122  void setStatusMessage(QString message);
123  void closeEvent(QCloseEvent *event);
124  void hideEvent(QHideEvent *event);
125 
126  public slots:
127  void showTable();
128  void syncColumns();
129  void syncRows();
130  void saveAsTable();
131  void saveTable();
132  void clearTable();
133  void deleteRows();
134  void clearRow(int row);
135  void setCurrentRow(int row);
136  void setCurrentIndex(int currentIndex);
137  void setTrackListItems(bool track = false);
138  bool trackListItems();
139  void loadTable();
140  void writeSettings() const;
141  void resizeColumn(int columnIndex);
142 
143  signals:
148  void fileLoaded();
149 
150  protected:
151  bool eventFilter(QObject *o, QEvent *e);
152  void createTable();
153  void readItemSettings(QString heading, QListWidgetItem *item,
154  bool defaultChecked);
155 
156  void readColumnSettings();
157 
158  private:
159  std::string p_appName;
161  QString p_title;
163 
166 
167  QTableWidget *p_table;
168  QPointer<QListWidget> p_listWidget;
172 
177 
178  };
179 };
180 
181 #endif
std::string p_appName
The application name.
void readColumnSettings()
This method reads the columns in the table and sets their size to the appropriate size...
QAction * p_save
Action to save the table to the current file.
void setStatusMessage(QString message)
sets the status message in the lower lefthand corner of the window.
void writeSettings() const
This overriden method is called when the Tablemainwindow is closed or hidden to write the size and lo...
bool eventFilter(QObject *o, QEvent *e)
This event filter is installed in the constructor.
int p_selectedRows
Number of selected rows.
void saveAsTable()
This method will select a file, set it as the current file and save the table.
int p_currentIndex
Current index.
QFile p_currentFile
The current file.
void clearRow(int row)
This method clears the text of the given row.
void deleteColumn(int item)
This method deletes a column from the table.
int selectedRows() const
Returns the selected rows.
void hideEvent(QHideEvent *event)
bool trackListItems()
Returns whether or not we should track items.
void createTable()
This creates the table main window.
void deleteRows()
This method is called when the user selects a row or rows uses the delete button or selects the delet...
bool p_trackItems
Boolean to track items.
void saveTable()
This method allows the user to save the data from the table to the current file.
void setTrackListItems(bool track=false)
If this property is true, the class will keep track of the checked/unchecked items in the dock area w...
void readItemSettings(QString heading, QListWidgetItem *item, bool defaultChecked)
This method reads the &#39;checked&#39; settings on the items listed in the dock area which determine which t...
QList< int > p_endColumn
List of end columns.
int p_currentRow
Current row.
QPointer< QListWidget > p_listWidget
List widget.
int currentRow() const
Returns the current row.
void closeEvent(QCloseEvent *event)
void syncColumns()
This method hides and shows the columns according to which items the user has selected to be view-abl...
int p_visibleColumns
Number of visible columns.
void setCurrentRow(int row)
Sets the current row to row.
a subclass of the qisis mainwindow, tablemainwindow handles all of the table tasks.
TableMainWindow(QString title, QWidget *parent=0)
Constructs a new TableMainWindow object.
QString p_title
The title string.
QTableWidget * table() const
Returns the table.
void clearTable()
This method clears all items from each row and column.
void loadTable()
This method loads a text file into the table.
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
Base class for the Qisis main windows.
Definition: MainWindow.h:24
void fileLoaded()
Signal emitted when a file has loaded.
void addToTable(bool setOn, const QString &heading, const QString &menuText="", int insertAt=-1, Qt::Orientation o=Qt::Horizontal, QString toolTip="")
Adds a new column to the table when a new curve is added to the plot.
QList< int > p_startColumn
List of start columns.
void showTable()
This method checks to see if the table has been created.
int currentIndex() const
Returns the current index.
QTableWidget * p_table
The table.
QWidget * p_parent
The parent widget.
QDockWidget * p_dock
The dock widget.
QListWidget * listWidget() const
Returns the list widget.
void setCurrentIndex(int currentIndex)
Sets the current index to currentIndex.
void syncRows()
Use this method to sync the table with the dock widget list if the table orientation is horizontal...