omar
4aa9d2089d
Begin: Work toward obsoleting the 5-arguments Begin() overload. Removed size_on_first_use from internal BeginEx(). (2)
7 years ago
omar
55d873875e
Begin: Work toward obsoleting the 5-arguments Begin() overload. (1)
7 years ago
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.
7 years ago
omar
c76f014292
Fix IsItemHovered() issue on child by temporarily reverting 344d48be31
. This is not the ideal solution. ( Fix #1370 )
7 years ago
omar
af565ea828
Nav: InputTextMultiline: Fixed navigation/selection. Disabled selecting all when activating a multi-line text editor. ( #787 )
7 years ago
omar
7ea52ac1e4
Nav: InputTextMultiline: Fixed navigation/selection. Disabled selecting all when activating a multi-line text editor. ( #787 )
7 years ago
omar
82a27fd3aa
Nav: InputText: Fixed using Up/Down history callback feature when Nav is enabled ( #787 )
7 years ago
omar
b70c2fa887
Nav: Internals: Moved some internal code to namespace, comments
7 years ago
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
omar
79ef64430c
Nav: Fixed merge cc26db8ec7
7 years ago
omar
cc26db8ec7
Merge branch 'master' into navigation
7 years ago
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.
7 years ago
omar
19e22baa06
ItemAdd(): more re-ordering of tests to match IsHovered() + comments
7 years ago
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
7 years ago
omar
c075786d8b
ItemAdd(): re-ordering the tests, submission should now be faster.
7 years ago
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().
7 years ago
omar
e87ad328e4
Moved implementation of Hovered-related functions next to each others + comments, before I attempt to work on them. No functional change here.
7 years ago
omar
869732c456
Nav: Removed unnecessary combo code (that kept the combo arrow highlighted after reverting to mouse controls). ( #787 )
7 years ago
omar
a2b2e56e8e
Merge branch 'master' into navigation
7 years ago
omar
e56eba44fe
Fixed not being able to move a window by clicking on one of its child window ( #1337 , #635 ), broken by 313d388bba
7 years ago
omar
8374a454da
Removed extraneous ImGui:: prefixes. Declared ColorEditOptionsPopup in imgui_internals.h. Tweaked internal signatures.
7 years ago
omar
bbd6d5d5b5
Combo: Cleaned up, removed unnecessary code (looks like this part went untouched for a long time!).
7 years ago
omar
8fd4beddb8
Merge branch 'master' into navigation
7 years ago
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.
7 years ago
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.
7 years ago
omar
f1a20ec66d
Merge branch 'master' into navigation
7 years ago
omar
be03882a15
Separator(): output vertical separator when used in horizontal layout mode, so it works in menu bars.
7 years ago
omar
c7a606ab7e
Horizontal layout does the minimum job to be usable internally - not exposed ( #97 )
7 years ago
omar
728deff56c
Comments, debug code (commented), todo list
7 years ago
omar
82748df71a
WantCaptureMouse: Tweaked logic so WantCaptureMouse can stay false when e.g. hovering over void while an InputText() is active. ( #621 )
7 years ago
omar
69d0d33451
Exposed PushMultiItemsWidths() to imgui_internal.h
7 years ago
omar
24f21bd4d4
Merge pull request #1113 from Urmeli0815/ImGuiSelectableFlags_MenuItem
...
MenuItem: only activate on Release, not on Click (nb: and not on ClickRelease to allow opening menu and selecting something with a single click. Windows seems to behave the same, allowing to click and hold to e.g. Open then move cursor, release on Save and save gets activated)
7 years ago
omar
7e8069dd23
Merge branch 'master' into navigation
7 years ago
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.
7 years ago
omar
4b2781fe87
Begin: Moving some code into a CalcSizeAutoFit() function.
7 years ago
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.
7 years ago
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.
7 years ago
omar
0a55573288
Begin(): Minor tidying up of flow
7 years ago
omar
9f34925b2a
Window: Tweaked ApplySizeFullWithConstraint() -> CalcSizeFullWithConstraint() so it can be used without side-effect
7 years ago
omar
0a5fb24f10
Popups: Exposing a little more of popups internals in imgui_internals.h
7 years ago
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.
7 years ago
omar
113b2467cd
Minor bits. Reduce usage of GImGui multiple times in same function.
7 years ago
omar
479e532f18
ColorEdit: fixed weird ternary pattern that makes some compiler warning (fair)
7 years ago
omar
f24b5f71ca
Merge branch 'master' into navigation
7 years ago
omar
79ce9b74d5
BeginTooltipEx() internal tweaks
7 years ago
omar
44e8d94aba
Merge branch 'master' into navigation
7 years ago
omar
105f3b14e4
Merge branch 'master' into styles
7 years ago
omar
9693fd5351
PushStyleVar/PopStyleVar: internal tweaks
7 years ago
omar
7c9e38f60a
Style: Moving code in a function to make incoming diff easier to parse.
7 years ago
omar
709653c330
Merge branch 'master' into styles
7 years ago
omar
6c91a1ef7f
Minor comments
7 years ago