forked from 1b-agent/opencadstudio-upstream
feat: view tab widget toggle commands and unified SVG icon color scheme
Integrate NAVVCUBE, NAVBAR, PROPERTIES, FILETAB, LAYOUTTAB, TOOLPALETTES and SHEETSET commands to toggle UI widgets at runtime. Add 15 new SVG icons for view module tools previously using glyph fallbacks. Restyle all SVG icons to use the established two-color scheme: #e0e0e0 for passive geometry, #4cc9f0 for active/accent elements. Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
This commit is contained in:
1 parent
6a0125e4d6
commit
1ec53a4730
81 files changed
+533
-597
No files matched your search
@@ -1,9 +1,5 @@
|
||||
use crate::modules::{IconKind, ModuleEvent, ToolDef};
|
||||
pub const ICON: IconKind = IconKind::Svg(include_bytes!("../../../assets/icons/hidden.svg"));
|
||||
pub fn tool() -> ToolDef {
|
||||
ToolDef {
|
||||
id: "HIDDENLINE",
|
||||
label: "Hidden",
|
||||
icon: IconKind::Glyph("◫"),
|
||||
event: ModuleEvent::Command("HIDDENLINE".to_string()),
|
||||
}
|
||||
ToolDef { id: "HIDDENLINE", label: "Hidden", icon: ICON, event: ModuleEvent::Command("HIDDENLINE".to_string()) }
|
||||
}
|
||||
@@ -1,9 +1,5 @@
|
||||
use crate::modules::{IconKind, ModuleEvent, ToolDef};
|
||||
pub const ICON: IconKind = IconKind::Svg(include_bytes!("../../../assets/icons/orbit.svg"));
|
||||
pub fn tool() -> ToolDef {
|
||||
ToolDef {
|
||||
id: "3DORBIT",
|
||||
label: "3D Orbit",
|
||||
icon: IconKind::Glyph("⟳"),
|
||||
event: ModuleEvent::Command("3DORBIT".to_string()),
|
||||
}
|
||||
ToolDef { id: "3DORBIT", label: "3D Orbit", icon: ICON, event: ModuleEvent::Command("3DORBIT".to_string()) }
|
||||
}
|
||||
@@ -1,9 +1,5 @@
|
||||
use crate::modules::{IconKind, ModuleEvent, ToolDef};
|
||||
pub const ICON: IconKind = IconKind::Svg(include_bytes!("../../../assets/icons/ortho.svg"));
|
||||
pub fn tool() -> ToolDef {
|
||||
ToolDef {
|
||||
id: "ORTHO",
|
||||
label: "Ortho",
|
||||
icon: IconKind::Glyph("⊡"),
|
||||
event: ModuleEvent::Command("ORTHO".into()),
|
||||
}
|
||||
ToolDef { id: "ORTHO", label: "Ortho", icon: ICON, event: ModuleEvent::Command("ORTHO".into()) }
|
||||
}
|
||||
@@ -1,9 +1,5 @@
|
||||
use crate::modules::{IconKind, ModuleEvent, ToolDef};
|
||||
pub const ICON: IconKind = IconKind::Svg(include_bytes!("../../../assets/icons/pan.svg"));
|
||||
pub fn tool() -> ToolDef {
|
||||
ToolDef {
|
||||
id: "PAN",
|
||||
label: "Pan",
|
||||
icon: IconKind::Glyph("✥"),
|
||||
event: ModuleEvent::Command("PAN".to_string()),
|
||||
}
|
||||
ToolDef { id: "PAN", label: "Pan", icon: ICON, event: ModuleEvent::Command("PAN".to_string()) }
|
||||
}
|
||||
@@ -1,9 +1,5 @@
|
||||
use crate::modules::{IconKind, ModuleEvent, ToolDef};
|
||||
pub const ICON: IconKind = IconKind::Svg(include_bytes!("../../../assets/icons/persp.svg"));
|
||||
pub fn tool() -> ToolDef {
|
||||
ToolDef {
|
||||
id: "PERSP",
|
||||
label: "Persp",
|
||||
icon: IconKind::Glyph("⟁"),
|
||||
event: ModuleEvent::Command("PERSP".into()),
|
||||
}
|
||||
ToolDef { id: "PERSP", label: "Persp", icon: ICON, event: ModuleEvent::Command("PERSP".into()) }
|
||||
}
|
||||
@@ -2,11 +2,7 @@
|
||||
// id "SOLID" is special-cased in ribbon.rs for active-state highlighting.
|
||||
|
||||
use crate::modules::{IconKind, ModuleEvent, ToolDef};
|
||||
pub const ICON: IconKind = IconKind::Svg(include_bytes!("../../../assets/icons/solid.svg"));
|
||||
pub fn tool() -> ToolDef {
|
||||
ToolDef {
|
||||
id: "SOLID",
|
||||
label: "Solid",
|
||||
icon: IconKind::Glyph("■"),
|
||||
event: ModuleEvent::SetWireframe(false),
|
||||
}
|
||||
ToolDef { id: "SOLID", label: "Solid", icon: ICON, event: ModuleEvent::SetWireframe(false) }
|
||||
}
|
||||
@@ -1,9 +1,5 @@
|
||||
use crate::modules::{IconKind, ModuleEvent, ToolDef};
|
||||
pub const ICON: IconKind = IconKind::Svg(include_bytes!("../../../assets/icons/view_front.svg"));
|
||||
pub fn tool() -> ToolDef {
|
||||
ToolDef {
|
||||
id: "VIEW_FRONT",
|
||||
label: "Front",
|
||||
icon: IconKind::Glyph("⊥"),
|
||||
event: ModuleEvent::Command("VIEW FRONT".to_string()),
|
||||
}
|
||||
ToolDef { id: "VIEW_FRONT", label: "Front", icon: ICON, event: ModuleEvent::Command("VIEW FRONT".to_string()) }
|
||||
}
|
||||
@@ -1,9 +1,5 @@
|
||||
use crate::modules::{IconKind, ModuleEvent, ToolDef};
|
||||
pub const ICON: IconKind = IconKind::Svg(include_bytes!("../../../assets/icons/view_iso.svg"));
|
||||
pub fn tool() -> ToolDef {
|
||||
ToolDef {
|
||||
id: "VIEW_ISO",
|
||||
label: "Iso",
|
||||
icon: IconKind::Glyph("◈"),
|
||||
event: ModuleEvent::Command("VIEW ISO".to_string()),
|
||||
}
|
||||
ToolDef { id: "VIEW_ISO", label: "Iso", icon: ICON, event: ModuleEvent::Command("VIEW ISO".to_string()) }
|
||||
}
|
||||
@@ -1,9 +1,5 @@
|
||||
use crate::modules::{IconKind, ModuleEvent, ToolDef};
|
||||
pub const ICON: IconKind = IconKind::Svg(include_bytes!("../../../assets/icons/view_right.svg"));
|
||||
pub fn tool() -> ToolDef {
|
||||
ToolDef {
|
||||
id: "VIEW_RIGHT",
|
||||
label: "Right",
|
||||
icon: IconKind::Glyph("⊣"),
|
||||
event: ModuleEvent::Command("VIEW RIGHT".to_string()),
|
||||
}
|
||||
ToolDef { id: "VIEW_RIGHT", label: "Right", icon: ICON, event: ModuleEvent::Command("VIEW RIGHT".to_string()) }
|
||||
}
|
||||
@@ -1,9 +1,5 @@
|
||||
use crate::modules::{IconKind, ModuleEvent, ToolDef};
|
||||
pub const ICON: IconKind = IconKind::Svg(include_bytes!("../../../assets/icons/view_top.svg"));
|
||||
pub fn tool() -> ToolDef {
|
||||
ToolDef {
|
||||
id: "VIEW_TOP",
|
||||
label: "Top",
|
||||
icon: IconKind::Glyph("⊤"),
|
||||
event: ModuleEvent::Command("VIEW TOP".to_string()),
|
||||
}
|
||||
ToolDef { id: "VIEW_TOP", label: "Top", icon: ICON, event: ModuleEvent::Command("VIEW TOP".to_string()) }
|
||||
}
|
||||
@@ -2,11 +2,7 @@
|
||||
// id "WIREFRAME" is special-cased in ribbon.rs for active-state highlighting.
|
||||
|
||||
use crate::modules::{IconKind, ModuleEvent, ToolDef};
|
||||
pub const ICON: IconKind = IconKind::Svg(include_bytes!("../../../assets/icons/wireframe.svg"));
|
||||
pub fn tool() -> ToolDef {
|
||||
ToolDef {
|
||||
id: "WIREFRAME",
|
||||
label: "Wireframe",
|
||||
icon: IconKind::Glyph("□"),
|
||||
event: ModuleEvent::SetWireframe(true),
|
||||
}
|
||||
ToolDef { id: "WIREFRAME", label: "Wireframe", icon: ICON, event: ModuleEvent::SetWireframe(true) }
|
||||
}
|
||||
@@ -1,9 +1,5 @@
|
||||
use crate::modules::{IconKind, ModuleEvent, ToolDef};
|
||||
pub const ICON: IconKind = IconKind::Svg(include_bytes!("../../../assets/icons/xray.svg"));
|
||||
pub fn tool() -> ToolDef {
|
||||
ToolDef {
|
||||
id: "XRAY",
|
||||
label: "X-Ray",
|
||||
icon: IconKind::Glyph("◈"),
|
||||
event: ModuleEvent::Command("XRAY".to_string()),
|
||||
}
|
||||
ToolDef { id: "XRAY", label: "X-Ray", icon: ICON, event: ModuleEvent::Command("XRAY".to_string()) }
|
||||
}
|
||||
@@ -1,9 +1,5 @@
|
||||
use crate::modules::{IconKind, ModuleEvent, ToolDef};
|
||||
pub const ICON: IconKind = IconKind::Svg(include_bytes!("../../../assets/icons/zoom_ext.svg"));
|
||||
pub fn tool() -> ToolDef {
|
||||
ToolDef {
|
||||
id: "ZOOM_EXT",
|
||||
label: "Zoom Ext",
|
||||
icon: IconKind::Glyph("⊡"),
|
||||
event: ModuleEvent::Command("ZOOM EXTENTS".to_string()),
|
||||
}
|
||||
ToolDef { id: "ZOOM_EXT", label: "Zoom\nExtents", icon: ICON, event: ModuleEvent::Command("ZOOM EXTENTS".to_string()) }
|
||||
}
|
||||
@@ -1,9 +1,5 @@
|
||||
use crate::modules::{IconKind, ModuleEvent, ToolDef};
|
||||
pub const ICON: IconKind = IconKind::Svg(include_bytes!("../../../assets/icons/zoom_in.svg"));
|
||||
pub fn tool() -> ToolDef {
|
||||
ToolDef {
|
||||
id: "ZOOM_IN",
|
||||
label: "Zoom In",
|
||||
icon: IconKind::Glyph("🔍"),
|
||||
event: ModuleEvent::Command("ZOOM IN".to_string()),
|
||||
}
|
||||
ToolDef { id: "ZOOM_IN", label: "Zoom In", icon: ICON, event: ModuleEvent::Command("ZOOM IN".to_string()) }
|
||||
}
|
||||
@@ -1,9 +1,5 @@
|
||||
use crate::modules::{IconKind, ModuleEvent, ToolDef};
|
||||
pub const ICON: IconKind = IconKind::Svg(include_bytes!("../../../assets/icons/zoom_out.svg"));
|
||||
pub fn tool() -> ToolDef {
|
||||
ToolDef {
|
||||
id: "ZOOM_OUT",
|
||||
label: "Zoom Out",
|
||||
icon: IconKind::Glyph("🔎"),
|
||||
event: ModuleEvent::Command("ZOOM OUT".to_string()),
|
||||
}
|
||||
ToolDef { id: "ZOOM_OUT", label: "Zoom Out", icon: ICON, event: ModuleEvent::Command("ZOOM OUT".to_string()) }
|
||||
}
|
||||
Reference in new issue
Block a user