omar
0046c618b0
Nav: Allow to collapse tree nodes with NavLeft and open them with NavRight ( #787 , #1079 )
2017-09-30 00:47:07 +02:00
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 )
2017-09-30 00:26:55 +02:00
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)
2017-09-29 23:39:34 +02:00
omar
587e637db0
Nav: Taking note that we should aim to remove MenuBarAppending later.
2017-09-29 23:37:14 +02:00
omar
1eaa9d0621
Nav: Fixed uninitialized variable (that had no side-effects due to the code/data flow involved)
2017-09-29 23:37:14 +02:00
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 )
2017-09-29 23:37:14 +02:00
omar
cf3b21179b
Nav: Comments
2017-09-29 20:03:02 +02:00
omar
5a9ebeca9e
Nav: Fix typo from 9712a81f85
2017-09-29 19:49:20 +02:00
omar
bfaa426f7f
Nav: Minor tidying up (adding local variables to be a little more sane).
2017-09-29 19:48:16 +02:00
omar
8a5a29f0be
Nav: Renamed internal field.
2017-09-29 19:28:19 +02:00
omar
9712a81f85
Nav: Rectangle rectangle stored per window and per layer as well. Makes things simpler, allows enable us to visualize more data.
2017-09-29 19:26:03 +02:00
omar
54eb4c485e
Nav: Marked misleading/broken code that will never execute.
2017-09-29 19:15:24 +02:00
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 )
2017-09-29 18:24:43 +02:00
omar
9737efb2f1
Nav: Store per-window last nav id also per-layer so we can easily query them for menu navigation code. ( #787 )
2017-09-29 17:58:25 +02:00
omar
8a814487fe
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2017-09-29 16:30:43 +02:00
omar
fba9353c60
BeginMenu: Shuffling braces around to clarify flow
2017-09-29 16:29:00 +02:00
omar
cf308f4039
Nav: Fixed SetItemDefaultFocus from stealing default focus when we are initializing default focus for a menu bar layer ( #787 )
2017-09-29 00:20:51 +02:00
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 )
2017-09-29 00:01:26 +02:00
omar
30b1d85962
Nav: Commiting some better organized Debug helper because this going to stay for a bit.
2017-09-28 23:48:30 +02:00
omar
3b85a8b6a0
Demo: Added an extra test related to baseline and fixed an id collision.
2017-09-28 22:01:08 +02:00
omar
164f22d5b7
Comments
2017-09-28 22:00:49 +02:00
omar
1f7f54e196
Removed extraneous test.
2017-09-28 22:00:17 +02:00
omar
df366b230e
ColorPicker4: Use nav flag to provide a slighly better experience when using navigation ( #787 , #346 )
2017-09-28 20:22:30 +02:00
omar
7c2926de17
Demo: Added an extra test related to baseline and fixed an id collision.
2017-09-28 20:15:32 +02:00
omar
2d859dee4e
Nav: Added ImGuiItemFlags_NoNav item flag
2017-09-28 19:58:01 +02:00
omar
878fa96896
Nav: Re-arranged ItemAdd() to maximize early out ( #787 )
2017-09-28 19:57:24 +02:00
omar
dd0855de5c
ButtonBehavior: Tidying up.
2017-09-28 19:47:45 +02:00
omar
4b4e455c40
Nav: Internal nenaming
2017-09-28 19:41:30 +02:00
omar
50ba543743
Comments
2017-09-28 19:35:10 +02:00
omar
e0a2a832cd
Nav: Changed internal flag to NoNavDefaultFocus to be false by allow, and more consistent ( #787 )
2017-09-28 19:18:41 +02:00
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 )
2017-09-28 19:07:52 +02:00
omar
ca4db8c905
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2017-09-28 17:40:25 +02:00
omar
e8f7c83138
Begin: Shallow tweak to minimize diff with nav branch
2017-09-28 17:37:55 +02:00
omar
926c1cf9a4
Merged from Navigation branch: ImGuiItemFlags_SelectableDontClosePopup flag
2017-09-28 17:02:28 +02:00
omar
f99348711b
Added VerticalSeparator() entry point in imgui_internal. Seperator() in an horizontal layout context still does that.
2017-09-28 16:41:01 +02:00
omar
9142002121
Separator(): Tweak Logging so that the separator text is aligned according to tree padding.
2017-09-28 16:40:28 +02:00
omar
d394c7ad0b
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2017-09-28 15:45:35 +02:00
omar
0106dcbd02
Fixed IsItemHovered() - part of the processing has to be done in ItemAdd() because the widget may alter clipping rectangle temporarily.
2017-09-28 15:43:26 +02:00
omar
2a8eb618dc
Nav: Fixed NavDown to open menu from a menu bar ( #787 )
2017-09-28 00:36:58 +02:00
omar
35f65e05ed
Merge branch 'master' into navigation
2017-09-28 00:33:29 +02:00
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.
2017-09-28 00:21:47 +02:00
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)
2017-09-28 00:05:35 +02:00
omar
eca74d55c7
IsItemHovered(), IsHovered(): Shallow tweaks, eventually removed all the braces.
2017-09-28 00:05:18 +02:00
omar
2b7d4c713e
Internals: Moved IsWindowContentHoverable() in the file
2017-09-27 23:31:03 +02:00
omar
c5a79deb38
IsItemHovered(), IsHovered(): Shallow tweaks to make them more symetrical. Removed one set of braces.
2017-09-27 23:10:46 +02:00
omar
7bcb1d3816
Internals: ButtonBehavior(), IsHovered() moved the responsability of flatten_child higher level to ButtonBehavior() - not super sure about the elegance of this
2017-09-27 22:59:40 +02:00
omar
79ef64430c
Nav: Fixed merge cc26db8ec7
2017-09-27 17:27:21 +02:00
omar
cc26db8ec7
Merge branch 'master' into navigation
2017-09-27 17:25:50 +02:00
omar
0adcddac39
IsItemHovered(), ItemAdd(): finishing cleaning up, moved the code to IsItemHovered() so ItemAdd() is more lightweight and the two IsXXXHovered functions are now very similar, making their differences less confusing.
2017-09-27 17:21:50 +02:00
omar
19e22baa06
ItemAdd(): more re-ordering of tests to match IsHovered() + comments
2017-09-27 17:06:07 +02:00
omar
344d48be31
IsItemHovered(), ItemAdd(): Fixed seemingly unnecessary comparaison of root windows, makes IsItemHovered() more consistent with internal IsHovered().
...
Original test was added in 6e99688fa7 should not have been using RootWindow in the first place.
The difference between public-facing and internal versions would only be noticeable with overlapped child windows, which doesn't really happen anyway
2017-09-27 16:49:25 +02:00
omar
c075786d8b
ItemAdd(): re-ordering the tests, submission should now be faster.
2017-09-27 16:29:46 +02:00
omar
99c7622a1b
ItemAdd(), not performing computation for IsItemRectHovered() which does them itself, allowing us in the next commit to optimize ItemAdd() and make its logic more consistent with IsHovered().
2017-09-27 16:20:53 +02:00
omar
e87ad328e4
Moved implementation of Hovered-related functions next to each others + comments, before I attempt to work on them. No functional change here.
2017-09-27 16:07:47 +02:00
omar
842e88a8e3
Examples: Avoid using ImColor() to not tempt newcomers into looking at it
2017-09-27 15:47:08 +02:00
omar
869732c456
Nav: Removed unnecessary combo code (that kept the combo arrow highlighted after reverting to mouse controls). ( #787 )
2017-09-27 12:34:18 +02:00
omar
a2b2e56e8e
Merge branch 'master' into navigation
2017-09-27 12:31:12 +02:00
omar
e56eba44fe
Fixed not being able to move a window by clicking on one of its child window ( #1337 , #635 ), broken by https://github.com/ocornut/imgui/commit/313d388bba42e0634a02b976dcdbae238d25eddc
2017-09-27 12:25:40 +02:00
omar
8374a454da
Removed extraneous ImGui:: prefixes. Declared ColorEditOptionsPopup in imgui_internals.h. Tweaked internal signatures.
2017-09-27 11:39:13 +02:00
omar
09f6f564d9
ImFontAtlas: Fixed calling Clear() and rebuilding (broken in 3fe2ecfd4c) thanks @pdoane @mikesart
2017-09-27 11:21:42 +02:00
omar
bbd6d5d5b5
Combo: Cleaned up, removed unnecessary code (looks like this part went untouched for a long time!).
2017-09-27 00:20:09 +02:00
omar
8fd4beddb8
Merge branch 'master' into navigation
2017-09-26 20:28:40 +02:00
omar
3fe2ecfd4c
ImFontAtlas: Added support for CustomRect API to submit custom rectangles to be packed into the atlas / and map them as font glyphs
2017-09-26 20:24:27 +02:00
omar
501e73feed
Minor comments
2017-09-26 20:18:14 +02:00
omar
9e1ad7295f
ImFont: Renamed (supposedly internal) fields (e.g. XAdvance to AdvanceX). Custom text renderers might be affected if they didn't use the GetCharAdvance() helper function.
2017-09-26 20:05:16 +02:00
omar
10bb9524eb
ImFont: Renamed ImFont::Glyph to ImFontGlyph (for consistency and so ImFontAtlas types can use it without ordering half of the file). Left a redirection type.
2017-09-26 19:54:30 +02:00
omar
072d6d8cb5
ImFontAtlas: Refactored internals API to 1) avoid building lookup table multiple times for merged fonts + 2) allow the mapping of custom icons inside fonts (wip, uncommited)
2017-09-26 19:26:16 +02:00
omar
2170b0b278
ImFontAtlas: Comments and minor reorganization of declaration in header file.
2017-09-26 19:10:29 +02:00
omar
529ca279a4
ImFont: Split some building code into a AddGlyph() helper (that custom rect code and imgui_freetype can use)
2017-09-26 18:41:21 +02:00
omar
f1a20ec66d
Merge branch 'master' into navigation
2017-09-26 16:54:37 +02:00
omar
be03882a15
Separator(): output vertical separator when used in horizontal layout mode, so it works in menu bars.
2017-09-26 15:43:48 +02:00
omar
c7a606ab7e
Horizontal layout does the minimum job to be usable internally - not exposed ( #97 )
2017-09-26 15:42:55 +02:00
omar
728deff56c
Comments, debug code (commented), todo list
2017-09-26 15:33:57 +02:00
omar
99b9f1c93c
Fix static misusage error with decent compilers. Error introduced in 4b82759598
2017-09-26 11:23:06 +02:00
omar
82748df71a
WantCaptureMouse: Tweaked logic so WantCaptureMouse can stay false when e.g. hovering over void while an InputText() is active. ( #621 )
2017-09-26 01:12:09 +02:00
omar
69d0d33451
Exposed PushMultiItemsWidths() to imgui_internal.h
2017-09-25 22:45:10 +02:00
omar
9577ebf008
Merge branch 'master' into navigation
2017-09-25 22:14:37 +02:00
omar
7e8069dd23
Merge branch 'master' into navigation
2017-09-25 22:08:38 +02:00
omar
c0547d358d
Begin: Fixed auto-fit calculation code that predict the presence of ascrollbar so it works in the case size constraints are used. I actually don't need this fix now, but earlier experiment with BeginCombo() required this fix.
2017-09-25 22:04:39 +02:00
omar
4b2781fe87
Begin: Moving some code into a CalcSizeAutoFit() function.
2017-09-25 21:57:42 +02:00
omar
0d56140b4a
BeginCombo(): rework internals a little to make it easier to provide custom combo-like elements relying in BeginCombo().
...
BeginPopupEx() doesn't enforce AlwaysAutoResize flag anymore.
2017-09-25 21:45:34 +02:00
omar
a34edb810e
Demo: Fixed overlay demo keeps resizing (in case, e.g.: font changes)
2017-09-25 21:12:07 +02:00
omar
4b82759598
SetNextWindowPos: added a ImVec2 pivot parameter for positioning a given a center, bottom-right position, etc. As a generalization of SetNextWindowPosCenter() which is now obsolete. This will be useful for combo-like popups as well.
...
Demo: Simple-overlay window uses the SetWindowPos pivot to select a corner to position itself at.
2017-09-25 18:25:43 +02:00
omar
0a55573288
Begin(): Minor tidying up of flow
2017-09-25 15:48:52 +02:00
omar
9f34925b2a
Window: Tweaked ApplySizeFullWithConstraint() -> CalcSizeFullWithConstraint() so it can be used without side-effect
2017-09-25 13:23:25 +02:00
omar
0a5fb24f10
Popups: Exposing a little more of popups internals in imgui_internals.h
2017-09-25 12:52:06 +02:00
omar
3dd3d0b248
Examples: DirectX11: allow creating device with feature level 10 sinec we don't really need much for that example. ( #1333 )
2017-09-24 12:54:49 +02:00
omar
b9c185402e
Nav: minor tidying up NavUpdate() to use a local variables, easier to test replacing g.NavWindow with g NavMoveResultWindow for navigation accross flattened child windows.
2017-09-20 23:58:56 +02:00
omar
113b2467cd
Minor bits. Reduce usage of GImGui multiple times in same function.
2017-09-20 23:02:06 +02:00
omar
229921541b
TODO list
2017-09-20 18:54:36 +02:00
omar
479e532f18
ColorEdit: fixed weird ternary pattern that makes some compiler warning (fair)
2017-09-18 21:41:49 +02:00
omar
92e55a8a79
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.h
2017-09-18 16:06:48 +02:00
ocornut
d5d825debb
Nav/Examples: honoring the io.WantMoveMouse flag in most common examples ( #323 )
...
Missing support Vulkan (#549 ), Apple (#575 , #247 ), SDL (#58 , #356 ),
Allegro, Marmalade (#368 , #375 )
2017-09-18 16:04:44 +02:00
omar
1ff27d7db8
Added io.WantMoveMouse flags from Nav branch so Examples/Binding can already implement it. ( #787 )
2017-09-18 16:04:28 +02:00
omar
f24b5f71ca
Merge branch 'master' into navigation
2017-09-18 15:35:47 +02:00
omar
79ce9b74d5
BeginTooltipEx() internal tweaks
2017-09-18 15:35:00 +02:00
omar
44e8d94aba
Merge branch 'master' into navigation
2017-09-18 15:32:31 +02:00
omar
105f3b14e4
Merge branch 'master' into styles
2017-09-18 15:11:51 +02:00
omar
564c97b87e
Comments
2017-09-18 15:11:22 +02:00
omar
f0f86213db
ImVector: added resize() variant with initialization value
2017-09-18 15:11:05 +02:00