Commit 52fe1d46 authored by Aurélien's avatar Aurélien
Browse files

fleches cliquables

parent 8eba32c0
Loading
Loading
Loading
Loading
+14 −2
Original line number Diff line number Diff line
@@ -21,7 +21,6 @@ class MenuController:

    def displayMenu(self):
        self.menu.displayGames()
        self.menu.menuAction.triggered.connect(self.displayMenu)
        for gameButton in self.menu.gameButtons:
            if gameButton.game == GameEnum.DYCK_WORD_TO_BINARY_TREE:
                gameButton.clicked.triggered.connect(self.on_DyckWordToBinaryTree_Button_Pressed)
@@ -37,7 +36,20 @@ class MenuController:
                gameButton.clicked.triggered.connect(self.on_DyckWordToPlanarTree_Button_Pressed)

    """def displayMenu(self):
        self.menu.displayGames()"""
        self.menu.displayGames()
        for arrow in self.menu.menuWidget.menuView.arrows:
            if arrow.game == GameEnum.DYCK_WORD_TO_BINARY_TREE:
                arrow.clickableObject.clicked.connect(self.on_DyckWordToBinaryTree_Button_Pressed)
            elif arrow.game == GameEnum.BINARY_TREE_TO_DYCK_WORD:
                arrow.clickableObject.clicked.connect(self.on_binaryTreeToDyckWord_Button_Pressed)
            elif arrow.game == GameEnum.BINARY_TREE_TO_PLANAR_TREE:
                arrow.clickableObject.clicked.connect(self.on_binaryTreeToPlanarTree_Button_Pressed)
            elif arrow.game == GameEnum.PLANAR_TREE_TO_BINARY_TREE:
                arrow.clickableObject.clicked.connect(self.on_planarTreeToBinaryTree_Button_Pressed)
            elif arrow.game == GameEnum.PLANAR_TREE_TO_DYCK_WORD:
                arrow.clickableObject.clicked.connect(self.on_PlanarTreeToDyckWord_Button_Pressed)
            elif arrow.game == GameEnum.DYCK_WORD_TO_PLANAR_TREE:
                arrow.clickableObject.clicked.connect(self.on_DyckWordToPlanarTree_Button_Pressed)"""

    def displayLevels(self, nbLevel, levelController):
        self.menu.displayLevels(nbLevel, levelController)
+2 −2
Original line number Diff line number Diff line
@@ -16,8 +16,8 @@ class GameButton(QWidget):
        palette.setColor(self.backgroundRole(), QColor(255, 0, 0)) #215, 220, 255
        self.setPalette(palette)
        self.layout = QHBoxLayout()
        label = QLabel(self.game.name)
        self.layout.addWidget(label, alignment=Qt.AlignCenter)
        """label = QLabel(self.game.name)
        self.layout.addWidget(label, alignment=Qt.AlignCenter)"""
        self.setLayout(self.layout)
        #self.connect()

+34 −21
Original line number Diff line number Diff line
@@ -45,27 +45,14 @@ class Menu:
        self.window.resize(width, high)
        self.window.setWindowTitle(title)

    def displayGames(self):
    """def displayGames(self):
        self.removeCentralLayout()
        self.menuWidget = QWidget()
        self.gamesLayout = QGridLayout()
        """nbSteps = int(sqrt(nbGames()))
        nbColumns = []
        for i in range(nbSteps):
            nbColumns.append(int(nbGames() / nbSteps))
        nbGamesToAdd = nbGames() - nbSteps * int(nbGames() / nbSteps)
        cptRow = 0
        while nbGamesToAdd > 0:
            nbColumns[cptRow] += 1
            cptRow += 1
            nbGamesToAdd -= 1
        cptRow = 0
        cptColumn = 0"""
        cptRow = 0
        for i in range(nbGames()):
            game = GameEnum(i)
            buttonGame = GameButton(game)
            buttonGame.clicked.triggered.connect(self.launchGame)
            self.gameButtons.append(buttonGame)
            if i < 3:
                self.gamesLayout.addWidget(buttonGame, cptRow, 0)
@@ -78,15 +65,41 @@ class Menu:


        self.menuWidget.setLayout(self.gamesLayout)
        self.centralLayout.addWidget(self.menuWidget)

    def launchGame(self):
        self.menuAction.trigger()
        self.centralLayout.addWidget(self.menuWidget)"""

        """def displayGames(self):
    def displayGames(self):
        self.removeCentralLayout()
        self.menuWidget = MenuWidget(self.controller)
        self.centralLayout.addWidget(self.menuWidget)"""
        self.menuWidget = QWidget()
        widget = MenuWidget(self.controller)
        self.gamesLayout = QGridLayout()
        self.gamesLayout.addWidget(widget, 0, 0, 5, 10)

        planarTreeToBinaryTreeButton = GameButton(GameEnum.PLANAR_TREE_TO_BINARY_TREE)
        self.gameButtons.append(planarTreeToBinaryTreeButton)
        self.gamesLayout.addWidget(planarTreeToBinaryTreeButton, 0, 0, 3, 4)

        planarTreeToBinaryTreeButton = GameButton(GameEnum.BINARY_TREE_TO_PLANAR_TREE)
        self.gameButtons.append(planarTreeToBinaryTreeButton)
        self.gamesLayout.addWidget(planarTreeToBinaryTreeButton, 0, 4, 3, 1)

        dyckWordToBinaryTreeButton = GameButton(GameEnum.DYCK_WORD_TO_BINARY_TREE)
        self.gameButtons.append(dyckWordToBinaryTreeButton)
        self.gamesLayout.addWidget(dyckWordToBinaryTreeButton, 0, 5, 3, 1)

        binaryTreeToDyckWordButton = GameButton(GameEnum.BINARY_TREE_TO_DYCK_WORD)
        self.gameButtons.append(binaryTreeToDyckWordButton)
        self.gamesLayout.addWidget(binaryTreeToDyckWordButton, 0, 6, 3, 4)

        planarTreeToDyckWordButton = GameButton(GameEnum.PLANAR_TREE_TO_DYCK_WORD)
        self.gameButtons.append(planarTreeToDyckWordButton)
        self.gamesLayout.addWidget(planarTreeToDyckWordButton, 3, 0, 1, 10)

        dyckWordToPlanarTreeButton = GameButton(GameEnum.DYCK_WORD_TO_PLANAR_TREE)
        self.gameButtons.append(dyckWordToPlanarTreeButton)
        self.gamesLayout.addWidget(dyckWordToPlanarTreeButton, 4, 0, 1, 10)

        self.menuWidget.setLayout(self.gamesLayout)
        self.centralLayout.addWidget(self.menuWidget)

    def displayLevels(self, nbLevels, levelController):
            self.removeCentralLayout()
+1 −1
Original line number Diff line number Diff line
@@ -381,7 +381,7 @@ class Arrow(QGraphicsItemGroup):
        self.game = game
        self.controller = controller
        self.drawArrow(game, beginX, beginY, endX, endY, p1x, p1y, p2x, p2y, circleSize)
        self.connect()
        #self.connect()

    def drawArrow(self, game, beginX: float, beginY: float, endX: float, endY: float, p1x: float, p1y: float, p2x: float,
                  p2y: float, circleSize: float):