#ifndef _QCHANNELMANAGERWIDGET_H_ #define _QCHANNELMANAGERWIDGET_H_ #include #include #include "ui_qchannelmanagerwidget.h" namespace projection { class ProjectionModel; class Channel; class QChannelManagerWidget : public QWidget { Q_OBJECT public: QChannelManagerWidget(QWidget* pParent=0, Qt::WFlags flag=0); virtual ~QChannelManagerWidget(); void setModel(ProjectionModel* pModel); void selectChannel(int index); int getSelectedChannel() const; bool initFromDOMElement(const QDomElement& element); QDomElement domElement(QDomDocument& doc) const; public slots: void updateChannelNamesGUI(); void updateGUI(); private slots: void on_addButton_clicked(); void on_removeButton_clicked(); void on_channelTable_currentCellChanged(int currentRow, int currentColumn, int previousRow, int previousColumn); void on_channelTable_itemChanged(QTableWidgetItem* pItem); void channelTableHeaderClicked(int index); void channelStateChanged(); private: void addChannelToTable(int row, Channel* pChannel); private: Ui::QChannelManagerWidget ui; ProjectionModel* m_pModel; }; }; // projection #endif // _QCHANNELMANAGERWIDGET_H_