[DEV] Add basic test of label

This commit is contained in:
Edouard DUPIN 2012-12-05 22:58:21 +01:00
parent 3629dd679d
commit 9b9b2b9956
9 changed files with 422 additions and 187 deletions

View File

@ -48,7 +48,7 @@ widget::Label::~Label(void)
bool widget::Label::CalculateMinSize(void) bool widget::Label::CalculateMinSize(void)
{ {
ivec3 minSize = m_oObjectText.CalculateSize(m_label); ivec3 minSize = m_oObjectText.CalculateSizeDecorated(m_label);
m_minSize.x = 3 + minSize.x; m_minSize.x = 3 + minSize.x;
m_minSize.y = 3 + minSize.y; m_minSize.y = 3 + minSize.y;
return true; return true;
@ -88,7 +88,7 @@ void widget::Label::OnRegenerateDisplay(void)
vec3 textPos(tmpOriginX, tmpOriginY, 0); vec3 textPos(tmpOriginX, tmpOriginY, 0);
m_oObjectText.SetPos(textPos); m_oObjectText.SetPos(textPos);
m_oObjectText.Print(m_label); m_oObjectText.PrintDecorated(m_label);
} }
} }

View File

@ -25,6 +25,7 @@
#include <ewol/widget/WidgetManager.h> #include <ewol/widget/WidgetManager.h>
#include <appl/TestButton.h> #include <appl/TestButton.h>
#include <appl/TestButtonColor.h> #include <appl/TestButtonColor.h>
#include <appl/TestLabel.h>
static const char * l_eventChangeTheme = "event-change-theme"; static const char * l_eventChangeTheme = "event-change-theme";
@ -32,7 +33,7 @@ static const char * l_eventChangeWidgetNext = "event-change-widget-test-nex
static const char * l_eventChangeWidgetPrevious = "event-change-widget-test-previous"; static const char * l_eventChangeWidgetPrevious = "event-change-widget-test-previous";
static const char * l_basicLabel = "<center>Test software for EWOL</center>"; static const char * l_basicLabel = "Test software for EWOL";
#undef __class__ #undef __class__
@ -89,6 +90,8 @@ MainWindows::MainWindows(void) :
// basic generation ... // basic generation ...
m_subWidget = (ewol::Widget*)new widget::Label(l_basicLabel); m_subWidget = (ewol::Widget*)new widget::Label(l_basicLabel);
if (NULL != m_subWidget) { if (NULL != m_subWidget) {
m_subWidget->SetExpendX(true);
m_subWidget->SetExpendY(true);
m_sizerVert->SubWidgetAdd(m_subWidget); m_sizerVert->SubWidgetAdd(m_subWidget);
} }
@ -133,6 +136,8 @@ void MainWindows::OnReceiveMessage(ewol::EObject * CallerObject, const char * ev
case 0: case 0:
m_subWidget = (ewol::Widget*)new widget::Label(l_basicLabel); m_subWidget = (ewol::Widget*)new widget::Label(l_basicLabel);
if (NULL != m_subWidget) { if (NULL != m_subWidget) {
m_subWidget->SetExpendX(true);
m_subWidget->SetExpendY(true);
m_sizerVert->SubWidgetAdd(m_subWidget); m_sizerVert->SubWidgetAdd(m_subWidget);
} }
break; break;
@ -148,6 +153,12 @@ void MainWindows::OnReceiveMessage(ewol::EObject * CallerObject, const char * ev
m_sizerVert->SubWidgetAdd(m_subWidget); m_sizerVert->SubWidgetAdd(m_subWidget);
} }
break; break;
case 3:
m_subWidget = (ewol::Widget*)new TestLabel();
if (NULL != m_subWidget) {
m_sizerVert->SubWidgetAdd(m_subWidget);
}
break;
} }
} }

View File

