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

« back to all changes in this revision

Viewing changes to src/qt4gui/controlPanel/transferFunction/WTransferFunctionScene.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 WTRANSFERFUNCTIONSCENE_H
 
26
#define WTRANSFERFUNCTIONSCENE_H
 
27
 
 
28
#include "QtGui/QGraphicsScene"
 
29
 
 
30
class WTransferFunctionWidget;
 
31
 
 
32
/**
 
33
 * The scene for our visualization of the transfer function.
 
34
 * It differs from the QT implementation because it overloads
 
35
 * the Drag&drop methods to allow users to drop colors onto
 
36
 * the graph, which adds new nodes in the color representation.
 
37
 *
 
38
 * This has to be done here according to the QT documentation
 
39
 * as we cannot drop something in a location where no object
 
40
 * exists.
 
41
 */
 
42
class WTransferFunctionScene : public QGraphicsScene
 
43
{
 
44
public:
 
45
    /** type of base class for cleaner programming */
 
46
    typedef QGraphicsScene BaseClass;
 
47
 
 
48
    /**
 
49
     * Default constructor.
 
50
     *
 
51
     * \param parent the parent QObject, typically the QWidget
 
52
     */
 
53
    explicit WTransferFunctionScene( QObject*parent =0 );
 
54
 
 
55
    /**
 
56
     * Default destructor
 
57
     */
 
58
    virtual ~WTransferFunctionScene();
 
59
 
 
60
protected:
 
61
    /**
 
62
     * Checks whether the drag is inside the main rectangle of the scene
 
63
     * and whether the dragged object is of type QColor or similar.
 
64
     *
 
65
     * \param event the event to handle
 
66
     */
 
67
    virtual void dragMoveEvent( QGraphicsSceneDragDropEvent* event );
 
68
 
 
69
    /**
 
70
     * Allows drop of QColor-alike objects and creates new color control points
 
71
     * in the scene.
 
72
     *
 
73
     * \param event the event to handle
 
74
     */
 
75
    virtual void dropEvent( QGraphicsSceneDragDropEvent* event );
 
76
 
 
77
private:
 
78
    /** storage of the widget as this currently manages the data */
 
79
    WTransferFunctionWidget *myparent;
 
80
};
 
81
 
 
82
#endif  // WTRANSFERFUNCTIONSCENE_H
 
83