bool CSketch::ReOrderSketch(SketchOrderType new_order) { SketchOrderType old_order = GetSketchOrder(); bool done = false; switch(old_order) { case SketchOrderTypeOpen: switch(new_order) { case SketchOrderTypeReverse: ReverseSketch(); done = true; break; default: break; } break; case SketchOrderTypeBad: switch(new_order) { case SketchOrderTypeBad: break; default: ReLinkSketch(); done = true; break; } break; case SketchOrderTypeCloseCW: switch(new_order) { case SketchOrderTypeCloseCCW: ReverseSketch(); done = true; break; default: break; } break; case SketchOrderTypeCloseCCW: switch(new_order) { case SketchOrderTypeCloseCW: ReverseSketch(); done = true; break; default: break; } break; default: break; } return done; }
bool CSketch::ReOrderSketch(SketchOrderType new_order) { SketchOrderType old_order = GetSketchOrder(); SetOrderUndoable* reorder_undoable = new SetOrderUndoable(this, m_order); wxGetApp().DoUndoable(reorder_undoable); bool done = false; switch(old_order) { case SketchOrderTypeOpen: switch(new_order) { case SketchOrderTypeReverse: ReverseSketch(); done = true; break; default: break; } break; case SketchOrderTypeBad: case SketchOrderTypeMultipleCurves: switch(new_order) { case SketchOrderTypeBad: break; default: ReLinkSketch(); done = true; break; } break; case SketchOrderTypeCloseCW: switch(new_order) { case SketchOrderTypeCloseCCW: ReverseSketch(); done = true; break; default: break; } break; case SketchOrderTypeCloseCCW: switch(new_order) { case SketchOrderTypeCloseCW: ReverseSketch(); done = true; break; default: break; } break; default: break; } reorder_undoable->m_new_order = m_order; return done; }