Exemple #1
0
 def _add_display_settings_panel(self, main_layout):
     new_widget = QWidget()
     layout = QGridLayout()
     new_widget.setLayout(layout)
     layout.addWidget(get_non_resizable_label("Display settings", title_font=True), 0, 0, 1, 2, alignment=QtCore.Qt.AlignLeft)
     layout.addWidget(self.animate_check, 1, 0, 1, 2, alignment=QtCore.Qt.AlignLeft)
     layout.addWidget(self.most_visited_label, 2, 0)
     layout.addWidget(self.least_visited_label, 3, 0)
     layout.addWidget(get_non_resizable_label("Most visited edge color"), 2, 1, alignment=QtCore.Qt.AlignLeft)
     layout.addWidget(get_non_resizable_label("Least visited edge color"), 3, 1, alignment=QtCore.Qt.AlignLeft)
     main_layout.addWidget(new_widget, 2, 0, 1, 2)
Exemple #2
0
 def _get_second_row(self):
     rc = QWidget()
     main_layout = QGridLayout()
     rc.setLayout(main_layout)
     self._set_file_buttons_widget()
     main_layout.addWidget(get_non_resizable_label("Tree analysis", title_font=True), 0, 0, 1, 3)
     main_layout.addWidget(get_non_resizable_label("Path:"), 1, 0)
     main_layout.addWidget(self.tree_path_edit, 1, 1)
     main_layout.addWidget(self.file_buttons_widget, 1, 2)
     main_layout.addWidget(self.draw_opengl_button, 2, 0, 1, 3, alignment=QtCore.Qt.AlignCenter)
     return rc
Exemple #3
0
 def __init__(self):
     self.main_widget = QWidget()
     self.play_button = get_button("Play", 80, 30)
     self.draw_opengl_button = get_button("Inspect trees", enabled=False)
     self.tree_path_edit = get_hint_line_edit()
     self.tree_path_edit.textChanged[str].connect(
         lambda: self.draw_opengl_button.setEnabled(self.tree_path_edit.text() != ""))
     self.tree_path_edit.setReadOnly(True)
     self.chosen_trees_paths = []
     self.select_tree_path_button_files = get_resizable_button("Select files")
     self.select_tree_path_button_directories = get_resizable_button("Select directory")
     self.chess_button = get_radiobutton("Chess")
     self.mancala_button = get_radiobutton("Mancala")
     self.player_vs_player_button = get_radiobutton("Player vs player")
     self.player_vs_pc_button = get_radiobutton("Player vs PC")
     self.pc_vs_pc_button = get_radiobutton("PC vs PC")
     self.limit_moves_check = get_checkbox("Limit moves in playouts")
     self.player_vs_player_button = get_radiobutton("Player vs player")
     self.player_vs_pc_button = get_radiobutton("Player vs PC")
     self.max_iterations_edit = get_line_edit()
     self.max_time_edit = get_line_edit()
     self.max_moves_edit = get_line_edit()
     self.exploration_parameter_label = get_non_resizable_label("Exploration parameter")
     self.exploration_parameter_edit = get_line_edit()
     self.max_iterations_button = get_radiobutton("Max iterations before move")
     self.max_time_button = get_radiobutton("Max time for move (ms)")
     self.animate_check = get_checkbox("Animate tree growth")
     self.most_visited_label = QLabel()
     self.least_visited_label = QLabel()
     self._create_layout()
     self._add_tooltips()
     self._set_events()
     self._load_defaults()
Exemple #4
0
 def _add_left_panel(self, main_layout):
     new_widget = QWidget()
     layout = QGridLayout()
     new_widget.setLayout(layout)
     layout.addWidget(get_non_resizable_label("Game", title_font=True), 0, 0)
     layout.addWidget(self.mancala_button, 1, 0)
     layout.addWidget(self.chess_button, 2, 0)
     main_layout.addWidget(new_widget, 0, 0, alignment=QtCore.Qt.AlignHCenter | QtCore.Qt.AlignTop)
Exemple #5
0
    def _get_panel(self, labels, width, height):
        rc = QWidget()
        rc.setMinimumSize(width, height)
        rc.setObjectName("box")
        layout = QGridLayout()
        rc.setLayout(layout)
        rc.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)

        for i, label in enumerate(labels):
            label_title = get_non_resizable_label()
            label_title.setText(label[0] + ": ")
            label_content = get_non_resizable_label()
            label_content.setMaximumWidth(250)
            label_content.setText(self.NO_INFO_LABEL)
            layout.addWidget(label_title, i, 0)
            layout.addWidget(label_content, i, 1)
            labels[i][1] = label_content
        return rc
