|
@@ -60,13 +60,13 @@ struct ButtonEventHandler::PrivateData { |
|
|
// cursor was moved outside the button bounds, ignore click |
|
|
// cursor was moved outside the button bounds, ignore click |
|
|
if (! widget->contains(ev.pos)) |
|
|
if (! widget->contains(ev.pos)) |
|
|
{ |
|
|
{ |
|
|
self->stateChanged(static_cast<State>(state2), static_cast<State>(state)); |
|
|
|
|
|
|
|
|
self->stateChanged(static_cast<State>(state), static_cast<State>(state2)); |
|
|
widget->repaint(); |
|
|
widget->repaint(); |
|
|
return true; |
|
|
return true; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// still on bounds, register click |
|
|
// still on bounds, register click |
|
|
self->stateChanged(static_cast<State>(state2), static_cast<State>(state)); |
|
|
|
|
|
|
|
|
self->stateChanged(static_cast<State>(state), static_cast<State>(state2)); |
|
|
widget->repaint(); |
|
|
widget->repaint(); |
|
|
|
|
|
|
|
|
if (checkable) |
|
|
if (checkable) |
|
@@ -84,7 +84,7 @@ struct ButtonEventHandler::PrivateData { |
|
|
const int state2 = state; |
|
|
const int state2 = state; |
|
|
button = static_cast<int>(ev.button); |
|
|
button = static_cast<int>(ev.button); |
|
|
state |= kButtonStateActive; |
|
|
state |= kButtonStateActive; |
|
|
self->stateChanged(static_cast<State>(state2), static_cast<State>(state)); |
|
|
|
|
|
|
|
|
self->stateChanged(static_cast<State>(state), static_cast<State>(state2)); |
|
|
widget->repaint(); |
|
|
widget->repaint(); |
|
|
return true; |
|
|
return true; |
|
|
} |
|
|
} |
|
@@ -111,7 +111,7 @@ struct ButtonEventHandler::PrivateData { |
|
|
const int state2 = state; |
|
|
const int state2 = state; |
|
|
state |= kButtonStateHover; |
|
|
state |= kButtonStateHover; |
|
|
ret = widget->contains(oldMotionPos); |
|
|
ret = widget->contains(oldMotionPos); |
|
|
self->stateChanged(static_cast<State>(state2), static_cast<State>(state)); |
|
|
|
|
|
|
|
|
self->stateChanged(static_cast<State>(state), static_cast<State>(state2)); |
|
|
widget->repaint(); |
|
|
widget->repaint(); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
@@ -123,7 +123,7 @@ struct ButtonEventHandler::PrivateData { |
|
|
const int state2 = state; |
|
|
const int state2 = state; |
|
|
state &= ~kButtonStateHover; |
|
|
state &= ~kButtonStateHover; |
|
|
ret = widget->contains(oldMotionPos); |
|
|
ret = widget->contains(oldMotionPos); |
|
|
self->stateChanged(static_cast<State>(state2), static_cast<State>(state)); |
|
|
|
|
|
|
|
|
self->stateChanged(static_cast<State>(state), static_cast<State>(state2)); |
|
|
widget->repaint(); |
|
|
widget->repaint(); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
@@ -223,6 +223,11 @@ ButtonEventHandler::State ButtonEventHandler::getState() const noexcept |
|
|
return static_cast<State>(pData->state); |
|
|
return static_cast<State>(pData->state); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void ButtonEventHandler::clearState() noexcept |
|
|
|
|
|
{ |
|
|
|
|
|
pData->state = kButtonStateDefault; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
void ButtonEventHandler::stateChanged(State, State) |
|
|
void ButtonEventHandler::stateChanged(State, State) |
|
|
{ |
|
|
{ |
|
|
} |
|
|
} |
|
|