[DEV] update new interface of esignal

This commit is contained in:
Edouard DUPIN 2016-02-22 22:33:51 +01:00
parent b22014b3f6
commit b6fa9c95e0
4 changed files with 21 additions and 14 deletions

View File

@ -145,13 +145,13 @@ bool ewol::widget::Select::loadXML(const std::shared_ptr<const exml::Element>& _
void ewol::widget::Select::updateGui() { void ewol::widget::Select::updateGui() {
ewol::widget::SpinBase::updateGui(); ewol::widget::SpinBase::updateGui();
if (m_widgetEntry != nullptr) { if ( m_widgetEntry != nullptr
m_widgetEntry->signalUnBindAll(shared_from_this()); && m_connectionEntry.isConnected() == false) {
} }
if (m_widgetButtonUp != nullptr) { if ( m_widgetButtonUp != nullptr
m_widgetButtonUp->signalUnBindAll(shared_from_this()); && m_connectionButton.isConnected() == false) {
m_widgetButtonUp->signalPressed.connect(shared_from_this(), &ewol::widget::Select::onCallbackOpenMenu); m_connectionButton = m_widgetButtonUp->signalPressed.connect(this, &ewol::widget::Select::onCallbackOpenMenu);
} }
} }

View File

@ -57,6 +57,9 @@ namespace ewol {
protected: protected:
void onCallbackOpenMenu(); void onCallbackOpenMenu();
void onCallbackLabelPressed(int32_t _value); void onCallbackLabelPressed(int32_t _value);
protected:
esignal::Connection m_connectionEntry;
esignal::Connection m_connectionButton;
}; };
}; };
}; };

View File

@ -61,20 +61,20 @@ void ewol::widget::Spin::onPropertyChangeValue(const eproperty::Ref& _paramPoint
void ewol::widget::Spin::updateGui() { void ewol::widget::Spin::updateGui() {
EWOL_WARNING("updateGui [START]"); EWOL_WARNING("updateGui [START]");
ewol::widget::SpinBase::updateGui(); ewol::widget::SpinBase::updateGui();
if (m_widgetEntry != nullptr) {
m_widgetEntry->signalUnBindAll(shared_from_this()); if ( m_widgetEntry != nullptr
&& m_connectionEntry.isConnected() == false) {
} }
if (m_widgetButtonUp != nullptr) { if ( m_widgetButtonUp != nullptr
m_widgetButtonUp->signalUnBindAll(shared_from_this()); && m_connectionButtonUp.isConnected() == false) {
m_widgetButtonUp->signalPressed.connect(shared_from_this(), &ewol::widget::Spin::onCallbackUp); m_connectionButtonUp = m_widgetButtonUp->signalPressed.connect(this, &ewol::widget::Spin::onCallbackUp);
} }
if (m_widgetButtonDown != nullptr) { if ( m_widgetButtonDown != nullptr
m_widgetButtonDown->signalUnBindAll(shared_from_this()); && m_connectionButtonDown.isConnected() == false) {
m_widgetButtonDown->signalPressed.connect(shared_from_this(), &ewol::widget::Spin::onCallbackDown); m_connectionButtonDown = m_widgetButtonDown->signalPressed.connect(this, &ewol::widget::Spin::onCallbackDown);
} }
EWOL_WARNING("updateGui [STOP]"); EWOL_WARNING("updateGui [STOP]");
} }
void ewol::widget::Spin::checkValue(int64_t _value) { void ewol::widget::Spin::checkValue(int64_t _value) {

View File

@ -50,6 +50,10 @@ namespace ewol {
protected: protected:
void onCallbackUp(); void onCallbackUp();
void onCallbackDown(); void onCallbackDown();
protected:
esignal::Connection m_connectionEntry;
esignal::Connection m_connectionButtonUp;
esignal::Connection m_connectionButtonDown;
}; };
}; };
}; };