| 1 | #ifndef DROPTABLEWIDGET_H | 
 
 
 
 
 | 2 | #define DROPTABLEWIDGET_H | 
 
 
 
 
 | 3 |  | 
 
 
 
 
 | 4 | #include <QTableWidget> | 
 
 
 
 
 | 5 | #include <QtWidgets> | 
 
 
 
 
 | 6 |  | 
 
 
 
 
 | 7 | #include "utilvago.h" | 
 
 
 
 
 | 8 |  | 
 
 
 
 
 | 9 |  | 
 
 
 
 
 | 10 | //Used in swapPositions function, for switching orders and maintain the disabled style | 
 
 
 
 
 | 11 | struct tableRowProperties{ //No need for typedef in c++ :) | 
 
 
 
 
 | 12 | QStringList cells; | 
 
 
 
 
 | 13 | bool isDisabled; | 
 
 
 
 
 | 14 |  | 
 
 
 
 
 | 15 | tableRowProperties(){ | 
 
 
 
 
 | 16 | cells = QStringList(); //initialize the list on the constructor | 
 
 
 
 
 | 17 | isDisabled=false; //if you don't initialize a variable at c++ it is random assigned! | 
 
 
 
 
 | 18 | } | 
 
 
 
 
 | 19 | }; | 
 
 
 
 
 | 20 |  | 
 
 
 
 
 | 21 | class QMimeData; | 
 
 
 
 
 | 22 |  | 
 
 
 
 
 | 23 | class DropTableWidget : public QTableWidget { | 
 
 
 
 
 | 24 |  | 
 
 
 
 
 | 25 | Q_OBJECT | 
 
 
 
 
 | 26 |  | 
 
 
 
 
 | 27 | public: | 
 
 
 
 
 | 28 | DropTableWidget(QWidget *parent = 0, | 
 
 
 
 
 | 29 | QBrush _disabledBackStyle = QPalette().brush(QPalette::Disabled,QPalette::Base), | 
 
 
 
 
 | 30 | QBrush _disabledTextStyle = QPalette().brush(QPalette::Disabled,QPalette::WindowText)); | 
 
 
 
 
 | 31 |  | 
 
 
 
 
 | 32 | const QBrush disabledBackStyle; | 
 
 
 
 
 | 33 | const QBrush disabledTextStyle; | 
 
 
 
 
 | 34 |  | 
 
 
 
 
 | 35 | void swapPositions(QList<int> rowsSelected, int numUnitsToMove); | 
 
 
 
 
 | 36 | void resetStyleWidgetItem(QTableWidgetItem *currentItem); | 
 
 
 
 
 | 37 | void setDisableStyleWidgetItem(QTableWidgetItem *currentItem); | 
 
 
 
 
 | 38 | void updateTableToolTips(int row); | 
 
 
 
 
 | 39 | QString getFileAbsolute(int row); | 
 
 
 
 
 | 40 | QString getOutputAbsolute(int row); | 
 
 
 
 
 | 41 |  | 
 
 
 
 
 | 42 | public slots: | 
 
 
 
 
 | 43 | void clear(); | 
 
 
 
 
 | 44 |  | 
 
 
 
 
 | 45 | signals: | 
 
 
 
 
 | 46 | void changed(const QMimeData *mimeData = 0); | 
 
 
 
 
 | 47 | void dropped(DropTableWidget *myTable, QStringList pathList); | 
 
 
 
 
 | 48 | QString getTypeConversion(DropTableWidget *thisTable); | 
 
 
 
 
 | 49 | void changeToCurrentSettings(int rows[], DropTableWidget* thisTable); | 
 
 
 
 
 | 50 | void dtContextMenu(DropTableWidget* thisTable, QContextMenuEvent *event); | 
 
 
 
 
 | 51 |  | 
 
 
 
 
 | 52 | protected: | 
 
 
 
 
 | 53 | void dragEnterEvent(QDragEnterEvent *event); | 
 
 
 
 
 | 54 | void dragMoveEvent(QDragMoveEvent *event); | 
 
 
 
 
 | 55 | void dragLeaveEvent(QDragLeaveEvent *event); | 
 
 
 
 
 | 56 | void dropEvent(QDropEvent *event); | 
 
 
 
 
 | 57 | void contextMenuEvent(QContextMenuEvent * event); | 
 
 
 
 
 | 58 |  | 
 
 
 
 
 | 59 | private: | 
 
 
 
 
 | 60 | QTableWidget *tablewidget; | 
 
 
 
 
 | 61 | }; | 
 
 
 
 
 | 62 |  | 
 
 
 
 
 | 63 | #endif // DROPTABLEWIDGET_H |