Esempio n. 1
0
 def onDragStart(self, event):
     dt = event.dataTransfer
     target = DOM.eventGetTarget(event)
     target = Widget(Element=target)
     id = target.getID()
     dt.setData("Text", "Dropped %s" % target.getID())
     dt.effectAllowed = 'copy'
     if id == 'imgdrag1':
         parent = self.getParent()
         while not hasattr(parent, 'h2'):
             parent = parent.getParent()
         dt.setDragImage(parent.h2.getElement(), 10, 10)
     elif id == 'imgdrag2':
         dt.setDragImage(doc().getElementById('logo'), 10, 10)
     elif id == 'imgdrag3':
         # OK, it's a bit of a cheat, but the following works on current
         # Opera, IE, Firefox, Safari, Chrome.
         ctx = GWTCanvas(50, 50)
         self.makeCanvasImg(ctx)
         try:
             img = DOM.createImg()
             DOM.setAttribute(img, 'src', ctx.canvas.toDataURL())
             dt.setDragImage(img, 25, 25)
         except:
             dt.setDragImage(ctx.canvas, 25, 25)
Esempio n. 2
0
 def InitialiseScreen(self):
     hpanel = HorizontalPanel()
     self.add(hpanel)
     vpanelMenu = VerticalPanel()
     hpanel.add(vpanelMenu)
     self.addbutton = Button("Add Triangle")
     vpanelMenu.add(self.addbutton)
     self.addbutton.addClickListener(getattr(self, "addtriangle"))
     self.canvas = GWTCanvas(self.CANVAS_WIDTH, self.CANVAS_HEIGHT)
     vpanelCanvas = VerticalPanel()
     self.canvas.setWidth(self.CANVAS_WIDTH)
     self.canvas.setHeight(self.CANVAS_HEIGHT)
     hpanel.add(vpanelCanvas)
     vpanelCanvas.add(self.canvas)
     self.canvas.addMouseListener(self)
     self.selecteditem = None
     self.selectedhandle = None
     self.mouseisdown = False
     dc = DocumentCollection.documentcollection
     DocumentCollection.documentcollection.edgelistener = self.EdgeListener
     if len(dc.documentsbyclass[model.Drawing.__name__]) == 0:
         drawing = model.Drawing(None)
         dc.AddDocumentObject(drawing)
         EdgePoster([a.asDict() for a in drawing.history.GetAllEdges()])
     else:
         for k, v in dc.documentsbyclass[
                 model.Drawing.__name__].iteritems():
             drawing = v
     self.drawingid = drawing.id
     self.Draw()
Esempio n. 3
0
    def onModuleLoad(self):

        self.layout = HorizontalPanel()

        # Each demo will set their own dimensions, so it doesn't matter
        # what we initialize the canvas to.
        canvas = GWTCanvas(400,400)

        canvas.addStyleName("gwt-canvas")

        self.demos = []
        # Create demos
        self.demos.append(StaticDemo(canvas))
        self.demos.append(LogoDemo(canvas))
        self.demos.append(ParticleDemo(canvas))
        self.demos.append(GradientDemo(canvas))
        self.demos.append(SuiteDemo(canvas))

        # Add them to the selection list box
        lb = ListBox()
        lb.setStyleName("listBox")

        for i in range(len(self.demos)):
            lb.addItem(self.demos[i].getName())

        lb.addChangeListener(self)

        # start off with the first demo
        self.currentDemo = self.demos[0]

        # Add widgets to self.layout and RootPanel
        vp = VerticalPanel()
        vp.add(lb)
        vp.add(canvas)
        self.layout.add(vp)
        if self.currentDemo.getControls() is not None:
            self.layout.add(self.currentDemo.getControls())

        RootPanel().add(self.layout)
        self.currentDemo.drawDemo()
Esempio n. 4
0
 def create(self):
     return GWTCanvas()
Esempio n. 5
0
 def __init__(self):
     HorizontalPanel.__init__(self)
     self.context = GWTCanvas(300,300,300,300)
     self.context.addStyleName("gwt-canvas")
     self.add(self.context)
Esempio n. 6
0
 def _get_canvas(self):
     return GWTCanvas(400, 400)