UBTeacherBarWidget.h 1.59 KB
Newer Older
shibakaneki's avatar
shibakaneki committed
1 2 3 4 5 6 7 8 9
#ifndef UBTEACHERBARWIDGET_H
#define UBTEACHERBARWIDGET_H

#include <QWidget>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QLabel>
#include <QTextEdit>
#include <QLineEdit>
10 11 12
#include <QCheckBox>
#include <QTabWidget>
#include <QButtonGroup>
shibakaneki's avatar
shibakaneki committed
13
#include <QPushButton>
shibakaneki's avatar
shibakaneki committed
14
#include <QComboBox>
15
#include <QStackedWidget>
shibakaneki's avatar
shibakaneki committed
16 17

#include "UBDockPaletteWidget.h"
shibakaneki's avatar
shibakaneki committed
18
#include "customWidgets/UBWidgetList.h"
19
#include "interfaces/IDropable.h"
20 21 22 23 24
#include "UBTeacherBarDataMgr.h"
#include "UBTBDocumentPreviewWidget.h"
#include "UBTBPageEditWidget.h"
#include "UBTeacherBarPreviewWidget.h"
#include "UBTBDocumentEditWidget.h"
shibakaneki's avatar
shibakaneki committed
25 26 27 28 29

#define LABEL_MINWIDHT      80

class UBTeacherBarWidget : public UBDockPaletteWidget
{
30
    Q_OBJECT
shibakaneki's avatar
shibakaneki committed
31 32 33 34
public:
    UBTeacherBarWidget(QWidget* parent=0, const char* name="UBTeacherBarWidget");
    ~UBTeacherBarWidget();

35 36
    bool visibleInMode(eUBDockPaletteWidgetMode mode)
    {
37
        return (mode == eUBDockPaletteWidget_BOARD);
38
    }
39 40
    
    void loadContent(bool docChanged = false);
41

42
public slots:
43
    void saveContent();
44

45
private slots:
46
    void loadContentInfos();
shibakaneki's avatar
shibakaneki committed
47
    void onValueChanged();
48
    void onShowEditMode();
shibakaneki's avatar
shibakaneki committed
49
    void onTBStateChanged(eTeacherBarState state);
50
    void onActiveDocumentChanged();
51
    void onShowDocumentPreview();
52

shibakaneki's avatar
shibakaneki committed
53
private:
54
    bool isEmpty();
shibakaneki's avatar
shibakaneki committed
55

56 57
    QVBoxLayout mLayout;
    QStackedWidget* mpStackWidget;
shibakaneki's avatar
shibakaneki committed
58 59
    eTeacherBarState mState;

60 61
    UBTBPageEditWidget* mpPageEditWidget;
    UBTeacherBarPreviewWidget* mpPreview;
shibakaneki's avatar
shibakaneki committed
62 63
    UBTBDocumentPreviewWidget* mpDocPreviewWidget;
    UBTBDocumentEditWidget* mpDocEditWidget;
shibakaneki's avatar
shibakaneki committed
64

65
    UBTeacherBarDataMgr mData;
shibakaneki's avatar
shibakaneki committed
66 67 68
};

#endif // UBTEACHERBARWIDGET_H