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

Class DragHelper

editor/editor.py:271–315  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

269
270
271class DragHelper(gui.Widget, DraggableItem):
272
273 def __init__(self, app_instance, **kwargs):
274 super(DragHelper, self).__init__(**kwargs)
275 DraggableItem.__init__(self, app_instance, **kwargs)
276 self.style['float'] = 'none'
277 self.style['background-image'] = "url('/editor_resources:drag.png')"
278 self.style['background-color'] = "rgba(255,255,255,0.0)"
279 self.style['position'] = 'absolute'
280 self.style['left'] = '0px'
281 self.style['top'] = '0px'
282 self.onmousedown.do(self.start_drag)
283
284 def setup(self, refWidget, newParent):
285 self.style['display'] = 'none'
286 if issubclass(newParent.__class__, gui.TabBox):
287 return
288 if issubclass(refWidget.__class__, gui.Widget) and 'left' in refWidget.style and 'top' in refWidget.style and refWidget.css_position=='absolute':
289 DraggableItem.setup(self, refWidget, newParent)
290 self.style['display'] = 'block'
291
292 def on_drag(self, emitter, x, y):
293 if self.active:
294 if self.origin_x == -1:
295 self.origin_x = float(x)
296 self.origin_y = float(y)
297 self.refWidget_origin_x = gui.from_pix(
298 self.refWidget.style['left'])
299 self.refWidget_origin_y = gui.from_pix(
300 self.refWidget.style['top'])
301 else:
302 self.refWidget.style['left'] = gui.to_pix(self.round_grid(
303 self.refWidget_origin_x + float(x) - self.origin_x))
304 self.refWidget.style['top'] = gui.to_pix(self.round_grid(
305 self.refWidget_origin_y + float(y) - self.origin_y))
306 self.update_position()
307
308 def update_position(self):
309 self.style['position'] = 'absolute'
310 if self.refWidget:
311 if 'left' in self.refWidget.style and 'top' in self.refWidget.style:
312 self.style['left'] = gui.to_pix(gui.from_pix(
313 self.refWidget.style['left'])-gui.from_pix(self.style['width']))
314 self.style['top'] = gui.to_pix(gui.from_pix(
315 self.refWidget.style['top'])-gui.from_pix(self.style['width']))
316
317
318class Project(gui.Container):

Callers 1

mainMethod · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected