Example #1
0
 def getPreferredSize(self):
     normalImageSize = getPresenter().getImageSize(self.filename)
     selectImageSize = getPresenter().getImageSize(self.selectFilename)
     mouseoImageSize = getPresenter().getImageSize(self.mouseOverFilename)
     
     # Return the largest of the three
     imageSize = self.maxSize(normalImageSize, selectImageSize)
     imageSize = self.maxSize(imageSize, mouseoImageSize)
     return imageSize
Example #2
0
    def update(self):
        """PyGame event handling.
        """
        desktop = getDesktop()

        if pygame.mouse.get_focused() == False:
            # The mouse is no longer over the application
            getPresenter().setMousePosition(None)

        ## process all pending system events.
        event = pygame.event.poll()
        while event.type != NOEVENT:

            if event.type == pygame.QUIT:
                desktop.postUserEvent(pyui2.locals.QUIT)

            # special case to handle multiple mouse buttons!
            elif event.type == MOUSEBUTTONDOWN:
                if event.dict['button'] == 1:
                    desktop.postUserEvent(pyui2.locals.LMOUSEBUTTONDOWN, event.pos[0], event.pos[1])
                elif event.dict['button'] == 3:
                    desktop.postUserEvent(pyui2.locals.RMOUSEBUTTONDOWN, event.pos[0], event.pos[1])

            elif event.type == MOUSEBUTTONUP:
                if event.dict['button'] == 1:
                    desktop.postUserEvent(pyui2.locals.LMOUSEBUTTONUP, event.pos[0], event.pos[1])
                elif event.dict['button'] == 3:
                    desktop.postUserEvent(pyui2.locals.RMOUSEBUTTONUP, event.pos[0], event.pos[1])

            elif event.type == MOUSEMOTION:
                desktop.postUserEvent(pyui2.locals.MOUSEMOVE, event.pos[0], event.pos[1])
                self.mousePosition = event.pos
                getPresenter().setMousePosition(event.pos)

            elif event.type == KEYDOWN:
                character = event.unicode
                code = 0
                if len(character) > 0:
                    code = ord(character)
                else:
                    code = event.key
                desktop.postUserEvent(pyui2.locals.KEYDOWN, 0, 0, code, pygame.key.get_mods())
                if code >= 32 and code < 128:
                    desktop.postUserEvent(pyui2.locals.CHAR, 0, 0, character.encode(), pygame.key.get_mods())

            elif event.type == KEYUP:
                code = event.key
                desktop.postUserEvent(pyui2.locals.KEYUP, 0, 0, code, pygame.key.get_mods())
            else:
                try:
                    desktop.postUserEvent(event.type)
                except:
                    print "Error handling event %s" % repr(event)
            event = pygame.event.poll()
Example #3
0
    def run(self):
        self.init(800, 600)

        self.dc = getPresenter().getDeviceContext()

        self.gc = self.dc.createGraphicsContext((400, 400))

        getPresenter().setBackgroundDrawing(self.callback)

        pyui2.run()
        pyui2.quit()
Example #4
0
    def centerInDesktop(self):
        """Reposition the frame so that it is centered in the desktop.
        """
        sx, sy = getPresenter().getScreenSize()

        newPosX = (sx / 2) - (self.width / 2)
        newPosY = (sy / 2) - (self.height / 2)

        self.moveto(newPosX, newPosY)
Example #5
0
    def __init__(self, x, y, w, h, topmost = 0):
        self._panel = Panel()
        Base.__init__(self)
        self.topMost = topmost
        # the content panel is added as a child through Base::addChild to avoid recursively adding it to itself
        Base.addChild(self, self._panel)
        self._panel.setWindow(self)
        self._panel.setParent(self)
        self.placeInnerObjects()

        self.drawCommands = []
        # these are drawing callbacks to draw _after_ all the widgets are drawn
        self.drawLastCallbacks = []
        self.moveto(x, y)
        self.resize(w, h)
        getDesktop().addWindow(self)

        # Create the graphics context that will be used to display this window
        self.graphicsContext = getPresenter().getDeviceContext().createGraphicsContext((w, h))
Example #6
0
	def getPreferredSize(self):
		size = getPresenter().getImageSize(self.filename)
		return (int(size[0]), int(size[1]))