Repository navigation
feat(labels): a class header in the Labeling pane, with Remove set apart - #892
Conversation
The chosen class's chooser sits at the top of the pane, with New, Rename and the move arrows under it and Remove at the far end of that row, in red. Visible stays under them. The labels.class.* commands name the pane as their location. Refs opengeos#858.
A click on Remove, a move arrow or Visible while the rename box was open renamed the class and then ran the action by its old name, which failed. They are now off until the rename ends. The class actions go back into the header's one function.
|
No actionable comments were generated in the recent review.
|
| Layer / File(s) | Summary |
|---|---|
Class header and controls crates/ui-egui/src/labelpane.rs, crates/engine/src/cmd/labels.rs, docs/user-guide/cartography.md |
The class chooser, management actions, and visibility control are grouped in the header. These controls are disabled during rename. Command categories and user-guide descriptions reflect the updated organization. |
Priority:
Estimated code review effort: 2 (Simple) | ~10 minutes
Change: Feature
Possibly related issues
opengeos/RustGIS#858— Proposes a class header in the Labeling pane; this change places the chooser and controls in that header.opengeos/RustGIS#722— Requests class selection and management controls in the pane; this change groups those controls in the header.opengeos/RustGIS#618— Defines multi-class labeling; this change adds pane controls for managing classes but does not change engine query behavior.opengeos/RustGIS#732— Describes class-order priority; this change exposes Move Up and Move Down controls.opengeos/RustGIS#790— Requests accessible names for input widgets; the move controls now have accessible labels.
Possibly related PRs
- opengeos/RustGIS#789 — Adds the class-management controls that this change rearranges and disables during rename.
Suggested reviewers: giswqs
Merge Risk: 
Minimal · up to 69b73
-
No merge-blocking issue is identified in the supplied changes; merge after normal checks.
Pre-merge checks: 
4 · 
1
-
Failed checks: 1 warning Passed checks: 4 passedFull details: Docstring Coverage
-
Explanation
Docstring coverage is 71.43% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 7 functions across 2 files. (1 skipped: 1 unsupported.)
Resolution
Write docstrings for the functions missing them to satisfy the coverage threshold.
-
Finishing Touches
-
🧪 Generate unit tests (beta)
-
- Create a new PR
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
A rabbit checks the class list glow
New and Rename line up in a row
Move Up and Down keep order clear
While rename waits, the buttons pause here
The Labeling header greets the show
Comment @coderabbitai help to get the list of available commands.
Code reviewThis PR moves the label-class controls into a header at the top of the Labeling pane. It disables them while a class is being renamed, and it changes the Move Up and Move Down buttons to icons. I found no crash, security or wasm problems. I read the diff and checked Bugs
Quality
AGENTS.md
Change sizeCompared: the whole PR against main (merge base 8b7bf36 to PR head 6cb27f6)
|
icon_button already shows its hover text, so the extra on_hover_text stacked a second tooltip under it. Each arrow now has one, naming the move and why the order matters.
📖 Docs preview
GitHub Pages takes a minute or two to publish a new commit. Newer commits from the fork aren't published until a maintainer adds the |
Code reviewI read the full diff and checked the surrounding code. I did not build or run anything. The change is small and clean, and I found no bugs. I have no inline comments to post. Bugs
Quality
Security
AGENTS.md
Change sizeCompared: the whole PR against main (merge base 8b7bf36 to PR head 69b73c5).
|
Summary
Step 2 of #858: the Labeling pane gets a header for the chosen class, so the class actions sit with the chooser and Remove is no longer next to Rename.
labels.class.*commands name "View › Windows › Labeling" as their location, instead of "Style › Label Class": those actions are only in the pane. Command Search, the Script help and the Assistant show the new location.The header scrolls with the pane for now. Step 3's tabs (Class, Symbol, Position, Range) will keep each part short.
Testing
cargo xtask cipasses.classes_are_made_renamed_ordered_and_removed_from_the_pane,new_is_off_at_the_class_limitand the rename tests).a_refused_class_name_keeps_the_box_opennow also checks that New, Rename, Move Up, Move Down, Remove and Visible are off while the box is open.Related issue
Part of #858
Summary by CodeRabbit