demos/mainwindow/colorswatch.h

Go to the documentation of this file.
00001 /****************************************************************************
00002 **
00003 ** Copyright (C) 2004-2006 Trolltech ASA. All rights reserved.
00004 **
00005 ** This file is part of the demonstration applications of the Qt Toolkit.
00006 **
00007 ** This file may be used under the terms of the GNU General Public
00008 ** License version 2.0 as published by the Free Software Foundation
00009 ** and appearing in the file LICENSE.GPL included in the packaging of
00010 ** this file.  Please review the following information to ensure GNU
00011 ** General Public Licensing requirements will be met:
00012 ** http://www.trolltech.com/products/qt/opensource.html
00013 **
00014 ** If you are unsure which license is appropriate for your use, please
00015 ** review the following information:
00016 ** http://www.trolltech.com/products/qt/licensing.html or contact the
00017 ** sales department at sales@trolltech.com.
00018 **
00019 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
00020 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
00021 **
00022 ****************************************************************************/
00023 
00024 #ifndef COLORSWATCH_H
00025 #define COLORSWATCH_H
00026 
00027 #include <QDockWidget>
00028 
00029 class QAction;
00030 class QActionGroup;
00031 class QMenu;
00032 
00033 class ColorSwatch : public QDockWidget
00034 {
00035     Q_OBJECT
00036 
00037     QAction *closableAction;
00038     QAction *movableAction;
00039     QAction *floatableAction;
00040     QAction *floatingAction;
00041 
00042     QActionGroup *allowedAreasActions;
00043     QAction *allowLeftAction;
00044     QAction *allowRightAction;
00045     QAction *allowTopAction;
00046     QAction *allowBottomAction;
00047 
00048     QActionGroup *areaActions;
00049     QAction *leftAction;
00050     QAction *rightAction;
00051     QAction *topAction;
00052     QAction *bottomAction;
00053 
00054     QAction *changeSizeHintsAction;
00055 
00056     QMenu *tabMenu;
00057     QMenu *splitHMenu;
00058     QMenu *splitVMenu;
00059 
00060 public:
00061     ColorSwatch(const QString &colorName, QWidget *parent = 0, Qt::WindowFlags flags = 0);
00062 
00063     QMenu *menu;
00064 
00065 protected:
00066     virtual void contextMenuEvent(QContextMenuEvent *event);
00067 
00068 private:
00069     void allow(Qt::DockWidgetArea area, bool allow);
00070     void place(Qt::DockWidgetArea area, bool place);
00071 
00072 private slots:
00073     void changeClosable(bool on);
00074     void changeMovable(bool on);
00075     void changeFloatable(bool on);
00076     void changeFloating(bool on);
00077     void updateContextMenu();
00078 
00079     void allowLeft(bool a);
00080     void allowRight(bool a);
00081     void allowTop(bool a);
00082     void allowBottom(bool a);
00083 
00084     void placeLeft(bool p);
00085     void placeRight(bool p);
00086     void placeTop(bool p);
00087     void placeBottom(bool p);
00088 
00089     void splitInto(QAction *action);
00090     void tabInto(QAction *action);
00091 };
00092 
00093 #endif

Generated on Thu Mar 15 11:52:34 2007 for Qt 4.2 User's Guide by  doxygen 1.5.1