sequenceselectorwidget.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #ifndef SEQUENCESELECTORWIDGET_H
  2. #define SEQUENCESELECTORWIDGET_H
  3. #include <QDialog>
  4. #include <QDrag>
  5. #include <QDragEnterEvent>
  6. #include <QDropEvent>
  7. #include <QHBoxLayout>
  8. #include <QHeaderView>
  9. #include <QMimeData>
  10. #include <QPushButton>
  11. #include <QStringList>
  12. #include <QVBoxLayout>
  13. #include <QWidget>
  14. #include "dragdroptablewidget.h"
  15. class SequenceSelectorWidget : public QDialog {
  16. Q_OBJECT
  17. public:
  18. explicit SequenceSelectorWidget(const QStringList &pcSnList, QWidget *parent = nullptr);
  19. ~SequenceSelectorWidget();
  20. QStringList getOrderedPcSnList() const;
  21. signals:
  22. void startFiring(const QStringList &orderedPcSnList);
  23. void cancel();
  24. // Removed drag and drop event handlers as they are handled by DragDropTableWidget
  25. private slots:
  26. void onConfirmClicked();
  27. void onCancelClicked();
  28. private:
  29. void setupUI();
  30. void populateTable();
  31. void centerOnScreen();
  32. private slots:
  33. void handleRowDropped(int fromRow, int toRow);
  34. private:
  35. DragDropTableWidget *m_tableWidget;
  36. QPushButton *m_confirmButton;
  37. QPushButton *m_cancelButton;
  38. QStringList m_pcSnList;
  39. };
  40. #endif // SEQUENCESELECTORWIDGET_H