UBLibPalette.h 1.36 KB
Newer Older
Claudio Valerio's avatar
Claudio Valerio committed
1 2 3 4 5 6 7 8 9 10 11
#ifndef UBLIBPALETTE_H
#define UBLIBPALETTE_H

#include <QWidget>
#include <QVBoxLayout>
#include <QStackedWidget>
#include <QDragEnterEvent>
#include <QDropEvent>
#include <QDragMoveEvent>
#include <QMimeData>
#include <QMouseEvent>
12
#include <QResizeEvent>
Claudio Valerio's avatar
Claudio Valerio committed
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

#include "UBDockPalette.h"
#include "UBLibNavigatorWidget.h"
#include "UBLibItemProperties.h"
#include "UBLibActionBar.h"

#define ID_NAVIGATOR    0
#define ID_PROPERTIES   1

class UBLibPalette : public UBDockPalette
{
    Q_OBJECT
public:
    UBLibPalette(QWidget* parent=0, const char* name="libPalette");
    ~UBLibPalette();

    UBLibActionBar* actionBar(){return mActionBar;}

protected:
    void updateMaxWidth();
    void dragEnterEvent(QDragEnterEvent* pEvent);
    void dropEvent(QDropEvent *pEvent);
    void dragMoveEvent(QDragMoveEvent* pEvent);
    void mouseMoveEvent(QMouseEvent *event);
37
    void resizeEvent(QResizeEvent *event);
Claudio Valerio's avatar
Claudio Valerio committed
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58

private slots:
    void showProperties(UBLibElement* elem);
    void showFolder();

private:
    void processMimeData(const QMimeData* pData);

    /** The layout */
    QVBoxLayout* mLayout;
    /** The stacked layout */
    QStackedWidget* mStackedWidget;
    /** The Navigator widget */
    UBLibNavigatorWidget* mNavigator;
    /** The Properties widget */
    UBLibItemProperties* mProperties;
    /** UBLibActionBar */
    UBLibActionBar* mActionBar;
};

#endif // UBLIBPALETTE_H