use super::ecad::{ecad_button, no_features, LAYER_MENU_ID};
use super::{Workbench, WorkbenchButton};
pub static LAYERS: &[WorkbenchButton] = &[
ecad_button!("pcb.board.layer.1", "\u{E08C}", "Copper layer 1", toggle),
ecad_button!("pcb.board.layer.2", "\u{E08C}", "Copper layer 2", toggle),
ecad_button!("pcb.board.layer.3", "\u{E08C}", "Copper layer 3", toggle),
ecad_button!("pcb.board.layer.4", "\u{E08C}", "Copper layer 4", toggle),
ecad_button!("pcb.board.layer.5", "\u{E08C}", "Copper layer 5", toggle),
ecad_button!("pcb.board.layer.6", "\u{E08C}", "Copper layer 6", toggle),
];
static BUTTONS: &[WorkbenchButton] = &[
ecad_button!("pcb.view.schematic", "\u{E07D}", "Schematic", toggle),
ecad_button!("pcb.view.board", "\u{E07E}", "PCB", toggle),
ecad_button!("pcb.sheet.tool.select", "\u{1F446}", "Select", toggle),
ecad_button!("pcb.sheet.tool.wire", "\u{E07F}", "Draw wire", toggle),
ecad_button!("pcb.sheet.tool.junction", "\u{E080}", "Junction", toggle),
ecad_button!("pcb.sheet.tool.label", "\u{E081}", "Net label", toggle),
ecad_button!("pcb.sheet.tool.no_connect", "\u{E0C0}", "No-connect", toggle),
ecad_button!("pcb.sheet.tool.power_flag", "\u{E0C1}", "Power flag", toggle),
ecad_button!("pcb.sheet.tool.power", "\u{E0C2}", "Power symbol", toggle),
ecad_button!("pcb.board.tool.select", "\u{1F446}", "Select", toggle),
ecad_button!("pcb.board.tool.route", "\u{E082}", "Route track", toggle),
ecad_button!("pcb.board.tool.zone", "\u{E0B0}", "Draw zone", toggle),
WorkbenchButton {
id: LAYER_MENU_ID,
glyph: "\u{E08C}",
tooltip: "Copper layer",
when: None,
pressed: None,
disabled: None,
caption: Some(super::ecad::layer_menu_caption),
menu: LAYERS,
},
ecad_button!("pcb.sheet.place.rotate", "\u{E083}", "Rotate 90°", command),
ecad_button!("pcb.sheet.wire.bend", "\u{E084}", "Bend direction", command),
ecad_button!("pcb.sheet.wire.finish", "\u{E087}", "Finish wire", command),
ecad_button!("pcb.board.route.corner", "\u{E085}", "Corner direction", command),
ecad_button!("pcb.board.route.via", "\u{E086}", "Place via", command),
ecad_button!("pcb.board.route.finish", "\u{E087}", "Finish track", command),
ecad_button!("pcb.board.zone.finish", "\u{E0B2}", "Close zone", command),
ecad_button!("pcb.board.zones.fill", "\u{E0B1}", "Fill zones", command),
];
pub static PCB: Workbench = Workbench {
id: "pcb",
label: "PCB",
glyph: "\u{E07A}",
includes: no_features,
buttons: BUTTONS,
panels: &[super::ecad::LIBRARY_PANEL_ID, super::ecad::INSPECTOR_PANEL_ID],
};