123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- # TODO Lot of hardcoded shizzle
- import sys
- from typing import List
- import arklog
- import dearpygui.dearpygui as dpg
- from dearpygui import demo
- from graph_exploring_tool.configuration import Configuration
- from graph_exploring_tool.graphical.constants import PRIMARY_WINDOW_TAG, MAIN_QUERY_GROUP_TAG, MAIN_DIAGRAM_GROUP_TAG
- from graph_exploring_tool.graphical.diagram_group import create_diagram_group
- from graph_exploring_tool.graphical.query_group import create_query_group
- from graph_exploring_tool.query import QueryTemplate
- arklog.set_config_logging()
- def switch_main_view(view: str):
- """Switch the current view to one of the options. This hides all but on group."""
- dpg.configure_item(MAIN_QUERY_GROUP_TAG, show=view == MAIN_QUERY_GROUP_TAG)
- dpg.configure_item(MAIN_DIAGRAM_GROUP_TAG, show=view == MAIN_DIAGRAM_GROUP_TAG)
- def add_main_menu() -> None:
- """Create the main menu for the application interface."""
- with dpg.menu_bar():
- with dpg.menu(label="Menu"):
- dpg.add_menu_item(label="Exit", callback=lambda _: sys.exit())
- with dpg.menu(label="View"):
- with dpg.menu(label="Switch main view"):
- dpg.add_menu_item(label="Query Explorer", callback=lambda _: switch_main_view(MAIN_QUERY_GROUP_TAG))
- dpg.add_menu_item(label="Diagram Explorer", callback=lambda _: switch_main_view(MAIN_DIAGRAM_GROUP_TAG))
- def interface(configuration: Configuration, palette: List[QueryTemplate], width=1200, height=900):
- """Show the initial state of the full user interface."""
- dpg.create_context()
- dpg.create_viewport(title="Graph Exploring Tool", width=width, height=height)
- with dpg.window(tag=PRIMARY_WINDOW_TAG, label="Graph Exploring Tool", menubar=True):
- add_main_menu()
- create_query_group(configuration, palette)
- create_diagram_group()
- # demo.show_demo()
- dpg.setup_dearpygui()
- dpg.show_viewport()
- dpg.set_primary_window(PRIMARY_WINDOW_TAG, True)
- dpg.start_dearpygui()
- dpg.destroy_context()
|