diff --git a/sources/ewol/compositing/Shaper.cpp b/sources/ewol/compositing/Shaper.cpp index 8806d95e..8380dfb3 100644 --- a/sources/ewol/compositing/Shaper.cpp +++ b/sources/ewol/compositing/Shaper.cpp @@ -50,6 +50,11 @@ void ewol::compositing::Shaper::unLoadProgram(void) { ewol::resource::Program::release(m_GLprogram); ewol::resource::TextureFile::release(m_resourceTexture); ewol::resource::ConfigFile::release(m_config); + m_confIdPaddingX = -1; + m_confIdPaddingY = -1; + m_confIdChangeTime = -1; + m_confProgramFile = -1; + m_confImageFile = -1; } void ewol::compositing::Shaper::loadProgram(void) { diff --git a/sources/ewol/widget/Composer.h b/sources/ewol/widget/Composer.h index 13f2f637..7406dc61 100644 --- a/sources/ewol/widget/Composer.h +++ b/sources/ewol/widget/Composer.h @@ -55,6 +55,7 @@ namespace ewol { * @return false == > some error occured */ bool loadFromString(const std::string& _composerXmlString); + protected: /** * @brief Register an Event an named widget. @see registerOnEvent * @param[in] _subWidgetName Name of the subWidget. @@ -67,6 +68,7 @@ namespace ewol { const char * _eventId, const char * _eventIdgenerated = NULL, const std::string& _overloadData=""); + public: /** * @brief Register an Event an named widget. @see registerOnEvent * @param[in] _destinationObject pointer on the object that might be call when an event is generated diff --git a/sources/ewol/widget/Manager.cpp b/sources/ewol/widget/Manager.cpp index bfc1f1b1..213234e5 100644 --- a/sources/ewol/widget/Manager.cpp +++ b/sources/ewol/widget/Manager.cpp @@ -24,6 +24,7 @@ #include #include #include +#include #include #undef __class__ @@ -56,6 +57,7 @@ ewol::widget::Manager::Manager(void) : ewol::widget::Scroll::init(*this); ewol::widget::ContextMenu::init(*this); ewol::widget::PopUp::init(*this); + ewol::widget::WSlider::init(*this); } ewol::widget::Manager::~Manager(void) { diff --git a/sources/ewol/widget/WSlider.cpp b/sources/ewol/widget/WSlider.cpp index 44f197f2..79f57d6d 100644 --- a/sources/ewol/widget/WSlider.cpp +++ b/sources/ewol/widget/WSlider.cpp @@ -107,6 +107,19 @@ void ewol::widget::WSlider::calculateSize(const vec2& _availlable) { markToRedraw(); } +void ewol::widget::WSlider::subWidgetSelectSetVectorId(int32_t _id) { + if (_id<0) { + EWOL_ERROR("Can not change to a widget not present : vectID=" << _id); + return; + } + if (_id != m_windowsDestination) { + m_windowsRequested = _id; + generateEventId(eventStartSlide); + periodicCallEnable(); + markToRedraw(); + } +} + void ewol::widget::WSlider::subWidgetSelectSet(int32_t _id) { int32_t elementID = -1; // search element in the list : @@ -118,16 +131,7 @@ void ewol::widget::WSlider::subWidgetSelectSet(int32_t _id) { } } } - if (elementID<0) { - EWOL_ERROR("Can not change to a widget not present : uid="<<_id); - return; - } - if (elementID != m_windowsDestination) { - m_windowsRequested = elementID; - generateEventId(eventStartSlide); - periodicCallEnable(); - markToRedraw(); - } + subWidgetSelectSetVectorId(elementID); } void ewol::widget::WSlider::subWidgetSelectSet(ewol::Widget* _widgetPointer) { @@ -138,7 +142,7 @@ void ewol::widget::WSlider::subWidgetSelectSet(ewol::Widget* _widgetPointer) { for (size_t iii=0; iiigetName() == _widgetName) { - subWidgetSelectSet(iii); + subWidgetSelectSetVectorId(iii); return; } } diff --git a/sources/ewol/widget/WSlider.h b/sources/ewol/widget/WSlider.h index c51232c1..6fe5d192 100644 --- a/sources/ewol/widget/WSlider.h +++ b/sources/ewol/widget/WSlider.h @@ -26,6 +26,7 @@ namespace ewol { static const char* const eventStartSlide; static const char* const eventStopSlide; // Config list of properties + // TODO : remove the dynamic transition and set this in annimation ... static const char* const configMode; enum sladingMode { sladingTransitionVert, @@ -40,6 +41,12 @@ namespace ewol { int32_t m_windowsDestination; //!< widget destinated viewed int32_t m_windowsRequested; //!< widget destination requested when change in modification in progress float m_slidingProgress; //!< ratio progression of a sliding + protected: + /** + * @brief Generate the move on the specific vector ID (This is not a public acces, because the vector can have some null pointer inside ...) + * @param[in] _id Id in the vector + */ + void subWidgetSelectSetVectorId(int32_t _id); public: /** * @brief Select a new subwidget to display diff --git a/testApplDirectMinimal b/testApplDirectMinimal deleted file mode 100755 index d543deef..00000000 Binary files a/testApplDirectMinimal and /dev/null differ