parent
387f754092
commit
6e181605d7
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 1.0 KiB |
@ -0,0 +1,431 @@ |
||||
#include "UBTeacherBarWidget.h" |
||||
|
||||
#include "core/UBApplication.h" |
||||
#include "core/UBPersistenceManager.h" |
||||
|
||||
#include "document/UBDocumentController.h" |
||||
#include "document/UBDocumentProxy.h" |
||||
|
||||
#include "board/UBBoardController.h" |
||||
#include "board/UBBoardPaletteManager.h" |
||||
|
||||
UBTeacherBarWidget::UBTeacherBarWidget(QWidget *parent, const char *name):UBDockPaletteWidget(parent) |
||||
, mpLayout(NULL) |
||||
, mpTitleLayout(NULL) |
||||
, mpPhasisLayout(NULL) |
||||
, mpDurationLayout(NULL) |
||||
, mpEquipmentLayout(NULL) |
||||
, mpActivityLayout(NULL) |
||||
, mpTitleLabel(NULL) |
||||
, mpPhasisLabel(NULL) |
||||
, mpDurationLabel(NULL) |
||||
, mpEquipmentLabel(NULL) |
||||
, mpActivityLabel(NULL) |
||||
, mpTitle(NULL) |
||||
, mpEquipment(NULL) |
||||
, mpPhasis(NULL) |
||||
, mpDuration(NULL) |
||||
, mpActivity(NULL) |
||||
, mpAction1(NULL) |
||||
, mpAction2(NULL) |
||||
, mpAction3(NULL) |
||||
, mpContainer(NULL) |
||||
, mpContainerLayout(NULL) |
||||
{ |
||||
setObjectName(name); |
||||
mName = "TeacherBarWidget"; |
||||
|
||||
setAttribute(Qt::WA_StyledBackground, true); |
||||
setStyleSheet(UBApplication::globalStyleSheet()); |
||||
|
||||
mIconToLeft = QPixmap(":images/teacher_open.png"); |
||||
mIconToRight = QPixmap(":images/teacher_close.png"); |
||||
|
||||
// Create the GUI
|
||||
mpContainerLayout = new QVBoxLayout(this); |
||||
setLayout(mpContainerLayout); |
||||
|
||||
mpContainer = new QWidget(this); |
||||
mpContainer->setObjectName("DockPaletteWidgetBox"); |
||||
mpContainerLayout->addWidget(mpContainer); |
||||
|
||||
mpLayout = new QVBoxLayout(mpContainer); |
||||
mpContainer->setLayout(mpLayout); |
||||
|
||||
// Title
|
||||
mpTitleLabel = new QLabel(tr("Title"), mpContainer); |
||||
mpTitleLabel->setMinimumWidth(LABEL_MINWIDHT); |
||||
mpTitleLabel->setAlignment(Qt::AlignRight); |
||||
mpTitle = new QLineEdit(mpContainer); |
||||
mpTitle->setObjectName("DockPaletteWidgetLineEdit"); |
||||
mpTitleLayout = new QHBoxLayout(); |
||||
mpTitleLayout->addWidget(mpTitleLabel, 0); |
||||
mpTitleLayout->addWidget(mpTitle, 1); |
||||
mpLayout->addLayout(mpTitleLayout); |
||||
|
||||
// Phasis
|
||||
mpPhasisLabel = new QLabel(tr("Phasis"), mpContainer); |
||||
mpPhasisLabel->setMinimumWidth(LABEL_MINWIDHT); |
||||
mpPhasisLabel->setAlignment(Qt::AlignRight); |
||||
mpPhasis = new QComboBox(mpContainer); |
||||
mpPhasis->setObjectName("DockPaletteWidgetComboBox"); |
||||
mpPhasisLayout = new QHBoxLayout(); |
||||
mpPhasisLayout->addWidget(mpPhasisLabel, 0); |
||||
mpPhasisLayout->addWidget(mpPhasis, 1); |
||||
mpLayout->addLayout(mpPhasisLayout); |
||||
|
||||
// Duration
|
||||
mpDurationLabel = new QLabel(tr("Duration"), mpContainer); |
||||
mpDurationLabel->setMinimumWidth(LABEL_MINWIDHT); |
||||
mpDurationLabel->setAlignment(Qt::AlignRight); |
||||
mpDuration = new QComboBox(mpContainer); |
||||
mpDuration->setObjectName("DockPaletteWidgetComboBox"); |
||||
mpDurationLayout = new QHBoxLayout(); |
||||
mpDurationLayout->addWidget(mpDurationLabel, 0); |
||||
mpDurationLayout->addWidget(mpDuration, 1); |
||||
mpLayout->addLayout(mpDurationLayout); |
||||
|
||||
// Equipment
|
||||
mpEquipmentLabel = new QLabel(tr("Equipment"), mpContainer); |
||||
mpEquipmentLabel->setMinimumWidth(LABEL_MINWIDHT); |
||||
mpEquipmentLabel->setAlignment(Qt::AlignRight); |
||||
mpEquipment = new QLineEdit(mpContainer); |
||||
mpEquipment->setObjectName("DockPaletteWidgetLineEdit"); |
||||
mpEquipmentLayout = new QHBoxLayout(); |
||||
mpEquipmentLayout->addWidget(mpEquipmentLabel, 0); |
||||
mpEquipmentLayout->addWidget(mpEquipment, 1); |
||||
mpLayout->addLayout(mpEquipmentLayout); |
||||
|
||||
// Activity
|
||||
mpActivityLabel = new QLabel(tr("Activity"), mpContainer); |
||||
mpActivityLabel->setMinimumWidth(LABEL_MINWIDHT); |
||||
mpActivityLabel->setAlignment(Qt::AlignRight); |
||||
mpActivity = new QComboBox(mpContainer); |
||||
mpActivity->setObjectName("DockPaletteWidgetComboBox"); |
||||
mpActivityLayout = new QHBoxLayout(); |
||||
mpActivityLayout->addWidget(mpActivityLabel, 0); |
||||
mpActivityLayout->addWidget(mpActivity, 1); |
||||
mpLayout->addLayout(mpActivityLayout); |
||||
|
||||
// Actions
|
||||
mpAction1 = new UBTeacherStudentAction(1, mpContainer); |
||||
mpAction2 = new UBTeacherStudentAction(2, mpContainer); |
||||
mpAction3 = new UBTeacherStudentAction(3, mpContainer); |
||||
|
||||
mpLayout->addWidget(mpAction1); |
||||
mpLayout->addWidget(mpAction2); |
||||
mpLayout->addWidget(mpAction3); |
||||
|
||||
populateCombos(); |
||||
|
||||
connect(UBApplication::boardController, SIGNAL(activeSceneWillChange()), this, SLOT(saveContent())); |
||||
connect(UBApplication::boardController, SIGNAL(activeSceneChanged()), this, SLOT(loadContent())); |
||||
connect(mpTitle, SIGNAL(textChanged(QString)), this, SLOT(onValueChanged())); |
||||
connect(mpPhasis, SIGNAL(currentIndexChanged(int)), this, SLOT(onValueChanged())); |
||||
connect(mpDuration, SIGNAL(currentIndexChanged(int)), this, SLOT(onValueChanged())); |
||||
connect(mpEquipment, SIGNAL(textChanged(QString)), this, SLOT(onValueChanged())); |
||||
connect(mpActivity, SIGNAL(currentIndexChanged(int)), this, SLOT(onValueChanged())); |
||||
connect(mpAction1->teacher(), SIGNAL(textChanged()), this, SLOT(onValueChanged())); |
||||
connect(mpAction1->student(), SIGNAL(textChanged()), this, SLOT(onValueChanged())); |
||||
connect(mpAction2->teacher(), SIGNAL(textChanged()), this, SLOT(onValueChanged())); |
||||
connect(mpAction2->student(), SIGNAL(textChanged()), this, SLOT(onValueChanged())); |
||||
connect(mpAction3->teacher(), SIGNAL(textChanged()), this, SLOT(onValueChanged())); |
||||
connect(mpAction3->student(), SIGNAL(textChanged()), this, SLOT(onValueChanged())); |
||||
} |
||||
|
||||
UBTeacherBarWidget::~UBTeacherBarWidget() |
||||
{ |
||||
if(NULL != mpAction3) |
||||
{ |
||||
delete mpAction3; |
||||
mpAction3 = NULL; |
||||
} |
||||
if(NULL != mpAction2) |
||||
{ |
||||
delete mpAction2; |
||||
mpAction2 = NULL; |
||||
} |
||||
if(NULL != mpAction1) |
||||
{ |
||||
delete mpAction1; |
||||
mpAction1 = NULL; |
||||
} |
||||
if(NULL != mpActivityLabel) |
||||
{ |
||||
delete mpActivityLabel; |
||||
mpActivityLabel = NULL; |
||||
} |
||||
if(NULL != mpActivity) |
||||
{ |
||||
delete mpActivity; |
||||
mpActivity = NULL; |
||||
} |
||||
if(NULL != mpActivityLayout) |
||||
{ |
||||
delete mpActivityLayout; |
||||
mpActivityLayout = NULL; |
||||
} |
||||
if(NULL != mpEquipmentLabel) |
||||
{ |
||||
delete mpEquipmentLabel; |
||||
mpEquipmentLabel = NULL; |
||||
} |
||||
if(NULL != mpEquipment) |
||||
{ |
||||
delete mpEquipment; |
||||
mpEquipment = NULL; |
||||
} |
||||
if(NULL != mpEquipmentLayout) |
||||
{ |
||||
delete mpEquipmentLayout; |
||||
mpEquipmentLayout = NULL; |
||||
} |
||||
if(NULL != mpDurationLabel) |
||||
{ |
||||
delete mpDurationLabel; |
||||
mpDurationLabel = NULL; |
||||
} |
||||
if(NULL != mpDuration) |
||||
{ |
||||
delete mpDuration; |
||||
mpDuration = NULL; |
||||
} |
||||
if(NULL != mpDurationLayout) |
||||
{ |
||||
delete mpDurationLayout; |
||||
mpDurationLayout = NULL; |
||||
} |
||||
if(NULL != mpPhasisLabel) |
||||
{ |
||||
delete mpPhasisLabel; |
||||
mpPhasisLabel = NULL; |
||||
} |
||||
if(NULL != mpPhasisLayout) |
||||
{ |
||||
delete mpPhasisLayout; |
||||
mpPhasisLayout = NULL; |
||||
} |
||||
if(NULL != mpTitleLabel) |
||||
{ |
||||
delete mpTitleLabel; |
||||
mpTitleLabel = NULL; |
||||
} |
||||
if(NULL != mpTitle) |
||||
{ |
||||
delete mpTitle; |
||||
mpTitle = NULL; |
||||
} |
||||
if(NULL != mpTitleLayout) |
||||
{ |
||||
delete mpTitleLayout; |
||||
mpTitleLayout = NULL; |
||||
} |
||||
if(NULL != mpLayout) |
||||
{ |
||||
delete mpLayout; |
||||
mpLayout = NULL; |
||||
} |
||||
if(NULL != mpContainer) |
||||
{ |
||||
delete mpContainer; |
||||
mpContainer = NULL; |
||||
} |
||||
if(NULL != mpContainerLayout) |
||||
{ |
||||
delete mpContainerLayout; |
||||
mpContainerLayout = NULL; |
||||
} |
||||
} |
||||
|
||||
void UBTeacherBarWidget::populateCombos() |
||||
{ |
||||
QStringList qslPhasis; |
||||
qslPhasis << tr("") << tr("I discover") << tr("I experiment") << tr("I train myself") << tr("I play") << tr("I memorize"); |
||||
mpPhasis->insertItems(0, qslPhasis); |
||||
mpPhasis->setCurrentIndex(0); |
||||
|
||||
QStringList qslDuration; |
||||
qslDuration << tr("") << tr("Short") << tr("Middle") << tr("Long"); |
||||
mpDuration->insertItems(0, qslDuration); |
||||
mpDuration->setCurrentIndex(0); |
||||
|
||||
QStringList qslActivity; |
||||
qslActivity << tr("") << tr("Alone") << tr("By Group") << tr("All together"); |
||||
mpActivity->insertItems(0, qslActivity); |
||||
mpActivity->setCurrentIndex(0); |
||||
} |
||||
|
||||
void UBTeacherBarWidget::saveContent() |
||||
{ |
||||
sTeacherBarInfos infos; |
||||
infos.title = mpTitle->text(); |
||||
infos.phasis = mpPhasis->currentIndex(); |
||||
infos.Duration = mpDuration->currentIndex(); |
||||
infos.material = mpEquipment->text(); |
||||
infos.activity = mpActivity->currentIndex(); |
||||
infos.action1Master = mpAction1->teacherText(); |
||||
infos.action1Student = mpAction1->studentText(); |
||||
infos.action2Master = mpAction2->teacherText(); |
||||
infos.action2Student = mpAction2->studentText(); |
||||
infos.action3Master = mpAction3->teacherText(); |
||||
infos.action3Student = mpAction3->studentText(); |
||||
UBPersistenceManager::persistenceManager()->persistTeacherBar(UBApplication::boardController->activeDocument(), UBApplication::boardController->activeSceneIndex(), infos); |
||||
} |
||||
|
||||
void UBTeacherBarWidget::loadContent() |
||||
{ |
||||
sTeacherBarInfos nextInfos = UBPersistenceManager::persistenceManager()->getTeacherBarInfos(UBApplication::boardController->activeDocument(), UBApplication::boardController->activeSceneIndex()); |
||||
mpTitle->setText(nextInfos.title); |
||||
mpPhasis->setCurrentIndex(nextInfos.phasis); |
||||
mpDuration->setCurrentIndex(nextInfos.Duration); |
||||
mpEquipment->setText(nextInfos.material); |
||||
mpActivity->setCurrentIndex(nextInfos.activity); |
||||
mpAction1->setTeacherText(nextInfos.action1Master); |
||||
mpAction1->setStudentText(nextInfos.action1Student); |
||||
mpAction2->setTeacherText(nextInfos.action2Master); |
||||
mpAction2->setStudentText(nextInfos.action2Student); |
||||
mpAction3->setTeacherText(nextInfos.action3Master); |
||||
mpAction3->setStudentText(nextInfos.action3Student); |
||||
} |
||||
|
||||
void UBTeacherBarWidget::onValueChanged() |
||||
{ |
||||
if( mpTitle->text() == "" |
||||
&& mpDuration->currentIndex() == 0 |
||||
&& mpPhasis->currentIndex() == 0 |
||||
&& mpEquipment->text() == "" |
||||
&& mpActivity->currentIndex() == 0 |
||||
&& mpAction1->teacherText() == "" |
||||
&& mpAction1->studentText() == "" |
||||
&& mpAction2->teacherText() == "" |
||||
&& mpAction2->studentText() == "" |
||||
&& mpAction3->teacherText() == "" |
||||
&& mpAction3->studentText() == "") |
||||
{ |
||||
mIconToLeft = QPixmap(":images/teacher_open_disabled.png"); |
||||
mIconToRight = QPixmap(":images/teacher_close_disabled.png"); |
||||
} |
||||
else |
||||
{ |
||||
mIconToLeft = QPixmap(":images/teacher_open.png"); |
||||
mIconToRight = QPixmap(":images/teacher_close.png"); |
||||
} |
||||
|
||||
UBApplication::boardController->paletteManager()->refreshPalettes(); |
||||
} |
||||
|
||||
UBTeacherStudentAction::UBTeacherStudentAction(int actionNumber, QWidget *parent, const char *name):QWidget(parent) |
||||
, mpActionLabel(NULL) |
||||
, mpTeacherLabel(NULL) |
||||
, mpStudentLabel(NULL) |
||||
, mpTeacher(NULL) |
||||
, mpStudent(NULL) |
||||
, mpLayout(NULL) |
||||
, mpTeacherLayout(NULL) |
||||
, mpStudentLayout(NULL) |
||||
{ |
||||
setObjectName(name); |
||||
mActionNumber = actionNumber; |
||||
|
||||
setAttribute(Qt::WA_StyledBackground, true); |
||||
setStyleSheet(UBApplication::globalStyleSheet()); |
||||
|
||||
// Create the GUI
|
||||
mpLayout = new QVBoxLayout(this); |
||||
setLayout(mpLayout); |
||||
|
||||
mpActionLabel = new QLabel(tr("Action %0").arg(mActionNumber), this); |
||||
mpLayout->addWidget(mpActionLabel, 0); |
||||
|
||||
mpTeacherLayout = new QHBoxLayout(); |
||||
mpTeacherLabel = new QLabel(tr("Teacher"), this); |
||||
mpTeacherLabel->setAlignment(Qt::AlignTop); |
||||
mpTeacher = new QTextEdit(this); |
||||
mpTeacher->setObjectName("TeacherStudentBox"); |
||||
mpTeacherLayout->addWidget(mpTeacherLabel, 0); |
||||
mpTeacherLayout->addWidget(mpTeacher, 1); |
||||
mpLayout->addLayout(mpTeacherLayout, 1); |
||||
|
||||
mpStudentLayout = new QHBoxLayout(); |
||||
mpStudentLabel = new QLabel(tr("Student"), this); |
||||
mpStudentLabel->setAlignment(Qt::AlignTop); |
||||
mpStudent = new QTextEdit(this); |
||||
mpStudent->setObjectName("TeacherStudentBox"); |
||||
mpStudentLayout->addWidget(mpStudentLabel, 0); |
||||
mpStudentLayout->addWidget(mpStudent, 1); |
||||
mpLayout->addLayout(mpStudentLayout, 1); |
||||
} |
||||
|
||||
UBTeacherStudentAction::~UBTeacherStudentAction() |
||||
{ |
||||
if(NULL != mpActionLabel) |
||||
{ |
||||
delete mpActionLabel; |
||||
mpActionLabel = NULL; |
||||
} |
||||
if(NULL != mpTeacherLabel) |
||||
{ |
||||
delete mpTeacherLabel; |
||||
mpTeacherLabel = NULL; |
||||
} |
||||
if(NULL != mpTeacher) |
||||
{ |
||||
delete mpTeacher; |
||||
mpTeacher = NULL; |
||||
} |
||||
if(NULL != mpTeacherLayout) |
||||
{ |
||||
delete mpTeacherLayout; |
||||
mpTeacherLayout = NULL; |
||||
} |
||||
if(NULL != mpStudentLabel) |
||||
{ |
||||
delete mpStudentLabel; |
||||
mpStudentLabel = NULL; |
||||
} |
||||
if(NULL != mpStudent) |
||||
{ |
||||
delete mpStudent; |
||||
mpStudent = NULL; |
||||
} |
||||
if(NULL != mpStudentLayout) |
||||
{ |
||||
delete mpStudentLayout; |
||||
mpStudentLayout = NULL; |
||||
} |
||||
if(NULL != mpLayout) |
||||
{ |
||||
delete mpLayout; |
||||
mpLayout = NULL; |
||||
} |
||||
} |
||||
|
||||
QString UBTeacherStudentAction::teacherText() |
||||
{ |
||||
return mpTeacher->document()->toPlainText(); |
||||
} |
||||
|
||||
QString UBTeacherStudentAction::studentText() |
||||
{ |
||||
return mpStudent->document()->toPlainText(); |
||||
} |
||||
|
||||
void UBTeacherStudentAction::setTeacherText(QString text) |
||||
{ |
||||
mpTeacher->setText(text); |
||||
} |
||||
|
||||
void UBTeacherStudentAction::setStudentText(QString text) |
||||
{ |
||||
mpStudent->setText(text); |
||||
} |
||||
|
||||
QTextEdit* UBTeacherStudentAction::teacher() |
||||
{ |
||||
return mpTeacher; |
||||
} |
||||
|
||||
QTextEdit* UBTeacherStudentAction::student() |
||||
{ |
||||
return mpStudent; |
||||
} |
@ -0,0 +1,78 @@ |
||||
#ifndef UBTEACHERBARWIDGET_H |
||||
#define UBTEACHERBARWIDGET_H |
||||
|
||||
#include <QWidget> |
||||
#include <QVBoxLayout> |
||||
#include <QHBoxLayout> |
||||
#include <QLabel> |
||||
#include <QTextEdit> |
||||
#include <QLineEdit> |
||||
#include <QComboBox> |
||||
|
||||
#include "UBDockPaletteWidget.h" |
||||
|
||||
#define LABEL_MINWIDHT 80 |
||||
|
||||
class UBTeacherStudentAction : public QWidget |
||||
{ |
||||
public: |
||||
UBTeacherStudentAction(int actionNumber, QWidget* parent=0, const char* name="UBTeacherStudentAction"); |
||||
~UBTeacherStudentAction(); |
||||
QString teacherText(); |
||||
QString studentText(); |
||||
void setTeacherText(QString text); |
||||
void setStudentText(QString text); |
||||
QTextEdit* teacher(); |
||||
QTextEdit* student(); |
||||
|
||||
private: |
||||
int mActionNumber; |
||||
QLabel* mpActionLabel; |
||||
QLabel* mpTeacherLabel; |
||||
QLabel* mpStudentLabel; |
||||
QTextEdit* mpTeacher; |
||||
QTextEdit* mpStudent; |
||||
QVBoxLayout* mpLayout; |
||||
QHBoxLayout* mpTeacherLayout; |
||||
QHBoxLayout* mpStudentLayout; |
||||
}; |
||||
|
||||
class UBTeacherBarWidget : public UBDockPaletteWidget |
||||
{ |
||||
Q_OBJECT |
||||
public: |
||||
UBTeacherBarWidget(QWidget* parent=0, const char* name="UBTeacherBarWidget"); |
||||
~UBTeacherBarWidget(); |
||||
|
||||
private slots: |
||||
void saveContent(); |
||||
void loadContent(); |
||||
void onValueChanged(); |
||||
|
||||
private: |
||||
void populateCombos(); |
||||
|
||||
QVBoxLayout* mpLayout; |
||||
QHBoxLayout* mpTitleLayout; |
||||
QHBoxLayout* mpPhasisLayout; |
||||
QHBoxLayout* mpDurationLayout; |
||||
QHBoxLayout* mpEquipmentLayout; |
||||
QHBoxLayout* mpActivityLayout; |
||||
QLabel* mpTitleLabel; |
||||
QLabel* mpPhasisLabel; |
||||
QLabel* mpDurationLabel; |
||||
QLabel* mpEquipmentLabel; |
||||
QLabel* mpActivityLabel; |
||||
QLineEdit* mpTitle; |
||||
QLineEdit* mpEquipment; |
||||
QComboBox* mpPhasis; |
||||
QComboBox* mpDuration; |
||||
QComboBox* mpActivity; |
||||
UBTeacherStudentAction* mpAction1; |
||||
UBTeacherStudentAction* mpAction2; |
||||
UBTeacherStudentAction* mpAction3; |
||||
QWidget* mpContainer; |
||||
QVBoxLayout* mpContainerLayout; |
||||
}; |
||||
|
||||
#endif // UBTEACHERBARWIDGET_H
|
Loading…
Reference in new issue