From 9b9b2b9956b5ad0c6668b65f9aaf303b29ab8aa9 Mon Sep 17 00:00:00 2001 From: Edouard DUPIN Date: Wed, 5 Dec 2012 22:58:21 +0100 Subject: [PATCH] [DEV] Add basic test of label --- sources/ewol/widget/Label.cpp | 4 +- test/human/appl/MainWindows.cpp | 13 +- test/human/appl/TestButton.cpp | 192 +++++++++++------------- test/human/appl/TestButton.h | 3 +- test/human/appl/TestButtonColor.cpp | 134 ++++++++--------- test/human/appl/TestButtonColor.h | 3 +- test/human/appl/TestLabel.cpp | 221 ++++++++++++++++++++++++++++ test/human/appl/TestLabel.h | 36 +++++ test/human/file.mk | 3 +- 9 files changed, 422 insertions(+), 187 deletions(-) diff --git a/sources/ewol/widget/Label.cpp b/sources/ewol/widget/Label.cpp index 4448833f..f3e0f5b5 100644 --- a/sources/ewol/widget/Label.cpp +++ b/sources/ewol/widget/Label.cpp @@ -48,7 +48,7 @@ widget::Label::~Label(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.y = 3 + minSize.y; return true; @@ -88,7 +88,7 @@ void widget::Label::OnRegenerateDisplay(void) vec3 textPos(tmpOriginX, tmpOriginY, 0); m_oObjectText.SetPos(textPos); - m_oObjectText.Print(m_label); + m_oObjectText.PrintDecorated(m_label); } } diff --git a/test/human/appl/MainWindows.cpp b/test/human/appl/MainWindows.cpp index 7b05ecaa..67cc151b 100644 --- a/test/human/appl/MainWindows.cpp +++ b/test/human/appl/MainWindows.cpp @@ -25,6 +25,7 @@ #include #include #include +#include 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_basicLabel = "
Test software for EWOL
"; +static const char * l_basicLabel = "Test software for EWOL"; #undef __class__ @@ -89,6 +90,8 @@ MainWindows::MainWindows(void) : // basic generation ... m_subWidget = (ewol::Widget*)new widget::Label(l_basicLabel); if (NULL != m_subWidget) { + m_subWidget->SetExpendX(true); + m_subWidget->SetExpendY(true); m_sizerVert->SubWidgetAdd(m_subWidget); } @@ -133,6 +136,8 @@ void MainWindows::OnReceiveMessage(ewol::EObject * CallerObject, const char * ev case 0: m_subWidget = (ewol::Widget*)new widget::Label(l_basicLabel); if (NULL != m_subWidget) { + m_subWidget->SetExpendX(true); + m_subWidget->SetExpendY(true); m_sizerVert->SubWidgetAdd(m_subWidget); } break; @@ -148,6 +153,12 @@ void MainWindows::OnReceiveMessage(ewol::EObject * CallerObject, const char * ev m_sizerVert->SubWidgetAdd(m_subWidget); } break; + case 3: + m_subWidget = (ewol::Widget*)new TestLabel(); + if (NULL != m_subWidget) { + m_sizerVert->SubWidgetAdd(m_subWidget); + } + break; } } diff --git a/test/human/appl/TestButton.cpp b/test/human/appl/TestButton.cpp index 2474bc02..daae8453 100644 --- a/test/human/appl/TestButton.cpp +++ b/test/human/appl/TestButton.cpp @@ -120,16 +120,15 @@ TestButton::TestButton(void) myButton->RegisterOnEvent(this, ewolEventButtonPressed, l_eventChangeText); mySizerHori->SubWidgetAdd(myButton); } - int32_t idSpacer=0; - m_spacer[idSpacer] = new widget::Spacer(); - if (NULL != m_spacer[idSpacer]) { - m_spacer[idSpacer]->SetExpendX(false); - m_spacer[idSpacer]->SetExpendY(false); - m_spacer[idSpacer]->SetFillX(true); - m_spacer[idSpacer]->SetFillY(false); - m_spacer[idSpacer]->SetSize(10); - m_spacer[idSpacer]->SetColor(0xFF000080); - SubWidgetAdd(m_spacer[idSpacer]); + 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(); @@ -139,55 +138,52 @@ TestButton::TestButton(void) } SubWidgetAdd(mySizerHori); - idSpacer++; - m_spacer[idSpacer] = new widget::Spacer(); - if (NULL != m_spacer[idSpacer]) { - m_spacer[idSpacer]->SetExpendX(false); - m_spacer[idSpacer]->SetExpendY(false); - m_spacer[idSpacer]->SetFillX(false); - m_spacer[idSpacer]->SetFillY(true); - m_spacer[idSpacer]->SetSize(10); - m_spacer[idSpacer]->SetColor(0x00FF0080); - mySizerHori->SubWidgetAdd(m_spacer[idSpacer]); + 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_button = new widget::Button("My Button
And Some under line
plop
and an other super long line ..."); - if (NULL != m_button) { - m_button->SetExpendX(false); - m_button->SetExpendY(false); - m_button->SetFillX(false); - m_button->SetFillY(false); - m_button->RegisterOnEvent(this, ewolEventButtonPressed); - m_button->RegisterOnEvent(this, ewolEventButtonDown); - m_button->RegisterOnEvent(this, ewolEventButtonUp); - m_button->RegisterOnEvent(this, ewolEventButtonEnter); - m_button->RegisterOnEvent(this, ewolEventButtonLeave); - m_button->RegisterOnEvent(this, ewolEventButtonValue); - mySizerHori->SubWidgetAdd(m_button); + m_testWidget = new widget::Button("My Button
And Some under line
plop
and an other super long line ..."); + if (NULL != m_testWidget) { + m_testWidget->SetExpendX(false); + m_testWidget->SetExpendY(false); + m_testWidget->SetFillX(false); + m_testWidget->SetFillY(false); + m_testWidget->RegisterOnEvent(this, ewolEventButtonPressed); + m_testWidget->RegisterOnEvent(this, ewolEventButtonDown); + m_testWidget->RegisterOnEvent(this, ewolEventButtonUp); + m_testWidget->RegisterOnEvent(this, ewolEventButtonEnter); + m_testWidget->RegisterOnEvent(this, ewolEventButtonLeave); + m_testWidget->RegisterOnEvent(this, ewolEventButtonValue); + mySizerHori->SubWidgetAdd(m_testWidget); } - idSpacer++; - m_spacer[idSpacer] = new widget::Spacer(); - if (NULL != m_spacer[idSpacer]) { - m_spacer[idSpacer]->SetExpendX(false); - m_spacer[idSpacer]->SetExpendY(false); - m_spacer[idSpacer]->SetFillX(false); - m_spacer[idSpacer]->SetFillY(true); - m_spacer[idSpacer]->SetSize(10); - m_spacer[idSpacer]->SetColor(0x0000FF80); - mySizerHori->SubWidgetAdd(m_spacer[idSpacer]); + 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); } - idSpacer++; - m_spacer[idSpacer] = new widget::Spacer(); - if (NULL != m_spacer[idSpacer]) { - m_spacer[idSpacer]->SetExpendX(false); - m_spacer[idSpacer]->SetExpendY(false); - m_spacer[idSpacer]->SetFillX(true); - m_spacer[idSpacer]->SetFillY(false); - m_spacer[idSpacer]->SetSize(10); - m_spacer[idSpacer]->SetColor(0x00FFFF80); - SubWidgetAdd(m_spacer[idSpacer]); + 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); } APPL_CRITICAL("Create "__class__" (end)"); } @@ -204,108 +200,108 @@ void TestButton::OnReceiveMessage(ewol::EObject * CallerObject, const char * eve widget::SizerVert::OnReceiveMessage(CallerObject, eventId, 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 << "\"" ); } if (eventId == l_eventChangeExpendX) { - if (NULL!=m_button) { + if (NULL!=m_testWidget) { if (data=="1") { - m_button->SetExpendX(true); + m_testWidget->SetExpendX(true); } else { - m_button->SetExpendX(false); + m_testWidget->SetExpendX(false); } } } else if (eventId == l_eventChangeExpendY) { - if (NULL!=m_button) { + if (NULL!=m_testWidget) { if (data=="1") { - m_button->SetExpendY(true); + m_testWidget->SetExpendY(true); } else { - m_button->SetExpendY(false); + m_testWidget->SetExpendY(false); } } } else if (eventId == l_eventChangeFillX) { - if (NULL!=m_button) { + if (NULL!=m_testWidget) { if (data=="1") { - m_button->SetFillX(true); + m_testWidget->SetFillX(true); } else { - m_button->SetFillX(false); + m_testWidget->SetFillX(false); } } } else if (eventId == l_eventChangeFillY) { - if (NULL!=m_button) { + if (NULL!=m_testWidget) { if (data=="1") { - m_button->SetFillY(true); + m_testWidget->SetFillY(true); } else { - m_button->SetFillY(false); + m_testWidget->SetFillY(false); } } } else if (eventId == l_eventChangeToggle) { - if (NULL!=m_button) { + if (NULL!=m_testWidget) { if (data=="1") { - m_button->SetToggleMode(true); + m_testWidget->SetToggleMode(true); } else { - m_button->SetToggleMode(false); + m_testWidget->SetToggleMode(false); } } } else if (eventId == l_eventChangeTextToggle) { - if (NULL!=m_button) { + if (NULL!=m_testWidget) { if (data=="1") { - m_button->SetLabelToggle("A stupid very long text on toggle

and on multiple lines"); + m_testWidget->SetLabelToggle("A stupid very long text on toggle

and on multiple lines"); } else { - m_button->SetLabelToggle(""); + m_testWidget->SetLabelToggle(""); } } } else if (eventId == l_eventChangeImage) { - if (NULL!=m_button) { + if (NULL!=m_testWidget) { if (data=="1") { - m_button->SetImage("THEME:GUI:icon.png"); - m_button->SetImageSize(50); + m_testWidget->SetImage("THEME:GUI:icon.png"); + m_testWidget->SetImageSize(50); } else { - m_button->SetImage(""); + m_testWidget->SetImage(""); } } } else if (eventId == l_eventChangeImageToggle) { - if (NULL!=m_button) { + if (NULL!=m_testWidget) { if (data=="1") { - m_button->SetImageToggle("THEME:GUI:icon.png"); + m_testWidget->SetImageToggle("THEME:GUI:icon.png"); } else { - m_button->SetImageToggle(""); + m_testWidget->SetImageToggle(""); } } } else if (eventId == l_eventChangeText) { - if (NULL!=m_button) { + if (NULL!=m_testWidget) { static int32_t countTextID = 1; switch (countTextID%10) { case 0: - m_button->SetLabel("simple Text"); + m_testWidget->SetLabel("simple Text"); break; case 1: - m_button->SetLabel("Align Left"); + m_testWidget->SetLabel("Align Left"); break; case 2: - m_button->SetLabel("Align right"); + m_testWidget->SetLabel("Align right"); break; case 3: - m_button->SetLabel("simple Text
With Some Other Lines
and more if you want ...
plop"); + m_testWidget->SetLabel("simple Text
With Some Other Lines
and more if you want ...
plop"); break; case 4: - m_button->SetLabel("simple Text with bold"); + m_testWidget->SetLabel("simple Text with bold"); break; case 5: - m_button->SetLabel("simple Text with italic"); + m_testWidget->SetLabel("simple Text with italic"); break; case 6: - m_button->SetLabel("simple Text with italic bold"); + m_testWidget->SetLabel("simple Text with italic bold"); break; case 7: - m_button->SetLabel(""); + m_testWidget->SetLabel(""); break; case 8: - m_button->SetLabel("simple Text with colored text"); + m_testWidget->SetLabel("simple Text with colored text"); break; default: - m_button->SetLabel("My Button
And Some under line
plop
and an other super long line ..."); + m_testWidget->SetLabel("My Button
And Some under line
plop
and an other super long line ..."); break; } countTextID++; @@ -318,19 +314,7 @@ void TestButton::OnReceiveMessage(ewol::EObject * CallerObject, const char * eve void TestButton::OnObjectRemove(ewol::EObject * removeObject) { widget::SizerVert::OnObjectRemove(removeObject); - if (m_button == removeObject) { - m_button = 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; + if (m_testWidget == removeObject) { + m_testWidget = NULL; } } diff --git a/test/human/appl/TestButton.h b/test/human/appl/TestButton.h index 9aa7cec8..eaf44597 100644 --- a/test/human/appl/TestButton.h +++ b/test/human/appl/TestButton.h @@ -18,8 +18,7 @@ class TestButton : public widget::SizerVert { private: - widget::Button* m_button; - widget::Spacer* m_spacer[4]; + widget::Button* m_testWidget; public: // Constructeur TestButton(void); diff --git a/test/human/appl/TestButtonColor.cpp b/test/human/appl/TestButtonColor.cpp index 31b89ff3..9e8f1a3a 100644 --- a/test/human/appl/TestButtonColor.cpp +++ b/test/human/appl/TestButtonColor.cpp @@ -76,16 +76,15 @@ TestButtonColor::TestButtonColor(void) mySizerHori->SubWidgetAdd(myButton); } - int32_t idSpacer=0; - m_spacer[idSpacer] = new widget::Spacer(); - if (NULL != m_spacer[idSpacer]) { - m_spacer[idSpacer]->SetExpendX(false); - m_spacer[idSpacer]->SetExpendY(false); - m_spacer[idSpacer]->SetFillX(true); - m_spacer[idSpacer]->SetFillY(false); - m_spacer[idSpacer]->SetSize(10); - m_spacer[idSpacer]->SetColor(0xFF000080); - SubWidgetAdd(m_spacer[idSpacer]); + 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(); @@ -95,50 +94,47 @@ TestButtonColor::TestButtonColor(void) } SubWidgetAdd(mySizerHori); - idSpacer++; - m_spacer[idSpacer] = new widget::Spacer(); - if (NULL != m_spacer[idSpacer]) { - m_spacer[idSpacer]->SetExpendX(false); - m_spacer[idSpacer]->SetExpendY(false); - m_spacer[idSpacer]->SetFillX(false); - m_spacer[idSpacer]->SetFillY(true); - m_spacer[idSpacer]->SetSize(10); - m_spacer[idSpacer]->SetColor(0x00FF0080); - mySizerHori->SubWidgetAdd(m_spacer[idSpacer]); + 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_button = new widget::ButtonColor(draw::color::olive); - if (NULL != m_button) { - m_button->SetExpendX(false); - m_button->SetExpendY(false); - m_button->SetFillX(false); - m_button->SetFillY(false); - m_button->RegisterOnEvent(this, ewolEventButtonColorChange); - mySizerHori->SubWidgetAdd(m_button); + m_testWidget = new widget::ButtonColor(draw::color::olive); + 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); } - idSpacer++; - m_spacer[idSpacer] = new widget::Spacer(); - if (NULL != m_spacer[idSpacer]) { - m_spacer[idSpacer]->SetExpendX(false); - m_spacer[idSpacer]->SetExpendY(false); - m_spacer[idSpacer]->SetFillX(false); - m_spacer[idSpacer]->SetFillY(true); - m_spacer[idSpacer]->SetSize(10); - m_spacer[idSpacer]->SetColor(0x0000FF80); - mySizerHori->SubWidgetAdd(m_spacer[idSpacer]); + 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); } - idSpacer++; - m_spacer[idSpacer] = new widget::Spacer(); - if (NULL != m_spacer[idSpacer]) { - m_spacer[idSpacer]->SetExpendX(false); - m_spacer[idSpacer]->SetExpendY(false); - m_spacer[idSpacer]->SetFillX(true); - m_spacer[idSpacer]->SetFillY(false); - m_spacer[idSpacer]->SetSize(10); - m_spacer[idSpacer]->SetColor(0x00FFFF80); - SubWidgetAdd(m_spacer[idSpacer]); + 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); } } @@ -154,39 +150,39 @@ void TestButtonColor::OnReceiveMessage(ewol::EObject * CallerObject, const char widget::SizerVert::OnReceiveMessage(CallerObject, eventId, 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 << "\"" ); } if (eventId == l_eventChangeExpendX) { - if (NULL!=m_button) { + if (NULL!=m_testWidget) { if (data=="1") { - m_button->SetExpendX(true); + m_testWidget->SetExpendX(true); } else { - m_button->SetExpendX(false); + m_testWidget->SetExpendX(false); } } } else if (eventId == l_eventChangeExpendY) { - if (NULL!=m_button) { + if (NULL!=m_testWidget) { if (data=="1") { - m_button->SetExpendY(true); + m_testWidget->SetExpendY(true); } else { - m_button->SetExpendY(false); + m_testWidget->SetExpendY(false); } } } else if (eventId == l_eventChangeFillX) { - if (NULL!=m_button) { + if (NULL!=m_testWidget) { if (data=="1") { - m_button->SetFillX(true); + m_testWidget->SetFillX(true); } else { - m_button->SetFillX(false); + m_testWidget->SetFillX(false); } } } else if (eventId == l_eventChangeFillY) { - if (NULL!=m_button) { + if (NULL!=m_testWidget) { if (data=="1") { - m_button->SetFillY(true); + m_testWidget->SetFillY(true); } 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) { widget::SizerVert::OnObjectRemove(removeObject); - if (m_button == removeObject) { - m_button = 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; + if (m_testWidget == removeObject) { + m_testWidget = NULL; } } diff --git a/test/human/appl/TestButtonColor.h b/test/human/appl/TestButtonColor.h index 62182e3d..e09f7a20 100644 --- a/test/human/appl/TestButtonColor.h +++ b/test/human/appl/TestButtonColor.h @@ -19,8 +19,7 @@ class TestButtonColor : public widget::SizerVert { private: - widget::ButtonColor* m_button; - widget::Spacer* m_spacer[4]; + widget::ButtonColor* m_testWidget; public: // Constructeur TestButtonColor(void); diff --git a/test/human/appl/TestLabel.cpp b/test/human/appl/TestLabel.cpp index e69de29b..61c9d5cb 100644 --- a/test/human/appl/TestLabel.cpp +++ b/test/human/appl/TestLabel.cpp @@ -0,0 +1,221 @@ +/** + * @author Edouard DUPIN + * + * @copyright 2010, Edouard DUPIN, all right reserved + * + * @license BSD v3 (see license file) + */ + + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +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 label"); + break; + } + } + } + + return; +} + +void TestLabel::OnObjectRemove(ewol::EObject * removeObject) +{ + widget::SizerVert::OnObjectRemove(removeObject); + if (m_testWidget == removeObject) { + m_testWidget = NULL; + } +} diff --git a/test/human/appl/TestLabel.h b/test/human/appl/TestLabel.h index e69de29b..7316e208 100644 --- a/test/human/appl/TestLabel.h +++ b/test/human/appl/TestLabel.h @@ -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 +#include +#include +#include +#include +#include + +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 diff --git a/test/human/file.mk b/test/human/file.mk index ce395726..cbc2d44e 100644 --- a/test/human/file.mk +++ b/test/human/file.mk @@ -9,6 +9,7 @@ FILE_LIST:= appl/Debug.cpp \ appl/init.cpp \ appl/MainWindows.cpp \ appl/TestButton.cpp \ - appl/TestButtonColor.cpp + appl/TestButtonColor.cpp \ + appl/TestLabel.cpp LOCAL_COPY_FOLDERS := data/*:theme/default \