UBDockPaletteWidget.h 1.29 KB
Newer Older
shibakaneki's avatar
shibakaneki committed
1 2 3 4
#ifndef UBDOCKPALETTEWIDGET_H
#define UBDOCKPALETTEWIDGET_H

#include <QWidget>
5
#include <QPixmap>
shibakaneki's avatar
shibakaneki committed
6 7
#include <QString>

8 9 10 11

/**
  * This enum defines the different mode availables.
  */
12 13 14 15 16 17 18 19
typedef enum
{
    eUBDockPaletteWidget_BOARD,
    eUBDockPaletteWidget_WEB,
    eUBDockPaletteWidget_DOCUMENT,
    eUBDockPaletteWidget_DESKTOP,
} eUBDockPaletteWidgetMode;

shibakaneki's avatar
shibakaneki committed
20 21
class UBDockPaletteWidget : public QWidget
{
22

23
    Q_OBJECT
shibakaneki's avatar
shibakaneki committed
24
public:
25
    UBDockPaletteWidget(QWidget* parent=0, const char* name="UBDockPaletteWidget");
shibakaneki's avatar
shibakaneki committed
26 27
    ~UBDockPaletteWidget();

28 29
    QPixmap iconToRight();
    QPixmap iconToLeft();
shibakaneki's avatar
shibakaneki committed
30 31
    QString name();

32
    virtual bool visibleInMode(eUBDockPaletteWidgetMode mode) = 0;
33 34 35

    void registerMode(eUBDockPaletteWidgetMode mode);

36 37
    bool visibleState(){return mVisibleState;}
    void setVisibleState(bool state){mVisibleState = state;}
38

39
signals:
40 41
    void hideTab(UBDockPaletteWidget* widget);
    void showTab(UBDockPaletteWidget* widget);
42

43 44 45 46
public slots:
    void slot_changeMode(eUBDockPaletteWidgetMode newMode);


shibakaneki's avatar
shibakaneki committed
47
protected:
48 49
    QPixmap mIconToRight;   // arrow like this: >
    QPixmap mIconToLeft;    // arrow like this: <
shibakaneki's avatar
shibakaneki committed
50 51
    QString mName;

52 53 54
    /* The current widget available mode list */
    QVector<eUBDockPaletteWidgetMode> mRegisteredModes;

55
    bool mVisibleState;
shibakaneki's avatar
shibakaneki committed
56 57 58
};

#endif // UBDOCKPALETTEWIDGET_H