def Activated(self): """Execute when the command is called.""" super(Ellipse, self).Activated(name="Ellipse") if self.ui: self.refpoint = None self.ui.pointUi(title=translate("draft", self.featureName), icon="Draft_Ellipse") self.ui.extUi() self.call = self.view.addEventCallback("SoEvent", self.action) self.rect = trackers.rectangleTracker() _msg(translate("draft", "Pick first point"))
def Activated(self, shapeType=None): self.ShapeType = shapeType name = DraftTools.translate("draft", "Rectangle") DraftTools.Creator.Activated(self, name) if self.ui: self.refpoint = None self.ui.pointUi(name) self.ui.extUi() self.call = self.view.addEventCallback("SoEvent", self.action) self.rect = trackers.rectangleTracker() Utils.EB_Print.print_msg( DraftTools.translate("draft", "Pick first point:") + "\n")
def proceed(self): """Proceed with execution of the command after proper selection.""" if self.call: self.view.removeEventCallback("SoEvent", self.call) supported = ["Rectangle", "Wire", "BSpline", "BezCurve", "Sketch"] self.sel = [] for obj in Gui.Selection.getSelection(): if utils.getType(obj) in supported: self.sel.append([obj, App.Placement()]) elif hasattr(obj, "Base"): if obj.Base: if utils.getType(obj.Base) in supported: self.sel.append([obj.Base, obj.Placement]) elif utils.getType(obj.Base) in ["Offset2D", "Array"]: base = None if hasattr(obj.Base, "Source") and obj.Base.Source: base = obj.Base.Source elif hasattr(obj.Base, "Base") and obj.Base.Base: base = obj.Base.Base if base: if utils.getType(base) in supported: self.sel.append([ base, obj.Placement.multiply(obj.Base.Placement) ]) elif hasattr(obj.Base, "Base"): if obj.Base.Base: if utils.getType(obj.Base.Base) in supported: self.sel.append([ obj.Base.Base, obj.Placement.multiply(obj.Base.Placement) ]) elif utils.getType(obj) in ["Offset2D", "Array"]: base = None if hasattr(obj, "Source") and obj.Source: base = obj.Source elif hasattr(obj, "Base") and obj.Base: base = obj.Base if base: if utils.getType(base) in supported: self.sel.append([base, obj.Placement]) if self.ui and self.sel: self.step = 1 self.refpoint = None self.ui.pointUi(title=translate("draft", self.featureName), icon="Draft_Stretch") self.call = self.view.addEventCallback("SoEvent", self.action) self.rectracker = trackers.rectangleTracker(dotted=True, scolor=(0.0, 0.0, 1.0), swidth=2) self.nodetracker = [] self.displacement = None _msg(translate("draft", "Pick first point of selection rectangle"))
def Activated(self): """Execute when the command is called.""" super(Rectangle, self).Activated(name="Rectangle") if self.ui: self.refpoint = None self.ui.pointUi(title=translate("draft", self.featureName), icon="Draft_Rectangle") self.ui.extUi() if utils.getParam("UsePartPrimitives", False): self.fillstate = self.ui.hasFill.isChecked() self.ui.hasFill.setChecked(True) self.call = self.view.addEventCallback("SoEvent", self.action) self.rect = trackers.rectangleTracker() _msg(translate("draft", "Pick first point"))