31 lines
1.2 KiB
Python
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")
|
|
|