Commit graph

349 commits

Author SHA1 Message Date
Emil Ernerfeldt
a7e7826d2c Release 0.4.0 of egui, egui_web and egui_glium 2020-11-28 13:47:00 +01:00
Emil Ernerfeldt
861573c497 Text editing: improve double-click to select word 2020-11-28 12:50:18 +01:00
Emil Ernerfeldt
ab61f98a13 Bug fix: make sure child Ui:s have own Id 2020-11-28 12:50:18 +01:00
Emil Ernerfeldt
8163f912d3 Bug fix: stop using AHasher for Id:s
AHasher does not produce same hashes efter e.g. restarting an app
2020-11-28 12:50:18 +01:00
Emil Ernerfeldt
8e6c8ce50e Update ahash to 0.6 2020-11-28 11:05:55 +01:00
Emil Ernerfeldt
aec97c74b9 [egui] Enable a bunch of clippy warnings 2020-11-28 10:58:08 +01:00
Emil Ernerfeldt
8de74e4250 [egui_web] respect the native zoom/scale of the browser
Remove all complexity with own scale slider.

Closes https://github.com/emilk/egui/issues/53
2020-11-28 10:46:31 +01:00
Emil Ernerfeldt
b1b34de4ee [style] Tweak clip_rect_margin to allow frames around ScrollArea:s 2020-11-27 15:46:16 +01:00
Emil Ernerfeldt
201586d512 REVERT: clip frame contents to frame border
can't do that quite as simply as I tried to :'(
2020-11-27 15:42:24 +01:00
Emil Ernerfeldt
d8aeaa4b49 Clip frame contents to frame border 2020-11-27 15:33:14 +01:00
Patrik Höglund
c7e199c8ac Fix the accessor for desired rows. 2020-11-26 13:52:06 +01:00
Emil Ernerfeldt
aab1b351ab Fixed incorrect text wrapping width on radio buttons 2020-11-23 20:01:13 +01:00
Emil Ernerfeldt
56715a1dcd Improve ability to inspect why a widget is as wide as it is 2020-11-23 17:08:55 +01:00
Emil Ernerfeldt
633b19ee99 [egui_web] Repaint on finished fetch in example app 2020-11-20 20:35:16 +01:00
Emil Ernerfeldt
99a2a52510 Code cleanup 2020-11-20 20:32:38 +01:00
Emil Ernerfeldt
15b0214dff clippy fixes 2020-11-20 12:29:23 +01:00
Emil Ernerfeldt
c6ce0b9e8c [example_web] show loading of an image
Required some redesign of `TextureAllocator` as well as
some improvements to the fetch API.
2020-11-18 22:16:01 +01:00
Emil Ernerfeldt
552104429d Remove accidentally commited test code 2020-11-18 19:02:29 +01:00
Emil Ernerfeldt
fad0029119 egui_web: Add simple fetch API and demostrate it in example_web 2020-11-18 00:43:58 +01:00
Emil Ernerfeldt
7e9b5de250 Fix: id clash for TextEdit 2020-11-17 10:57:14 +01:00
Emil Ernerfeldt
e7fd11f1aa Move focus between text fields with tab and shift-tab 2020-11-15 18:10:38 +01:00
Emil Ernerfeldt
b17e6b3260 Implement undo for TextEdit 2020-11-15 17:36:15 +01:00
Emil Ernerfeldt
83444af862 Create mod util 2020-11-15 16:20:51 +01:00
Emil Ernerfeldt
fe0d159324 Support Cmd+A ^W ^U ^K and shift-click 2020-11-15 14:21:21 +01:00
Emil Ernerfeldt
b920822b6b fix: text selection when mouse goes out of the TextEdit area 2020-11-15 11:48:41 +01:00
Emil Ernerfeldt
13666755e1 Implement text selection 2020-11-15 04:44:55 +01:00
Emil Ernerfeldt
96befb0736 Galley: Return Rect when asking for cursor position 2020-11-14 23:07:16 +01:00
Emil Ernerfeldt
220f48a159 Remove unused cursor_blink_hz 2020-11-14 22:38:55 +01:00
Emil Ernerfeldt
c4ed507d63 Add modifier keys and implement moving cursors one word at a time 2020-11-14 21:01:21 +01:00
Emil Ernerfeldt
7494026139 Fix some edge cases for the cursor movement 2020-11-14 18:21:06 +01:00
Emil Ernerfeldt
c84431e473 Rename "row" to "line"
We now have "paragraphs" separated by \n,
which are word-wrapped onto one or more rows.
2020-11-14 18:21:06 +01:00
Emil Ernerfeldt
9ab00b8e50 Introduce meticulous cursors for text galleys 2020-11-14 18:21:06 +01:00
Emil Ernerfeldt
e1077c98b7 Refactor, clarify and improve text layout 2020-11-14 18:21:06 +01:00
Emil Ernerfeldt
03eb9151c4 Improve automatic Id generation to make Id clashes less likely 2020-11-14 18:20:56 +01:00
Emil Ernerfeldt
ee3f269d93 Fix numeric underflow when text editing 2020-11-13 12:51:52 +01:00
Emil Ernerfeldt
9057eaec7e Fix: you can again click slider values to edit them 2020-11-13 12:50:05 +01:00
Emil Ernerfeldt
b3fa533ac5 Fix doctest 2020-11-13 11:31:01 +01:00
Emil Ernerfeldt
0340e2e6de TextEdit: You must explicitly choose singleline or multiline.
Multiline TextEdit now has a default height of 4 rows.
Added `ui.text_edit_singleline` and `ui.text_edit_multiline`.
2020-11-13 11:22:00 +01:00
Alexandre Rousseau
08bdbd3cb7
Rename menues to menus (#41)
Co-authored-by: Alexandre Rousseau <alexandre.rousseau@quebecormedia.com>
2020-11-10 22:56:35 +01:00
Emil Ernerfeldt
d2b5730784 Check if TextEdit lost keyboard focus with response.lost_kb_focus 2020-11-09 18:42:54 +01:00
Emil Ernerfeldt
c999ed038a Hexadecimal Debug format of Id 2020-11-09 18:41:19 +01:00
Emil Ernerfeldt
e55b59256e Press enter in single line TextEdit to surrender keyboard focus 2020-11-09 18:40:23 +01:00
Emil Ernerfeldt
796def4bcb Fixed bug where a lost widget could still retain keyboard focus. 2020-11-09 13:19:22 +01:00
Emil Ernerfeldt
7cc5218630 [refactor] Move used_ids from Context to Memory 2020-11-09 13:04:05 +01:00
Emil Ernerfeldt
b6dcae4651 Update versions to 0.3.0 2020-11-07 14:47:22 +01:00
Emil Ernerfeldt
f46aa92eba Revert to aHash 0.4 again to allow Egui to be used inside of wasmtime 2020-11-07 14:35:42 +01:00
Emil Ernerfeldt
4b8a65268c Turn off anti-aliasing in debug builds by default 2020-11-07 14:06:14 +01:00
Emil Ernerfeldt
af11d766fc Split out tesselation from Context::end_frame() 2020-11-07 11:44:32 +01:00
Emil Ernerfeldt
8393d1df47 Upgrade ahash from 0.4 to 0.5 2020-11-06 09:33:36 +01:00
Emil Ernerfeldt
94db5bb3a1 build fix 2020-11-03 22:14:21 +01:00
Emil Ernerfeldt
7abb9a2814 Improve Id generation, with more aggressive name clash warnings 2020-11-03 22:00:56 +01:00
Emil Ernerfeldt
8d365200ad Bug fix: accidental reuse of Id:s for columns
Fixes https://github.com/emilk/egui/issues/37
2020-11-02 22:50:47 +01:00
Emil Ernerfeldt
d4d59d94b9 [demos] Add drag-and-drop demo (+ dancing strings demo) 2020-11-02 17:53:28 +01:00
Emil Ernerfeldt
4c25465e57 [window] Fix: no hover effect when already dragging something 2020-11-02 17:45:46 +01:00
Emil Ernerfeldt
9833ca57a6 [drag-and-drop] Add ability to translate layers and PaintCmd:s 2020-11-02 17:41:52 +01:00
Emil Ernerfeldt
ed8a69ab2f [drag-and-drop] Add Grab and Grabbing CursorIcon:s 2020-11-02 17:40:05 +01:00
Emil Ernerfeldt
c9c12f2d79 [drag-and-drop] Disable interactions with Tooltip layer 2020-11-02 17:39:01 +01:00
Emil Ernerfeldt
63c0379082 [refactor] Add helpful constructors to PaintCmd 2020-11-02 17:35:16 +01:00
Emil Ernerfeldt
ca96172552 You can override the default Egui fonts
Closes https://github.com/emilk/egui/issues/32
2020-10-31 18:03:13 +01:00
Emil Ernerfeldt
82d55cb67e [demo] Add helper macros for linking to the source code on GitHub 2020-10-31 09:17:15 +01:00
Emil Ernerfeldt
496fdb52b4 [demo] add [DEBUG BUILD] warning text 2020-10-31 09:15:20 +01:00
Emil Ernerfeldt
8b2bcb29a0 Add Small TextStyle 2020-10-31 09:09:40 +01:00
Sam Samai
a79aaa76a4
Downgrade ahash for wasm build (#35)
Seems like getrandom doesn't see wasm32-unknown-unknown as a valid target.
Dropping ahash, which has the getrandom dependency, to version 0.4.6 fixes this for now.
2020-10-29 11:48:39 +01:00
Hizoul
fe585e48e9
Make from_get_set public (#34)
This allows the slider value to be obtained from anywhere that can be accessed from a closure and not just a `&'a mut` reference. An example would be a state that is shared via an Arc<Rw<T>> or Atomic value with a background thread
2020-10-28 16:56:33 +01:00
Emil Ernerfeldt
07a32793d6 Forbid creating a panel from within another panel 2020-10-27 15:37:30 +01:00
Emil Ernerfeldt
a4ce2afcd8 Update dependencies 2020-10-27 14:40:48 +01:00
Emil Ernerfeldt
cbdfc03378 Improve and expand documentation tests 2020-10-26 08:34:49 +01:00
Emil Ernerfeldt
060ce6b49f Improve docs 2020-10-24 19:46:38 +02:00
Emil Ernerfeldt
72285e7954 [slider] Add Slider::u32 2020-10-24 19:26:13 +02:00
Emil Ernerfeldt
7638ca9962 [app] Simplify interface to egui::app::App 2020-10-24 19:23:16 +02:00
Emil Ernerfeldt
c364403d44 [app] Give apps the ability to resize integration 2020-10-24 18:45:31 +02:00
Emil Ernerfeldt
ba7f3572a0 Give TextEdit a default width 2020-10-24 18:44:25 +02:00
Emil Ernerfeldt
4b549a773e Replace ctx.background_ui with CentralPanel 2020-10-24 18:37:20 +02:00
Emil Ernerfeldt
44a7cac046 Context::begin_frame() no longer returns anything.
Put your widgets into a `SidePanel`, `TopPanel`,
`Window` or into `ctx.background_ui()`.
2020-10-24 10:56:23 +02:00
Emil Ernerfeldt
f86cb4a923 [demo] Improve introspection UI of areas 2020-10-24 10:31:57 +02:00
Emil Ernerfeldt
3416f3b91f [style] Wrap tooltip text earlier 2020-10-24 10:10:08 +02:00
Emil Ernerfeldt
c96a929713 Improve GraphicLayers: always paint all layers 2020-10-24 10:06:11 +02:00
Emil Ernerfeldt
211d70b4f3 [window] Remove ability to throw windows 2020-10-23 15:16:04 +02:00
Emil Ernerfeldt
fa831a2b55 Fix throwing areas around 2020-10-23 15:07:19 +02:00
Emil Ernerfeldt
46e39d3dd9 Add high-prio TODO to refactor layer system 2020-10-21 22:20:30 +02:00
Emil Ernerfeldt
35b949a2d8 Refactor panels into proper containers 2020-10-21 22:10:55 +02:00
Emil Ernerfeldt
8b51ae5dea Panels: Added Context::panel_left and panel_top
Context will keep track of the avilable space left after panels.
Windows will be constrained to that available space.
So add panels first, THEN add windows.
2020-10-21 18:26:28 +02:00
Emil Ernerfeldt
15c5e0b04d [menu] Fix minor size issue of menu bars 2020-10-21 17:46:57 +02:00
Emil Ernerfeldt
46ce9a4f3d [windows] Constrain windows to screen 2020-10-21 16:24:36 +02:00
Emil Ernerfeldt
39431afd03 [refactor] Rename Layer to LayerId for clarity 2020-10-21 14:39:31 +02:00
Emil Ernerfeldt
9b01c75e16 tesselator: produce fewer paint jobs with PaintCmd::Triangles 2020-10-21 11:09:42 +02:00
Emil Ernerfeldt
7fbb11481b Try to protect against invalid Triangles 2020-10-21 11:04:22 +02:00
Emil Ernerfeldt
bc5dbd718e Fix: Context::wants_mouse_input() now returns false if a mouse drag started outside of Egui 2020-10-20 14:52:18 +02:00
Emil Ernerfeldt
6bbdf08482 [refactor] Split DemoWindows out of demos::DemoApp 2020-10-19 23:06:11 +02:00
Emil Ernerfeldt
8ccc36937f [egui_glium] Add option not to persist app to file 2020-10-19 20:25:05 +02:00
Emil Ernerfeldt
43813a71eb [app] Add egui::app::DummyStorage 2020-10-19 20:12:14 +02:00
Emil Ernerfeldt
12d387d7f5 Replace term "backend" with "integration" 2020-10-18 15:41:52 +02:00
Emil Ernerfeldt
92cfbe643c Add #![forbid(unsafe_code)] and safety badge 2020-10-18 15:40:23 +02:00
Emil Ernerfeldt
b8642b4db4 Do less rounding of positions to pixel boundaries
Fixes https://github.com/emilk/egui/issues/27
2020-10-18 14:47:12 +02:00
Emil Ernerfeldt
a4e19d7207 [app] Add demo app slider to change scale of all of Egui 2020-10-17 23:54:46 +02:00
Emil Ernerfeldt
251cde60f0 [app] Refactor egui::app::App interface to be more data oriented 2020-10-17 16:13:20 +02:00
Emil Ernerfeldt
4e0ea32d99 fix clippy issues 2020-10-17 11:02:51 +02:00
Emil Ernerfeldt
4fc34cca45 [demo] Show detailed memory usage statistics of paint lists 2020-10-17 10:57:25 +02:00
Emil Ernerfeldt
570860ec5f [refactor] Create helper struct Mutex (with double-lock detection) 2020-10-17 10:38:22 +02:00
Emil Ernerfeldt
c2a0705c6f Add ability to override text color with visuals.override_text_color
This is kind of hacky; I may redesign this later
2020-10-14 16:32:29 +02:00