Exemple #6
0
 def _add_right_panel(self, main_layout):
     new_widget = QWidget()
     layout = QGridLayout()
     new_widget.setLayout(layout)
     layout.addWidget(get_non_resizable_label("Mode", title_font=True), 0, 0)
     layout.addWidget(self.player_vs_player_button, 1, 0)
     layout.addWidget(self.player_vs_pc_button, 2, 0)
     layout.addWidget(self.pc_vs_pc_button, 3, 0)
     main_layout.addWidget(new_widget, 0, 1, alignment=QtCore.Qt.AlignHCenter | QtCore.Qt.AlignTop)
Exemple #7
0
 def _create_jump_to_widget(self):
     self.jump_to_widget = QWidget()
     self.jump_label = get_non_resizable_label("Jump to tree with number: ")
     self.jump_edit_line = get_line_edit(60)
     self.jump_button = get_button("OK", width=20)
     jump_to_layout = QGridLayout()
     self.jump_to_widget.setLayout(jump_to_layout)
     jump_to_layout.addWidget(self.jump_label, 0, 0)
     jump_to_layout.addWidget(self.jump_edit_line, 0, 1)
     jump_to_layout.addWidget(self.jump_button, 0, 2)
Exemple #8
0
 def _add_uct_panel(self, main_layout):
     new_widget = QWidget()
     layout = QGridLayout()
     new_widget.setLayout(layout)
     layout.addWidget(get_non_resizable_label("UCT parameters", title_font=True), 0, 0)
     layout.addWidget(self.max_iterations_button, 1, 0)
     layout.addWidget(self.max_time_button, 2, 0)
     layout.addWidget(self.limit_moves_check, 3, 0, alignment=QtCore.Qt.AlignLeft)
     layout.addWidget(self.exploration_parameter_label, 4, 0, alignment=QtCore.Qt.AlignLeft)
     layout.addWidget(self.max_iterations_edit, 1, 1)
     layout.addWidget(self.max_time_edit, 2, 1)
     layout.addWidget(self.max_moves_edit, 3, 1)
     layout.addWidget(self.exploration_parameter_edit, 4, 1)
     main_layout.addWidget(new_widget, 1, 0, 1, 2)
Exemple #9
0
 def _create_left_right_button_widget(self):
     self.left_button = get_button("<<", width=40)
     self.right_button = get_button(">>", width=40)
     self.tree_info_number_label = get_non_resizable_label()
     self.tree_info_filename_label = get_non_resizable_label()
     self.left_right_widget = QWidget()
     left_right_layout = QGridLayout()
     self.left_right_widget.setLayout(left_right_layout)
     self._create_jump_to_widget()
     left_right_layout.addWidget(self.tree_info_filename_label,
                                 0,
                                 0,
                                 1,
                                 2,
                                 alignment=QtCore.Qt.AlignCenter)
     if len(self.canvas.trees_paths) > 1:
         left_right_layout.addWidget(self.tree_info_number_label,
                                     1,
                                     0,
                                     1,
                                     2,
                                     alignment=QtCore.Qt.AlignCenter)
         left_right_layout.addWidget(self.left_button,
                                     2,
                                     0,
                                     alignment=QtCore.Qt.AlignRight)
         left_right_layout.addWidget(self.right_button,
                                     2,
                                     1,
                                     alignment=QtCore.Qt.AlignLeft)
         left_right_layout.addWidget(self.jump_to_widget,
                                     3,
                                     0,
                                     1,
                                     2,
                                     alignment=QtCore.Qt.AlignCenter)
Exemple #10
0
 def _create_game_layout(self):
     self.game_layout = QGridLayout()
     # self.game_layout.setContentsMargins(0, 20, 20, 20)
     self.game_layout.setSpacing(20)
     self.game_widget = QWidget()
     self.game_widget.setLayout(self.game_layout)
     self.start_over_button = get_button("Start over")
     self.start_over_button.clicked.connect(self._handle_start_over_button)
     self.game_status_label = get_non_resizable_label("Game in progress")
     self.game_layout.addWidget(self.manager.canvas, 0, 0)
     self.game_layout.addWidget(self.game_status_label,
                                1,
                                0,
                                alignment=QtCore.Qt.AlignCenter)
     self.game_layout.addWidget(self.start_over_button,
                                2,
                                0,
                                alignment=QtCore.Qt.AlignCenter)