omar
f988618ebe
Internal: InputText: Tweaks (including a large indentation change, compare ignoring space) to make next commit more digestible.
2019-02-21 23:06:26 +01:00
omar
be593f2c16
Internal: InputText: refactor the flow to easily decorrelate rendering of selection vs cursor, which would allow us to render selection on inactive items, and generally makes the code clearer. + Some renaming.
2019-02-21 22:56:09 +01:00
omar
332f8f2462
Internal: InputText: Made clipboard copy/cut use its own temporary buffer (like paste) so we can guarantee that TempBuffer if not altered and can be preserved. Renamed TempBufferA to TextA to celebrate this.
2019-02-21 19:55:37 +01:00
omar
81a8730022
Internal: InputText: Renamed is_editable to !is_readonly, Hopefully more explicit. Renamed internal member. Shuffled some code. Added comments, assert (_will_ trigger on !readonly > readonly edge, old bug).
2019-02-21 19:55:36 +01:00
omar
cc3be5d428
InputText: Fixed an edge case crash that would happen if another widget sharing the same ID is being swapped with an InputText that has yet to be activated.
2019-02-21 19:55:36 +01:00
omar
2e9a175057
Internal: InputText: Refactor to clarify access pattern to the InputTextState (we are now accessing via a pointer which can be NULL, shortened its name while we are at it) + added an assert to track an issue that existed already before.
2019-02-21 19:55:36 +01:00
omar
677e64e71e
Internal: InputText: Comments. Renamed internal member. Renamed ImGuiStb->ImStb.
2019-02-20 21:34:08 +01:00
omar
782b747a17
InputText: Renamed some local variables to clarify code. Should be a no-op functionality wise. TODO items.
2019-02-20 00:45:45 +01:00
omar
7c51cba74f
InputInt, InputFloat, InputScalar: Fix to keep the label of the +/- buttons centered when style.FramePadding.x is abnormally larger than style.FramePadding.y. Since the buttons are meant to be square (to align with e.g. color button) we always use FramePadding.y. ( #2367 )
2019-02-20 00:20:11 +01:00
omar
257f5d204e
Version 1.69 WIP
2019-02-20 00:11:36 +01:00
omar
93b06e6e7c
Internal: Changed Scrollbar() signature. Using GetScrollbarID() in InputTextMultiline().
...
Removed multiple semi-colons (#2368 )
2019-02-20 00:08:21 +01:00
omar
77833003ff
Fixed unused argument warning when compiling with IM_ASERT() evaluating to an empty macro.
2019-02-19 17:32:14 +01:00
omar
3c15dffc94
Version 1.68
2019-02-19 12:50:46 +01:00
haldean
b277cfffc8
Selectable: add support for specifying text alignment on selectables ( #2347 )
...
Adds a style variable to Selectable that allows clients to specify the
text alignment within Selectables, adds a section in the demo to
demonstrate selectable text alignment, and a pair of sliders in the
style editor to change selectable alignment on the fly.
In terms of implementation, this one is extremely simple: Selectable was
already calling an API that supports text alignment, but had hard-coded
it to top-left. This changes that to just pass the style variable
straight through to RenderTextClipped. Backwards-compatibility is
preserved by defaulting the text_align parameter to (0, 0), i.e.,
top-left.
This also fixes a bug with selectable text rendering that caused
right-aligned text in a selectable to be clipped incorrectly, because
the wrong clipping rectangle was being used.
2019-02-14 19:38:57 +01:00
omar
0236bc246f
Scrollbar: Fade out and disable interaction when too small, in order to facilitate using the resize grab on very small window, as well as reducing visual noise/overlap. (+1 squashed commits)
...
Internals: Added GetScrollbarID(). (#1185 )
2019-02-14 14:07:59 +01:00
omar
0640b6e67c
Shallow tweaks
2019-02-12 22:15:19 +01:00
omar
1b63ded8fa
Tabs: Fixed border (when enabled) so it is aligned correctly mid-pixel and appears as bright as other borders.
2019-02-07 12:07:53 +01:00
omar
29d38b59d0
ListBox/InputTextMultiline: Better optimized when clipped / non-visible.
2019-02-06 14:46:14 +01:00
omar
62084aac0f
DragScalarN, SliderScalarN, InputScalarN: Removed unnecessary string id after the integer PushID() calls.
2019-02-06 14:39:00 +01:00
omar
f366828dd2
Minor tweaks to reduce false positive of PVS Studio static analyzer.
2019-02-06 13:16:52 +01:00
omar
5bdc7d7a6f
Menus: Tweaked horizontal overlap between parent and child menu (to help convey relative depth) from using style.ItemSpacing.x to style.ItemInnerSpacing.x, the later being expected to be smaller. ( #1086 )
2019-02-06 12:32:10 +01:00
omar
97ed97b8ce
Plot: Register an ID to take the click the same way as other framed widgets. Set HoveredId in the FramePadding zone (between inner_bb and frame_bb).
2019-02-05 21:17:04 +01:00
omar
cef4e086ba
Internals: Selectable: Fixed rendering width miscalculation when starting pos is not line start pos, which would generally be unnoticeable. Could affect group lock X with a smaller SetCursorPos value but that's unlikely to be used.
2019-02-05 21:17:00 +01:00
omar
521470b3cd
Internals: Removed unnecessary code.
2019-02-05 21:16:32 +01:00
omar
b980e0077a
Tabs: Moved Tab List Popup to left-side to match docking button. Highlight selected tab. ( #261 , #351 )
2019-02-05 13:39:48 +01:00
omar
d38f4dc143
Tabs: Non-docking tab bars are storing names to allow tab list button + whole style scaling. Added ImGuiTabBarFlags_TabListPopupButton flag to show a popup button on manual tab bars. Locking FramePadding for the scope of a tab-bar to avoid sheering/clipping of tab item. Made scaling of tab ellipsis less awkward. ( #261 , #351 )
2019-02-05 13:23:44 +01:00
omar
f7c879eb60
RadioButton: Fixed label horizontal alignment to precisely match Checkbox(). + Internals: Checkbox, RadioButton: Single call to ItemSize() for flow layout purpose.
2019-02-04 23:34:32 +01:00
omar
0b05ba18df
Internals: DragScalar, SliderScalar: Calling ItemSize before ItemAdd as with every other widgets so we can more easily rearrange the signature of ItemXXX functions (toward allowing non-rounded sizes for scaling and flow layout).
2019-02-04 23:34:27 +01:00
omar
d5945aa25b
Internals: Minor changes to TreeNodeBehavior() and Selectable() for the benefit of fhe range_select branch. ( #1861 )
2019-02-01 12:14:38 +01:00
omar
0d4a2a2cd0
Internals: Track ActiveIdHasBeenPressed (similar to ActiveIdHasBeenEdited). This is currently mostly for the benefit of the range_select branch. ( #1861 )
2019-02-01 12:14:37 +01:00
omar
1fb57c97c6
Internals: InputScalarAsWidgetReplacement: Fixed seemingly unnecessary calling of SetActiveID/SetHoveredID every frame, which in turns allow us to remove the g.ActiveIdAllow/Block settings duplicated.
2019-01-30 15:41:20 +01:00
omar
fb4f1ff7f6
InputText: Fixed a bug where ESCAPE would be first captured by the Keyboard Navigation code. ( #2321 , #787 )
2019-01-30 15:16:09 +01:00
omar
158995f271
InputText: Fixed a bug where ESCAPE would not restore the initial value in all situations. ( #2321 ) [@relick]
2019-01-30 13:15:14 +01:00
omar
0a233a505d
imgui-test: Added extra item info callbacks. Using nav_bb for interactions when possible. Comments, Demo tweaks.
2019-01-30 12:53:01 +01:00
omar
4e8e177cac
Persistently fixing some PVS-Studio static analyzer false positive warnings.
2019-01-27 16:35:48 +01:00
omar
ee3b4f2bf1
Using IM_UNUSED() macro.
2019-01-27 16:23:23 +01:00
omar
c3c2cd1e82
Fix various XCode and PVS-Studio static analyzer warnings ( #2309 )
2019-01-27 16:18:23 +01:00
omar
f14f93ef6e
Fixed range-version of PushID() and GetID() not honoring the ### operator to restart from the seed value.
2019-01-21 16:50:27 +01:00
omar
2c38b32db1
Removed trailing spaces ( #2038 , #2299 )
2019-01-20 17:56:17 +01:00
omar
f94ba546ba
Added checks for "zero-as-null-pointer-constant" warnings for older Clang ( #2299 , followup to #2277 )
2019-01-20 17:46:00 +01:00
omar
06aaf23877
Various tweaks and fixes as suggested by PVS Studio (thanks PVS Studio!)
2019-01-16 16:10:51 +01:00
omar
95ee99e6aa
Version 1.68 WIP
2019-01-15 20:19:05 +01:00
omar
7a5058e3bf
Version 1.67
2019-01-14 17:41:44 +01:00
omar
1da40df279
DragFloat: Fixed broken mouse direction change with power!=1.0. ( #2174 , #2206 ) [@Joshhua5]
2019-01-14 17:38:19 +01:00
omar
6e41745f31
Added a bunch of diagnostic ignore to cope with Clang -Weverything being absurd. Also fixed two legit warnings. ( #2277 )
2019-01-13 18:57:46 +01:00
omar
1f6e0b2f98
ImVector: Made a struct. Using T/T* in the code instead of value_type/iterator. Renamed index_from_pointer() to index_from_ptr() (was not documented, added in 1.63, users not supposed to use ImVector, hopefully not a big deal).
2019-01-10 15:51:08 +01:00
omar
61a99f994e
Minot internal tweaks, comments
2019-01-08 23:11:54 +01:00
omar
b33977bc15
Tests: Reworking hook prototypes for imgui-test to be faster and multi-context friendly.
2019-01-07 23:59:05 +01:00
omar
c2db7f63bd
Selectable() should have an ID even though they are disabled, to be consistent with other widgets. Not sure of the reasoning ~1.41 which made this turn to 0.
2019-01-07 23:48:50 +01:00
omar
1ae7f88495
Tabs: Added ImGuiTabBarFlags_NoTooltip flag. ( #261 , #351 ) + added helpful assert
2019-01-07 18:07:09 +01:00
omar
acfa4050ec
Tweak changelog + tweak internal render helper functions.
2019-01-07 16:43:55 +01:00
omar
c3af134cc8
IO: Renamed InputCharacters[], marked internal as was always intended. AddInputCharacter() goes into a queue which can receive as many characters as needed during the frame. This is useful for automation to not have an upper limit on typing speed. Will later transition key/mouse to use the event queue later.
2019-01-06 16:37:42 +01:00
omar
9ba202821f
Nav: Fixed an keyboard issue where holding Activate/Space for longer than two frames on a button would unnecessary keep the focus on the parent window, which could steal it from newly appearing windows. ( #787 )
2019-01-04 19:03:56 +01:00
omar
d223d1e951
Added bindings in Readme. Added internal IMGUI_DEBUG_LOG() helper. Comments, missing breaking changes note relative to imgui_impl_xxxx changes, not really part of core but worth adding in the imgui.cpp breaking change section.
2019-01-04 18:01:43 +01:00
omar
acacd93836
Renamed extra_flags to flags in InputXXX parameters.
2019-01-02 11:08:14 +01:00
omar
c738f9ef92
InputFloat: When using ImGuiInputTextFlags_ReadOnly the step buttons are disabled. ( #2257 )
2019-01-02 11:03:56 +01:00
omar
ae76a1fda7
Window, Focus, Popup: Fixed an issue where closing a popup by clicking another window with the _NoMove flag would refocus the parent window of the popup instead of the newly clicked window.
2018-12-18 15:01:15 +01:00
omar
65dac02171
Internals: Popups: Renamed CurrentPopupStack to BeginPopupStack which is much less ambiguous.
2018-12-14 18:44:17 +01:00
omar
f6f5c51106
Internals: Popups: EndMenu() calls ClosePopupToLevel(g.CurrentPopupStack.Size) which is more correct.
2018-12-14 18:42:28 +01:00
omar
587506dd57
Tests: Changed prototype of ImGuiTestEngineHook_ItemAdd to match functions called in same spot. Made ButtonBehavior submit fallback item info if ItemAdd() was not called (for resize grips, resize borders, scrollbar, columns, etc.)
2018-12-14 11:27:02 +01:00
omar
1b263f6ab0
Tabs: Fixed support for drag and drop ImGuiButtonFlags_PressedOnDragDropHold. ( #261 ) incorrectly missing from the merge from Docking branch.
2018-12-11 19:37:22 +01:00
omar
5a6b8e00db
BeginTabBar: Fix to push the expected ID into the ID stack (instead of a hash's hash). ( #261 )
2018-12-11 15:22:10 +01:00
omar
54a60aaa40
Added BETA api for Tab Bar/Tabs widgets. ( #261 , #351 ) (merged this feature from the from Docking branch so it can be used earlier as as standalone feature)
...
- Added BeginTabBar(), EndTabBar(), BeginTabItem(), EndTabItem(), SetTabItemClosed() API.
- Added ImGuiTabBarFlags flags for BeginTabBar().
- Added ImGuiTabItemFlags flags for BeginTabItem().
- Style: Added ImGuiCol_Tab, ImGuiCol_TabHovered, ImGuiCol_TabActive, ImGuiCol_TabUnfocused, ImGuiCol_TabUnfocusedActive colors.
- Demo: Added Layout->Tabs demo code.
- Demo: Added "Documents" example app showcasing possible use for tabs.
2018-12-11 12:36:47 +01:00
omar
15447f5b7b
Using named flags instead of 0 + shallow formatting tweaks from other branches.
2018-12-11 12:14:27 +01:00
omar
d20e3ee710
Tests: Adding imgui-test engine hooks (experimental) to provide missing widget state to the testing system.
2018-12-10 14:30:41 +01:00
omar
125e62491e
Internals: Nav: Added ImGuiNavLayer_ to clarify semantic of previously integer NavLayer values, and not pretend that increment/decrement operators on them super flexible. + Storage tweaks.
2018-12-04 14:34:49 +01:00
omar
10e13dd6bb
Version 1.67 WIP (again, this time IMGUI_VERSION_NUM has leeway for another hot-fix).
2018-12-03 12:19:23 +01:00
omar
801645d350
Version 1.66b (will revisit how to change IMGUI_VERSION_NUM across versions, this commit reduces the numerical IMGUI_VERSION_NUM compared to the commit on Nov 22).
2018-12-03 10:17:17 +01:00
omar
1bfcf8f339
Separator: Fixed Separator() outputting an extraneous empty line when captured into clipboard/text/file.
2018-11-30 16:42:32 +01:00
omar
d27ffefbd4
Version 1.67 WIP
2018-11-22 18:59:57 +01:00
omar
da3c4330c1
Version 1.66
2018-11-22 15:11:52 +01:00
omar
6c1ae6cc71
Internals: DragBehavior: Added support for ImGuiDragFlags_Vertical to implement a vertical drag widget (no frontend function provided).
2018-11-09 14:41:40 +01:00
omar
6d7677534f
Internals: SliderBehavior: Using axis indexing.
2018-11-09 14:31:14 +01:00
omar
eb592bf7d3
ListBox(): Fixed frame sizing when items_count==1 unnecessarily showing a scrollbar. ( #2173 ). Tweaked frame sizing so list boxes will look more consistent when FramePadding is far from ItemSpacing.
2018-11-05 14:49:17 +01:00
omar
7fa3e71abb
Internals: Moved the FocusableItemUnregister() outside of InputScalarAsWidgetReplacement(), it should not be here and doesn't facilitate reusing InputScalarAsWidgetReplacement(). (cc #2155 )
2018-10-30 10:48:21 +01:00
Konstantin Podsvirov
faecf90383
SliderAngle: Added optional format
argument to allow users customize precision and make localization. ( #2150 )
2018-10-25 22:29:29 +02:00
omar
31fd6c585a
Removed unnecessary ImGui:: qualifiers in internal code.
2018-10-17 10:47:27 +02:00
omar
ca753829cb
Revert using wchar_t functions ( 9cf94d5
+ 2eaf5b0
). Big mistake, wchar_t is not guaranteed to be 16-bits.
2018-10-12 15:48:38 +02:00
omar
ede3a3b92d
Fixes crash introduced in previous commit 9cf94d5
.
2018-10-12 13:29:13 +02:00
omar
9cf94d5dd6
RenderText(), InputTextMultiline(): Optimization for large text by using memchr, wmemchr, wcschr when appropriate.
2018-10-12 12:34:47 +02:00
omar
0fe48cbb61
Renamed misc/stl/imgui_stl.h,.cpp to misc/cpp/imgui_stdlib.h in prevision for other files.( #2035 , #2096 )
...
Added misc/README file.
2018-10-12 11:16:51 +02:00
omar
cf0afb48ac
TextUnformatted: Using memchr(), fixed not properly testing for text_end bound + comments.
...
Internals: Added ImStreolRange() + used in LogRenderedText() + comments.
2018-10-11 12:53:10 +02:00
omar
3d318a6577
ArrowButton(): Fixed arrow shape being horizontally misaligned by (FramePadding.y-FramePadding.x) if they are different.
...
Demo: Added extra usage of AlignTextToFramePadding() in a more visible section.
2018-09-20 10:24:29 +02:00
omar
c12da2a607
BeginMenu(): Fixed menu popup horizontal offset being off the item in the menu bar when WindowPadding=0.0f.
2018-09-14 11:28:08 +02:00
omar
ca5dc0c019
ColorPicker: Replaced the Separator with a Spacing call. ( #2068 )
2018-09-14 10:05:53 +02:00
Elias Daler
ec04e8bb05
Fix MSVC's C4312 warning about casting user texture type to void* in ImageButton ( #2080 )
2018-09-12 22:58:45 +02:00
omar
9cc63ba279
Internals: Replace unsigned short with ImWchar when dealing with character storage (missing cases) + in imgui_impl_ file keep using neutral type everywhere, added missing explicit cast in three bindings. ( #2078 )
2018-09-11 22:00:57 +02:00
omar
d014d0285a
DragFloat: Disabled using power curve when one edge is FLT_MAX (broken in 1.61). Disabled setting a default drag speed when one edge is FLT_MAX. ( #2024 )
2018-09-11 11:15:06 +02:00
omar
af6cf25255
DragFloat: Fixed a situation where dragging with value rounding enabled or with a power curve erroneously wrapped the value to one of the min/max edge. ( #2024 , #708 , #320 , #2075 ).
2018-09-11 10:55:52 +02:00
omar
e2436ca625
Nav, Focus: Fixed ImGuiWindowFlags_NoBringToFrontOnFocus windows not being restoring focus properly after the main menu bar or last focused window is deactivated.
2018-09-10 20:40:21 +02:00
omar
eb7033e75b
Version 1.66 WIP
2018-09-06 21:44:59 +02:00
omar
e0cab5664a
Version 1.65
2018-09-06 15:58:58 +02:00
omar
5a679a45cc
Renamed stb_truetype.h to imstb_truetype.h, stb_textedit.h to imstb_textedit.h, and stb_rect_pack.h to imstb_rectpack.h. ( #1718 , #2036 )
...
If you were conveniently using the imgui copy of those STB headers in your project, you will have to update your include paths.
The reason for this change is to avoid conflicts for projects that may also be importing their own copy of the STB libraries. Note that imgui's copy of stb_textedit.h is modified.
2018-09-06 15:58:25 +02:00
omar
e58bc3d5b7
Refactor: Tweaked and improved the sectioning to facilitate grepping/moving around and applied to all files. ( #2036 )
2018-09-06 11:36:00 +02:00
omar
bb3184af74
Refactor: moved low-layout helpers to imgui_widgets.cpp (Spacing, Dummy, NewLine, Separator, etc.) ( #2036 )
2018-09-05 20:54:28 +02:00
omar
77ba883f23
Renamed io.OptCursorBlink/io.ConfigCursorBlink to io.ConfigInputTextCursorBlink. ( #1427 ) + changed ImGuiIO layout.
2018-09-05 17:29:47 +02:00
omar
b944aa623c
Minor mostly inconsequential merges from Viewport + LoadIniSettingsFromMemory() entirely skip lines starting with ';'
2018-09-05 11:52:48 +02:00
omar
d07f494305
Internals: Exposed SliderBehaviorT, DragBehaviorT, RoundScalarWithFormatT, SliderCalcRatioFromValueT. ( #2036 )
...
Renamed RoundScalarWithFormat -> RoundScalarWithFormatT.
Renamed SliderBehaviorCalcRatioFromValue -> SliderCalcRatioFromValueT
2018-09-03 14:49:13 +02:00
omar
bcb1441ce7
Version 1.65 WIP
2018-09-03 14:38:04 +02:00
omar
767649afb1
Fix missing include on some systems to use intptr_t. ( #2036 , #2054 )
2018-08-31 18:07:47 +02:00
omar
48db5713d6
Version 1.64
2018-08-31 10:00:03 +02:00
omar
38cfcf9fbc
Tweak comments and indexes
2018-08-31 09:59:58 +02:00
omar
df37a156e8
Refactor: Moved Scrollbar function from imgui.cpp to imgui_widgets.cpp, added file index ( #2036 )
2018-08-30 20:51:57 +02:00
omar
2714f8fa23
Refactor: Moved Slider/Drag/Input functions + support DataType stuff from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 15:40:46 +02:00
omar
c25f48b902
Refactor: Moved InputText functions from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 15:40:46 +02:00
omar
ad0bfdcd95
Refactor: Moved ColorEdit/ColorPicker/ColorButton/etc. functions from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 15:40:45 +02:00
omar
5dc954f5d7
Refactor: Moved Tree/Selectable functions from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 15:40:45 +02:00
omar
a265c62636
Refactor: Moved Plot/Value functions from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 15:40:45 +02:00
omar
0e9577d0da
Refactor: Moved Menu functions from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 15:40:44 +02:00
omar
f26b8c1e07
Refactor: Moved Combo/ListBox functions from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 14:55:27 +02:00
omar
6468a3c0ce
Refactor: Moved Button/Image/Checkbox/RadioButton/Bullet/ProgressBar functions from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 14:50:32 +02:00
omar
3eaa063984
Refactor: Moved Text functions from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 14:50:32 +02:00
omar
52c115fb2c
Refactor: Added imgui_widgets.cpp headers to easily merge in the functions in all our branches. ( #2036 )
2018-08-30 14:50:32 +02:00
omar
01586d33f3
Refactor: Added empty imgui_widgets.cpp + updated project files / makefiles etc. accordingly ( #2036 )
2018-08-30 14:29:11 +02:00