@ -120,16 +120,15 @@ TestButton::TestButton(void)
myButton->RegisterOnEvent(this, ewolEventButtonPressed, l_eventChangeText); myButton->RegisterOnEvent(this, ewolEventButtonPressed, l_eventChangeText);
mySizerHori->SubWidgetAdd(myButton); mySizerHori->SubWidgetAdd(myButton);
} }
int32_t idSpacer=0; widget::Spacer* mySpacer = new widget::Spacer();
m_spacer[idSpacer] = new widget::Spacer(); if (NULL != mySpacer) {
if (NULL != m_spacer[idSpacer]) { mySpacer->SetExpendX(false);
m_spacer[idSpacer]->SetExpendX(false); mySpacer->SetExpendY(false);
m_spacer[idSpacer]->SetExpendY(false); mySpacer->SetFillX(true);
m_spacer[idSpacer]->SetFillX(true); mySpacer->SetFillY(false);
m_spacer[idSpacer]->SetFillY(false); mySpacer->SetSize(10);
m_spacer[idSpacer]->SetSize(10); mySpacer->SetColor(0xFF000080);
m_spacer[idSpacer]->SetColor(0xFF000080); SubWidgetAdd(mySpacer);
SubWidgetAdd(m_spacer[idSpacer]);
} }
mySizerHori = new widget::SizerHori(); mySizerHori = new widget::SizerHori();
@ -139,55 +138,52 @@ TestButton::TestButton(void)
} }
SubWidgetAdd(mySizerHori); SubWidgetAdd(mySizerHori);
idSpacer++; mySpacer = new widget::Spacer();
m_spacer[idSpacer] = new widget::Spacer(); if (NULL != mySpacer) {
if (NULL != m_spacer[idSpacer]) { mySpacer->SetExpendX(false);
m_spacer[idSpacer]->SetExpendX(false); mySpacer->SetExpendY(false);
m_spacer[idSpacer]->SetExpendY(false); mySpacer->SetFillX(false);
m_spacer[idSpacer]->SetFillX(false); mySpacer->SetFillY(true);
m_spacer[idSpacer]->SetFillY(true); mySpacer->SetSize(10);
m_spacer[idSpacer]->SetSize(10); mySpacer->SetColor(0x00FF0080);
m_spacer[idSpacer]->SetColor(0x00FF0080); mySizerHori->SubWidgetAdd(mySpacer);
mySizerHori->SubWidgetAdd(m_spacer[idSpacer]);
} }
m_button = new widget::Button("My <font color=\"#FF0000\">Button</font> <br/> And Some under line<br/> plop <br/> and an other super long line ..."); m_testWidget = new widget::Button("My <font color=\"#FF0000\">Button</font> <br/> And Some under line<br/> plop <br/> and an other super long line ...");
if (NULL != m_button) { if (NULL != m_testWidget) {
m_button->SetExpendX(false); m_testWidget->SetExpendX(false);
m_button->SetExpendY(false); m_testWidget->SetExpendY(false);
m_button->SetFillX(false); m_testWidget->SetFillX(false);
m_button->SetFillY(false); m_testWidget->SetFillY(false);
m_button->RegisterOnEvent(this, ewolEventButtonPressed); m_testWidget->RegisterOnEvent(this, ewolEventButtonPressed);
m_button->RegisterOnEvent(this, ewolEventButtonDown); m_testWidget->RegisterOnEvent(this, ewolEventButtonDown);
m_button->RegisterOnEvent(this, ewolEventButtonUp); m_testWidget->RegisterOnEvent(this, ewolEventButtonUp);
m_button->RegisterOnEvent(this, ewolEventButtonEnter); m_testWidget->RegisterOnEvent(this, ewolEventButtonEnter);
m_button->RegisterOnEvent(this, ewolEventButtonLeave); m_testWidget->RegisterOnEvent(this, ewolEventButtonLeave);
m_button->RegisterOnEvent(this, ewolEventButtonValue); m_testWidget->RegisterOnEvent(this, ewolEventButtonValue);
mySizerHori->SubWidgetAdd(m_button); mySizerHori->SubWidgetAdd(m_testWidget);
} }
idSpacer++; mySpacer = new widget::Spacer();
m_spacer[idSpacer] = new widget::Spacer(); if (NULL != mySpacer) {
if (NULL != m_spacer[idSpacer]) { mySpacer->SetExpendX(false);
m_spacer[idSpacer]->SetExpendX(false); mySpacer->SetExpendY(false);
m_spacer[idSpacer]->SetExpendY(false); mySpacer->SetFillX(false);
m_spacer[idSpacer]->SetFillX(false); mySpacer->SetFillY(true);
m_spacer[idSpacer]->SetFillY(true); mySpacer->SetSize(10);
m_spacer[idSpacer]->SetSize(10); mySpacer->SetColor(0x0000FF80);
m_spacer[idSpacer]->SetColor(0x0000FF80); mySizerHori->SubWidgetAdd(mySpacer);
mySizerHori->SubWidgetAdd(m_spacer[idSpacer]);
} }
idSpacer++; mySpacer = new widget::Spacer();
m_spacer[idSpacer] = new widget::Spacer(); if (NULL != mySpacer) {
if (NULL != m_spacer[idSpacer]) { mySpacer->SetExpendX(false);
m_spacer[idSpacer]->SetExpendX(false); mySpacer->SetExpendY(false);
m_spacer[idSpacer]->SetExpendY(false); mySpacer->SetFillX(true);
m_spacer[idSpacer]->SetFillX(true); mySpacer->SetFillY(false);
m_spacer[idSpacer]->SetFillY(false); mySpacer->SetSize(10);
m_spacer[idSpacer]->SetSize(10); mySpacer->SetColor(0x00FFFF80);
m_spacer[idSpacer]->SetColor(0x00FFFF80); SubWidgetAdd(mySpacer);
SubWidgetAdd(m_spacer[idSpacer]);
} }
APPL_CRITICAL("Create "__class__" (end)"); APPL_CRITICAL("Create "__class__" (end)");
} }
@ -204,108 +200,108 @@ void TestButton::OnReceiveMessage(ewol::EObject * CallerObject, const char * eve
widget::SizerVert::OnReceiveMessage(CallerObject, eventId, data); widget::SizerVert::OnReceiveMessage(CallerObject, eventId, data);
//APPL_INFO("Receive Event from the main windows ... : \"" << eventId << "\" ==> data=\"" << data << "\"" ); //APPL_INFO("Receive Event from the main windows ... : \"" << eventId << "\" ==> data=\"" << data << "\"" );
if (m_button == CallerObject) { if (m_testWidget == CallerObject) {
APPL_WARNING("Receive Event from tested Button ... : \"" << eventId << "\" ==> data=\"" << data << "\"" ); APPL_WARNING("Receive Event from tested Button ... : \"" << eventId << "\" ==> data=\"" << data << "\"" );
} }
if (eventId == l_eventChangeExpendX) { if (eventId == l_eventChangeExpendX) {
if (NULL!=m_button) { if (NULL!=m_testWidget) {
if (data=="1") { if (data=="1") {
m_button->SetExpendX(true); m_testWidget->SetExpendX(true);
} else { } else {
m_button->SetExpendX(false); m_testWidget->SetExpendX(false);
} }
} }
} else if (eventId == l_eventChangeExpendY) { } else if (eventId == l_eventChangeExpendY) {
if (NULL!=m_button) { if (NULL!=m_testWidget) {
if (data=="1") { if (data=="1") {
m_button->SetExpendY(true); m_testWidget->SetExpendY(true);
} else { } else {
m_button->SetExpendY(false); m_testWidget->SetExpendY(false);
} }
} }
} else if (eventId == l_eventChangeFillX) { } else if (eventId == l_eventChangeFillX) {
if (NULL!=m_button) { if (NULL!=m_testWidget) {
if (data=="1") { if (data=="1") {
m_button->SetFillX(true); m_testWidget->SetFillX(true);
} else { } else {
m_button->SetFillX(false); m_testWidget->SetFillX(false);
} }
} }
} else if (eventId == l_eventChangeFillY) { } else if (eventId == l_eventChangeFillY) {
if (NULL!=m_button) { if (NULL!=m_testWidget) {
if (data=="1") { if (data=="1") {
m_button->SetFillY(true); m_testWidget->SetFillY(true);
} else { } else {
m_button->SetFillY(false); m_testWidget->SetFillY(false);
} }
} }
} else if (eventId == l_eventChangeToggle) { } else if (eventId == l_eventChangeToggle) {
if (NULL!=m_button) { if (NULL!=m_testWidget) {
if (data=="1") { if (data=="1") {
m_button->SetToggleMode(true); m_testWidget->SetToggleMode(true);
} else { } else {
m_button->SetToggleMode(false); m_testWidget->SetToggleMode(false);
} }
} }
} else if (eventId == l_eventChangeTextToggle) { } else if (eventId == l_eventChangeTextToggle) {
if (NULL!=m_button) { if (NULL!=m_testWidget) {
if (data=="1") { if (data=="1") {
m_button->SetLabelToggle("A stupid very long text on toggle <br/><br/> and on multiple lines"); m_testWidget->SetLabelToggle("A stupid very long text on toggle <br/><br/> and on multiple lines");
} else { } else {
m_button->SetLabelToggle(""); m_testWidget->SetLabelToggle("");
} }
} }
} else if (eventId == l_eventChangeImage) { } else if (eventId == l_eventChangeImage) {
if (NULL!=m_button) { if (NULL!=m_testWidget) {
if (data=="1") { if (data=="1") {
m_button->SetImage("THEME:GUI:icon.png"); m_testWidget->SetImage("THEME:GUI:icon.png");
m_button->SetImageSize(50); m_testWidget->SetImageSize(50);
} else { } else {
m_button->SetImage(""); m_testWidget->SetImage("");
} }
} }
} else if (eventId == l_eventChangeImageToggle) { } else if (eventId == l_eventChangeImageToggle) {
if (NULL!=m_button) { if (NULL!=m_testWidget) {
if (data=="1") { if (data=="1") {
m_button->SetImageToggle("THEME:GUI:icon.png"); m_testWidget->SetImageToggle("THEME:GUI:icon.png");
} else { } else {
m_button->SetImageToggle(""); m_testWidget->SetImageToggle("");
} }
} }
} else if (eventId == l_eventChangeText) { } else if (eventId == l_eventChangeText) {
if (NULL!=m_button) { if (NULL!=m_testWidget) {
static int32_t countTextID = 1; static int32_t countTextID = 1;
switch (countTextID%10) switch (countTextID%10)
{ {
case 0: case 0:
m_button->SetLabel("simple Text"); m_testWidget->SetLabel("simple Text");
break; break;
case 1: case 1:
m_button->SetLabel("<left>Align Left</left>"); m_testWidget->SetLabel("<left>Align Left</left>");
break; break;
case 2: case 2:
m_button->SetLabel("<right>Align right</right>"); m_testWidget->SetLabel("<right>Align right</right>");
break; break;
case 3: case 3:
m_button->SetLabel("simple Text<br/> With Some Other Lines<br/> and more if you want ...<br/> plop"); m_testWidget->SetLabel("simple Text<br/> With Some Other Lines<br/> and more if you want ...<br/> plop");
break; break;
case 4: case 4:
m_button->SetLabel("simple <bold>Text</bold> with bold"); m_testWidget->SetLabel("simple <bold>Text</bold> with bold");
break; break;
case 5: case 5:
m_button->SetLabel("simple <italic>Text</italic> with italic"); m_testWidget->SetLabel("simple <italic>Text</italic> with italic");
break; break;
case 6: case 6:
m_button->SetLabel("simple <italic><bold>Text</bold></italic> with italic bold"); m_testWidget->SetLabel("simple <italic><bold>Text</bold></italic> with italic bold");
break; break;
case 7: case 7:
m_button->SetLabel(""); m_testWidget->SetLabel("");
break; break;
case 8: case 8:
m_button->SetLabel("simple <font color=\"#FFFF0088\">Text</font> with colored text"); m_testWidget->SetLabel("simple <font color=\"#FFFF0088\">Text</font> with colored text");
break; break;
default: default:
m_button->SetLabel("My <font color=\"#FF0000\">Button</font> <br/> And Some under line<br/> plop <br/> and an other super long line ..."); m_testWidget->SetLabel("My <font color=\"#FF0000\">Button</font> <br/> And Some under line<br/> plop <br/> and an other super long line ...");
break; break;
} }
countTextID++; countTextID++;
@ -318,19 +314,7 @@ void TestButton::OnReceiveMessage(ewol::EObject * CallerObject, const char * eve
void TestButton::OnObjectRemove(ewol::EObject * removeObject) void TestButton::OnObjectRemove(ewol::EObject * removeObject)
{ {
widget::SizerVert::OnObjectRemove(removeObject); widget::SizerVert::OnObjectRemove(removeObject);
if (m_button == removeObject) { if (m_testWidget == removeObject) {
m_button = NULL; m_testWidget = NULL;
}
if (m_spacer[0] == removeObject) {
m_spacer[0] = NULL;
}
if (m_spacer[1] == removeObject) {
m_spacer[1] = NULL;
}
if (m_spacer[2] == removeObject) {
m_spacer[2] = NULL;
}
if (m_spacer[3] == removeObject) {
m_spacer[3] = NULL;
} }
} }

View File

@ -18,8 +18,7 @@
class TestButton : public widget::SizerVert class TestButton : public widget::SizerVert
{ {
private: private:
widget::Button* m_button; widget::Button* m_testWidget;
widget::Spacer* m_spacer[4];
public: public:
// Constructeur // Constructeur
TestButton(void); TestButton(void);

View File

@ -76,16 +76,15 @@ TestButtonColor::TestButtonColor(void)
mySizerHori->SubWidgetAdd(myButton); mySizerHori->SubWidgetAdd(myButton);
} }
int32_t idSpacer=0; widget::Spacer* mySpacer = new widget::Spacer();
m_spacer[idSpacer] = new widget::Spacer(); if (NULL != mySpacer) {
if (NULL != m_spacer[idSpacer]) { mySpacer->SetExpendX(false);
m_spacer[idSpacer]->SetExpendX(false); mySpacer->SetExpendY(false);
m_spacer[idSpacer]->SetExpendY(false); mySpacer->SetFillX(true);
m_spacer[idSpacer]->SetFillX(true); mySpacer->SetFillY(false);
m_spacer[idSpacer]->SetFillY(false); mySpacer->SetSize(10);
m_spacer[idSpacer]->SetSize(10); mySpacer->SetColor(0xFF000080);
m_spacer[idSpacer]->SetColor(0xFF000080); SubWidgetAdd(mySpacer);
SubWidgetAdd(m_spacer[idSpacer]);
} }
mySizerHori = new widget::SizerHori(); mySizerHori = new widget::SizerHori();
@ -95,50 +94,47 @@ TestButtonColor::TestButtonColor(void)
} }
SubWidgetAdd(mySizerHori); SubWidgetAdd(mySizerHori);
idSpacer++; mySpacer = new widget::Spacer();
m_spacer[idSpacer] = new widget::Spacer(); if (NULL != mySpacer) {
if (NULL != m_spacer[idSpacer]) { mySpacer->SetExpendX(false);
m_spacer[idSpacer]->SetExpendX(false); mySpacer->SetExpendY(false);
m_spacer[idSpacer]->SetExpendY(false); mySpacer->SetFillX(false);
m_spacer[idSpacer]->SetFillX(false); mySpacer->SetFillY(true);
m_spacer[idSpacer]->SetFillY(true); mySpacer->SetSize(10);
m_spacer[idSpacer]->SetSize(10); mySpacer->SetColor(0x00FF0080);
m_spacer[idSpacer]->SetColor(0x00FF0080); mySizerHori->SubWidgetAdd(mySpacer);
mySizerHori->SubWidgetAdd(m_spacer[idSpacer]);
} }
m_button = new widget::ButtonColor(draw::color::olive); m_testWidget = new widget::ButtonColor(draw::color::olive);
if (NULL != m_button) { if (NULL != m_testWidget) {
m_button->SetExpendX(false); m_testWidget->SetExpendX(false);
m_button->SetExpendY(false); m_testWidget->SetExpendY(false);
m_button->SetFillX(false); m_testWidget->SetFillX(false);
m_button->SetFillY(false); m_testWidget->SetFillY(false);
m_button->RegisterOnEvent(this, ewolEventButtonColorChange); m_testWidget->RegisterOnEvent(this, ewolEventButtonColorChange);
mySizerHori->SubWidgetAdd(m_button); mySizerHori->SubWidgetAdd(m_testWidget);
} }
idSpacer++; mySpacer = new widget::Spacer();
m_spacer[idSpacer] = new widget::Spacer(); if (NULL != mySpacer) {
if (NULL != m_spacer[idSpacer]) { mySpacer->SetExpendX(false);
m_spacer[idSpacer]->SetExpendX(false); mySpacer->SetExpendY(false);
m_spacer[idSpacer]->SetExpendY(false); mySpacer->SetFillX(false);
m_spacer[idSpacer]->SetFillX(false); mySpacer->SetFillY(true);
m_spacer[idSpacer]->SetFillY(true); mySpacer->SetSize(10);
m_spacer[idSpacer]->SetSize(10); mySpacer->SetColor(0x0000FF80);
m_spacer[idSpacer]->SetColor(0x0000FF80); mySizerHori->SubWidgetAdd(mySpacer);
mySizerHori->SubWidgetAdd(m_spacer[idSpacer]);
} }
idSpacer++; mySpacer = new widget::Spacer();
m_spacer[idSpacer] = new widget::Spacer(); if (NULL != mySpacer) {
if (NULL != m_spacer[idSpacer]) { mySpacer->SetExpendX(false);
m_spacer[idSpacer]->SetExpendX(false); mySpacer->SetExpendY(false);
m_spacer[idSpacer]->SetExpendY(false); mySpacer->SetFillX(true);
m_spacer[idSpacer]->SetFillX(true); mySpacer->SetFillY(false);
m_spacer[idSpacer]->SetFillY(false); mySpacer->SetSize(10);
m_spacer[idSpacer]->SetSize(10); mySpacer->SetColor(0x00FFFF80);
m_spacer[idSpacer]->SetColor(0x00FFFF80); SubWidgetAdd(mySpacer);
SubWidgetAdd(m_spacer[idSpacer]);
} }
} }
@ -154,39 +150,39 @@ void TestButtonColor::OnReceiveMessage(ewol::EObject * CallerObject, const char
widget::SizerVert::OnReceiveMessage(CallerObject, eventId, data); widget::SizerVert::OnReceiveMessage(CallerObject, eventId, data);
//APPL_INFO("Receive Event from the main windows ... : \"" << eventId << "\" ==> data=\"" << data << "\"" ); //APPL_INFO("Receive Event from the main windows ... : \"" << eventId << "\" ==> data=\"" << data << "\"" );
if (m_button == CallerObject) { if (m_testWidget == CallerObject) {
APPL_WARNING("Receive Event from tested Button ... : \"" << eventId << "\" ==> data=\"" << data << "\"" ); APPL_WARNING("Receive Event from tested Button ... : \"" << eventId << "\" ==> data=\"" << data << "\"" );
} }
if (eventId == l_eventChangeExpendX) { if (eventId == l_eventChangeExpendX) {
if (NULL!=m_button) { if (NULL!=m_testWidget) {
if (data=="1") { if (data=="1") {
m_button->SetExpendX(true); m_testWidget->SetExpendX(true);
} else { } else {
m_button->SetExpendX(false); m_testWidget->SetExpendX(false);
} }
} }
} else if (eventId == l_eventChangeExpendY) { } else if (eventId == l_eventChangeExpendY) {
if (NULL!=m_button) { if (NULL!=m_testWidget) {
if (data=="1") { if (data=="1") {
m_button->SetExpendY(true); m_testWidget->SetExpendY(true);
} else { } else {
m_button->SetExpendY(false); m_testWidget->SetExpendY(false);
} }
} }
} else if (eventId == l_eventChangeFillX) { } else if (eventId == l_eventChangeFillX) {
if (NULL!=m_button) { if (NULL!=m_testWidget) {
if (data=="1") { if (data=="1") {
m_button->SetFillX(true); m_testWidget->SetFillX(true);
} else { } else {
m_button->SetFillX(false); m_testWidget->SetFillX(false);
} }
} }
} else if (eventId == l_eventChangeFillY) { } else if (eventId == l_eventChangeFillY) {
if (NULL!=m_button) { if (NULL!=m_testWidget) {
if (data=="1") { if (data=="1") {
m_button->SetFillY(true); m_testWidget->SetFillY(true);
} else { } else {
m_button->SetFillY(false); m_testWidget->SetFillY(false);
} }
} }
} }
@ -197,19 +193,7 @@ void TestButtonColor::OnReceiveMessage(ewol::EObject * CallerObject, const char
void TestButtonColor::OnObjectRemove(ewol::EObject * removeObject) void TestButtonColor::OnObjectRemove(ewol::EObject * removeObject)
{ {
widget::SizerVert::OnObjectRemove(removeObject); widget::SizerVert::OnObjectRemove(removeObject);
if (m_button == removeObject) { if (m_testWidget == removeObject) {
m_button = NULL; m_testWidget = NULL;
}
if (m_spacer[0] == removeObject) {
m_spacer[0] = NULL;
}
if (m_spacer[1] == removeObject) {
m_spacer[1] = NULL;
}
if (m_spacer[2] == removeObject) {
m_spacer[2] = NULL;
}
if (m_spacer[3] == removeObject) {
m_spacer[3] = NULL;
} }
} }

View File

@ -19,8 +19,7 @@
class TestButtonColor : public widget::SizerVert class TestButtonColor : public widget::SizerVert
{ {
private: private:
widget::ButtonColor* m_button; widget::ButtonColor* m_testWidget;
widget::Spacer* m_spacer[4];
public: public:
// Constructeur // Constructeur
TestButtonColor(void); TestButtonColor(void);

View File

@ -0,0 +1,221 @@
/**
* @author Edouard DUPIN
*
* @copyright 2010, Edouard DUPIN, all right reserved
*
* @license BSD v3 (see license file)
*/
#include <appl/Debug.h>
#include <appl/TestLabel.h>
#include <ewol/widget/Button.h>
#include <ewol/widget/CheckBox.h>
#include <ewol/widget/SizerHori.h>
#include <ewol/widget/SizerVert.h>
#include <ewol/widget/Label.h>
#include <ewol/widget/Entry.h>
#include <ewol/widget/List.h>
#include <ewol/widget/ContextMenu.h>
#include <ewol/widget/PopUp.h>
#include <ewol/widget/Slider.h>
#include <ewol/widget/Menu.h>
#include <ewol/widget/meta/FileChooser.h>
#include <ewol/widget/meta/Parameter.h>
#include <ewol/widget/WidgetManager.h>
static const char * l_eventChangeExpendX = "event-change-expend-X";
static const char * l_eventChangeExpendY = "event-change-expend-Y";
static const char * l_eventChangeFillX = "event-change-fill-X";
static const char * l_eventChangeFillY = "event-change-fill-Y";
static const char * l_eventChangeLabel = "event-change-label";
#undef __class__
#define __class__ "TestButton"
TestLabel::TestLabel(void) :
m_labelId(0)
{
APPL_DEBUG("CREATE "__class__" ... ");
widget::SizerVert* mySizerVert2 = NULL;
widget::SizerHori* mySizerHori = NULL;
widget::Button* myButton = NULL;
mySizerHori = new widget::SizerHori();
if (NULL == mySizerHori) {
APPL_DEBUG("Allocation error mySizerHori");
return;
}
SubWidgetAdd(mySizerHori);
myButton = new widget::Button("Expend X (false)");
if (NULL != myButton) {
myButton->SetToggleMode(true);
myButton->SetLabelToggle("Expend X (true)");
myButton->RegisterOnEvent(this, ewolEventButtonValue, l_eventChangeExpendX);
mySizerHori->SubWidgetAdd(myButton);
}
myButton = new widget::Button("Expend Y (false)");
if (NULL != myButton) {
myButton->SetToggleMode(true);
myButton->SetLabelToggle("Expend Y (true)");
myButton->RegisterOnEvent(this, ewolEventButtonValue, l_eventChangeExpendY);
mySizerHori->SubWidgetAdd(myButton);
}
myButton = new widget::Button("Fill X (false)");
if (NULL != myButton) {
myButton->SetToggleMode(true);
myButton->SetLabelToggle("Fill X (true)");
myButton->RegisterOnEvent(this, ewolEventButtonValue, l_eventChangeFillX);
mySizerHori->SubWidgetAdd(myButton);
}
myButton = new widget::Button("Fill Y (false)");
if (NULL != myButton) {
myButton->SetToggleMode(true);
myButton->SetLabelToggle("Fill Y (true)");
myButton->RegisterOnEvent(this, ewolEventButtonValue, l_eventChangeFillY);
mySizerHori->SubWidgetAdd(myButton);
}
myButton = new widget::Button("Next Label");
if (NULL != myButton) {
myButton->RegisterOnEvent(this, ewolEventButtonPressed, l_eventChangeLabel);
mySizerHori->SubWidgetAdd(myButton);
}
widget::Spacer* mySpacer = new widget::Spacer();
if (NULL != mySpacer) {
mySpacer->SetExpendX(false);
mySpacer->SetExpendY(false);
mySpacer->SetFillX(true);
mySpacer->SetFillY(false);
mySpacer->SetSize(10);
mySpacer->SetColor(0xFF000080);
SubWidgetAdd(mySpacer);
}
mySizerHori = new widget::SizerHori();
if (NULL == mySizerHori) {
APPL_DEBUG("Allocation error mySizerHori");
return;
}
SubWidgetAdd(mySizerHori);
mySpacer = new widget::Spacer();
if (NULL != mySpacer) {
mySpacer->SetExpendX(false);
mySpacer->SetExpendY(false);
mySpacer->SetFillX(false);
mySpacer->SetFillY(true);
mySpacer->SetSize(10);
mySpacer->SetColor(0x00FF0080);
mySizerHori->SubWidgetAdd(mySpacer);
}
m_testWidget = new widget::Label("Basic label");
if (NULL != m_testWidget) {
m_testWidget->SetExpendX(false);
m_testWidget->SetExpendY(false);
m_testWidget->SetFillX(false);
m_testWidget->SetFillY(false);
//m_testWidget->RegisterOnEvent(this, ewolEventButtonColorChange);
mySizerHori->SubWidgetAdd(m_testWidget);
}
mySpacer = new widget::Spacer();
if (NULL != mySpacer) {
mySpacer->SetExpendX(false);
mySpacer->SetExpendY(false);
mySpacer->SetFillX(false);
mySpacer->SetFillY(true);
mySpacer->SetSize(10);
mySpacer->SetColor(0x0000FF80);
mySizerHori->SubWidgetAdd(mySpacer);
}
mySpacer = new widget::Spacer();
if (NULL != mySpacer) {
mySpacer->SetExpendX(false);
mySpacer->SetExpendY(false);
mySpacer->SetFillX(true);
mySpacer->SetFillY(false);
mySpacer->SetSize(10);
mySpacer->SetColor(0x00FFFF80);
SubWidgetAdd(mySpacer);
}
}
TestLabel::~TestLabel(void)
{
}
void TestLabel::OnReceiveMessage(ewol::EObject * CallerObject, const char * eventId, etk::UString data)
{
widget::SizerVert::OnReceiveMessage(CallerObject, eventId, data);
//APPL_INFO("Receive Event from the main windows ... : \"" << eventId << "\" ==> data=\"" << data << "\"" );
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") {
m_testWidget->SetExpendX(true);
} else {
m_testWidget->SetExpendX(false);
}
}
} else if (eventId == l_eventChangeExpendY) {
if (NULL!=m_testWidget) {
if (data=="1") {
m_testWidget->SetExpendY(true);
} else {
m_testWidget->SetExpendY(false);
}
}
} else if (eventId == l_eventChangeFillX) {
if (NULL!=m_testWidget) {
if (data=="1") {
m_testWidget->SetFillX(true);
} else {
m_testWidget->SetFillX(false);
}
}
} else if (eventId == l_eventChangeFillY) {
if (NULL!=m_testWidget) {
if (data=="1") {
m_testWidget->SetFillY(true);
} else {
m_testWidget->SetFillY(false);
}
}
} else if (eventId == l_eventChangeLabel) {
if (NULL!=m_testWidget) {
m_labelId++;
switch(m_labelId)
{
default:
m_labelId=0;
case 0:
m_testWidget->SetLabel("Basic label");
break;
case 1:
m_testWidget->SetLabel("Basic <bold>label</bold>");
break;
}
}
}
return;
}
void TestLabel::OnObjectRemove(ewol::EObject * removeObject)
{
widget::SizerVert::OnObjectRemove(removeObject);
if (m_testWidget == removeObject) {
m_testWidget = NULL;
}
}

View File

@ -0,0 +1,36 @@
/**
* @author Edouard DUPIN
*
* @copyright 2010, Edouard DUPIN, all right reserved
*
* @license BSD v3 (see license file)
*/
#ifndef __TEST_LABEL_H__
#define __TEST_LABEL_H__
#include <appl/Debug.h>
#include <ewol/widget/Widget.h>
#include <ewol/widget/Button.h>
#include <ewol/widget/Label.h>
#include <ewol/widget/Spacer.h>
#include <ewol/widget/SizerVert.h>
class TestLabel : public widget::SizerVert
{
private:
widget::Label* m_testWidget;
int32_t m_labelId;
public:
// Constructeur
TestLabel(void);
virtual ~TestLabel(void);
// 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 OnObjectRemove(ewol::EObject * removeObject);
};
#endif

View File

@ -9,6 +9,7 @@ FILE_LIST:= appl/Debug.cpp \
appl/init.cpp \ appl/init.cpp \
appl/MainWindows.cpp \ appl/MainWindows.cpp \
appl/TestButton.cpp \ appl/TestButton.cpp \
appl/TestButtonColor.cpp appl/TestButtonColor.cpp \
appl/TestLabel.cpp
LOCAL_COPY_FOLDERS := data/*:theme/default \ LOCAL_COPY_FOLDERS := data/*:theme/default \