[DEV] new rework of the main widget class

This commit is contained in:
Edouard DUPIN 2013-04-09 21:42:46 +02:00
parent e3c7b75807
commit fa8423d99e
8 changed files with 50 additions and 58 deletions

View File

@ -56,7 +56,7 @@ TestButton::TestButton(void) :
if (NULL != myButton) {
myButton->SetToggleMode(true);
myButton->SetSubWidget( new widget::Label("Expend X <br/> (false)"));
myButton->SetSubWidget(new widget::Label("Expend X <br/> (true)"), true);
myButton->SetSubWidgetToggle(new widget::Label("Expend X <br/><b>(true)</b>"));
myButton->RegisterOnEvent(this, ewolEventButtonValue, l_eventChangeExpendX);
mySizerHori->SubWidgetAdd(myButton);
}
@ -64,26 +64,26 @@ TestButton::TestButton(void) :
if (NULL != myButton) {
myButton->SetToggleMode(true);
myButton->SetSubWidget( new widget::Label("Expend Y <br/> (false)"));
myButton->SetSubWidget(new widget::Label("Expend Y <br/> (true)"), true);
myButton->SetSubWidgetToggle(new widget::Label("Expend Y <br/><b>(true)</b>"));
myButton->RegisterOnEvent(this, ewolEventButtonValue, l_eventChangeExpendY);
mySizerHori->SubWidgetAdd(myButton);
}
/*
myButton = new widget::Button("Toggle<br/>(false)");
myButton = new widget::Button();
if (NULL != myButton) {
myButton->SetToggleMode(true);
myButton->SetLabelToggle("Toggle<br/><b>(true)</b>");
myButton->SetSubWidget( new widget::Label("Toggle<br/>(false)"));
myButton->SetSubWidgetToggle(new widget::Label("Toggle<br/><b>(true)</b>"));
myButton->RegisterOnEvent(this, ewolEventButtonValue, l_eventChangeToggle);
mySizerHori->SubWidgetAdd(myButton);
}
myButton = new widget::Button("Text On toggle state<br/>(false)");
myButton = new widget::Button();
if (NULL != myButton) {
myButton->SetToggleMode(true);
myButton->SetLabelToggle("Text On toggle state<br/><b>(true)</b>");
myButton->SetSubWidget( new widget::Label("Text On toggle state<br/>(false)"));
myButton->SetSubWidgetToggle(new widget::Label("Text On toggle state<br/><b>(true)</b>"));
myButton->RegisterOnEvent(this, ewolEventButtonValue, l_eventChangeTextToggle);
mySizerHori->SubWidgetAdd(myButton);
}
*/
mySizerHori = new widget::Sizer(widget::Sizer::modeHori);
if (NULL == mySizerHori) {
@ -96,7 +96,7 @@ TestButton::TestButton(void) :
if (NULL != myButton) {
myButton->SetToggleMode(true);
myButton->SetSubWidget( new widget::Label("Fill Y <br/> (false)"));
myButton->SetSubWidget(new widget::Label("Fill Y <br/> (true)"), true);
myButton->SetSubWidgetToggle(new widget::Label("Fill Y <br/> (true)"));
myButton->RegisterOnEvent(this, ewolEventButtonValue, l_eventChangeFillX);
mySizerHori->SubWidgetAdd(myButton);
}
@ -104,31 +104,16 @@ TestButton::TestButton(void) :
if (NULL != myButton) {
myButton->SetToggleMode(true);
myButton->SetSubWidget( new widget::Label("Fill Y <br/> (false)"));
myButton->SetSubWidget(new widget::Label("Fill Y <br/> (true)"), true);
myButton->SetSubWidgetToggle(new widget::Label("Fill Y <br/> (true)"));
myButton->RegisterOnEvent(this, ewolEventButtonValue, l_eventChangeFillY);
mySizerHori->SubWidgetAdd(myButton);
}
/*
myButton = new widget::Button("Image (false)");
if (NULL != myButton) {
myButton->SetToggleMode(true);
myButton->SetLabelToggle("Image (true)");
myButton->RegisterOnEvent(this, ewolEventButtonValue, l_eventChangeImage);
mySizerHori->SubWidgetAdd(myButton);
}
myButton = new widget::Button("Image Toggle (false)");
if (NULL != myButton) {
myButton->SetToggleMode(true);
myButton->SetLabelToggle("Image Toggle (true)");
myButton->RegisterOnEvent(this, ewolEventButtonValue, l_eventChangeImageToggle);
mySizerHori->SubWidgetAdd(myButton);
}
myButton = new widget::Button("Change Text");
myButton = new widget::Button();
if (NULL != myButton) {
myButton->SetSubWidget(new widget::Label("Change Text<br/> and other ..."));
myButton->RegisterOnEvent(this, ewolEventButtonPressed, l_eventChangeText);
mySizerHori->SubWidgetAdd(myButton);
}
*/
widget::Spacer* mySpacer = new widget::Spacer();
if (NULL != mySpacer) {
mySpacer->SetExpendX(false);
@ -205,14 +190,14 @@ TestButton::~TestButton(void)
}
void TestButton::OnReceiveMessage(ewol::EObject * CallerObject, const char * eventId, etk::UString data)
void TestButton::OnReceiveMessage(ewol::EObject * CallerObject, const char * eventId, const etk::UString& data)
{
widget::Sizer::OnReceiveMessage(CallerObject, eventId, data);
//APPL_INFO("Receive Event from the main windows ... : \"" << eventId << "\" ==> data=\"" << data << "\"" );
if (m_testWidget == CallerObject) {
//if (m_testWidget == CallerObject) {
APPL_WARNING("Receive Event from tested Button ... : \"" << eventId << "\" ==> data=\"" << data << "\"" );
}
//}
if (eventId == l_eventChangeExpendX) {
if (NULL!=m_testWidget) {
if (data=="1") {
@ -256,9 +241,9 @@ void TestButton::OnReceiveMessage(ewol::EObject * CallerObject, const char * eve
} else if (eventId == l_eventChangeTextToggle) {
if (NULL!=m_testWidget) {
if (data=="1") {
//m_testWidget->SetLabelToggle("A stupid very long text on toggle <br/><br/> and on multiple lines");
m_testWidget->SetSubWidgetToggle(new widget::Label("A stupid very long text on toggle <br/><br/> and on multiple lines"));
} else {
//m_testWidget->SetLabelToggle("");
m_testWidget->SetSubWidgetToggle(NULL);
}
}
} else if (eventId == l_eventChangeImage) {
@ -281,39 +266,48 @@ void TestButton::OnReceiveMessage(ewol::EObject * CallerObject, const char * eve
} else if (eventId == l_eventChangeText) {
if (NULL!=m_testWidget) {
static int32_t countTextID = 1;
switch (countTextID%10)
switch (countTextID)
{
case 0:
//m_testWidget->SetLabel("simple Text");
m_testWidget->SetSubWidget(new widget::Label("simple Text"));
break;
case 1:
//m_testWidget->SetLabel("<left>Align Left</left>");
m_testWidget->SetSubWidget(new widget::Label("<left>Align Left</left>"));
break;
case 2:
//m_testWidget->SetLabel("<right>Align right</right>");
m_testWidget->SetSubWidget(new widget::Label("<right>Align right</right>"));
break;
case 3:
//m_testWidget->SetLabel("simple Text<br/> With Some Other Lines<br/> and more if you want ...<br/> plop");
m_testWidget->SetSubWidget(new widget::Label("<center>Align center</center>"));
break;
case 4:
//m_testWidget->SetLabel("simple <bold>Text</bold> with bold");
m_testWidget->SetSubWidget(new widget::Label("simple Text<br/> With Some Other Lines<br/> and more if you want ...<br/> plop"));
break;
case 5:
//m_testWidget->SetLabel("simple <italic>Text</italic> with italic");
m_testWidget->SetSubWidget(new widget::Label("simple <bold>Text</bold> with bold"));
break;
case 6:
//m_testWidget->SetLabel("simple <italic><bold>Text</bold></italic> with italic bold");
m_testWidget->SetSubWidget(new widget::Label("simple <italic>Text</italic> with italic"));
break;
case 7:
//m_testWidget->SetLabel("");
m_testWidget->SetSubWidget(new widget::Label("simple <italic><bold>Text</bold></italic> with italic bold"));
break;
case 8:
//m_testWidget->SetLabel("simple <font color=\"#FFFF0088\">Text</font> with colored text");
m_testWidget->SetSubWidget(NULL);
break;
case 9:
m_testWidget->SetSubWidget(new widget::Label("simple <font color=\"#FFFF0088\">Text</font> with colored text"));
break;
default:
//m_testWidget->SetLabel("My <font color=\"#FF0000\">Button</font> <br/> And Some under line<br/> plop <br/> and an other super long line ...");
m_testWidget->SetSubWidget(new widget::Label("My <font color=\"#FF0000\">Button</font> <br/> And Some under line<br/> plop <br/> and an other super long line ..."));
countTextID=-1;
break;
}
// set at the subWidget all the space they can ...
if (NULL != m_testWidget->GetSubWidget()){
m_testWidget->GetSubWidget()->SetFill(bvec2(true,true));
m_testWidget->GetSubWidget()->SetExpand(bvec2(true,true));
}
countTextID++;
}
}

View File

@ -23,11 +23,10 @@ class TestButton : public widget::Sizer
// Constructeur
TestButton(void);
virtual ~TestButton(void);
public:
// Derived function
virtual const char * const GetObjectType(void) { return "TestButton"; };
// Derived function
virtual void OnReceiveMessage(ewol::EObject * CallerObject, const char * eventId, etk::UString data);
// Derived function
virtual void OnReceiveMessage(ewol::EObject * CallerObject, const char * eventId, const etk::UString& data);
virtual void OnObjectRemove(ewol::EObject * removeObject);
};

View File

@ -147,7 +147,7 @@ TestButtonColor::~TestButtonColor(void)
}
void TestButtonColor::OnReceiveMessage(ewol::EObject * CallerObject, const char * eventId, etk::UString data)
void TestButtonColor::OnReceiveMessage(ewol::EObject * CallerObject, const char * eventId, const etk::UString& data)
{
widget::Sizer::OnReceiveMessage(CallerObject, eventId, data);

View File

@ -24,11 +24,10 @@ class TestButtonColor : public widget::Sizer
// Constructeur
TestButtonColor(void);
virtual ~TestButtonColor(void);
public:
// Derived function
virtual const char * const GetObjectType(void) { return "TestButton"; };
// Derived function
virtual void OnReceiveMessage(ewol::EObject * CallerObject, const char * eventId, etk::UString data);
// Derived function
virtual void OnReceiveMessage(ewol::EObject * CallerObject, const char * eventId, const etk::UString& data);
virtual void OnObjectRemove(ewol::EObject * removeObject);
};

View File

@ -162,7 +162,7 @@ TestLabel::~TestLabel(void)
}
void TestLabel::OnReceiveMessage(ewol::EObject * CallerObject, const char * eventId, etk::UString data)
void TestLabel::OnReceiveMessage(ewol::EObject * CallerObject, const char * eventId, const etk::UString& data)
{
widget::Sizer::OnReceiveMessage(CallerObject, eventId, data);

View File

@ -33,7 +33,7 @@ class TestLabel : public widget::Sizer
// Derived function
virtual const char * const GetObjectType(void) { return "TestButton"; };
// Derived function
virtual void OnReceiveMessage(ewol::EObject * CallerObject, const char * eventId, etk::UString data);
virtual void OnReceiveMessage(ewol::EObject * CallerObject, const char * eventId, const etk::UString& data);
// Derived function
virtual void OnObjectRemove(ewol::EObject * removeObject);
};

View File

@ -268,7 +268,7 @@ class stupidSphere : public game::Element
void TestScene::OnReceiveMessage(ewol::EObject * CallerObject, const char * eventId, etk::UString data)
void TestScene::OnReceiveMessage(ewol::EObject * CallerObject, const char * eventId, const etk::UString& data)
{
widget::Sizer::OnReceiveMessage(CallerObject, eventId, data);

View File

@ -25,7 +25,7 @@ class TestScene : public widget::Sizer
// Derived function
virtual const char * const GetObjectType(void) { return "TestButton"; };
// Derived function
virtual void OnReceiveMessage(ewol::EObject * CallerObject, const char * eventId, etk::UString data);
virtual void OnReceiveMessage(ewol::EObject * CallerObject, const char * eventId, const etk::UString& data);
// Derived function
virtual void OnObjectRemove(ewol::EObject * removeObject);
};