Focus locking and popups
This commit is contained in:
parent
54dcbcb46b
commit
03b2b5d038
13 changed files with 296 additions and 145 deletions
|
|
@ -5,6 +5,7 @@
|
|||
#include <map>
|
||||
|
||||
namespace tp {
|
||||
// FIXME : desperately needs refactor
|
||||
class UpdateManager {
|
||||
friend DebugManager;
|
||||
|
||||
|
|
@ -13,6 +14,9 @@ namespace tp {
|
|||
|
||||
void scheduleUpdate(Widget* widget, const char* reason);
|
||||
|
||||
void lockFocus(Widget* widget);
|
||||
void freeFocus(Widget* widget);
|
||||
|
||||
[[nodiscard]] bool isPendingUpdates() const {
|
||||
return !mTriggeredWidgets.empty();
|
||||
}
|
||||
|
|
@ -34,6 +38,7 @@ namespace tp {
|
|||
private:
|
||||
std::map<Widget*, bool> mTriggeredWidgets;
|
||||
Widget* mInFocusWidget = nullptr;
|
||||
Widget* mFocusLockWidget = nullptr;
|
||||
|
||||
private:
|
||||
int mDebugWidgetsToProcess = 0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue