grapher/grapher/gui/gui.py

31 lines
1.2 KiB
Python

"""
Student Analyzer Application
This script initializes and runs the Student Analyzer application, which provides an interface for
managing student data, class records, and submissions. It uses the Hello ImGui framework for UI rendering
and integrates a database to store and manipulate student information.
Modules:
- Custom Imports: Imports internal models and application state.
- Layouts: Defines different UI layouts for the analyzer and database editor.
- External Libraries: Uses imgui_bundle and Hello ImGui for UI rendering.
- Built-in Libraries: Uses shelve for persistent state storage and typing for type hints.
"""
# Custom
from dbmodel import * # Importing database models like Class, Student, Lecture, and Submission
from .appstate import AppState
# External
from imgui_bundle import imgui, hello_imgui # ImGui-based UI framework
def menu_bar(runner_params: hello_imgui.RunnerParams) -> None:
"""Defines the application's menu bar."""
hello_imgui.show_app_menu(runner_params)
hello_imgui.show_view_menu(runner_params)
def status_bar(app_state: AppState) -> None:
"""Displays the status bar information."""
imgui.text("Student Analyzer by @DerGrumpf")