refactor(styles): replace cycle buttons with dropdowns

The enum/handle pickers in the MLeader, Table and Dimension style
editors used "Cycle" buttons, which were awkward. Replace them with
pick_list dropdowns:
- MLeader: path type, content type, text angle, text alignment.
- Table per-cell: alignment (9 anchors).
- Dimension: arrowhead blocks (DIMBLK/1/2/LDRBLK) and ext-line linetypes
  (DIMLTYPE/LTEX1/LTEX2), options resolved from block_records/line_types.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
This commit is contained in:
Hakan SevenandClaude Opus 4.8 committed 2026-06-03 20:44:37 +03:00
1 parent 1b7edf6cae
commit bd120ca307
6 files changed
+161 -102

No files matched your search

+15 -6
View File
@@ -1026,8 +1026,11 @@ pub enum Message {
},
/// Toggle background fill on a cell style.
TableStyleCellToggleFill(u8),
/// Cycle the alignment of a cell style.
TableStyleCellCycleAlign(u8),
/// Set the alignment of a cell style from the dropdown.
TableStyleCellSetAlign {
row: u8,
value: String,
},
/// Write a cell's edit buffers back into the selected table style.
TableStyleCellApply(u8),
// ── MLineStyle Dialog ─────────────────────────────────────────────────
@@ -1051,7 +1054,10 @@ pub enum Message {
value: String,
},
MLeaderStyleToggle(&'static str),
MLeaderStyleCycle(&'static str),
MLeaderStyleSetEnum {
field: &'static str,
value: String,
},
MLeaderStyleApply,
// ── DimStyle Dialog ───────────────────────────────────────────────────
DimStyleDialogOpen,
@@ -1071,9 +1077,12 @@ pub enum Message {
// Field edit messages:
DsEdit(DsField, String),
DsToggle(DsField),
/// Cycle a block/linetype Handle field on the selected dim style to the
/// next available block-record / linetype.
DsCycleHandle(&'static str),
/// Set a block/linetype Handle field on the selected dim style from a
/// dropdown of available block-records / linetypes (by name).
DsSetHandle {
field: &'static str,
value: String,
},
// ── Raster Image ──────────────────────────────────────────────────────
/// Open file-picker dialog for IMAGE command (async).
ImagePick,