12345678910111213141516171819202122232425262728293031323334353637 |
- #ifndef NO_BOND_PT_EDIT_DIALOG_H
- #define NO_BOND_PT_EDIT_DIALOG_H
- #include <QDialog>
- #include <QPushButton>
- #include <QDialogButtonBox>
- #include <QVBoxLayout>
- #include <QGridLayout>
- #include <QMap>
- #include <QSet>
- #include <QPair>
- #include <QMouseEvent>
- #include <QRubberBand>
- #include <QVector>
- #include "dt.h"
- class NoBondPtEditDialog : public QDialog {
- Q_OBJECT
- public:
- NoBondPtEditDialog(int rows, int cols, const std::vector<XY_LONG_STRUCT>& selectedPts, QWidget* parent = nullptr);
- QVector<XY_LONG_STRUCT> getSelectedPoints() const;
- protected:
- void mousePressEvent(QMouseEvent* event) override;
- void mouseMoveEvent(QMouseEvent* event) override;
- void mouseReleaseEvent(QMouseEvent* event) override;
- private:
- QSet<QPair<int, int>> selectedSet;
- Qt::MouseButton dragButton = Qt::NoButton;
- QMap<QPushButton*, QPair<int, int>> buttonMap;
- QRubberBand* rubberBand = nullptr;
- QPoint dragStart;
- bool isDragging = false;
- };
- #endif // NO_BOND_PT_EDIT_DIALOG_H
|