Commit 6e181605 authored by shibakaneki's avatar shibakaneki

Added the teacherbar

parent 387f7540
......@@ -319,12 +319,16 @@
<file>images/pages_open.png</file>
<file>images/cache_close.png</file>
<file>images/cache_open.png</file>
<file>style.qss</file>
<file>images/cache_circle.png</file>
<file>images/cache_square.png</file>
<file>images/down_arrow.png</file>
<file>images/up_arrow.png</file>
<file>images/left_arrow.png</file>
<file>images/right_arrow.png</file>
<file>style.qss</file>
<file>images/teacher_close.png</file>
<file>images/teacher_close_disabled.png</file>
<file>images/teacher_open.png</file>
<file>images/teacher_open_disabled.png</file>
</qresource>
</RCC>
QWidget#DockPaletteWidgetBox,
QWidget#documentNavigator,
QWidget#UBLibraryWidget,
QWidget#UBLibPathViewer
QWidget#UBLibPathViewer,
QWidget#UBTeacherStudentAction
{
background: #EEEEEE;
border-radius: 10px;
......@@ -21,6 +22,40 @@ QLabel#DockPaletteWidgetTitle
font-weight:bold;
}
QLineEdit#DockPaletteWidgetLineEdit
{
background: white;
border-radius : 10px;
padding: 2px;
}
QComboBox#DockPaletteWidgetComboBox
{
background: white;
border-radius : 10px;
padding: 2px;
}
QComboBox#DockPaletteWidgetComboBox:drop-down
{
background: white;
width:1px;
height:1px;
margin: 9px 5px 0px 0px;
}
QComboBox#DockPaletteWidgetComboBox::down-arrow
{
image:url(:/images/down_arrow.png);
background:#BBBBBB;
border: 2px solid #999999;
height:16px;
width:16px;
padding: 0px 0px 0px 0px;
margin: 5px 10px 0px 0px;
border-radius: 10px;
}
QPushButton#DockPaletteWidgetButton
{
background-color : #DDDDDD;
......@@ -31,6 +66,13 @@ QPushButton#DockPaletteWidgetButton
font-size : 12px;
}
QTextEdit#TeacherStudentBox
{
background: white;
border: 2px solid #999999;
border-radius: 10px;
}
QPushButton#DockPaletteWidgetButton::checked
{
background-color: #BBBBBB;
......
......@@ -76,6 +76,7 @@ UBBoardPaletteManager::UBBoardPaletteManager(QWidget* container, UBBoardControll
, mpPageNavigWidget(NULL)
, mpLibWidget(NULL)
, mpCachePropWidget(NULL)
, mpTeacherBarWidget(NULL)
, mDesktopRightPalette(NULL)
, mpDesktopLibWidget(NULL)
{
......@@ -96,6 +97,11 @@ UBBoardPaletteManager::~UBBoardPaletteManager()
delete mpLibWidget;
mpLibWidget = NULL;
}
if(NULL != mpTeacherBarWidget)
{
delete mpTeacherBarWidget;
mpTeacherBarWidget = NULL;
}
if(NULL != mpCachePropWidget)
{
delete mpCachePropWidget;
......@@ -155,8 +161,13 @@ void UBBoardPaletteManager::setupDockPaletteWidgets()
// RIGHT palette widgets
mRightPalette->registerWidget(mpLibWidget);
mRightPalette->registerWidget(mpCachePropWidget);
mRightPalette->registerWidget(mpTeacherBarWidget);
mRightPalette->addTabWidget(mpLibWidget);
mRightPalette->addTabWidget(mpTeacherBarWidget);
mRightPalette->connectSignals();
mLeftPalette->showTabWidget(0);
mRightPalette->showTabWidget(0);
}
void UBBoardPaletteManager::setupPalettes()
......@@ -169,6 +180,7 @@ void UBBoardPaletteManager::setupPalettes()
mpPageNavigWidget = new UBPageNavigationWidget();
mpLibWidget = new UBLibWidget();
mpCachePropWidget = new UBCachePropertiesWidget();
mpTeacherBarWidget = new UBTeacherBarWidget();
setupDockPaletteWidgets();
......@@ -717,3 +729,9 @@ UBRightPalette* UBBoardPaletteManager::createDesktopRightPalette(QWidget* parent
return mDesktopRightPalette;
}
void UBBoardPaletteManager::refreshPalettes()
{
mRightPalette->update();
mLeftPalette->update();
}
......@@ -25,6 +25,7 @@
#include "gui/UBPageNavigationWidget.h"
#include "gui/UBLibWidget.h"
#include "gui/UBCachePropertiesWidget.h"
#include "gui/UBTeacherBarWidget.h"
class UBStylusPalette;
class UBClockPalette;
......@@ -49,6 +50,7 @@ class UBBoardPaletteManager : public QObject
UBLeftPalette* leftPalette(){return mLeftPalette;}
void showVirtualKeyboard(bool show = true);
void initPalettesPosAtStartup();
void refreshPalettes();
UBKeyboardPalette *mKeyboardPalette;
UBRightPalette* createDesktopRightPalette(QWidget* parent);
......@@ -113,6 +115,8 @@ class UBBoardPaletteManager : public QObject
UBLibWidget* mpLibWidget;
/** The cache properties widget */
UBCachePropertiesWidget* mpCachePropWidget;
/** The teacherbar widget */
UBTeacherBarWidget* mpTeacherBarWidget;
// HACK: here we duplicate the lib widget for the desktop mode
// we MUST refactor the architecture in order to use only one
......
......@@ -1056,3 +1056,89 @@ bool UBPersistenceManager::mayHaveWidget(UBDocumentProxy* pDocumentProxy)
return widgetDir.exists() && widgetDir.entryInfoList(QDir::Dirs).length() > 0;
}
void UBPersistenceManager::persistTeacherBar(UBDocumentProxy* pDocumentProxy, int page, sTeacherBarInfos infos)
{
if(NULL != pDocumentProxy)
{
QFile f(pDocumentProxy->persistencePath() + UBFileSystemUtils::digitFileFormat("/page%1.svg", page + 1));
if(f.exists())
{
if(f.open(QIODevice::ReadOnly))
{
QDomDocument domDoc;
if(domDoc.setContent(f.readAll()))
{
f.close();
if(f.open(QIODevice::WriteOnly))
{
QDomElement rootElem = domDoc.documentElement();
QDomNode teacherBarNode = domDoc.namedItem("teacherBar");
if(teacherBarNode.isNull())
{
// Create the element
QDomElement teacherElem = domDoc.createElement("teacherBar");
rootElem.appendChild(teacherElem);
teacherBarNode = teacherElem;
}
// Set the <teacherBar> element values
QDomElement teacherBarElem = teacherBarNode.toElement();
teacherBarElem.setAttribute("title", infos.title);
teacherBarElem.setAttribute("phasis", infos.phasis);
teacherBarElem.setAttribute("duration", infos.Duration);
teacherBarElem.setAttribute("equipment", infos.material);
teacherBarElem.setAttribute("activity", infos.activity);
teacherBarElem.setAttribute("action1Teacher", infos.action1Master);
teacherBarElem.setAttribute("action1Student", infos.action1Student);
teacherBarElem.setAttribute("action2Teacher", infos.action2Master);
teacherBarElem.setAttribute("action2Student", infos.action2Student);
teacherBarElem.setAttribute("action3Teacher", infos.action3Master);
teacherBarElem.setAttribute("action3Student", infos.action3Student);
// Save the file
f.write(domDoc.toString().toAscii());
f.close();
}
}
f.close();
}
}
}
}
sTeacherBarInfos UBPersistenceManager::getTeacherBarInfos(UBDocumentProxy* pDocumentProxy, int page)
{
sTeacherBarInfos infos;
if(NULL != pDocumentProxy)
{
QFile f(pDocumentProxy->persistencePath() + UBFileSystemUtils::digitFileFormat("/page%1.svg", page + 1));
if(f.exists())
{
if(f.open(QIODevice::ReadWrite))
{
QDomDocument domDoc;
if(domDoc.setContent(f.readAll()))
{
QDomElement rootElem = domDoc.documentElement();
QDomNode teacherBarNode = rootElem.namedItem("teacherBar");
infos.title = teacherBarNode.toElement().attributeNode("title").value();
infos.phasis = teacherBarNode.toElement().attributeNode("phasis").value().toInt();
infos.Duration = teacherBarNode.toElement().attributeNode("duration").value().toInt();
infos.material = teacherBarNode.toElement().attributeNode("equipment").value();
infos.activity = teacherBarNode.toElement().attributeNode("activity").value().toInt();
infos.action1Master = teacherBarNode.toElement().attributeNode("action1Teacher").value();
infos.action1Student = teacherBarNode.toElement().attributeNode("action1Student").value();
infos.action2Master = teacherBarNode.toElement().attributeNode("action2Teacher").value();
infos.action2Student = teacherBarNode.toElement().attributeNode("action2Student").value();
infos.action3Master = teacherBarNode.toElement().attributeNode("action3Teacher").value();
infos.action3Student = teacherBarNode.toElement().attributeNode("action3Student").value();
}
f.close();
}
}
}
return infos;
}
......@@ -20,6 +20,21 @@
#include "UBSceneCache.h"
struct sTeacherBarInfos
{
QString title;
int phasis;
int Duration;
QString material;
int activity;
QString action1Master;
QString action1Student;
QString action2Master;
QString action2Student;
QString action3Master;
QString action3Student;
};
class UBDocument;
class UBDocumentProxy;
class UBGraphicsScene;
......@@ -59,6 +74,9 @@ class UBPersistenceManager : public QObject
virtual void persistDocumentScene(UBDocumentProxy* pDocumentProxy,
UBGraphicsScene* pScene, const int pSceneIndex);
virtual void persistTeacherBar(UBDocumentProxy* pDocumentProxy, int page, sTeacherBarInfos infos);
sTeacherBarInfos getTeacherBarInfos(UBDocumentProxy* pDocumentProxy, int page);
virtual UBGraphicsScene* createDocumentSceneAt(UBDocumentProxy* pDocumentProxy, int index);
......
......@@ -138,7 +138,10 @@ void UBDocumentNavigator::updateSpecificThumbnail(int iPage)
{
// Save the current state of the scene
pScene->setModified(true);
UBSvgSubsetAdaptor::persistScene(mCrntDoc,pScene, iPage);
if(UBApplication::boardController)
{
UBApplication::boardController->persistCurrentScene();
}
UBThumbnailAdaptor::persistScene(mCrntDoc->persistencePath(), pScene, iPage);
......
This diff is collapsed.
#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
......@@ -42,7 +42,8 @@ HEADERS += src/gui/UBThumbnailView.h \
src/gui/UBPageNavigationWidget.h \
src/gui/UBLibWidget.h \
src/gui/UBMagnifer.h \
src/gui/UBCachePropertiesWidget.h
src/gui/UBCachePropertiesWidget.h \
src/gui/UBTeacherBarWidget.h
SOURCES += src/gui/UBThumbnailView.cpp \
src/gui/UBFloatingPalette.cpp \
......@@ -87,7 +88,8 @@ SOURCES += src/gui/UBThumbnailView.cpp \
src/gui/UBPageNavigationWidget.cpp \
src/gui/UBLibWidget.cpp \
src/gui/UBMagnifer.cpp \
src/gui/UBCachePropertiesWidget.cpp
src/gui/UBCachePropertiesWidget.cpp \
src/gui/UBTeacherBarWidget.cpp
win32 {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment