예제 #1
0
    def load_nonogram(self, **kwargs):
        if 'file_path' not in kwargs:
            messagebox.showerror('Missing file path',
                                 'No file path was provided!')

        if isinstance(self.window.renderer, GraphRenderer):
            self.window.renderer.destruct()
            renderer = CanvasRenderer(self.window.content_area)
            renderer.set_controller(self)
            self.window.set_renderer(renderer)

        # Update panel widgets
        generate_options(self.window.options_area, module=3)
        generate_stats(self.window.stats_area, module=3)

        t = time.time()
        self.window.renderer.clear()
        self.window.renderer.set_board(NonogramProblem(kwargs['file_path']))
        self.window.render(math_coords=False)
        initial_result = self.window.renderer.board.heuristic(
            self.window.renderer.board.initial_state)

        if initial_result == 0:
            messagebox.showinfo(
                'Complete!',
                'Found a solution during initial domain filtering loop in %f seconds...'
                % (time.time() - t))
            log("Found solution for NonogramProblem after first domain filtering loop"
                )
            print(
                "Found solution for NonogramProblem after first domain filtering loop"
            )
            self.solve()
예제 #2
0
파일: controller.py 프로젝트: myth/trashcan
    def load_nonogram(self, **kwargs):
        if 'file_path' not in kwargs:
            messagebox.showerror(
                'Missing file path',
                'No file path was provided!'
            )

        if isinstance(self.window.renderer, GraphRenderer):
            self.window.renderer.destruct()
            renderer = CanvasRenderer(self.window.content_area)
            renderer.set_controller(self)
            self.window.set_renderer(renderer)

        # Update panel widgets
        generate_options(self.window.options_area, module=3)
        generate_stats(self.window.stats_area, module=3)

        t = time.time()
        self.window.renderer.clear()
        self.window.renderer.set_board(NonogramProblem(kwargs['file_path']))
        self.window.render(math_coords=False)
        initial_result = self.window.renderer.board.heuristic(self.window.renderer.board.initial_state)

        if initial_result == 0:
            messagebox.showinfo(
                'Complete!',
                'Found a solution during initial domain filtering loop in %f seconds...' % (time.time() - t)
            )
            log("Found solution for NonogramProblem after first domain filtering loop")
            print("Found solution for NonogramProblem after first domain filtering loop")
            self.solve()
예제 #3
0
    def load_board(self, **kwargs):
        """
        Loads a specific predefined board
        """

        if 'file_path' not in kwargs:
            messagebox.showerror('Missing file path',
                                 'No file path was provided!')

        if isinstance(self.window.renderer, GraphRenderer):
            self.window.renderer.destruct()
            renderer = CanvasRenderer(self.window.content_area)
            renderer.set_controller(self)
            self.window.set_renderer(renderer)

        # Update panel widgets
        generate_options(self.window.options_area)
        generate_stats(self.window.stats_area)

        self.window.renderer.clear()
        self.window.renderer.set_board(NavigationProblem(kwargs['file_path']))
        self.window.render(math_coords=True)
예제 #4
0
파일: controller.py 프로젝트: myth/trashcan
    def load_board(self, **kwargs):
        """
        Loads a specific predefined board
        """

        if 'file_path' not in kwargs:
            messagebox.showerror(
                'Missing file path',
                'No file path was provided!'
            )

        if isinstance(self.window.renderer, GraphRenderer):
            self.window.renderer.destruct()
            renderer = CanvasRenderer(self.window.content_area)
            renderer.set_controller(self)
            self.window.set_renderer(renderer)

        # Update panel widgets
        generate_options(self.window.options_area)
        generate_stats(self.window.stats_area)

        self.window.renderer.clear()
        self.window.renderer.set_board(NavigationProblem(kwargs['file_path']))
        self.window.render(math_coords=True)
예제 #5
0
    Application start sequence
    """

    logging.basicConfig(filename='debug.log', level=logging.DEBUG)
    log('Starting application ...')

    root = Tk()
    root.wm_title('Project 1')
    root.wm_protocol('WM_DELETE_WINDOW', root.quit)

    # Render the main window
    main = Main(root, MainController(), name='main')
    main.controller.set_window(main)

    # Set the initial renderer
    renderer = CanvasRenderer(main.content_area)
    renderer.set_controller(main.controller)
    main.set_renderer(renderer)

    # Register menubar components
    generate_menus(main)

    # Generate stats and options pane
    generate_options(main.options_area)
    generate_stats(main.stats_area)

    # Fill the window with main frame
    main.grid(row=0, column=0)

    # Start application
    root.mainloop()
예제 #6
0
    Application start sequence
    """

    logging.basicConfig(filename='debug.log', level=logging.DEBUG)
    log('Starting application ...')

    root = Tk()
    root.wm_title('Project 1')
    root.wm_protocol('WM_DELETE_WINDOW', root.quit)

    # Render the main window
    main = Main(root, MainController(), name='main')
    main.controller.set_window(main)

    # Set the initial renderer
    renderer = CanvasRenderer(main.content_area)
    renderer.set_controller(main.controller)
    main.set_renderer(renderer)

    # Register menubar components
    generate_menus(main)

    # Generate stats and options pane
    generate_options(main.options_area)
    generate_stats(main.stats_area)

    # Fill the window with main frame
    main.grid(row=0, column=0)

    # Start application
    root.mainloop()