Commit Graph

190 Commits

Author SHA1 Message Date
Mikolaj Wielgus 3e9e3c69c9 refactor(egui): make `ActivityContext` generic over mesadata type 2024-10-11 00:05:40 +02:00
Mikolaj Wielgus 8559734336 refactor: rename "trace" to "navcord", "tracer" to "navcorder"
Navcord stands for "navigation cord". I try to prefix anything that is
specific to the navmesh with the "nav-" prefix. I chose the word "cord"
as analogy to the terms "umbilical cord" (and by extension, umbilical
cable), and "power cord".

Calling this "trace" was misleading, as this term has other meanings
that are relevant to Topola: "trace" may refer to a debugging trace, and
more importantly, to a PCB track.

I've also shortened two comments that I found to mention the navcord as
"traces" during substitution.
2024-10-10 03:00:27 +02:00
Alain Emilia Anna Zscheile 911c974cfc fix(egui/MenuBar): temporarily comment out all partial conditional enabled UIs
This is workaround for https://github.com/emilk/egui/issues/4774
(and can be reverted once that bug is fixed).

Here, we comment out all `ui.add_enabled_ui(..., |ui| ...);` wrappers
which don't cover whole menus (the bug above should only affect menus
in which only some items are disabled).
2024-10-09 19:43:23 +02:00
Alain Emilia Anna Zscheile ae66a35b8f egui: reset activity on error 2024-10-08 19:52:12 +02:00
Alain Emilia Anna Zscheile e26b1c13ed feat(egui): also disable activity buttons if some activity hasn't finished yet 2024-10-08 19:52:12 +02:00
Alain Emilia Anna Zscheile b5c637e68b egui/MenuBar: grey out workspace-tied commands when no workspace is loaded 2024-10-08 19:52:09 +02:00
Alain Emilia Anna Zscheile e66fbe292b egui/Viewport: merge zoom_to_fit part into paint, merge into update method 2024-10-08 13:47:39 +02:00
Alain Emilia Anna Zscheile 1420995492 fix(egui): temporarily move 'Place Via' keyboard flip out of workspace conditional 2024-10-08 13:38:31 +02:00
Alain Emilia Anna Zscheile 49f4063ac4 egui/MenuBar: reduce code duplication for Workspace Activities 2024-10-08 13:38:28 +02:00
Alain Emilia Anna Zscheile d03e5c63a0 chore(egui): get rid of unused imports 2024-10-08 13:37:16 +02:00
Alain Emilia Anna Zscheile bff11a5617 egui/Workspace: get rid of unnecessary Arc<Mutex<...>> 2024-10-08 13:33:49 +02:00
Alain Emilia Anna Zscheile fd9bd439a7 egui/MenuBar: swap order of condition checking (check maybe_workspace first) 2024-10-08 13:32:19 +02:00
Alain Emilia Anna Zscheile 69f2ce3c2e egui: add structure Workspace for two-phase workflow 2024-10-08 13:32:17 +02:00
Mikolaj Wielgus f02b7be878 style(egui): update to match locale string tags 2024-10-08 04:49:43 +02:00
Alain Emilia Anna Zscheile 6f237077e3 fix(egui/MenuBar): fix deprecation warning about theme buttons
warning: use of deprecated function `egui::global_dark_light_mode_buttons`: Use global_theme_preference_buttons instead
   --> src/bin/topola-egui/menu_bar.rs:242:36
    |
242 |                     egui::widgets::global_dark_light_mode_buttons(ui);
    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: `#[warn(deprecated)]` on by default
2024-10-05 23:56:48 +02:00
Mikolaj Wielgus 74ef5e356f refactor(egui): add empty skeleton for interactions 2024-10-05 03:56:21 +02:00
Mikolaj Wielgus a9b72334f7 refactor(egui): wrap `Invoker<...>` inside new `ActivityContext` 2024-10-04 22:43:17 +02:00
Mikolaj Wielgus 8b9d4074e4 chore: perform forgotten rename of `command.rs` to `execution.rs` 2024-10-04 22:00:40 +02:00
Alain Emilia Anna Zscheile 68d4589e81 egui: run cargo fmt 2024-10-04 02:16:45 +02:00
Alain Emilia Anna Zscheile ee9ccf5fd6 egui/ErrorDialog: fix spurious renames 2024-10-04 02:13:30 +02:00
Alain Emilia Anna Zscheile d24acb601b egui: get rid of FileHandlerData 2024-10-04 02:11:19 +02:00
Alain Emilia Anna Zscheile 4fef94a5c5 egui: get rid of overabstraction file_handler::push_file_to_read 2024-10-04 02:11:19 +02:00
Alain Emilia Anna Zscheile 25a692aab9 egui/file_handler: run parsing in file loader thread
- also embed I/O errors with other errors
2024-10-04 02:11:17 +02:00
Alain Emilia Anna Zscheile 1a46504dd5 egui: replace FileSender/FileReceiver with FileHandler 2024-10-04 02:09:29 +02:00
Mikolaj Wielgus f21808776e egui: give more systematic names to translatable strings
The names are now based on where the strings are used in the GUI. This
will hopefully make it easier for translators to locate where they are
in the user interface.

