app.ui package#
Subpackages#
- app.ui.creators package
- Submodules
- app.ui.creators.project_creator module
ProjectCreatorProjectCreator.project_folderProjectCreator.menu_barProjectCreator.text_editor_sceneProjectCreator.open_buttonProjectCreator.create_buttonProjectCreator.default_config_checkboxProjectCreator.import_config_buttonProjectCreator.config_groupProjectCreator.frame_formatProjectCreator.resolution_xProjectCreator.resolution_yProjectCreator.camera_location_xProjectCreator.camera_location_yProjectCreator.camera_location_zProjectCreator.camera_rotation_alphaProjectCreator.camera_rotation_betaProjectCreator.camera_rotation_gammaProjectCreator.light_location_xProjectCreator.light_location_yProjectCreator.light_location_zProjectCreator.light_powerProjectCreator.stl_enableProjectCreator.reflect_xyProjectCreator.reflect_yzProjectCreator.reflect_xzProjectCreator.ok_buttonProjectCreator.about_button_fun()ProjectCreator.add_camera_controls()ProjectCreator.center()ProjectCreator.create_new_config()ProjectCreator.create_scene()ProjectCreator.create_the_project()ProjectCreator.import_scene()ProjectCreator.initUI()ProjectCreator.on_scene_created()ProjectCreator.process_default_config()ProjectCreator.setup_camera_settings()ProjectCreator.setup_central_widget()ProjectCreator.setup_config_group()ProjectCreator.setup_config_options()ProjectCreator.setup_light_settings()ProjectCreator.setup_other_settings()ProjectCreator.setup_resolution_inputs()ProjectCreator.setup_scene_import()ProjectCreator.setup_video_settings()ProjectCreator.toggle_checkboxes()
- app.ui.creators.scene_creator module
SceneCreatorSceneCreator.sceneCreatedSceneCreator.menu_barSceneCreator.main_widgetSceneCreator.sprites_list_layoutSceneCreator.sprite_listSceneCreator.text_editor_sceneSceneCreator.open_buttonSceneCreator.create_buttonSceneCreator.windowSceneCreator.initUI()SceneCreator.about_button_fun()SceneCreator.add_sprite()SceneCreator.center()SceneCreator.create_sprite()SceneCreator.drop_sprite()SceneCreator.import_sprite()SceneCreator.initUI()SceneCreator.okay_button_fun()SceneCreator.save_sprite()SceneCreator.sceneCreated
- app.ui.creators.sprite_creator module
SpriteCreatorSpriteCreator.SpriteCreatedSpriteCreator.menu_barSpriteCreator.sprite_nameSpriteCreator.sprite_stl_pathSpriteCreator.vtkWidgetSpriteCreator.renSpriteCreator.translation_transformSpriteCreator.rotation_transformSpriteCreator.flexibility_transformSpriteCreator.enable_checkboxSpriteCreator.position_xSpriteCreator.position_ySpriteCreator.position_zSpriteCreator.angle_input_alphaSpriteCreator.angle_input_betaSpriteCreator.angle_input_gammaSpriteCreator.inverse_kinematicsSpriteCreator.SpriteCreatedSpriteCreator.about_button_fun()SpriteCreator.calculate_inverse_kinematics()SpriteCreator.center()SpriteCreator.enable_checkbox_fun()SpriteCreator.finish_button_fun()SpriteCreator.flexibility_transform_fun()SpriteCreator.init_angle_group()SpriteCreator.init_finish_controls()SpriteCreator.init_initial_conditions()SpriteCreator.init_menu()SpriteCreator.init_position_group()SpriteCreator.init_sprite_inputs()SpriteCreator.init_transformations()SpriteCreator.init_ui()SpriteCreator.initial_condition_changed()SpriteCreator.open_file()SpriteCreator.open_m_values_fun()SpriteCreator.open_position_file()SpriteCreator.open_rotation_alpha()SpriteCreator.open_rotation_beta()SpriteCreator.open_rotation_gamma()SpriteCreator.process_inv_data()SpriteCreator.rotation_transform_fun()SpriteCreator.translation_transform_fun()
- Module contents
- app.ui.editor package
- Submodules
- app.ui.editor.project_editor module
ProjectWindowProjectWindow.project_folderProjectWindow.menu_barProjectWindow.right_groupProjectWindow.topleftgroupProjectWindow.bottomleftgroupProjectWindow.scene_dataProjectWindow.anglesProjectWindow.__init__()ProjectWindow.process_project()ProjectWindow.center()ProjectWindow.showErrorDialog()ProjectWindow.showAlertDialog()ProjectWindow.change_render_config()ProjectWindow.about_button_fun()ProjectWindow.about_button_fun()ProjectWindow.center()ProjectWindow.change_render_config()ProjectWindow.process_project()ProjectWindow.showAlertDialog()ProjectWindow.showErrorDialog()
- Module contents
Submodules#
app.ui.main_window module#
- class app.ui.main_window.MainWindow[source]#
Bases:
QMainWindowMainWindow Class#
The main window of the FlapKine application, providing the interface to create and open projects, access menu items, and navigate the application.
Custom menu bar widget containing the application’s menu actions.
- Type:
- b_new#
Button for creating a new project.
- Type:
QPushButton
- b_open#
Button for opening an existing project.
- Type:
QPushButton
- __init__():
Initializes the main window, sets the window title, icon, and connects menu actions.
- initUI():
Initializes the user interface layout, including the title, buttons, and central widget.
- center():
Centers the window on the screen.
- create_new_project():
Opens a dialog to select a directory to create a new project and launches the ProjectCreator window.
- open_existing_project():
Opens a dialog to select an existing project directory and launches the ProjectWindow.
- maximize_button_fun():
Maximizes the window and re-centers it on the screen.
- minimize_button_fun():
Minimizes the window.
- restore_button_fun():
Restores the window to its normal size.
- exit_button_fun():
Closes the main window.
- show_about():
Displays an “About” dialog containing information about the FlapKine application.
- about_button_fun()[source]#
Displays an ‘About FlapKine’ information dialog.
Shows details about the developer, version, and purpose of the application.
- center()[source]#
Centers the main window on the screen.
This method calculates the center position of the screen based on the screen resolution and window size, and moves the main window to that position. It ensures that the window is always positioned centrally when opened or restored.
- Components Used:
Screen resolution: Obtained using QDesktopWidget().screenGeometry()
Window size: Retrieved using the geometry() method of the main window
Window move: The move() method is used to set the calculated central position
- create_new_project()[source]#
Opens the ProjectCreator window for creating a new project.
This method prompts the user to select a directory where the new project will be saved. Once a directory is selected, it initializes the ProjectCreator window with the chosen directory and shows it. The main window is then closed.
- Components Involved:
QFileDialog.getSaveFileName(): Used to prompt the user to select a save location for the new project.
ProjectCreator: A separate window responsible for the project creation interface.
show(): Displays the new ProjectCreator window.
close(): Closes the current main window after initiating the new project creation.
- initUI()[source]#
Initializes the user interface for the FlapKine main window.
Sets up the geometry, central widget, and layout for the main window. Configures the primary color based on the foreground role, and adds UI components including a title label and buttons for creating a new project or opening an existing project. The layout and buttons are arranged in a vertical box layout (QVBoxLayout), with central alignment.
- Components Initialized:
Window geometry: Position set to (200, 200), size (400, 250)
Central widget: Contains the title label and buttons
Title label: “Welcome to FlapKine”, styled with font size 18px and bold weight
- Buttons:
New Project: Triggered via create_new_project() method
Open Project: Triggered via open_existing_project() method
Layout: Vertical box layout (QVBoxLayout) with central alignment for the components
- open_existing_project()[source]#
Opens an existing project by selecting a directory.
This method allows the user to select an existing project directory using a file dialog. Once a directory is selected, it displays the path in a message box. It then opens the ProjectWindow for the selected directory and displays it. The main window is closed to focus on the project editor.
- Components Involved:
QFileDialog.getExistingDirectory(): Prompts the user to select an existing project directory.
ProjectWindow: A separate window responsible for managing and editing the selected project.
show(): Displays the ProjectWindow window.
close(): Closes the current main window after opening the existing project.