Exemple #1
0
            FunctionBox.all_function_boxes) * (text_container_height + padding)
        FunctionBox(event_manager, (0, place), (300, text_container_height),
                    30)


new_expr = Button(event_manager, (25, screen_height - 60),
                  pygame.Color(0, 200, 0),
                  'ADD NEW',
                  create_new_text_container,
                  size=(90, 35),
                  gui_object_blitted_to=sidebar)

while not event_manager.has_quit:

    event_manager.clock.tick(60)
    event_manager.update()

    if toggle_button.was_clicked:
        graph.toggle_degrees()

    mouse_pos = pygame.mouse.get_pos()
    if event_manager.lmb_down and 0 < mouse_pos[0] < 300:
        bounds = mouse_pos[1] // (text_container_height + padding)
        if bounds < len(FunctionBox.all_function_boxes):
            for item in FunctionBox.all_function_boxes:
                item.text_entry.is_on = False
            FunctionBox.all_function_boxes[bounds].text_entry.is_on = True

    try:
        graph.update()
    except TypeError or NameError:
Exemple #2
0
class Window(Render, sf.RenderWindow):
    """This class create a window
    Cette classe créé une fenêtre"""

    def __init__(self, videoMode=sf.VideoMode(800, 600, 32), \
            title="window", parent=0, framerateLimit=60,\
            backgroundColor = sf.Color.BLACK, backgroundImage = Image()):

        sf.RenderWindow.__init__(self, videoMode, title)
        Render.__init__(self, parent, sf.Rectangle(sf.Vector2(),\
                videoMode.size), backgroundColor, backgroundImage)

        self._isStaticToView = False
        self.position = (0,0)
        self.framerate_limit = framerateLimit
        self._framerate = framerateLimit
        self._event = EventManager(self)
        self.resetView()
        self.clear(backgroundColor)

    def update(self):
        """Update the Window. It Update all event, and update framerate.
        It Draw and display also all widgets child"""
        if self.canUpdate:
            self._event.update()
            self._framerate = 1/(self._event.elapsedTime*10**-6)

            if self._event.isResize:
                Render._setSize(self,self.size)

            if self.event._mouseMoved:
                Widget.widgetFocus = None
    
            if self.event._mouseMoved and self.event.isMouseInRect(self.rect):
                Updatable._focusIsChecked= False
                Updatable.updateFocus(self)
            Widget.update(self, self)
            self.display()
            self.clear(self.backgroundColor)

    def getEventFromRootParent(self):
        return self._event

    def _setSize(self, size):
        sf.RenderWindow.size.__set__(self, size)
        Widget.size.__set__(self,size)
        self._event._defaultWindowSize = size

    def getPosOnScreen(self, *args):
        return sf.Vector2(0,0)

    def setPos(self, position, *args):
        Widget.setPos(position, False)
        self.position = position

    def getSizeOnScreen(self, *args):
        return self.size

    def _setView(self,view):
        sf.RenderWindow.view.__set__(self, view)
        Render._setView(self,view)

    size = sf.RenderWindow.size
    event = property(lambda self:self._event)
    framerate = property(lambda self:self._framerate)
    setPosOnScreen = setPos
    draw = sf.RenderWindow.draw
    sizeOnScreen = sf.RenderWindow.size