Commit Graph
100 Commits
Author SHA1 Message Date
omar 1172ff62e1 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui.h
#	imgui_demo.cpp
#	imgui_internal.h
2017-10-20 18:10:07 +02:00
omar 3cc10d25a9 BeginPopupContextItem(), BeginPopupContextWindow(): Using newly introduced IsItemHovered() flags to allow reopening another context menu (over same or not same item) with right-click. (#439) (+1 squashed commits) 2017-10-20 18:02:52 +02:00
omar 695ea45fca IsWindowHovered(): Changed default behavior to now return false is a widget from another window is active + Added support for ImGuiHoveredFlags_AllowWhenBlockedByActiveItem. (relate to drag'n drop idoms: #143) 2017-10-20 17:59:48 +02:00
omar 564ff2dfd3 IsItemHovered(), IsWindowHovered(): added flags to enable various and more specific behavior. Will enable improvements for popups/context menus and drag'n drop. (relate ~#439, #1013, #143, #925)
The legacy confusing IsItemRectHovered(), IsWindowRectHovered() can be completely removed now.
Changed IsWindowHovered() behavior with default parameter: it now return false is the window is blocked by a popup.
Demo: Added tests for those two functions.
2017-10-20 17:52:22 +02:00
omar d29a6a5a5a Moved IMGUI_DISABLE_OBSOLETE_FUNCTIONS block lower in the imgui.h file so obsolete functions can use flags. Also sane to quarantine them outside of the respectable area. 2017-10-20 17:29:52 +02:00
omar e6f06627e9 Made the ImGuiWindowFlags_NoMove flag inherited from parent to child, so in a setup with RootWindow (no flag) -> Child (NoMove flag) -> SubChild (no flag) user won't be able to move the root window by clicking on SubChild. (#1381) 2017-10-20 16:13:13 +02:00
omar 3b485cda51 Fixed a bug allowing to move a _NoMove window from a child that doesn't have the flag. (#1381)
broken by e56eba44fe (#1337)
2017-10-20 16:09:24 +02:00
omar 87ae40843c Popups: popups can be closed with a right-click anywhere, without altering focus under the popup.(~#439) 2017-10-20 13:26:39 +02:00
omar 853018dd4d Popups: Fixed a bug introduced in 1a35766356 which made the BeginPopupContextXXX functions create popups without border. (nb: all that border mess is going away in styling clean up) 2017-10-20 13:21:42 +02:00
omar 5f7299e15a Refactor EndFrame() code that process focusing window with left mouse button. This commit should be no-op. 2017-10-20 13:07:57 +02:00
omar 2a32a2e662 Demos: Tweaks of popups/context/menus section. 2017-10-20 12:38:48 +02:00
omar e384078d7a IO: reordering some supposedly private fields. 2017-10-19 22:49:36 +02:00
omar 51eed2f257 Merge branch 'master' into navigation 2017-10-19 19:42:27 +02:00
omar 5b699517d4 Internals: PaintVerts** renamed to ShadeVerts**, moved to imgui_draw.cpp and exposed in imgui_internal.h (+1 squashed commits) 2017-10-19 19:42:19 +02:00
omar 22977ffedb Documentation: Extra comments + tweaks to make usage of long-line more bearable. 2017-10-19 19:30:46 +02:00
omar d3c2e904d8 Internals: Added ImLinearSweep() helper. 2017-10-19 19:29:59 +02:00
omar 938f1b720f Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
2017-10-19 00:04:53 +02:00
omar 370a48c10b Internals: RenderCollapseTriangle() -> RenderTriangle(), takes a ImGuiDir 2017-10-18 23:46:16 +02:00
omar 073dd60b4b Merge branch 'master' into navigation 2017-10-18 19:55:34 +02:00
omar a03093b2d4 CollapsingHeader(bool*) variant: fixed for IsItemHovered() to work properly in the nav branch.Basically the close button now has to use ItemAdd() to be navable into, which overwrite the IsItemHovered data. (#600, #787) 2017-10-18 19:55:08 +02:00
omar 29a652adee CollapsingHeader(bool*) variant: fixed for IsItemHovered() to work properly in the nav branch.Basically the close button now has to use ItemAdd() to be navable into, which overwrite the IsItemHovered data. (#600, #787) 2017-10-18 19:51:32 +02:00
omar a126c702d9 Merge branch 'master' into navigation
# Conflicts:
#	imgui_internal.h
2017-10-18 13:09:28 +02:00
omar ef3f87eec5 Internals: ButtonBehavior: made ImGuiButtonFlags_PressedOnClick and ImGuiButtonFlags_PressedOnDoubleClick set the click offset correctly + hold on g.ActiveId so Held state can be reported. Added ImGuiButtonFlags_NoHoldingActiveId flag to disable the later. 2017-10-18 13:08:25 +02:00
omar 1c4af303bf Internals:Helpers: Added ImSwap(int,int), exposed ImStrncpy(). 2017-10-18 13:08:14 +02:00
omar bf778ebb7e Checkbox: Using checkmark. MenuItem: Tweaked checkmark, thicker. 2017-10-18 13:06:49 +02:00
omar d96b6ecf88 Merge branch 'master' into navigation
# Conflicts:
#	imgui_demo.cpp
2017-10-17 16:20:35 +02:00
omar 03b76bf05b Begin: Marked 5 parameters version of Begin() as obsolete. Now waiting for a riot to happen! 2017-10-17 16:19:21 +02:00
omar 78a85ba3fe Begin: Work toward obsoleting the 5-arguments Begin() overload. Internal BeginEx() becomes the normal public Begin() again! (4) 2017-10-17 16:15:46 +02:00
omar 2739b6ebcd Begin: Work toward obsoleting the 5-arguments Begin() overload. Removed bg_alpha from internal BeginEx(). (3) 2017-10-17 16:14:20 +02:00
omar 4aa9d2089d Begin: Work toward obsoleting the 5-arguments Begin() overload. Removed size_on_first_use from internal BeginEx(). (2) 2017-10-17 15:51:20 +02:00
omar 55d873875e Begin: Work toward obsoleting the 5-arguments Begin() overload. (1) 2017-10-17 15:47:55 +02:00
omar 1a35766356 BeginPopupContextItem() now supports a NULL string identifier and uses the last item ID if available. For interactive items (that have an ID) this works! For non interactive items we assert. 2017-10-16 23:37:12 +02:00
omar c76f014292 Fix IsItemHovered() issue on child by temporarily reverting 344d48be31. This is not the ideal solution. (Fix #1370) 2017-10-16 16:41:09 +02:00
omar af565ea828 Nav: InputTextMultiline: Fixed navigation/selection. Disabled selecting all when activating a multi-line text editor. (#787) 2017-10-16 02:41:28 +02:00
omar 7ea52ac1e4 Nav: InputTextMultiline: Fixed navigation/selection. Disabled selecting all when activating a multi-line text editor. (#787) 2017-10-16 02:30:59 +02:00
omar 82a27fd3aa Nav: InputText: Fixed using Up/Down history callback feature when Nav is enabled (#787) 2017-10-16 02:06:42 +02:00
omar b70c2fa887 Nav: Internals: Moved some internal code to namespace, comments 2017-10-16 00:46:23 +02:00
omar ae1866c424 Nav: NavProcessItem() updates current NavLayer. Basically we're hearing toward rebuilidng nav info from an id. (#787). 2017-10-16 00:38:42 +02:00
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) 2017-10-16 00:36:31 +02:00
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) 2017-10-16 00:33:30 +02:00
omar 83416fa5da Merge branch 'master' into navigation 2017-10-15 21:28:17 +02:00
omar e32569dd5a ImDrawList: Fixed a bug in ChannelsMerge() leading to an extraneous draw call being created, which unexpectly led to more dramatic condition but to faulty draw command merging code. (#1172, #1368) 2017-10-15 21:07:22 +02:00
omar d761825cfb Nav: Renaming a field + Comments. 2017-10-15 17:57:15 +02:00
omar ce7b04e8b9 Removed apparently unncessary code in InputFloatN() and InputInt(). 2017-10-13 23:59:17 +02:00
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) 2017-10-13 19:18:59 +02:00
omar c42baf392a Reluctantly exposed GetActiveID(), GetHoveredID() in imgui_internal because the demo code will need it. 2017-10-13 16:48:14 +02:00
omar 53780a4fcc Nav: Shallow tweaks. 2017-10-13 16:23:44 +02:00
omar f852b9a52a Exposed Scrollbar() in imgui_internal.h and removed a bool arg 2017-10-13 13:31:34 +02:00
omar b667d5a9e7 Nav: Internals: Renamed ImGuiButtonFlags_NoNavOverride to ImGuiButtonFlags_NoNavFocus + fixed a theorically missing test in ButtonBehavior() (#787) 2017-10-13 13:31:34 +02:00
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().
2017-10-13 13:31:34 +02:00
omar 8b095e483b Internals: Moved SetNavID() and renamed casing to be consistent with stuff exposed in imgui_internal.h 2017-10-13 13:31:34 +02:00
omar 4be967823f Exposed Scrollbar() in imgui_internal.h and removed a bool arg 2017-10-13 13:30:28 +02:00
omar 48498b337d Internals: SetActiveID window cannot be NULL 2017-10-13 13:07:07 +02:00
omar 4548bcb5c9 Nav: commiting shallow bits to reduce noise from working copy/upcoming commit. 2017-10-12 02:09:13 +02:00
omar 17519c313a Nav: Extract part of NavUpdate() into a saner NavUpdateWindowingTarget() (#787) 2017-10-11 20:47:41 +02:00
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) 2017-10-11 20:37:45 +02:00
omar f0d437dd9c Nav: SetActiveId() uses SetActiveIDNoNav() to avoid duplicating logic. (#787) 2017-10-11 20:29:53 +02:00
omar 2047c58efb Nav: Extract part of NavUpdate() into a saner NavScrollToBringItemIntoView() (#787) 2017-10-11 20:28:16 +02:00
omar 7a14d7dfdc Nav: More consistently drawing a (thin) navigation rectangle hover filled frames such as tree nodes, collapsing header, menus. (#787) 2017-10-11 19:05:36 +02:00
omar 3833f1f7a2 Merge branch 'master' into navigation 2017-10-11 15:38:33 +02:00
omar 43b4a81b3e Rnamed AlignFirstTextHeightToWidgets() to AlignTextToFramePadding(). Kept inline redirection function (will obsolete). 2017-10-11 15:36:57 +02:00
omar 578a588c1d Links 2017-10-11 15:26:35 +02:00
omar 4cfec4813e Links 2017-10-11 15:24:54 +02:00
omar c6e370a77a TreeNode: Added ImGuiTreeNodeFlags_FramePadding flag 2017-10-11 15:16:11 +02:00
omar 69dd895358 Nav: Renaming NavInitDefaultRequest -> NavInitRequest 2017-10-06 15:54:29 -07:00
omar 4d83078885 Nav: Moving code next to its peers 2017-10-06 15:50:32 -07:00
omar d2975115cd Nav: Caching into g.NavAnyRequest to minimize hot path cost (and so we can add many more request sources) 2017-10-06 15:14:28 -07:00
omar d91b093be6 Nav: Minor tweaks in NavProcessItem() used by ItemAdd() 2017-10-06 14:56:25 -07:00
omar c3105919ba Nav: Minor tweaks also toward removing processing from ItemAdd() 2017-10-06 14:51:15 -07:00
omar d16309ca77 Internal: ItemAdd() minor shallow tweaks 2017-10-06 14:40:53 -07:00
omar 64ce83b9ed Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
2017-10-06 14:27:29 -07:00
omar 042153d254 Internal: ItemAdd(), IsClippedEx(): removed unnecessary indirection for ID parameter 2017-10-06 14:23:18 -07:00
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. 2017-10-06 11:48:07 -07:00
omar 6e1199c603 Merge branch 'master' into navigation 2017-10-06 11:24:58 -07:00
omar 335c8dd159 Comments (clarifying whether types are to be considered as flags or regular, non combinable enums) 2017-10-06 11:23:08 -07:00
omar f451785c9e Nav: Shuffled code in ItemAdd() so that NavProcessItem() may have access to LastItemId (will be required by tabbing) 2017-10-06 10:17:01 -07:00
omar e12cfa9dfd Nav: Minor midying up and comments, 2017-10-06 09:44:50 -07:00
omar 40df7a5155 Nav: Removed possibly redundant test prior to calling NavProcessItem() from ItemAdd() 2017-10-06 09:40:13 -07:00
omar a77dd02e8a Nav: Moving code next to its peers 2017-10-05 22:06:46 -07:00
omar f5bd4663dd Nav: Moving the big chunk of code from ItemAdd() to NavProcessItem() 2017-10-05 22:02:13 -07:00
omar 59c6f35bf6 Added ActivateItem(), GetItemID() functions. 2017-10-05 21:34:01 -07:00
omar 80c4e2fe7b Nav: Tidying up activation mechanism so that setting NavActivateId can trigger buttons. 2017-10-05 21:27:08 -07:00
omar 2f27b733be Nav: Fixed uninitialized context variables for sanity. 2017-10-05 18:33:40 -07:00
omar 518f02f4de Demo: better demo for SetKeyboardFocusHere() 2017-10-05 18:10:59 -07:00
omar d851775c80 ColorButton: Reduced bordering artefact that would be particularly visible with opaque Col_FrameBg and FrameRounding enabled. 2017-10-05 17:55:27 -07:00
omar f2c9bd8d4f Nav: Fixed uninitialized context variables for sanity. 2017-10-05 16:39:59 -07:00
omar 726dcf0dd2 TextUnformatted(): minor tweak 2017-10-05 11:03:38 -07:00
omar a0d724b450 Made AlignFirstTextHeightToWidgets() saner and faster (still disliking its name very much!) 2017-10-05 11:02:23 -07:00
omar a3d0755181 Merge branch 'master' into navigation 2017-10-05 10:31:37 -07:00
omar f326fac64a Nav: Menus and popups now have move request wrap around vertically (using the move request forward thing added recently). (#787) 2017-10-05 10:29:17 -07:00
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) 2017-10-05 09:53:07 -07:00
omar 63cd2bf9b1 Removed obsolete comment. 2017-10-05 09:40:06 -07:00
omar b3099d650c Examples: Adding Roboto to the commented-out font list, and removing the unnecessary ProggyClean from there. 2017-10-04 19:28:04 -07:00
omar 3ddcdcf6e7 Merge branch 'master' into navigation 2017-10-04 18:46:09 -07:00
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. 2017-10-04 18:13:57 -07:00
omar 89ab4b5e07 TODO update 2017-10-04 15:42:03 -07:00
omar 42ee537be3 Comments 2017-10-04 10:45:35 -07:00
omar a56b71e866 Nav: Added code to render thin highlight type. (#787) 2017-10-04 10:44:27 -07:00
omar 6ea90af6b7 Nav: Highlight clipped within host window then extruded out. (#787) 2017-10-03 13:53:17 -07:00
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) 2017-10-03 13:44:48 -07:00