app.ui.editor package#

Submodules#

app.ui.editor.project_editor module#

class app.ui.editor.project_editor.ProjectWindow(project_folder)[source]#

Bases: QMainWindow

ProjectWindow Class#

This class represents the main operational GUI window for managing and visualizing a completed FlapKine project.

It provides a split interface integrating video animation playback, 3D visual scene visualization, and interactive point manipulation tools. It also includes a custom menu bar for global actions and supports dynamic reconfiguration of render settings. Scene data is automatically loaded from the project folder and used to initialize the application modules.

project_folder#

Path to the FlapKine project directory containing scene data and assets.

Type:

str

menu_bar#

Custom top menu bar allowing control over application-level features like exit, minimize, restore, about info, and render configuration.

Type:

MenuBar

right_group#

Right panel widget displaying the interactive point scatter tool for the imported scene.

Type:

PointScatterWidget

topleftgroup#

Top-left panel widget used for rendering and controlling video animations of the project.

Type:

VideoAnimation

bottomleftgroup#

Bottom-left panel widget used for rendering and interacting with the 3D scene visualization.

Type:

Visualizer3DWidget

scene_data#

Deserialized scene data loaded from the project folder (extracted from scene.pkl).

Type:

SceneData

angles#

List of orientation angles (usually Roll, Pitch, Yaw) for the primary object in the scene.

Type:

list

__init__(project_folder: str)[source]#

Initializes the main window, loads project data, composes the layout, and sets up the UI modules.

process_project()[source]#

Loads the serialized scene file from the project folder and extracts associated parameters.

center()[source]#

Moves the application window to the center of the user’s screen for better UX.

showErrorDialog(title: str, message: str)[source]#

Displays a critical error dialog with the given title and message.

showAlertDialog(title: str, message: str)[source]#

Displays an informational alert dialog with the given title and message.

change_render_config()[source]#

Opens the secondary RenderConfig window for customizing rendering parameters.

about_button_fun()[source]#

Displays information about the application and its authorship in a modal dialog.

about_button_fun()[source]#

Displays the About dialog for the FlapKine application.

Opens a modal QMessageBox containing application metadata, author information, and a brief description of the project’s purpose and capabilities.

center()[source]#

Centers the application window on the user’s screen.

Calculates the screen resolution and window size to determine the optimal top-left coordinates that position the window in the center of the screen. Adjusts the window position accordingly.

Notes

This method ensures consistent window placement regardless of screen resolution.

change_render_config()[source]#

Launches the render configuration interface.

Instantiates a RenderConfig window using the current project folder and displays it. This allows users to modify rendering parameters such as resolution, lighting, and output format.

Notes

The RenderConfig window is shown non-modally, allowing interaction with the main window simultaneously.

process_project()[source]#

Loads the project scene data from the specified folder.

Attempts to locate and deserialize the scene.pkl file from the given project directory. If successful, initializes scene_data and extracts orientation angles from the first object in the scene. Displays a critical error dialog if the scene file is missing.

Behavior#

  • Loads: scene_data : Deserialized scene object containing project metadata

  • Extracts: angles : Orientation data from the first scene object

Error Handling#

  • Displays a critical error dialog if scene.pkl is not found in the project_folder.

showAlertDialog(title, message)[source]#

Displays an informational alert dialog with the given title and message.

Presents a modal QMessageBox configured to convey general information to the user. Commonly used for confirmations, status updates, or non-critical notices.

Parameters:
  • title (str) – The title text displayed on the alert dialog window.

  • message (str) – The information content shown inside the dialog.

showErrorDialog(title, message)[source]#

Displays a critical error dialog with the specified title and message.

Creates and shows a modal QMessageBox configured to indicate an error condition. Typically used to alert users when essential files or configurations are missing.

Parameters:
  • title (str) – The title text displayed on the error dialog window.

  • message (str) – The detailed error message shown within the dialog content.

Module contents#