2193 Commits (025d4f0c978e77d3757825594f48b89c84a48f02)

Author SHA1 Message Date
omar ae1866c424 Nav: NavProcessItem() updates current NavLayer. Basically we're hearing toward rebuilidng nav info from an id. (#787). 7 years ago
omar 97851f7376 Nav: NavProcessItem() computes window-relative rectangle using own Window rather than NavWindow. Not sure what it may mean for child-flattened-nav (disabled). (#787) 7 years ago
omar 7d14262202 Nav: SetFocusID() update NavWindow and NavRectRel just as we get them. Needed by upcoming commit, committing separately as I'm curious if it has any side-effect. (#787) 7 years ago
omar 83416fa5da Merge branch 'master' into navigation 7 years ago
omar d761825cfb Nav: Renaming a field + Comments. 7 years ago
omar ce7b04e8b9 Removed apparently unncessary code in InputFloatN() and InputInt(). 7 years ago
omar db5f1b79cd Nav: ButtonBehavior() keep _displaying_ NavId item as howered when refocusing or moving window, which is consistent with IsItemHovered() and reduce noise/flicker (#787) 7 years ago
omar c42baf392a Reluctantly exposed GetActiveID(), GetHoveredID() in imgui_internal because the demo code will need it. 7 years ago
omar 53780a4fcc Nav: Shallow tweaks. 7 years ago
omar f852b9a52a Exposed Scrollbar() in imgui_internal.h and removed a bool arg 7 years ago
omar b667d5a9e7 Nav: Internals: Renamed ImGuiButtonFlags_NoNavOverride to ImGuiButtonFlags_NoNavFocus + fixed a theorically missing test in ButtonBehavior() (#787) 7 years ago
omar 0371219222 Nav: Internals: Renamed SetActiveIDNoNav -> SetActiveID() and old SetActiveID() -> SetFocusID(), both functions needs to be called when both are desirabled. (#787)
May break code relying on imgui_internal.h, relying on nav and not calling ButtonBehavior().
7 years ago
omar 8b095e483b Internals: Moved SetNavID() and renamed casing to be consistent with stuff exposed in imgui_internal.h 7 years ago
omar 4be967823f Exposed Scrollbar() in imgui_internal.h and removed a bool arg 7 years ago
omar 48498b337d Internals: SetActiveID window cannot be NULL 7 years ago
omar 4548bcb5c9 Nav: commiting shallow bits to reduce noise from working copy/upcoming commit. 7 years ago
omar 17519c313a Nav: Extract part of NavUpdate() into a saner NavUpdateWindowingTarget() (#787) 7 years ago
omar b05b31e690 Nav: Made NavWindow always refresh from NavId so we can lazily retrieve the window for user functions that don't have it. This is not required by current commit but I'd rather test it earlier. Idea: eventually if we switch to 64-bit identifiers we could reserve e.g. 20 bits to store a simplified window identifier so we can always retrieve a window from an id. (#787) 7 years ago
omar f0d437dd9c Nav: SetActiveId() uses SetActiveIDNoNav() to avoid duplicating logic. (#787) 7 years ago
omar 2047c58efb Nav: Extract part of NavUpdate() into a saner NavScrollToBringItemIntoView() (#787) 7 years ago
omar 7a14d7dfdc Nav: More consistently drawing a (thin) navigation rectangle hover filled frames such as tree nodes, collapsing header, menus. (#787) 7 years ago
omar 3833f1f7a2 Merge branch 'master' into navigation 7 years ago
omar 43b4a81b3e Rnamed AlignFirstTextHeightToWidgets() to AlignTextToFramePadding(). Kept inline redirection function (will obsolete). 7 years ago
omar c6e370a77a TreeNode: Added ImGuiTreeNodeFlags_FramePadding flag 7 years ago
omar 69dd895358 Nav: Renaming NavInitDefaultRequest -> NavInitRequest 7 years ago
omar 4d83078885 Nav: Moving code next to its peers 7 years ago
omar d2975115cd Nav: Caching into g.NavAnyRequest to minimize hot path cost (and so we can add many more request sources) 7 years ago
omar d91b093be6 Nav: Minor tweaks in NavProcessItem() used by ItemAdd() 7 years ago
omar c3105919ba Nav: Minor tweaks also toward removing processing from ItemAdd() 7 years ago
omar d16309ca77 Internal: ItemAdd() minor shallow tweaks 7 years ago
omar 64ce83b9ed Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
7 years ago
omar 042153d254 Internal: ItemAdd(), IsClippedEx(): removed unnecessary indirection for ID parameter 7 years ago
omar acb6f12d2c Removed extraneous calls to GetCurrentWindowRead() when we already have a ImGuiContext. Internal RenderXXX functions also don't need to write into the Accessed field at all. 7 years ago
omar 6e1199c603 Merge branch 'master' into navigation 7 years ago
omar f451785c9e Nav: Shuffled code in ItemAdd() so that NavProcessItem() may have access to LastItemId (will be required by tabbing) 7 years ago
omar e12cfa9dfd Nav: Minor midying up and comments, 7 years ago
omar 40df7a5155 Nav: Removed possibly redundant test prior to calling NavProcessItem() from ItemAdd() 7 years ago
omar a77dd02e8a Nav: Moving code next to its peers 7 years ago
omar f5bd4663dd Nav: Moving the big chunk of code from ItemAdd() to NavProcessItem() 7 years ago
omar 59c6f35bf6 Added ActivateItem(), GetItemID() functions. 7 years ago
omar 80c4e2fe7b Nav: Tidying up activation mechanism so that setting NavActivateId can trigger buttons. 7 years ago
omar d851775c80 ColorButton: Reduced bordering artefact that would be particularly visible with opaque Col_FrameBg and FrameRounding enabled. 7 years ago
omar 726dcf0dd2 TextUnformatted(): minor tweak 7 years ago
omar a0d724b450 Made AlignFirstTextHeightToWidgets() saner and faster (still disliking its name very much!) 7 years ago
omar a3d0755181 Merge branch 'master' into navigation 7 years ago
omar f326fac64a Nav: Menus and popups now have move request wrap around vertically (using the move request forward thing added recently). (#787) 7 years ago
omar a8788e51a7 SetKeyboardFocusHere() added assert to prevent passing values smaller than -1 as we may have to outlaw them (I think nobody was using that) 7 years ago
omar 63cd2bf9b1 Removed obsolete comment. 7 years ago
omar 3ddcdcf6e7 Merge branch 'master' into navigation 7 years ago
omar 67ac7da30f Styles: Added ImGuiStyle::ScaleAllSizes(float) helper to make it easier to have application transition to e.g. High DPI with a matching style. 7 years ago
omar a56b71e866 Nav: Added code to render thin highlight type. (#787) 7 years ago
matiTechno b36a043bbf typo 7 years ago
omar 6ea90af6b7 Nav: Highlight clipped within host window then extruded out. (#787) 7 years ago
omar cb4e6c8212 Nav: Selectable(): activating selectable also sets NavId + removed the MouseDelta test (added in 43ee5d73e9, #323) as I don't think it is needed. (#787) 7 years ago
omar 64a51327d3 Nav: Added NavMoveResultParentId internal info to record when the parent/context of a given NavId. Useful for various algorithms (currently looking at range selection stuff) (#787) 7 years ago
omar 74da533c93 Nav: Added NavJustNavigatedId internal info to record when we land on a given item after a navigation request, useful for various algorithms (currently looking at range selection stuff) (#787) 7 years ago
omar 7f58bb03c1 Changed the internal name formatting of child windows to use slashes as separator, more readable. 7 years ago
omar cbc9730798 Metrics: Draw window bounding boxes when hovering Pos/Size. List all draw layers, trimming empty commands like Render() does. 7 years ago
omar 491edfd8d8 Nav: Fixed a crash introduced yesterday. 7 years ago
omar 0046c618b0 Nav: Allow to collapse tree nodes with NavLeft and open them with NavRight (#787, #1079) 7 years ago
omar ecd72cc0c7 Nav: Disabled the final axial check when considering candidates in most situations except menubars.
It's definitively undesirable inside Menu as we want to catch nav request failures reliably.
I think it may be considered as an option if we find this desirable i some circumstances. Right now ideally I'd remove it totally but with current scoring setup, without it we can't easily reach the Window Close button. (#787)
7 years ago
omar 88a354585a Nav: It's now possible to navigate sibling of a menu-bar while navigating inside one of their child. If a Left<>Right navigation request fails to find a match we forward the request to the root menu. (#787, #126)
Currently the sibling menu is isn't automatically opened, that's still left to it (and even that can be anoying in Windows when the first menu-item is a child menu)
7 years ago
omar f4e4c38705 BeginMenu(): fixed logic to distinguish vertical menu from one layed out in a menu bar. Makes MenuItem() in a regular window behave more consistently, and this will be also needed by upcoming menu-navigation changes in the nav branch. (#126, #787) 7 years ago
omar 9912f7eef8 BeginMenu(): fixed logic to distinguish vertical menu from one layed out in a menu bar. Makes MenuItem() in a regular window behave more consistently, and this will be also needed by upcoming menu-navigation changes in the nav branch. (#126, #787) 7 years ago
omar cf3b21179b Nav: Comments 7 years ago
omar 5a9ebeca9e Nav: Fix typo from 9712a81f85 7 years ago
omar bfaa426f7f Nav: Minor tidying up (adding local variables to be a little more sane). 7 years ago
omar 8a5a29f0be Nav: Renamed internal field. 7 years ago
omar 9712a81f85 Nav: Rectangle rectangle stored per window and per layer as well. Makes things simpler, allows enable us to visualize more data. 7 years ago
omar 54eb4c485e Nav: Marked misleading/broken code that will never execute. 7 years ago
omar e3c89aeb10 Nav: Fixed menuitems/selectable on menu layer (layer 1) from storing themselves in wrong layer of LastNavIds when hovered.causing inconsistencies and bugs when hovering menu with mouse then pressing ALT to return to layer 0).
NB: this is not a new bug introduced by the previous commit (which is related to nav layers), bug has been there for a while. (#787)
7 years ago
omar 9737efb2f1 Nav: Store per-window last nav id also per-layer so we can easily query them for menu navigation code. (#787) 7 years ago
omar 8a814487fe Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
7 years ago
omar fba9353c60 BeginMenu: Shuffling braces around to clarify flow 7 years ago
omar cf308f4039 Nav: Fixed SetItemDefaultFocus from stealing default focus when we are initializing default focus for a menu bar layer (#787) 7 years ago
omar f4398226cc Nav: Support for fallback horizontal scrolling with PadLeft/PadRight (nb: fallback scrolling is only used to navigate windows that have no interactive items). (#787) 7 years ago
omar 30b1d85962 Nav: Commiting some better organized Debug helper because this going to stay for a bit. 7 years ago
omar 1f7f54e196 Removed extraneous test. 7 years ago
omar df366b230e ColorPicker4: Use nav flag to provide a slighly better experience when using navigation (#787, #346) 7 years ago
omar 2d859dee4e Nav: Added ImGuiItemFlags_NoNav item flag 7 years ago
omar 878fa96896 Nav: Re-arranged ItemAdd() to maximize early out (#787) 7 years ago
omar dd0855de5c ButtonBehavior: Tidying up. 7 years ago
omar 4b4e455c40 Nav: Internal nenaming 7 years ago
omar e0a2a832cd Nav: Changed internal flag to NoNavDefaultFocus to be false by allow, and more consistent (#787) 7 years ago
omar af38749ea1 Nav: Fixed ButtonBehavior mistakenly setting active id when the Activate button is held and we have a new NavId, which affected browsing some popups (#787) 7 years ago
omar ca4db8c905 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
7 years ago
omar e8f7c83138 Begin: Shallow tweak to minimize diff with nav branch 7 years ago
omar 926c1cf9a4 Merged from Navigation branch: ImGuiItemFlags_SelectableDontClosePopup flag 7 years ago
omar f99348711b Added VerticalSeparator() entry point in imgui_internal. Seperator() in an horizontal layout context still does that. 7 years ago
omar 9142002121 Separator(): Tweak Logging so that the separator text is aligned according to tree padding. 7 years ago
omar d394c7ad0b Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
7 years ago
omar 0106dcbd02 Fixed IsItemHovered() - part of the processing has to be done in ItemAdd() because the widget may alter clipping rectangle temporarily. 7 years ago
omar 2a8eb618dc Nav: Fixed NavDown to open menu from a menu bar (#787) 7 years ago
omar 35f65e05ed Merge branch 'master' into navigation 7 years ago
omar fafe65a8fc Refactor to move the responsability of SetHovered() to ItemHoverable() - previously IsHovered(). Simpler and the parallel to ItemAdd is clearer with the new name. 7 years ago
omar 2159629e9e Removed another msileading difference between the hovered functions (IsWindowContentHoverable() uses the root window already). Sorry for the commit spam! (making small commit to easily be able to Bisect those in case I make a mistake) 7 years ago
omar eca74d55c7 IsItemHovered(), IsHovered(): Shallow tweaks, eventually removed all the braces. 7 years ago
omar 2b7d4c713e Internals: Moved IsWindowContentHoverable() in the file 7 years ago
omar c5a79deb38 IsItemHovered(), IsHovered(): Shallow tweaks to make them more symetrical. Removed one set of braces. 7 years ago
omar 7bcb1d3816 Internals: ButtonBehavior(), IsHovered() moved the responsability of flatten_child higher level to ButtonBehavior() - not super sure about the elegance of this 7 years ago