[DEV] API change: change gravity methodologie
This commit is contained in:
parent
77bc863ab9
commit
2e1644be3e
@ -112,22 +112,7 @@ void ewol::widget::Container::onChangeSize() {
|
|||||||
vec2 origin = m_origin+m_offset;
|
vec2 origin = m_origin+m_offset;
|
||||||
vec2 minSize = m_subWidget->getCalculateMinSize();
|
vec2 minSize = m_subWidget->getCalculateMinSize();
|
||||||
bvec2 expand = m_subWidget->getExpand();
|
bvec2 expand = m_subWidget->getExpand();
|
||||||
if ( expand.x() == false
|
origin += ewol::gravityGenerateDelta(m_gravity, minSize - m_size);
|
||||||
|| minSize.x()>m_size.x()) {
|
|
||||||
if (m_gravity == ewol::gravityCenter) {
|
|
||||||
origin -= vec2((minSize.x() - m_size.x())*0.5f, 0.0f);
|
|
||||||
} else if (((int32_t)m_gravity & (int32_t)ewol::gravityRight) != 0) {
|
|
||||||
origin -= vec2((minSize.x() - m_size.x()), 0.0f);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if( expand.y() == false
|
|
||||||
|| minSize.y()>m_size.y()) {
|
|
||||||
if (m_gravity == ewol::gravityCenter) {
|
|
||||||
origin -= vec2(0.0f, (minSize.y() - m_size.y())*0.5f);
|
|
||||||
} else if (((int32_t)m_gravity & (int32_t)ewol::gravityTop) != 0) {
|
|
||||||
origin -= vec2(0.0f, (minSize.y() - m_size.y()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
m_subWidget->setOrigin(origin);
|
m_subWidget->setOrigin(origin);
|
||||||
m_subWidget->setSize(m_size);
|
m_subWidget->setSize(m_size);
|
||||||
m_subWidget->onChangeSize();
|
m_subWidget->onChangeSize();
|
||||||
|
@ -132,22 +132,7 @@ ewol::Padding ewol::widget::Container2::onChangeSizePadded(const ewol::Padding&
|
|||||||
vec2 origin2 = origin+m_offset;
|
vec2 origin2 = origin+m_offset;
|
||||||
vec2 minSize = m_subWidget[iii]->getCalculateMinSize();
|
vec2 minSize = m_subWidget[iii]->getCalculateMinSize();
|
||||||
bvec2 expand = m_subWidget[iii]->getExpand();
|
bvec2 expand = m_subWidget[iii]->getExpand();
|
||||||
if ( expand.x() == false
|
origin2 += ewol::gravityGenerateDelta(m_gravity, minSize - localAvaillable);
|
||||||
|| minSize.x() > localAvaillable.x()) {
|
|
||||||
if (m_gravity == ewol::gravityCenter) {
|
|
||||||
origin2 -= vec2((minSize.x() - localAvaillable.x())/2.0f, 0);
|
|
||||||
} else if (((int32_t)m_gravity & (int32_t)ewol::gravityRight) != 0) {
|
|
||||||
origin2 -= vec2((minSize.x() - localAvaillable.x()), 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if( expand.y() == false
|
|
||||||
|| minSize.y() > localAvaillable.y()) {
|
|
||||||
if (m_gravity == ewol::gravityCenter) {
|
|
||||||
origin2 -= vec2(0, (minSize.y() - localAvaillable.y())/2.0f);
|
|
||||||
} else if (((int32_t)m_gravity & (int32_t)ewol::gravityTop) != 0) {
|
|
||||||
origin2 -= vec2(0, (minSize.y() - localAvaillable.y()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
m_subWidget[iii]->setOrigin(m_origin + origin);
|
m_subWidget[iii]->setOrigin(m_origin + origin);
|
||||||
m_subWidget[iii]->setSize(subElementSize);
|
m_subWidget[iii]->setSize(subElementSize);
|
||||||
m_subWidget[iii]->onChangeSize();
|
m_subWidget[iii]->onChangeSize();
|
||||||
|
@ -73,49 +73,16 @@ void ewol::widget::Image::onRegenerateDisplay() {
|
|||||||
vec2 ratioSizeDisplayRequested = m_posStop.get() - m_posStart.get();
|
vec2 ratioSizeDisplayRequested = m_posStop.get() - m_posStart.get();
|
||||||
//imageRealSizeMax *= ratioSizeDisplayRequested;
|
//imageRealSizeMax *= ratioSizeDisplayRequested;
|
||||||
|
|
||||||
|
vec2 delta = ewol::gravityGenerateDelta(m_gravity, m_size-m_imageRenderSize);
|
||||||
if (m_userFill->x() == true) {
|
if (m_userFill->x() == true) {
|
||||||
imageRealSize.setX(imageRealSizeMax.x());
|
imageRealSize.setX(imageRealSizeMax.x());
|
||||||
} else {
|
delta.setX(0.0);
|
||||||
switch(m_gravity) {
|
|
||||||
case gravityCenter:
|
|
||||||
case gravityTop:
|
|
||||||
case gravityButtom:
|
|
||||||
origin.setX(origin.x() + (m_size.x()-m_imageRenderSize.x())*0.5f);
|
|
||||||
break;
|
|
||||||
case gravityTopLeft:
|
|
||||||
case gravityButtomLeft:
|
|
||||||
case gravityLeft:
|
|
||||||
// nothing to do ...
|
|
||||||
break;
|
|
||||||
case gravityTopRight:
|
|
||||||
case gravityRight:
|
|
||||||
case gravityButtomRight:
|
|
||||||
origin.setX(origin.x() + (m_size.x()-m_imageRenderSize.x())*0.5f);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (m_userFill->y() == true) {
|
if (m_userFill->y() == true) {
|
||||||
imageRealSize.setY(imageRealSizeMax.y());
|
imageRealSize.setY(imageRealSizeMax.y());
|
||||||
} else {
|
delta.setY(0.0);
|
||||||
//
|
|
||||||
switch(m_gravity) {
|
|
||||||
case gravityCenter:
|
|
||||||
case gravityRight:
|
|
||||||
case gravityLeft:
|
|
||||||
origin.setY(origin.y() + (m_size.y()-m_imageRenderSize.y())*0.5f);
|
|
||||||
break;
|
|
||||||
case gravityTopLeft:
|
|
||||||
case gravityTop:
|
|
||||||
case gravityTopRight:
|
|
||||||
origin.setY(origin.y() + (m_size.y()-m_imageRenderSize.y()));
|
|
||||||
break;
|
|
||||||
case gravityButtomRight:
|
|
||||||
case gravityButtom:
|
|
||||||
case gravityButtomLeft:
|
|
||||||
// nothing to do ...
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
origin += delta;
|
||||||
|
|
||||||
if (m_keepRatio == true) {
|
if (m_keepRatio == true) {
|
||||||
vec2 tmpSize = m_compositing.getRealSize();
|
vec2 tmpSize = m_compositing.getRealSize();
|
||||||
|
@ -167,8 +167,26 @@ void ewol::widget::Sizer::onChangeSize() {
|
|||||||
}
|
}
|
||||||
it->setSize(vec2ClipInt32(it->getSize()));
|
it->setSize(vec2ClipInt32(it->getSize()));
|
||||||
}
|
}
|
||||||
// -7- Set the origin for every element with the gravity update:
|
// -7- get under Size
|
||||||
vec2 tmpOrigin = m_origin + tmpBorderSize;
|
vec2 underSize(0,0);
|
||||||
|
for (auto &it : m_subWidget) {
|
||||||
|
if (it == nullptr) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
vec2 size = it->getSize();
|
||||||
|
if (m_mode == ewol::widget::Sizer::modeVert) {
|
||||||
|
underSize += vec2(0.0f, size.y());
|
||||||
|
underSize.setX(std::max(underSize.x(), size.x()));
|
||||||
|
} else {
|
||||||
|
underSize += vec2(size.x(), 0.0f);
|
||||||
|
underSize.setY(std::max(underSize.y(), size.y()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
vec2 deltas = localWidgetSize - underSize;
|
||||||
|
|
||||||
|
// -8- Calculate the local origin, depending of the gravity:
|
||||||
|
vec2 tmpOrigin = m_origin + tmpBorderSize + ewol::gravityGenerateDelta(m_gravity, deltas);
|
||||||
|
// -9- Set sub widget origin:
|
||||||
for (auto &it : m_subWidget) {
|
for (auto &it : m_subWidget) {
|
||||||
if (it == nullptr) {
|
if (it == nullptr) {
|
||||||
continue;
|
continue;
|
||||||
@ -182,7 +200,7 @@ void ewol::widget::Sizer::onChangeSize() {
|
|||||||
}
|
}
|
||||||
// TODO : Set origin with the correct gravity
|
// TODO : Set origin with the correct gravity
|
||||||
}
|
}
|
||||||
// -8- Update all subSize at every element:
|
// -10- Update all subSize at every element:
|
||||||
for (auto &it : m_subWidget) {
|
for (auto &it : m_subWidget) {
|
||||||
if (it == nullptr) {
|
if (it == nullptr) {
|
||||||
continue;
|
continue;
|
||||||
|
@ -34,23 +34,23 @@ void ewol::DrawProperty::limit(const vec2& _origin, const vec2& _size) {
|
|||||||
|
|
||||||
std::string ewol::gravityToString(const enum ewol::gravity _obj) {
|
std::string ewol::gravityToString(const enum ewol::gravity _obj) {
|
||||||
switch(_obj) {
|
switch(_obj) {
|
||||||
case ewol::gravityCenter:
|
case ewol::gravity_center:
|
||||||
return "center";
|
return "center";
|
||||||
case ewol::gravityTopLeft:
|
case ewol::gravity_topLeft:
|
||||||
return "top-left";
|
return "top-left";
|
||||||
case ewol::gravityTop:
|
case ewol::gravity_top:
|
||||||
return "top";
|
return "top";
|
||||||
case ewol::gravityTopRight:
|
case ewol::gravity_topRight:
|
||||||
return "top-right";
|
return "top-right";
|
||||||
case ewol::gravityRight:
|
case ewol::gravity_right:
|
||||||
return "right";
|
return "right";
|
||||||
case ewol::gravityButtomRight:
|
case ewol::gravity_buttomRight:
|
||||||
return "buttom-right";
|
return "buttom-right";
|
||||||
case ewol::gravityButtom:
|
case ewol::gravity_buttom:
|
||||||
return "buttom";
|
return "buttom";
|
||||||
case ewol::gravityButtomLeft:
|
case ewol::gravity_buttomLeft:
|
||||||
return "buttom-left";
|
return "buttom-left";
|
||||||
case ewol::gravityLeft:
|
case ewol::gravity_left:
|
||||||
return "left";
|
return "left";
|
||||||
}
|
}
|
||||||
return "unknow";
|
return "unknow";
|
||||||
@ -58,25 +58,47 @@ std::string ewol::gravityToString(const enum ewol::gravity _obj) {
|
|||||||
|
|
||||||
enum ewol::gravity ewol::stringToGravity(const std::string& _obj) {
|
enum ewol::gravity ewol::stringToGravity(const std::string& _obj) {
|
||||||
if (_obj == "center") {
|
if (_obj == "center") {
|
||||||
return ewol::gravityCenter;
|
return ewol::gravity_center;
|
||||||
} else if (_obj == "top-left") {
|
} else if (_obj == "top-left") {
|
||||||
return ewol::gravityTopLeft;
|
return ewol::gravity_topLeft;
|
||||||
} else if (_obj == "top") {
|
} else if (_obj == "top") {
|
||||||
return ewol::gravityTop;
|
return ewol::gravity_top;
|
||||||
} else if (_obj == "top-right") {
|
} else if (_obj == "top-right") {
|
||||||
return ewol::gravityTopRight;
|
return ewol::gravity_topRight;
|
||||||
} else if (_obj == "right") {
|
} else if (_obj == "right") {
|
||||||
return ewol::gravityRight;
|
return ewol::gravity_right;
|
||||||
} else if (_obj == "buttom-right") {
|
} else if (_obj == "buttom-right") {
|
||||||
return ewol::gravityButtomRight;
|
return ewol::gravity_buttomRight;
|
||||||
} else if (_obj == "buttom") {
|
} else if (_obj == "buttom") {
|
||||||
return ewol::gravityButtom;
|
return ewol::gravity_buttom;
|
||||||
} else if (_obj == "buttom-left") {
|
} else if (_obj == "buttom-left") {
|
||||||
return ewol::gravityButtomLeft;
|
return ewol::gravity_buttomLeft;
|
||||||
} else if (_obj == "left") {
|
} else if (_obj == "left") {
|
||||||
return ewol::gravityLeft;
|
return ewol::gravity_left;
|
||||||
}
|
}
|
||||||
return ewol::gravityCenter;
|
return ewol::gravity_center;
|
||||||
|
}
|
||||||
|
vec2 ewol::gravityGenerateDelta(const enum ewol::gravity _gravity, const vec2& _deltas) {
|
||||||
|
vec2 out(0.0f,0.0f);
|
||||||
|
if (_deltas.x() > 0.0001f) {
|
||||||
|
if ((uint32_t(_gravity) & uint32_t(ewol::gravity_left)) != 0) {
|
||||||
|
// nothing to do
|
||||||
|
} else if ((uint32_t(_gravity) & uint32_t(ewol::gravity_right)) != 0) {
|
||||||
|
out = vec2(int32_t(_deltas.x()), 0.0f);
|
||||||
|
} else {
|
||||||
|
out = vec2(int32_t(_deltas.x()*0.5f), 0.0f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (_deltas.y() > 0.0001f) {
|
||||||
|
if ((uint32_t(_gravity) & uint32_t(ewol::gravity_buttom)) != 0) {
|
||||||
|
// nothing to do
|
||||||
|
} else if ((uint32_t(_gravity) & uint32_t(ewol::gravity_top)) != 0) {
|
||||||
|
out += vec2(0.0f, int32_t(_deltas.y()));
|
||||||
|
} else {
|
||||||
|
out += vec2(0.0f, int32_t(_deltas.y()*0.5f));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return out;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::ostream& ewol::operator <<(std::ostream& _os, const enum ewol::gravity _obj) {
|
std::ostream& ewol::operator <<(std::ostream& _os, const enum ewol::gravity _obj) {
|
||||||
@ -99,7 +121,7 @@ ewol::Widget::Widget() :
|
|||||||
m_userExpand(*this, "expand", bvec2(false,false), "Request the widget Expand size wile space is available"),
|
m_userExpand(*this, "expand", bvec2(false,false), "Request the widget Expand size wile space is available"),
|
||||||
m_userFill(*this, "fill", bvec2(true,true), "Fill the widget available size"),
|
m_userFill(*this, "fill", bvec2(true,true), "Fill the widget available size"),
|
||||||
m_hide(*this, "hide", false, "The widget start hided"),
|
m_hide(*this, "hide", false, "The widget start hided"),
|
||||||
m_gravity(*this, "gravity", ewol::gravityButtomLeft, "Gravity orientation"),
|
m_gravity(*this, "gravity", ewol::gravity_buttomLeft, "Gravity orientation"),
|
||||||
m_hasFocus(false),
|
m_hasFocus(false),
|
||||||
m_canFocus(*this, "focus", false, "enable the widget to have the focus capacity"), // TODO : je pense que c'est une erreur, c'st surement un event to get the cocus ...
|
m_canFocus(*this, "focus", false, "enable the widget to have the focus capacity"), // TODO : je pense que c'est une erreur, c'st surement un event to get the cocus ...
|
||||||
m_limitMouseEvent(3),
|
m_limitMouseEvent(3),
|
||||||
@ -120,15 +142,15 @@ ewol::Widget::Widget() :
|
|||||||
addObjectType("ewol::Widget");
|
addObjectType("ewol::Widget");
|
||||||
|
|
||||||
// TODO : Set a static interface for list ==> this methode create a multiple allocation
|
// TODO : Set a static interface for list ==> this methode create a multiple allocation
|
||||||
m_gravity.add(ewol::gravityCenter, "center");
|
m_gravity.add(ewol::gravity_center, "center");
|
||||||
m_gravity.add(ewol::gravityTopLeft, "top-left");
|
m_gravity.add(ewol::gravity_topLeft, "top-left");
|
||||||
m_gravity.add(ewol::gravityTop, "top");
|
m_gravity.add(ewol::gravity_top, "top");
|
||||||
m_gravity.add(ewol::gravityTopRight, "top-right");
|
m_gravity.add(ewol::gravity_topRight, "top-right");
|
||||||
m_gravity.add(ewol::gravityRight, "right");
|
m_gravity.add(ewol::gravity_right, "right");
|
||||||
m_gravity.add(ewol::gravityButtomRight, "buttom-right");
|
m_gravity.add(ewol::gravity_buttomRight, "buttom-right");
|
||||||
m_gravity.add(ewol::gravityButtom, "buttom");
|
m_gravity.add(ewol::gravity_buttom, "buttom");
|
||||||
m_gravity.add(ewol::gravityButtomLeft, "buttom-left");
|
m_gravity.add(ewol::gravity_buttomLeft, "buttom-left");
|
||||||
m_gravity.add(ewol::gravityLeft, "left");
|
m_gravity.add(ewol::gravity_left, "left");
|
||||||
m_annimationTypeStart.add(0, "none");
|
m_annimationTypeStart.add(0, "none");
|
||||||
m_annimationTypeStop.add(0, "none");
|
m_annimationTypeStop.add(0, "none");
|
||||||
}
|
}
|
||||||
@ -630,6 +652,7 @@ void ewol::Widget::onParameterChangeValue(const ewol::parameter::Ref& _paramPoin
|
|||||||
}
|
}
|
||||||
} else if (_paramPointer == m_gravity) {
|
} else if (_paramPointer == m_gravity) {
|
||||||
markToRedraw();
|
markToRedraw();
|
||||||
|
requestUpdateSize();
|
||||||
} else if (_paramPointer == m_hide) {
|
} else if (_paramPointer == m_hide) {
|
||||||
markToRedraw();
|
markToRedraw();
|
||||||
requestUpdateSize();
|
requestUpdateSize();
|
||||||
|
@ -81,19 +81,20 @@ namespace ewol {
|
|||||||
* @not-in-doc
|
* @not-in-doc
|
||||||
*/
|
*/
|
||||||
enum gravity {
|
enum gravity {
|
||||||
gravityCenter=0x00, //!< gravity is in certer
|
gravity_center = 0x00, //!< gravity is in center
|
||||||
gravityTopLeft=0x05,
|
gravity_top = 0x01, //!< gravity is in top
|
||||||
gravityTop=0x01,
|
gravity_buttom = 0x02, //!< gravity is in buttom
|
||||||
gravityTopRight=0x03,
|
gravity_right = 0x04, //!< gravity is in right
|
||||||
gravityRight=0x02,
|
gravity_left = 0x08, //!< gravity is in left
|
||||||
gravityButtomRight=0x06,
|
gravity_topRight = gravity_top|gravity_right, //!< gravity is in top-right
|
||||||
gravityButtom=0x04,
|
gravity_topLeft = gravity_top|gravity_left, //!< gravity is in top-left
|
||||||
gravityButtomLeft=0x0C,
|
gravity_buttomRight = gravity_buttom|gravity_right, //!< gravity is in buttom-right
|
||||||
gravityLeft=0x08,
|
gravity_buttomLeft = gravity_buttom|gravity_left, //!< gravity is in buttom-left
|
||||||
};
|
};
|
||||||
std::ostream& operator <<(std::ostream& _os, const enum ewol::gravity _obj);
|
std::ostream& operator <<(std::ostream& _os, const enum ewol::gravity _obj);
|
||||||
std::string gravityToString(const enum ewol::gravity _obj);
|
std::string gravityToString(const enum ewol::gravity _obj);
|
||||||
enum ewol::gravity stringToGravity(const std::string& _obj);
|
enum ewol::gravity stringToGravity(const std::string& _obj);
|
||||||
|
vec2 gravityGenerateDelta(const enum ewol::gravity _gravity, const vec2& _deltas);
|
||||||
/**
|
/**
|
||||||
* @not-in-doc
|
* @not-in-doc
|
||||||
*/
|
*/
|
||||||
|
@ -43,6 +43,7 @@ static const char * l_eventChangeWidgetPrevious = "event-change-widget-test-pre
|
|||||||
#define __class__ "MainWindows"
|
#define __class__ "MainWindows"
|
||||||
|
|
||||||
appl::MainWindows::MainWindows() :
|
appl::MainWindows::MainWindows() :
|
||||||
|
m_gravity(ewol::gravity_buttomLeft),
|
||||||
m_idWidget(0) {
|
m_idWidget(0) {
|
||||||
APPL_DEBUG("CREATE WINDOWS ... ");
|
APPL_DEBUG("CREATE WINDOWS ... ");
|
||||||
addObjectType("appl::MainWindows");
|
addObjectType("appl::MainWindows");
|
||||||
@ -56,11 +57,11 @@ void appl::MainWindows::init() {
|
|||||||
externSubBind(m_composer, ewol::widget::Button, "appl-theme-toggle", signalValue, shared_from_this(), &appl::MainWindows::onCallbackThemeChange);
|
externSubBind(m_composer, ewol::widget::Button, "appl-theme-toggle", signalValue, shared_from_this(), &appl::MainWindows::onCallbackThemeChange);
|
||||||
externSubBind(m_composer, ewol::widget::Button, "appl-previous-widget", signalPressed, shared_from_this(), &appl::MainWindows::onCallbackWidgetChange, -1);
|
externSubBind(m_composer, ewol::widget::Button, "appl-previous-widget", signalPressed, shared_from_this(), &appl::MainWindows::onCallbackWidgetChange, -1);
|
||||||
externSubBind(m_composer, ewol::widget::Button, "appl-next-widget", signalPressed, shared_from_this(), &appl::MainWindows::onCallbackWidgetChange, 1);
|
externSubBind(m_composer, ewol::widget::Button, "appl-next-widget", signalPressed, shared_from_this(), &appl::MainWindows::onCallbackWidgetChange, 1);
|
||||||
|
externSubBind(m_composer, ewol::widget::Button, "appl-next-gravity", signalPressed, shared_from_this(), &appl::MainWindows::onCallbackGravityChange);
|
||||||
|
|
||||||
m_sizerVert = std::dynamic_pointer_cast<ewol::widget::Sizer>(m_composer->getSubObjectNamed("appl-upper-test-widget"));
|
m_sizerVert = std::dynamic_pointer_cast<ewol::widget::Sizer>(m_composer->getSubObjectNamed("appl-upper-test-widget"));
|
||||||
m_sizerDynamic = std::dynamic_pointer_cast<ewol::widget::Sizer>(m_composer->getSubObjectNamed("appl-dynamic-config"));
|
m_sizerDynamic = std::dynamic_pointer_cast<ewol::widget::Sizer>(m_composer->getSubObjectNamed("appl-dynamic-config"));
|
||||||
m_subWidget = std::dynamic_pointer_cast<ewol::Widget>(m_composer->getSubObjectNamed("[TEST]TO-TEST"));
|
m_subWidget = std::dynamic_pointer_cast<ewol::Widget>(m_composer->getSubObjectNamed("[TEST]TO-TEST"));
|
||||||
m_testName = std::dynamic_pointer_cast<ewol::widget::Label>(m_composer->getSubObjectNamed("appl-label-test"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void appl::MainWindows::onCallbackThemeChange(const bool& _value) {
|
void appl::MainWindows::onCallbackThemeChange(const bool& _value) {
|
||||||
@ -74,6 +75,40 @@ void appl::MainWindows::onCallbackThemeChange(const bool& _value) {
|
|||||||
ewol::getContext().forceRedrawAll();
|
ewol::getContext().forceRedrawAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void appl::MainWindows::onCallbackGravityChange() {
|
||||||
|
switch(m_gravity) {
|
||||||
|
case ewol::gravity_center:
|
||||||
|
m_gravity = ewol::gravity_topLeft;
|
||||||
|
break;
|
||||||
|
case ewol::gravity_topLeft:
|
||||||
|
m_gravity = ewol::gravity_top;
|
||||||
|
break;
|
||||||
|
case ewol::gravity_top:
|
||||||
|
m_gravity = ewol::gravity_topRight;
|
||||||
|
break;
|
||||||
|
case ewol::gravity_topRight:
|
||||||
|
m_gravity = ewol::gravity_right;
|
||||||
|
break;
|
||||||
|
case ewol::gravity_right:
|
||||||
|
m_gravity = ewol::gravity_buttomRight;
|
||||||
|
break;
|
||||||
|
case ewol::gravity_buttomRight:
|
||||||
|
m_gravity = ewol::gravity_buttom;
|
||||||
|
break;
|
||||||
|
case ewol::gravity_buttom:
|
||||||
|
m_gravity = ewol::gravity_buttomLeft;
|
||||||
|
break;
|
||||||
|
case ewol::gravity_buttomLeft:
|
||||||
|
m_gravity = ewol::gravity_left;
|
||||||
|
break;
|
||||||
|
case ewol::gravity_left:
|
||||||
|
m_gravity = ewol::gravity_center;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
parameterSetOnWidgetNamed("appl-upper-test-widget", "gravity", ewol::gravityToString(m_gravity));
|
||||||
|
parameterSetOnWidgetNamed("appl-next-gravity-label", "value", "Next gravity<br/>(" + ewol::gravityToString(m_gravity) + ")");
|
||||||
|
}
|
||||||
|
|
||||||
void appl::MainWindows::onCallbackWidgetChange(int32_t _increment) {
|
void appl::MainWindows::onCallbackWidgetChange(int32_t _increment) {
|
||||||
m_idWidget += _increment;
|
m_idWidget += _increment;
|
||||||
std::shared_ptr<ewol::Widget> oldWidget = m_subWidget;
|
std::shared_ptr<ewol::Widget> oldWidget = m_subWidget;
|
||||||
@ -124,9 +159,7 @@ void appl::MainWindows::onCallbackWidgetChange(int32_t _increment) {
|
|||||||
if (m_subWidget != nullptr) {
|
if (m_subWidget != nullptr) {
|
||||||
m_sizerVert->subWidgetReplace(oldWidget, m_subWidget);
|
m_sizerVert->subWidgetReplace(oldWidget, m_subWidget);
|
||||||
}
|
}
|
||||||
if (m_testName!=nullptr) {
|
parameterSetOnWidgetNamed("appl-label-test", "value", tmpDescription);
|
||||||
m_testName->setLabel("TestButton");
|
|
||||||
};
|
|
||||||
updateProperty();
|
updateProperty();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ namespace appl {
|
|||||||
std::shared_ptr<ewol::widget::Sizer> m_sizerVert;
|
std::shared_ptr<ewol::widget::Sizer> m_sizerVert;
|
||||||
std::shared_ptr<ewol::widget::Sizer> m_sizerDynamic;
|
std::shared_ptr<ewol::widget::Sizer> m_sizerDynamic;
|
||||||
std::shared_ptr<ewol::Widget> m_subWidget;
|
std::shared_ptr<ewol::Widget> m_subWidget;
|
||||||
std::shared_ptr<ewol::widget::Label> m_testName;
|
ewol::gravity m_gravity;
|
||||||
int32_t m_idWidget;
|
int32_t m_idWidget;
|
||||||
public:
|
public:
|
||||||
// Constructeur
|
// Constructeur
|
||||||
@ -32,6 +32,7 @@ namespace appl {
|
|||||||
DECLARE_FACTORY(MainWindows);
|
DECLARE_FACTORY(MainWindows);
|
||||||
~MainWindows() {};
|
~MainWindows() {};
|
||||||
protected:
|
protected:
|
||||||
|
void onCallbackGravityChange();
|
||||||
void onCallbackThemeChange(const bool& _value);
|
void onCallbackThemeChange(const bool& _value);
|
||||||
void onCallbackWidgetChange(int32_t _increment);
|
void onCallbackWidgetChange(int32_t _increment);
|
||||||
void updateProperty();
|
void updateProperty();
|
||||||
|
@ -25,6 +25,9 @@
|
|||||||
<button name="appl-next-widget">
|
<button name="appl-next-widget">
|
||||||
<label expand="false,false" fill="true,true">Next Widget</label>
|
<label expand="false,false" fill="true,true">Next Widget</label>
|
||||||
</button>
|
</button>
|
||||||
|
<button name="appl-next-gravity">
|
||||||
|
<label name="appl-next-gravity-label" expand="false,false" fill="true,true">Next gravity<br/>(Buttom-Left)</label>
|
||||||
|
</button>
|
||||||
<label name="appl-label-test" expand="true,false" fill="true,true">Test :</label>
|
<label name="appl-label-test" expand="true,false" fill="true,true">Test :</label>
|
||||||
<spacer expand="true,true"/>
|
<spacer expand="true,true"/>
|
||||||
</sizer>
|
</sizer>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user