cad-editor/src/app
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Hakan Seven 7d9ac435cb feat(qselect): per-property filter with operator + value (#28)
Quick Select used to filter only on Object Type and Layer. The classic
QSELECT model — pick a type, pick one of its properties, compare with a
typed value via a logical operator — is much more general: a Line entity
can now be filtered on Start X, Length, Angle, Delta Y, …, and any
entity on the common Layer / Color / Linetype / Lineweight.

Panel layout: Object type → Property → Operator → Value → Append. The
Property dropdown is type-aware: it always lists the four common
properties; picking a specific Object type appends that type's
`geometry_properties` rows, sampled from the first entity of that type
in the active layout (so `Start X`, `Radius`, `Pattern Angle`, … only
appear when their entity type is selected). Changing the Object type
drops the Property when the new type no longer offers it.

Operators: `= Equals`, `!= Not equal`, `> Greater than`, `< Less than`,
`* Any value`. Eq/Neq do case-insensitive string compare against the
canonical property string (so "ByLayer" matches "bylayer"); Gt/Lt parse
both sides as `f64` and reject anything non-numeric; Any skips the
value test entirely. The Value text field is disabled when no Property
is picked or the operator is Any. Append behaves the same as before.

The new value reader is hand-rolled for the four common properties
(layer name, color formatted as `ByLayer`/`ByBlock`/`<aci>`/`r,g,b`,
linetype name, lineweight formatted as `0.30mm`) and falls back through
`geometry_properties()` for type-specific fields — extracting the
property's value out of the `PropValue` variant so EditText / Choice /
ColorChoice all canonicalise the same way the panel will display them.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 21:09:56 +03:00
..
cmd_result.rs feat(commandline): always-on keyboard capture + space submits like enter 2026-05-26 18:59:51 +03:00
commands.rs feat(select): Select Similar + Quick Select panel (#28) 2026-05-29 20:30:56 +03:00
document.rs fix(dyn-input): support cartesian coords via "," (#35) 2026-05-29 00:46:18 +03:00
helpers.rs feat(input): relative coordinate entry (@/#) and DYN default — #26 2026-05-27 11:40:28 +03:00
history.rs fix(viewport): adapt entity colours to visible bg 2026-05-28 18:28:18 +03:00
layers.rs fix(layer): propagate LAY* command changes to panel + dropdown (#39) 2026-05-29 01:30:02 +03:00
mod.rs feat(qselect): per-property filter with operator + value (#28) 2026-05-29 21:09:56 +03:00
properties.rs chore: rename H7CAD to Open CAD Studio 2026-05-23 17:16:15 +03:00
update.rs feat(qselect): per-property filter with operator + value (#28) 2026-05-29 21:09:56 +03:00
view.rs feat(qselect): per-property filter with operator + value (#28) 2026-05-29 21:09:56 +03:00