~ubuntu-branches/ubuntu/raring/openwalnut/raring

« back to all changes in this revision

Viewing changes to src/qt4gui/controlPanel/WPropertyColorWidget.h

  • Committer: Package Import Robot
  • Author(s): Sebastian Eichelbaum
  • Date: 2012-12-12 11:26:32 UTC
  • mfrom: (3.1.1 sid)
  • Revision ID: package-import@ubuntu.com-20121212112632-xhiuwkxuz5h0idkh
Tags: 1.3.1+hg5849-1
* Minor changes compared to 1.3.0 but included several bug fixes.
* See http://www.openwalnut.org/versions/4

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
//---------------------------------------------------------------------------
 
2
//
 
3
// Project: OpenWalnut ( http://www.openwalnut.org )
 
4
//
 
5
// Copyright 2009 OpenWalnut Community, BSV@Uni-Leipzig and CNCF@MPI-CBS
 
6
// For more information see http://www.openwalnut.org/copying
 
7
//
 
8
// This file is part of OpenWalnut.
 
9
//
 
10
// OpenWalnut is free software: you can redistribute it and/or modify
 
11
// it under the terms of the GNU Lesser General Public License as published by
 
12
// the Free Software Foundation, either version 3 of the License, or
 
13
// (at your option) any later version.
 
14
//
 
15
// OpenWalnut is distributed in the hope that it will be useful,
 
16
// but WITHOUT ANY WARRANTY; without even the implied warranty of
 
17
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
18
// GNU Lesser General Public License for more details.
 
19
//
 
20
// You should have received a copy of the GNU Lesser General Public License
 
21
// along with OpenWalnut. If not, see <http://www.gnu.org/licenses/>.
 
22
//
 
23
//---------------------------------------------------------------------------
 
24
 
 
25
#ifndef WPROPERTYCOLORWIDGET_H
 
26
#define WPROPERTYCOLORWIDGET_H
 
27
 
 
28
#include <string>
 
29
 
 
30
#include <QtGui/QPushButton>
 
31
#include <QtGui/QHBoxLayout>
 
32
 
 
33
#include "WPropertyWidget.h"
 
34
 
 
35
/**
 
36
 * Implements a property widget for WPropColor.
 
37
 */
 
38
class WPropertyColorWidget: public WPropertyWidget
 
39
{
 
40
    Q_OBJECT
 
41
public:
 
42
    /**
 
43
     * Constructor. Creates a new widget appropriate for the specified property.
 
44
     *
 
45
     * \param property the property to handle
 
46
     * \param parent the parent widget.
 
47
     * \param propertyGrid the grid used to layout the labels and property widgets
 
48
     */
 
49
    WPropertyColorWidget( WPropColor property, QGridLayout* propertyGrid, QWidget* parent = 0 );
 
50
 
 
51
    /**
 
52
     * Destructor.
 
53
     */
 
54
    virtual ~WPropertyColorWidget();
 
55
 
 
56
protected:
 
57
    /**
 
58
     * Internal helper, called to set the color
 
59
     * \param color the new color
 
60
     */
 
61
    virtual void setColor( const QColor& color );
 
62
 
 
63
    /**
 
64
     * Called whenever the widget should update.
 
65
     */
 
66
    virtual void update();
 
67
 
 
68
    /**
 
69
     * Reimplemented to accept color drops
 
70
     * \param event the handled event
 
71
     */
 
72
    virtual void dragEnterEvent( QDragEnterEvent* event );
 
73
 
 
74
    /**
 
75
     * Reimplemented to accept color drops
 
76
     * \param event the handled event
 
77
     */
 
78
    virtual void dropEvent( QDropEvent* event );
 
79
 
 
80
    /**
 
81
     * The integer property represented by this widget.
 
82
     */
 
83
    WPropColor m_colorProperty;
 
84
 
 
85
    /**
 
86
     * The button field showing the value
 
87
     */
 
88
    QPushButton m_button;
 
89
 
 
90
    /**
 
91
     * Layout used to position the label and the checkbox
 
92
     */
 
93
    QHBoxLayout m_layout;
 
94
 
 
95
    /**
 
96
     * Used to show the property as text.
 
97
     */
 
98
    QLabel m_asText;
 
99
 
 
100
    /**
 
101
     * The layout used for the pure output (information properties)
 
102
     */
 
103
    QHBoxLayout m_infoLayout;
 
104
 
 
105
private:
 
106
    /**
 
107
     * Helper to convert between QColor and WColor.
 
108
     *
 
109
     * \param color a color
 
110
     *
 
111
     * \return the corresponding QColor.
 
112
     */
 
113
    static QColor toQColor( WColor color );
 
114
 
 
115
    /**
 
116
     * Helper to convert between QColor and WColor.
 
117
     *
 
118
     * \param color a color
 
119
     *
 
120
     * \return the corresponding WColor.
 
121
     */
 
122
     static WColor toWColor( QColor color );
 
123
 
 
124
public slots:
 
125
 
 
126
    /**
 
127
     * Called when the m_button is clicked
 
128
     */
 
129
    void buttonClicked();
 
130
};
 
131
 
 
132
#endif  // WPROPERTYCOLORWIDGET_H
 
133