I've prefixed all translatable string names with "tr-" to prevent
accidentally substitute unrelated strings in a mass replace.

Once I push this commit, I will also protect `locales/**`, so that
all future changes to strings pass a PR review process to reduce the
probability of errors. This will also make it easier to have a freeze
for translatable strings if we end up having a release schedule in the
future.
2024-10-03 20:26:38 +02:00
Alain Emilia Anna Zscheile 24f0a1c699 feat(egui): add utility method Overlay::take_selection 2024-10-03 17:03:27 +02:00
Alain Emilia Anna Zscheile af312a8a13 chore(egui): fix warnings about unused result of Option::insert 2024-10-03 17:02:10 +02:00
Alain Emilia Anna Zscheile 5319e1f976 chore: run cargo fmt to fix lint errors 2024-10-03 16:56:09 +02:00
Alain Emilia Anna Zscheile fa81cd360a egui: get rid of unnecessary persistence of langid, separate into Config struct 2024-10-03 13:37:52 +02:00
Tomasz Cichoń c9509d8336 egui: fix remaining compile error 2024-10-02 17:31:09 +02:00
Tomasz Cichoń cbe9d8fc1c egui: update main to compile with eframe 0.29
These lines are basically copied from eframe_template, as before.
2024-10-02 17:30:27 +02:00
Tomasz Cichoń 1ade5a25d2 egui: add more layer names colors are assigned to in GUI 2024-10-02 11:31:10 +02:00
Mikolaj Wielgus 9159312ea5 egui: add button and key to abort execution
It actually finishes execution, as I haven't implemented actual aborting
yet.
2024-10-02 02:32:06 +02:00
Mikolaj Wielgus bfcae7f308 egui: change "squeeze under" to "squeeze through under"
It's about pushing through a constrained space, not about squeezing
per se. I'm not using the word "push" because this term will probably be
restricted to a mechanism that is very different internally.
2024-10-02 01:12:46 +02:00
Alain Emilia Anna Zscheile 161fa002c1 chore(egui): fix rust warnings 2024-10-01 20:50:38 +00:00
Mikolaj Wielgus e08a59cd74 stepper: add `Abort` trait to abort steppers 2024-10-01 19:07:40 +02:00
Mikolaj Wielgus 5448474857 terminology: distinguish between "command" and its "execution" 2024-10-01 16:01:11 +02:00
Mikolaj Wielgus cc0bf1845a terminology: suffix some single-verb object type names with "Stepper" 2024-10-01 14:27:57 +02:00
Mikolaj Wielgus 8a1bc9e3b1 egui: commit forgotten files 2024-10-01 05:45:23 +02:00
Mikolaj Wielgus 001e4bcdcf egui: rename "top" and "bottom" to "menu bar" and "status bar"
These are more recognizable terms.
2024-10-01 05:36:25 +02:00
Alain Emilia Anna Zscheile f4d7d5a5a5 egui: log errors 2024-09-30 22:33:45 +02:00
Alain Emilia Anna Zscheile 82574d2976 egui: add error messages dialog 2024-09-30 22:33:23 +02:00
Alain Emilia Anna Zscheile 1ec85552bb Cargo.toml: reduce dependencies of CLI, WASM 2024-09-30 18:53:12 +02:00
Alain Emilia Anna Zscheile 507ca01bfc Cargo.toml: get rid of unnecessary dependencies 2024-09-30 18:46:19 +02:00
Mikolaj Wielgus 169e843736 egui: further make an `Activity` enum with error and status types 2024-09-30 03:40:53 +02:00
Mikolaj Wielgus c8a40860af egui: s/ExecuteWithStatus/ActivityWithStatus, move it to own file 2024-09-30 01:36:22 +02:00
Alain Emilia Anna Zscheile a700bd8c20 egui/layers: remove unnecessary TryInto usage 2024-09-29 23:18:40 +02:00
Alain Emilia Anna Zscheile ea8c525e1f egui/top: get rid of unnecessary .clone()s 2024-09-29 23:18:40 +02:00
Alain Emilia Anna Zscheile e6eae238be egui: fix action-quit key (Ctrl+V -> more intuitive Ctrl+Q) 2024-09-29 23:18:40 +02:00
Mikolaj Wielgus 592c168742 egui: show unit (s) in frame timestep's slider 2024-09-29 03:55:59 +02:00