fix focus locking bug
This commit is contained in:
parent
458e56fb4c
commit
23fe07d3d3
9 changed files with 34 additions and 21 deletions
|
|
@ -87,7 +87,7 @@ namespace tp {
|
|||
bool mDebug = false;
|
||||
bool mDebugStopProcessing = false;
|
||||
bool mDebugRedrawAlways = false;
|
||||
bool mDetailed = false;
|
||||
bool mDetailed = true;
|
||||
|
||||
std::set<Widget*> mProcBreakpoints;
|
||||
std::set<Widget*> mLayBreakpoints;
|
||||
|
|
|
|||
|
|
@ -25,13 +25,16 @@ namespace tp {
|
|||
void clean();
|
||||
|
||||
void updateTreeToProcess(Widget* root);
|
||||
void handleFocusChanges(Widget* root, EventHandler& events);
|
||||
void handleFocusChanges(Widget* active, Widget* prevActive);
|
||||
Widget* findFocusWidget(Widget* root, EventHandler& events);
|
||||
|
||||
void findFocusWidget(Widget* iter, Widget** focus, const Vec2F& pointer);
|
||||
void findMouseFocusWidget(Widget* iter, Widget** focus, const Vec2F& pointer);
|
||||
static void getWidgetPath(Widget* widget, std::vector<Widget*>& out);
|
||||
void processActiveTree(Widget* iter, EventHandler& events, Vec2F pos);
|
||||
void processFocusItems(EventHandler& events);
|
||||
|
||||
Widget* getFocusWidget() { return mInFocusWidget; }
|
||||
|
||||
private:
|
||||
static void procWidget(Widget* widget, EventHandler& events, bool withEvents = false);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue