MCPcopy Index your code
hub / github.com/rawpython/remi / SvgDraggableCircleResizeRadius

Class SvgDraggableCircleResizeRadius

editor/editor.py:188–220  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

186
187
188class SvgDraggableCircleResizeRadius(gui.SvgRectangle, DraggableItem):
189 def __init__(self, app_instance, compatibility_iterable, **kwargs):
190 self.w = 15
191 self.h = 15
192 super(SvgDraggableCircleResizeRadius, self).__init__(
193 0, 0, self.w, self.h, **kwargs)
194 DraggableItem.__init__(self, app_instance, **kwargs)
195 self.attributes['stroke-dasharray'] = "2,2"
196 self.set_stroke(1, 'black')
197 self.set_fill('#ffcc00')
198 self.compatibility_iterable = compatibility_iterable
199 self.onmousedown.do(self.start_drag)
200
201 def setup(self, refWidget, newParent):
202 if type(refWidget) in self.compatibility_iterable or refWidget == None:
203 DraggableItem.setup(self, refWidget, newParent)
204
205 def on_drag(self, emitter, x, y):
206 if self.active:
207 if self.origin_x == -1:
208 self.origin_x = float(x)
209 self.origin_y = float(y)
210 self.refWidget_origin_r = float(self.refWidget.attributes['r'])
211 else:
212 r = self.round_grid(
213 self.refWidget_origin_r + float(x) - self.origin_x)
214 self.refWidget.attributes['r'] = str(max(0, r))
215 self.update_position()
216
217 def update_position(self):
218 if self.refWidget:
219 self.set_position(float(self.refWidget.attributes['cx'])+float(
220 self.refWidget.attributes['r'])-self.w/2, float(self.refWidget.attributes['cy'])-self.h/2)
221
222
223class ResizeHelper(gui.Widget, DraggableItem):

Callers 1

mainMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected