colorswatch.h Example File
demos/mainwindow/colorswatch.h
 
 
 #ifndef COLORSWATCH_H
 #define COLORSWATCH_H
 #include <QDockWidget>
 QT_FORWARD_DECLARE_CLASS(QAction)
 QT_FORWARD_DECLARE_CLASS(QActionGroup)
 QT_FORWARD_DECLARE_CLASS(QMenu)
 class ColorSwatch : public QDockWidget
 {
     Q_OBJECT
     QAction *closableAction;
     QAction *movableAction;
     QAction *floatableAction;
     QAction *floatingAction;
     QAction *verticalTitleBarAction;
     QActionGroup *allowedAreasActions;
     QAction *allowLeftAction;
     QAction *allowRightAction;
     QAction *allowTopAction;
     QAction *allowBottomAction;
     QActionGroup *areaActions;
     QAction *leftAction;
     QAction *rightAction;
     QAction *topAction;
     QAction *bottomAction;
     QAction *changeSizeHintsAction;
     QMenu *tabMenu;
     QMenu *splitHMenu;
     QMenu *splitVMenu;
     QAction *windowModifiedAction;
 public:
     ColorSwatch(const QString &colorName, QWidget *parent = 0, Qt::WindowFlags flags = 0);
     QMenu *menu;
     void setCustomSizeHint(const QSize &size);
 protected:
     virtual void contextMenuEvent(QContextMenuEvent *event);
     virtual void resizeEvent(QResizeEvent *e);
 private:
     void allow(Qt::DockWidgetArea area, bool allow);
     void place(Qt::DockWidgetArea area, bool place);
 private slots:
     void changeClosable(bool on);
     void changeMovable(bool on);
     void changeFloatable(bool on);
     void changeFloating(bool on);
     void changeVerticalTitleBar(bool on);
     void updateContextMenu();
     void allowLeft(bool a);
     void allowRight(bool a);
     void allowTop(bool a);
     void allowBottom(bool a);
     void placeLeft(bool p);
     void placeRight(bool p);
     void placeTop(bool p);
     void placeBottom(bool p);
     void splitInto(QAction *action);
     void tabInto(QAction *action);
 };
 class BlueTitleBar : public QWidget
 {
     Q_OBJECT
 public:
     BlueTitleBar(QWidget *parent = 0);
     QSize sizeHint() const { return minimumSizeHint(); }
     QSize minimumSizeHint() const;
 protected:
     void paintEvent(QPaintEvent *event);
     void mousePressEvent(QMouseEvent *event);
 public slots:
     void updateMask();
 private:
     QPixmap leftPm, centerPm, rightPm;
 };
 #endif