xtitlebar.h 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #ifndef XTITLEBAR_H
  2. #define XTITLEBAR_H
  3. #define TITLEBAR_MARGIN 5
  4. #include <QWidget>
  5. #include <QtGui>
  6. #include "ximagebutton.h"
  7. #include "xtextbutton.h"
  8. class XTitleBar : public QWidget
  9. {
  10. Q_OBJECT
  11. public:
  12. explicit XTitleBar(QWidget *parent = 0);
  13. ~XTitleBar();
  14. protected:
  15. void mouseMoveEvent(QMouseEvent *e);
  16. void mousePressEvent(QMouseEvent *e);
  17. void mouseReleaseEvent(QMouseEvent *e);
  18. void mouseDoubleClickEvent(QMouseEvent *e);
  19. signals:
  20. void signalMoveOffset(QPoint offset);
  21. void signalClose();
  22. void signalMin();
  23. void signalMaxRestore();
  24. public slots:
  25. void slotOnBtnClick();
  26. private:
  27. void createWidget();
  28. void createLayout();
  29. void initVariable();
  30. void initUI();
  31. private:
  32. QLabel *m_pLabelIcon;
  33. QLabel *m_pLabelTitle;
  34. XImageButton *m_pBtnClose;
  35. XImageButton *m_pBtnMin;
  36. XImageButton *m_pBtnMax;
  37. QHBoxLayout *m_pLayout;
  38. QPoint m_mouseSrcPos;
  39. bool m_mouseMoveWindowFlag;
  40. };
  41. #endif // XTITLEBAR_H