CmQtTabButton.h 606 B

12345678910111213141516171819202122232425262728293031
  1. #pragma once
  2. #include "CmEditorPrerequisites.h"
  3. #include <QtWidgets/QPushButton>
  4. #include <boost/signal.hpp>
  5. namespace CamelotEditor
  6. {
  7. class QtTabButton : public QPushButton
  8. {
  9. Q_OBJECT
  10. public:
  11. QtTabButton(QWidget* parent);
  12. virtual ~QtTabButton();
  13. void mousePressEvent(QMouseEvent* event);
  14. void mouseReleaseEvent(QMouseEvent* event);
  15. void mouseMoveEvent(QMouseEvent* event);
  16. boost::signal<void()> onDragged;
  17. boost::signal<void()> onSelected;
  18. private:
  19. QPoint mMouseMoveStartPos;
  20. bool mMouseDragging;
  21. void setupUi();
  22. void buttonClicked();
  23. };
  24. }