Commit Graph

992 Commits

Author SHA1 Message Date
ocornut
5e323561be InputTextMultiline() fixes, vertical scrolling, optimizations (#200)
Using a child window for multi-line text.
2015-06-17 17:07:49 -06:00
ocornut
3df91b52ea Increased key repeat rate for non-character input key repeat.
Dodgy - we should have a match here for character input and
non-character input (e.g. holding 'a' vs holding 'backspace' should be
same rate), but for the earlier we don't have the info?
2015-06-17 16:02:50 -06:00
ocornut
7dc5228235 InputText: doesn't reset scrolling when active text input becomes bigger than its content. (#200)
Mostly because it's expensive.
2015-06-17 15:49:18 -06:00
ocornut
f75b8c72cf InputTextMultiline(): vertical scrolling wip, selection rendering fix (#200) 2015-06-16 21:53:04 -06:00
ocornut
417a7bc29b InputTextMultiline(): multi-line selection draw fix (#200) 2015-06-16 21:19:47 -06:00
ocornut
f1dfc4d7c4 InputTextMultiline(): multi-line selection draw fix (#200) 2015-06-16 21:17:02 -06:00
ocornut
917a1fdbf7 InputText() fixing cancel (#200) 2015-06-16 21:08:54 -06:00
ocornut
73491e5adc InputText() lifted 1024 characters limit (#200)
Bit messy & not happy with using ImVector<char>
2015-06-16 21:04:27 -06:00
ocornut
0795a60c6b InputText() fixed multi-line selection clipping. (#200) 2015-06-16 20:35:46 -06:00
ocornut
ec7c1834b3 InputTextMultiline() tabbing to a multi-line edit doesn't select all (unless ImGuiInputTextFlags_AutoSelectAll is set), somehow arbitrary (#
Seems reasonable
2015-06-16 20:25:08 -06:00
ocornut
6d31c498c0 InputText: multi-line selection, better scrolling, cleaning up (#200)
Not horizontally scrolling on char boundaries anymore
2015-06-16 20:14:54 -06:00
ocornut
d06ad43dca ImFont::RenderText() additional early out (typically performed at TextUnformatted() level for large chunks but this is also useful) (#200) 2015-06-16 17:50:55 -06:00
ocornut
748837acfd Merge remote-tracking branch 'origin' into 2015-06-multiline_textedit
Conflicts:
	imgui.h
2015-06-16 17:23:28 -06:00
ocornut
a248575dea Text rendering can be finely clipped cpu-side on top and left axises (for #200) 2015-06-16 17:21:07 -06:00
ocornut
9765559a28 Merge remote-tracking branch 'origin' into 2015-06-multiline_textedit
Conflicts:
	imgui.cpp
2015-06-16 15:59:28 -06:00
ocornut
34986771b4 Moved InputFloat() InputInt() below InputText() and not in the middle of internal bits 2015-06-16 15:57:04 -06:00
ocornut
0df7b472c2 InputTextMultiline() WIP - still gazillion problems with selection visualisation & scrolling 2015-06-16 15:46:45 -06:00
ocornut
6eb1fec7a9 ImFont: added GetCharAdvance() helper. Exposed font Ascent and font Descent. 2015-06-14 17:30:06 -06:00
ocornut
b503e5ee5b ImageButton() changed default bg_col parameter from (0,0,0,1) black to (0,0,0,0) tranparent + drawing frame even when no padding (#243) 2015-06-14 16:18:22 -06:00
ocornut
4f0fa58ff2 Selectable() changed prototype moved flags before size. size override should rarely have been used! sorry. #125 2015-06-14 15:19:47 -06:00
ocornut
cf481e1a7b Selectable() added flags ImGuiSelectableFlags_DontClosePopups , ImGuiSelectableFlags_SpanAllColumns (#125) 2015-06-14 12:41:40 -06:00
ocornut
2bcafc861e SelectableEx - replaced unnecessary extra size_draw parameter by a flag. 2015-06-13 14:20:02 -06:00
ocornut
96496ced5f Metrics windows display storage size 2015-06-11 16:04:06 -06:00
ocornut
039418f393 ColorButton(), ColorEdit4(): colored square stays square, used vertical padding on both axis. 2015-06-09 14:39:27 -06:00
ocornut
6bb06fdb81 Selectable, MenuItem: don't use frame rounding for hovering/selection. 2015-06-09 14:32:37 -06:00
ocornut
3fd4441f70 SetScrollPosHere() fixed imprecisions 2015-06-09 13:14:22 -06:00
ocornut
3ca54ad369 SetScrollPosHere() takes account of item height + more accurate centering 2015-06-09 12:57:27 -06:00
ocornut
e8422f7aa0 SetScrollPosHere() rewrote to that window size is not required at the time of calling, can be used on frame 0 of an auto-resizing window 2015-06-09 12:49:13 -06:00
ocornut
8c86322068 Combo() now using the popup facility. More consistent + when combo open hovering other widgets is disabled. (#241) 2015-06-09 12:35:55 -06:00
ocornut
6f1dd7a688 Allow Set*WindowSize() calls to be used with popups (fix for using e.g. scroll function on the first frame) 2015-06-09 12:32:19 -06:00
ocornut
6807546caf Allow Set*WindowSize() calls to be used with popups. 2015-06-09 11:35:29 -06:00
ocornut
4536668482 Fixed issue with activating a Combo() not taking active id (#241) 2015-06-09 10:09:12 -06:00
ocornut
20088303e9 ImFont: ignoring \r 2015-06-04 12:26:23 +01:00
ocornut
eb75ffdc5d DragFloat(), SliderFloat() Fixed rounding of negative which sometimes made the negative lower range unreachable. 2015-06-03 15:31:08 +01:00
ocornut
0e04dfbad7 Added IsWindowHovered() helper. 2015-06-02 20:57:29 +01:00
ocornut
9928d19af1 Version 1.41 WIP 2015-06-02 14:41:14 +01:00
ocornut
82d4180f39 Bits of TODO list 2015-05-31 21:15:35 +01:00
ocornut
931b8dcdaf Version 1.40 2015-05-31 19:31:02 +01:00
ocornut
8738147aee Windows: pragma link with user32.lib if we are using native clipboard function (unless IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCS) #238 2015-05-31 15:55:32 +01:00
ocornut
1c2dac2a90 Version increased to 1.40 WIP makes more sense than 1.39 (changelog is huge) 2015-05-31 14:46:28 +01:00
ocornut
04e91500c5 Comments 2015-05-31 14:03:07 +01:00
ocornut
374d160234 BeginPopupContextWindow() in_empty_space_only -> !also_over_items (#126)+ comments
Sorry if you used this parameter already.
2015-05-31 12:55:12 +01:00
ocornut
bda0269133 ListBox() uses ImGuiListClipper helper, faster for large lists, assume evenly sized items. 2015-05-31 12:35:21 +01:00
ocornut
eb4ffd5dbd Added ImGuiListClipper helper to avoid using CalcListClipping() directly. 2015-05-31 12:33:24 +01:00
ocornut
446d8abfb0 ListBoxHeader() can return false. Also made ListBox() only use public API. 2015-05-31 11:54:00 +01:00
ocornut
df37df821e RetWindowCollapsed() to IsWindowCollapsed() for consistency. Kept inline indirection. 2015-05-31 11:52:57 +01:00
ocornut
0539be7067 Added IMGUI_DISABLE_OBSOLETE_FUNCTIONS 2015-05-31 11:17:58 +01:00
ocornut
03ff2faacb Comments 2015-05-31 11:01:22 +01:00
ocornut
9417df2a26 Renamed IsRectClipped to IsRectVisible for consistency. Note that return value is opposite! Kept inline redirection function (will obsolete) 2015-05-31 09:12:07 +01:00
ocornut
5ea23977f7 Fixed uninitialized fields in constructor - wouldn't have caused a problem (thanks Coverity!) 2015-05-29 14:54:33 +01:00
ocornut
f1f3424cdd Popups WantCaptureMouse active when popups/menus are active + using tracked mouse button ownership when mouse down (#126) 2015-05-29 11:42:35 +01:00
ocornut
73d1126bf4 Examples: OCD tweaks, a sign that we are near the release! 2015-05-29 11:15:24 +01:00
ocornut
448b262b37 Examples: Comments. 2015-05-29 11:11:50 +01:00
ocornut
83770e5e40 Examples: Tweaks. Usnig sprintf() in user-copiable code. 2015-05-29 11:05:17 +01:00
ocornut
0db6bac590 Examples: Tweaks, demo code creating graph data actually creates data at the correct rate. 2015-05-29 11:01:53 +01:00
ocornut
9ace617e7e Examples: Tiding up. Moved Dragging example higher up. 2015-05-29 10:52:45 +01:00
ocornut
616a7e6c61 Examples: Using a helper function for ? markers 2015-05-29 10:44:30 +01:00
ocornut
d86785ac98 Examples: Fixed Simple Layout example always showing. Using BeginPopupContextItem(). 2015-05-29 10:36:33 +01:00
ocornut
4144c59ce4 Added Simple Layout example applet 2015-05-29 10:29:26 +01:00
ocornut
15a26a479b Fixed auto-filling child window using WindowMinSize at their minimum size, irrelevant. Using an arbitrary small number instead. 2015-05-29 10:24:03 +01:00
ocornut
f0781d3a24 Added GetItemsLineHeightWithSpacing() helper. 2015-05-29 09:00:34 +01:00
ocornut
aaefe462bb Popups: calling OpenPopup() on already open popup doesn't close it's child (#126)
Fixed previous commit.
2015-05-28 23:47:01 +01:00
ocornut
78dc54ab3d Popups: calling OpenPopup() on already open popup doesn't close it's child (#126)
It think it makes more sense? Maybe?
Note that calling OpenPopup() every frame probably doesn't make sense.
2015-05-28 23:37:11 +01:00
ocornut
7847100ad8 Tweak BeginMenu() code 2015-05-28 23:14:25 +01:00
ocornut
733e079081 Moved CloseInactivePopups() and tweaked. 2015-05-28 23:04:29 +01:00
Branimir Karadžić
123fd73c8c Merge remote-tracking branch 'upstream/master' 2015-05-27 22:01:37 -07:00
Branimir Karadžić
cd9244ab15 Define STBTT_DEF extern when STBTT not compiled with ImGui. 2015-05-27 16:12:52 -07:00
ocornut
dcc7df2b21 Added BeginPopupContextVoid() helper for completeness (#126) 2015-05-27 23:28:53 +01:00
ocornut
235cca4f97 Fix to allow opening popup from a left-click on void or another window (because left-click would normally override focus immediately) (#126)
Neither appears to be really useful frankly.
2015-05-27 23:24:39 +01:00
ocornut
1cb6a294b0 BeginPopupContextWindow() rearranged and clarified parameters (#126) 2015-05-27 23:07:24 +01:00
ocornut
b0a9bbf6f6 Popup taking focus deactivate focused widget of other window (#126)
e.g. focus InputText(), open contextual popup, input text used to stay
focused
2015-05-27 22:58:49 +01:00
ocornut
f8b7d5c76d Tracking ActiveIdWindow along with ActiveId 2015-05-27 22:53:43 +01:00
ocornut
938528e5ee Added BeginPopupContextItem() / BeginPopupContextWindow() (#126) 2015-05-27 22:36:23 +01:00
ocornut
5b0861768e Fixed GetId()/BeginPopup() accessing current window in "append" mode 2015-05-27 22:26:03 +01:00
ocornut
8c4c421f74 Added IsAnyItemHovered() public helper. 2015-05-27 22:02:12 +01:00
ocornut
70f2ff0e5a No minimum size for popups 2015-05-27 21:59:02 +01:00
ocornut
99ff45ad2e Tweak context menu example 2015-05-27 21:42:16 +01:00
ocornut
90db64d4e3 Added context menu example on a DragFloat widget 2015-05-27 21:39:41 +01:00
ocornut
487500d291 Tweaks 2015-05-27 16:03:44 +01:00
ocornut
7d28fe5915 WIP Menus: Reverted f26de46350 for now (#126) 2015-05-27 15:51:50 +01:00
ocornut
d05c1d58c3 Oops 2015-05-27 15:44:07 +01:00
ocornut
405785ea62 ItemWidthStack can be empty, to remove one allocation per window 2015-05-27 15:42:29 +01:00
ocornut
0a7024c198 Store common stacked settings contiguously in memory to reduce cache misses & unnecessary heap allocations 2015-05-27 15:35:49 +01:00
ocornut
3d36c81241 Added PushButtonRepeat() / PopButtonRepeat(). REMOVED third 'repeat_if_held' parameter of Button() ! 2015-05-27 15:22:09 +01:00
ocornut
d69f2f57ee Added configurable io.KeyRepeatDelay, io.KeyRepeatRate 2015-05-27 15:17:44 +01:00
ocornut
904e187f70 Simplified some widget code, moving alignment to RenderTextClipped() 2015-05-27 14:39:41 +01:00
ocornut
3c264827fd Reordering parameters of internal RenderTextClipped() 2015-05-27 14:24:52 +01:00
ocornut
f841097e99 Button centering left to RenderTextClipped function. 2015-05-27 14:20:50 +01:00
ocornut
f26de46350 Button() closes active popup (#126) unsure about that 2015-05-27 09:28:44 +01:00
ocornut
e6ac9e88aa Refactor Button() and SmallButton() into a shared function ButtonEx() 2015-05-27 09:22:30 +01:00
ocornut
843219daec Spacing + untabify 2015-05-26 22:14:07 +01:00
ocornut
7b8b5754bc EndGroup() carries on the text base offset from the last line of the group (sort of incorrect but better than nothing) 2015-05-26 22:13:07 +01:00
ocornut
6f32684f15 Examples: various usage comments. 2015-05-26 21:36:44 +01:00
ocornut
15113f682e Added TextDisabled(), TextDisabledV() helpers. 2015-05-26 21:10:16 +01:00
ocornut
3a6e6645e6 WIP Menus: Fixed remaining inconsistency with stacks of popups. Activating/closing a menu close the parent popup. Added test case. (#126) 2015-05-26 20:33:48 +01:00
ocornut
90cf77b191 Merge remote-tracking branch 'origin' into 2015-05-menus 2015-05-26 18:03:46 +01:00
ocornut
6b3ccd3edf WIP Menus: Added support for disabled sub-menu (#126) 2015-05-26 18:02:42 +01:00
ocornut
0db122bc3b Comments. Examples: added empty if (MenuItem()) {} statements in more places to better document the typical use cases (#126) 2015-05-26 17:48:28 +01:00
ocornut
fdce095101 Comments 2015-05-26 17:27:35 +01:00
ocornut
d009a85de4 WIP Menus: Implement amazon's dropdown-like triangle test for navigating sub-menus (#126) 2015-05-26 17:09:21 +01:00
ocornut
63a39dd08e WIP Menus: Recursive menu demo (#126). Actually useful to test sub-menu positioning. 2015-05-26 16:14:51 +01:00
ocornut
cdb5e16f70 SelectableEx: use flags internally (similar to ButtonBehavior) 2015-05-26 16:12:40 +01:00
ocornut
4eeba016f6 WIP Menus: Closing sub-menu when hovering something else in the same parent window (#126)
Immediate open/close is error-prone
2015-05-26 15:01:04 +01:00
ocornut
83b10f77a9 Comments 2015-05-25 23:47:59 +01:00
ocornut
98540370a0 WIP Menus: Layout in menu-bar tweaks to lay better when mixed widgets (#126) 2015-05-25 23:15:00 +01:00
ocornut
bb8cdcb916 WIP Menus: Layout in menu-bar more standard, allows mixing different widgets in menubar. (#126)
Still some minor spacing bugs.
2015-05-25 23:08:22 +01:00
ocornut
83cb040d20 Selectable: text baseline alignment for line that aren't of text height. 2015-05-25 23:03:16 +01:00
ocornut
44ed5640d3 WIP Menus: Sub-menu overlapping amount not hardcoded (#126) 2015-05-24 23:58:40 +01:00
ocornut
0836f69d9b WIP Menus: Fixed style.WindowPadding == 0 leading to zero-sized initial clipping rectangle leading to self-collapsing childs (#126) 2015-05-24 23:56:29 +01:00
ocornut
6c749934ec Combo: empty label doesn't add ItemInnerSpacing alignment, matching other widgets 2015-05-24 23:45:44 +01:00
ocornut
9abcbf73cb WIP Menus: Sub-menus appears over the parent-menu scrollbar if there is one (unsure about that) (#126) 2015-05-24 23:37:47 +01:00
ocornut
63aa035f59 WIP Menus: Fixed estimation of scrollbar width (broke in 292f08b11e) (#126) 2015-05-24 23:25:57 +01:00
ocornut
8c1d7daef8 WIP Menus: Fixed repositioning of menus when there's no room in the 4 quadrants., we still keep them within the visible display area (#126)
vs popup which prefer to stay away from the mouse cursor
2015-05-24 23:17:06 +01:00
ocornut
1ab1712849 WIP Menus: Clicking the label of an already open sub-menu doesn't close it unless from a menu-bar (match Windows behavior) (#126)
Argh,
2015-05-24 22:33:04 +01:00
ocornut
48ede93a58 WIP Menus: Fixed closing popup on menu item activation when a child menu is open from the popup (#126) 2015-05-24 22:30:48 +01:00
ocornut
53892ab893 WIP Menus: Fixed manually closing submenu affecting position of the following window (#126) 2015-05-24 21:20:10 +01:00
ocornut
292f08b11e WIP Menus: Fixed some alignment issues with non standard styles. Tweaked menu-bar color (#126) 2015-05-24 21:11:11 +01:00
ocornut
14bcfef041 Merge remote-tracking branch 'origin' into 2015-05-menus
Conflicts:
	imgui.cpp
2015-05-24 17:32:10 +01:00
ocornut
8cfae35042 Added Dummy() helper 2015-05-24 17:30:59 +01:00
ocornut
89d1340225 WIP Menus: Added Enabled/Disabled option for MenuItem() (#126) 2015-05-23 13:54:57 +01:00
ocornut
485832fe06 WIP Menus: Added BeginMainMenuBar()/EndMainMenuBar() helpers. Added to examples. 2015-05-23 13:43:45 +01:00
ocornut
e6b1e39847 WIP Menus: don't clamp windows within display when a position has been explicitly set by user. Menu item spacing uses ItemSpacing. (#126) 2015-05-23 13:43:13 +01:00
ocornut
e7097d6176 WIP Menus: menus now affected by WindowMinSize (#126) 2015-05-23 13:03:09 +01:00
ocornut
882b4a5eb4 Merge remote-tracking branch 'origin' into 2015-05-menus
Conflicts:
	imgui.cpp
2015-05-21 22:51:21 +01:00
ocornut
7fbe6574c6 Removed unnecessary PushTextureId/PushClipRect/PopClipRect/PopTextureId on multiple Begin/End pairs 2015-05-21 22:45:32 +01:00
ocornut
8a6d543bc9 ImDrawList: merge draw command better, cases of multiple Begin/End gets merged properly 2015-05-21 22:43:28 +01:00
ocornut
6a1eba2d0a Fixed appending multiple times to an existing child via multiple calls to same BeginChild/EndChild 2015-05-21 22:21:00 +01:00
ocornut
14ab9708be Removed a few empty lines 2015-05-20 10:31:05 +01:00
ocornut
df276b82da Updated FAQ for usage of ## to display empty label 2015-05-19 23:33:55 +01:00
ocornut
e43c5cd3d3 InputText: Fixed cursor generating a zero-width wireframe rectangle turning into a division by zero. 2015-05-18 23:42:12 +01:00
ocornut
0cdd050cd7 WIP Menus: fixed recycling menu level during the same frame (#126)
We could also enforce "clearing" the window and recycle immediate which
sort of work, but it would be a less tested code path.
2015-05-18 21:26:46 +01:00
ocornut
6da8a77fa3 WIP Menus: tidying up, fixed hovering in parent popup menu item from child popup (individual popups acts as hovering barrier) (#126) 2015-05-18 19:41:02 +01:00
ocornut
9bdacaf08d WIP Menus: click again to toggle + allow hovering in same menuset even outside of a menubar (#126) 2015-05-18 19:12:36 +01:00
ocornut
75ec4841df WIP Menus: menu opens on press (not release), uses popup style hovering, allow switch between menus at parent site (#126) 2015-05-18 18:44:15 +01:00
ocornut
e674df8101 Merge remote-tracking branch 'origin' into 2015-05-menus 2015-05-18 16:45:55 +01:00
ocornut
097fe51f97 Hovering require to hover same child window. Reverted 860cf578f5 (December 3), replaced by a flag resize grip.
Might break something if you have childs overlapping non-childs.
2015-05-18 16:42:55 +01:00
ocornut
060f879816 Tweak internal ButtonBehavior() to ease passing extra options 2015-05-18 16:39:37 +01:00
ocornut
7184de24b8 WIP Menus: scrolling section of the window is clipped by the menu bar (#126) 2015-05-18 15:54:56 +01:00
ocornut
a17c930d1f WIP Menus: Added example menu, move app examples to a sub-menu (#126)
NB: menus do not react on click yet, with popup-style blocking of other
inputs yet
2015-05-17 23:19:05 +01:00
ocornut
09abf11e56 WIP Menus: BeginMenuBar() return false on window without a menu bar (#126) 2015-05-17 23:13:53 +01:00
ocornut
4bd43bdb35 Renamed ImGuiWindowFlags_Menu to ImGuiWindowFlags_ChildMenu 2015-05-17 22:28:57 +01:00
ocornut
7f3f3891c0 WIP Menus: fixed case where zero-sized display (e.g. minimised window) clips popups/menus and asserted (#126) 2015-05-17 22:15:40 +01:00
ocornut
88d7b3de23 WIP Menus: fixed hovering handling of menus from menu bars (#126) 2015-05-17 17:21:49 +01:00
ocornut
f2b738648f WIP Menus: menu bars. Still inconsistency with hovering scheme. Will probably follow what Windows does. (#126). 2015-05-17 17:13:45 +01:00
ocornut
6251d37987 WIP Menus: further fixes for resizing (#126) 2015-05-17 15:48:56 +01:00
ocornut
f44526cc45 Selectable(): horizontal filling not declared to ItemSize() so Selectable(),SameLine() works and we can best auto-fit the window 2015-05-17 13:09:46 +01:00
ocornut
e912bcb36d Comments 2015-05-17 12:10:57 +01:00
ocornut
ecda785cbc Popups: fix to allow child popups to be opened from a normal window without an intermediate popup window. 2015-05-15 23:57:43 +01:00
ocornut
4250357ed2 Selectable: using window->WindowPadding() to work within non-padded child windows 2015-05-15 22:39:52 +01:00
ocornut
79a95256e8 Window: fixed auto-fit calculation mismatch of whether a scrollbar will be added by maximum height clamping.
Also honor NoScrollBar in the case of height clamping, not adding extra
horizontal space.
2015-05-15 22:36:31 +01:00