pub enum PcbEditOperation {
AddTrack {
index: usize,
},
AddVia {
index: usize,
},
AddPad {
index: usize,
},
AddArc {
index: usize,
},
AddFill {
index: usize,
},
AddText {
index: usize,
},
AddRegion {
index: usize,
},
AddPolygon {
index: usize,
},
DeletePrimitive {
index: usize,
record: Box<PcbRecord>,
},
ModifyPrimitive {
index: usize,
old: Box<PcbRecord>,
new: Box<PcbRecord>,
},
MoveComponent {
designator: String,
old_pos: CoordPoint,
new_pos: CoordPoint,
},
}Expand description
Edit operation for undo/redo support.
Large variants (DeletePrimitive, ModifyPrimitive) box their PcbRecord fields to reduce enum size on the stack.
Variants§
AddTrack
AddVia
AddPad
AddArc
AddFill
AddText
AddRegion
AddPolygon
DeletePrimitive
ModifyPrimitive
MoveComponent
Trait Implementations§
Source§impl Clone for PcbEditOperation
impl Clone for PcbEditOperation
Source§fn clone(&self) -> PcbEditOperation
fn clone(&self) -> PcbEditOperation
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for PcbEditOperation
impl RefUnwindSafe for PcbEditOperation
impl Send for PcbEditOperation
impl Sync for PcbEditOperation
impl Unpin for PcbEditOperation
impl UnwindSafe for PcbEditOperation
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more