editor.ui package

Submodules

editor.ui.animation_editor module

class editor.ui.animation_editor.AnimationEditor(parent=None, project_dir='.')[source]

Bases: QMainWindow

open_file(path)[source]
open_file_dialog()[source]
class editor.ui.animation_editor.ClipEditorWidget(parent=None)[source]

Bases: QWidget

add_images()[source]
advance_preview()[source]
browse_sheet()[source]
clear_images()[source]
extract_preview_frames()[source]
load_clip(path)[source]
on_prop_changed()[source]
on_type_changed()[source]
pause_preview()[source]
play_preview()[source]
refresh_ui()[source]
save_clip()[source]
show_current_preview_frame()[source]
stop_preview()[source]
class editor.ui.animation_editor.ControllerEditorWidget(parent=None)[source]

Bases: QWidget

add_node()[source]
advance_node_preview()[source]
browse_clip()[source]
cancel_transition_drag()[source]
delete_selected_edge()[source]
delete_selected_item()[source]
delete_selected_node()[source]
finish_transition_drag(item)[source]
load_controller(path)[source]
on_name_changed()[source]
on_selection_changed()[source]
on_transition_changed()[source]
refresh_scene()[source]
replay_selected_node_preview()[source]
resolve_clip_path(clip_path: str)[source]
save_controller()[source]
show_node_preview_frame()[source]
start_node_preview(clip_path: str)[source]
start_transition_drag(node_item)[source]
stop_node_preview()[source]
update_edges(node_item)[source]
update_transition_drag(pos)[source]
class editor.ui.animation_editor.EdgeItem(start_item, end_item, transition, offset_sign=0)[source]

Bases: QGraphicsLineItem

paint(self, painter: QPainter | None, option: QStyleOptionGraphicsItem | None, widget: QWidget | None = None)[source]
update_position()[source]
class editor.ui.animation_editor.EditorGraphicsView(scene, controller_widget=None)[source]

Bases: QGraphicsView

keyPressEvent(self, event: QKeyEvent | None)[source]
mouseMoveEvent(self, event: QMouseEvent | None)[source]
mousePressEvent(self, event: QMouseEvent | None)[source]
wheelEvent(self, event: QWheelEvent | None)[source]
class editor.ui.animation_editor.NodeItem(node_name, x, y, controller_widget, width=150, height=60)[source]

Bases: QGraphicsRectItem

itemChange(self, change: QGraphicsItem.GraphicsItemChange, value: Any) Any[source]
mouseDoubleClickEvent(self, event: QGraphicsSceneMouseEvent | None)[source]

editor.ui.asset_manager module

class editor.ui.asset_manager.AssetFilterProxyModel[source]

Bases: QSortFilterProxyModel

filterAcceptsRow(self, source_row: int, source_parent: QModelIndex) bool[source]
class editor.ui.asset_manager.AssetIconProvider[source]

Bases: QFileIconProvider

Custom icon provider using FontAwesome icons via qtawesome.

icon(self, type: QAbstractFileIconProvider.IconType) QIcon[source]
icon(self, info: QFileInfo) QIcon
class editor.ui.asset_manager.AssetManagerDock(main_window, parent=None)[source]

Bases: QDockWidget

active_view()[source]
apply_zoom(size: int)[source]
create_new_animation_clip(parent_dir)[source]
create_new_animation_controller(parent_dir)[source]
create_new_folder(parent_dir)[source]
delete_selected_files()[source]
instantiate_prefab(path)[source]
load_scene(path)[source]
navigate_up()[source]
on_double_click(index)[source]
on_selection_changed(current, previous)[source]
open_context_menu(view, position)[source]
set_current_root_path(path: str)[source]
set_project_path(path: str)[source]
set_view_mode(index: int)[source]
update_breadcrumbs()[source]
update_theme_icons()[source]

Refresh icons when the theme changes.

editor.ui.chat_dock module

AI Chat dock widget for the AxisPy Engine editor.

class editor.ui.chat_dock.ChatDock(chat_manager, parent=None)[source]

Bases: QDockWidget

Dockable AI chat panel for the editor.

eventFilter(self, a0: QObject | None, a1: QEvent | None) bool[source]
message_received

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

refresh_sessions()[source]

Refresh the session dropdown from session_manager.

update_model_label()[source]
class editor.ui.chat_dock.ChatMessageWidget(role: str, content: str, prompt_index: int = -1, parent=None)[source]

Bases: QFrame

A single chat message bubble.

copy_code_requested

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

inject_diff_widget(path: str, old_text: str, new_text: str)[source]

Inject a DiffWidget into the message.

mark_reverted()[source]

Visually mark this message as reverted.

revert_requested

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

show_revert_button()[source]

Make the revert button visible (called when prompt had file actions).

update_content(content: str)[source]

Replace content (used during streaming).

class editor.ui.chat_dock.DiffWidget(path: str, old_text: str, new_text: str, parent=None)[source]

Bases: QFrame

A collapsible unified diff widget for showing script edits.

editor.ui.code_editor module

class editor.ui.code_editor.CodeEditor(parent=None)[source]

Bases: QsciScintilla

apply_theme()[source]
refresh_apis_from_document()[source]

Scan the current document text and add identifiers to the API set.

setPlainText(text)[source]
toPlainText()[source]
class editor.ui.code_editor.FindReplaceBar(editor, parent=None)[source]

Bases: QWidget

find_next()[source]
find_prev()[source]
replace_all()[source]
replace_one()[source]
show_bar()[source]
class editor.ui.code_editor.ScriptEditorWidget(parent=None)[source]

Bases: QWidget

apply_theme()[source]
close_tab(index)[source]
find_tab_by_path(path)[source]
open_file(path)[source]
save_file()[source]

editor.ui.console_dock module

class editor.ui.console_dock.ConsoleDock(parent=None)[source]

Bases: QDockWidget

Console dock with filtering capabilities for engine logs, stdout/stderr, and player process output.

cleanup()[source]

Cleanup resources.

set_player_process(process: Popen)[source]

Set the player process for log monitoring.

write_stderr(text: str)[source]

Write stderr text to console.

write_stdout(text: str)[source]

Write stdout text to console.

editor.ui.engine_settings module

class editor.ui.engine_settings.EngineSettings(parent=None)[source]

Bases: QDialog

save_changes()[source]
editor.ui.engine_settings.apply_dark_theme(app)[source]
editor.ui.engine_settings.apply_light_theme(app)[source]
editor.ui.engine_settings.apply_theme_mode(app, mode: str)[source]
editor.ui.engine_settings.get_user_config_dir() str[source]

Return the OS-appropriate user config directory for the engine.

Windows: ~/Documents/AxisPyGameEngine/ macOS: ~/Documents/AxisPyGameEngine/ Linux: ~/.config/AxisPyGameEngine/

editor.ui.engine_settings.is_dark_mode()[source]

Return True if the current theme is dark.

editor.ui.engine_settings.load_engine_config()[source]
editor.ui.engine_settings.load_saved_theme_mode()[source]
editor.ui.engine_settings.save_engine_config(data: dict)[source]
editor.ui.engine_settings.save_theme_mode(mode: str)[source]
editor.ui.engine_settings.theme_arrow_color()[source]

Return an arrow/indicator color suitable for the current theme.

editor.ui.engine_settings.theme_icon_color()[source]

Return an icon color suitable for the current theme (light text on dark, dark text on light).

editor.ui.export_dialog module

class editor.ui.export_dialog.ExportDialog(project_path: str, parent=None)[source]

Bases: QDialog

closeEvent(self, a0: QCloseEvent | None)[source]

editor.ui.gizmo module

class editor.ui.gizmo.Gizmo[source]

Bases: object

AXIS_BOTH = 4
AXIS_NONE = 0
AXIS_X = 1
AXIS_Y = 2
AXIS_Z = 3
MODE_ROTATE = 1
MODE_SCALE = 2
MODE_TRANSLATE = 0
get_center()[source]
handle_event(event_type, mouse_pos, camera_x, camera_y, zoom)[source]

Returns True if the event was consumed by the gizmo

render(surface, camera_x, camera_y, zoom)[source]
set_mode(mode)[source]
set_target(entity)[source]
set_targets(entities)[source]
update_hover(mouse_pos, camera_x, camera_y, zoom)[source]

editor.ui.groups_panel module

class editor.ui.groups_panel.GroupsDock(main_window)[source]

Bases: QDockWidget

create_group()[source]
delete_group()[source]
on_group_selected(item)[source]
refresh_list()[source]

editor.ui.hierarchy module

class editor.ui.hierarchy.HierarchyDock(scene, parent=None)[source]

Bases: QDockWidget

create_child_entity(parent_item)[source]
create_entity()[source]
delete_selected_entities()[source]
dragEnterEvent(self, a0: QDragEnterEvent | None)[source]
dragMoveEvent(self, a0: QDragMoveEvent | None)[source]
dropEvent(self, a0: QDropEvent | None)[source]
duplicate_selected_entities()[source]
get_unique_name(name, parent_entity, exclude_entity=None)[source]
on_item_changed(item, column)[source]
open_context_menu(position)[source]
refresh()[source]
save_as_prefab()[source]
select_entities(entities)[source]
select_entity(entity)[source]
update_theme_icons()[source]

Refresh all icons when the theme changes.

editor.ui.inspector module

class editor.ui.inspector.AnimationClipEditorDialog(project_dir, default_mode='spritesheet', default_clip_name='', parent=None)[source]

Bases: QDialog

accept(self)[source]
class editor.ui.inspector.InspectorDock(parent=None)[source]

Bases: QDockWidget

add_alignment_ui(components)[source]
add_animator_ui(animators)[source]
add_arrive_ui(components)[source]
add_box_collider_ui(colliders)[source]
add_button_ui(components)[source]
add_camera_ui(cameras)[source]
add_checkbox_ui(components)[source]
add_circle_collider_ui(colliders)[source]
add_cohesion_ui(components)[source]
add_component(component)[source]
add_flee_ui(components)[source]
add_gridbox_ui(components)[source]
add_hbox_ui(components)[source]
add_http_client_ui(clients)[source]
add_http_request_ui(requests_list)[source]
add_light_occluder_ui(components)[source]
add_multiplayer_ui(mp_list)[source]
add_network_identity_ui(nid_list)[source]
add_new_script_component()[source]
add_particle_emitter_ui(emitters)[source]
add_point_light_ui(components)[source]
add_polygon_collider_ui(colliders)[source]
add_progress_bar_ui(components)[source]
add_rigidbody_ui(rigidbodies)[source]
add_script_ui(scripts)[source]
add_seek_ui(components)[source]
add_separation_ui(components)[source]
add_slider_ui(components)[source]
add_sound_ui(sounds)[source]
add_spot_light_ui(components)[source]
add_sprite_ui(sprites)[source]
add_steering_agent_ui(components)[source]
add_text_input_ui(components)[source]
add_text_renderer_ui(components)[source]
add_tilemap_ui(components)[source]
add_timer_ui(timers)[source]
add_transform_ui(transforms)[source]
add_ui_image_ui(components)[source]
add_vbox_ui(components)[source]
add_wander_ui(components)[source]
add_webrtc_ui(rtc_list)[source]
add_websocket_ui(websockets_list)[source]
add_webview_ui(webviews)[source]
apply_animation_clip_file(path, entities=None)[source]
batch_add_box_collider()[source]
batch_add_circle_collider()[source]
batch_add_component(component_class, **kwargs)[source]
batch_add_light_occluder()[source]
batch_add_polygon_collider()[source]
batch_add_rigidbody()[source]
browse_image(sprites, line_edit, w_spin=None, h_spin=None)[source]
on_name_changed(text)[source]
open_controller_editor(path)[source]
refresh_name()[source]
refresh_values()[source]
set_entities(entities)[source]
set_entity(entity)[source]
show_add_component_menu()[source]
update_sprites_image(sprites, path, w_spin=None, h_spin=None)[source]
update_theme_icons()[source]

Refresh icons when the theme changes.

class editor.ui.inspector.NoScrollComboBox(*args, **kwargs)[source]

Bases: QComboBox

QComboBox that ignores wheel events when not focused

wheelEvent(self, e: QWheelEvent | None)[source]
class editor.ui.inspector.NoScrollSpinBox(*args, **kwargs)[source]

Bases: QSpinBox

QSpinBox that ignores wheel events when not focused

wheelEvent(self, e: QWheelEvent | None)[source]
class editor.ui.inspector.UndoableDoubleSpinBox(*args, **kwargs)[source]

Bases: QDoubleSpinBox

focusInEvent(self, e: QFocusEvent | None)[source]
focused

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

keyPressEvent(self, e: QKeyEvent | None)[source]
wheelEvent(self, e: QWheelEvent | None)[source]
class editor.ui.inspector.UndoableLineEdit[source]

Bases: QLineEdit

focusInEvent(self, a0: QFocusEvent | None)[source]
focused

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

editor.ui.main_window module

class editor.ui.main_window.MainWindow[source]

Bases: QMainWindow

closeEvent(self, a0: QCloseEvent | None)[source]
create_empty_entity()[source]
create_menus()[source]
load_last_opened_scene()[source]
load_project_settings()[source]
new_project()[source]
new_scene()[source]
on_entity_deleted(_)[source]
on_entity_selected()[source]
on_viewport_entity_selected(entities)[source]
open_animation_clip(path)[source]
open_animation_controller_editor(path)[source]
open_engine_settings()[source]
open_export_dialog()[source]
open_project()[source]
open_project_hub()[source]
open_project_settings()[source]
open_scene()[source]
open_script(path)[source]
run_current_scene()[source]
run_game()[source]
save_current_context()[source]
save_scene()[source]
show_about_dialog()[source]
update_theme_icons()[source]

editor.ui.preview_panel module

class editor.ui.preview_panel.AnimationClipPreview(parent=None)[source]

Bases: QWidget

advance_frame()[source]
cleanup()[source]
load(path)[source]
pause()[source]
play()[source]
resizeEvent(self, a0: QResizeEvent | None)[source]
show_frame()[source]
stop()[source]
class editor.ui.preview_panel.ImagePreview(parent=None)[source]

Bases: QWidget

cleanup()[source]
load(path)[source]
resizeEvent(self, a0: QResizeEvent | None)[source]
update_preview()[source]
class editor.ui.preview_panel.PreviewPanel(parent=None)[source]

Bases: QWidget

clear()[source]
set_file(file_path)[source]
class editor.ui.preview_panel.SoundPreview(parent=None)[source]

Bases: QWidget

cleanup()[source]
load(path)[source]
play()[source]
stop()[source]

editor.ui.project_hub module

class editor.ui.project_hub.ProjectHub[source]

Bases: QWidget

add_recent_project(path)[source]
apply_theme_style(mode: str)[source]
delete_selected_project()[source]
load_config()[source]
new_project()[source]
on_item_double_clicked(item)[source]
on_search_changed(text)[source]
on_selection_changed()[source]
open_project(path)[source]
open_project_dialog()[source]
open_selected_project()[source]
project_selected

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

refresh_list()[source]
reveal_selected_project()[source]
save_config()[source]
setup_ui()[source]

editor.ui.project_settings module

class editor.ui.project_settings.ProjectSettingsDialog(project_path, parent=None)[source]

Bases: QDialog

add_group()[source]
add_layer()[source]
choose_bg_color()[source]
choose_entry_scene()[source]
choose_game_icon()[source]
load_config()[source]
merge_dicts(default, override)[source]
move_group_down()[source]
move_group_up()[source]
move_layer_down()[source]
move_layer_up()[source]
on_collision_matrix_item_changed(item)[source]
remove_group()[source]
remove_layer()[source]
save_config()[source]
set_color_btn_style(color_list)[source]
setup_ui()[source]

editor.ui.tilemap_editor module

class editor.ui.tilemap_editor.LayerListItem(layer_name: str, layer_index: int, is_visible: bool = True, is_first: bool = False, is_last: bool = False, parent=None)[source]

Bases: QWidget

Custom list widget item for layers with visibility checkbox and reordering buttons

is_visible() bool[source]
move_layer

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

rename_layer

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

set_name(name: str)[source]
set_visible(visible: bool)[source]
update_position(is_first: bool, is_last: bool)[source]

Update button states based on position

visibility_changed

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

class editor.ui.tilemap_editor.TilemapComponentUI(components, parent=None)[source]

Bases: QWidget

Tilemap component UI that can be embedded in the inspector

active_layer_index() int[source]
active_layer_index_changed

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

current_tool() str[source]
edit_mode_changed

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

is_edit_mode() bool[source]
selected_tile_changed

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

selected_tile_id() int[source]
setup_ui()[source]
sync_from_component()[source]

Sync UI from the tilemap component

tool_changed

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

class editor.ui.tilemap_editor.TilemapEditorDock(main_window, parent=None)[source]

Bases: QDockWidget

active_layer_index() int[source]
active_layer_index_changed

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

current_tool() str[source]
edit_mode_changed

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

is_edit_mode() bool[source]
selected_tile_changed

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

selected_tile_id() int[source]
set_active_tilemap_entity(entity)[source]
tilemap_selected

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

tool_changed

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

class editor.ui.tilemap_editor.TilesetPreview(parent=None)[source]

Bases: QLabel

mousePressEvent(self, ev: QMouseEvent | None)[source]
paintEvent(self, a0: QPaintEvent | None)[source]
selected_tile_id() int[source]
set_tileset(image: QImage | None, tileset: Tileset | None)[source]
tile_selected

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

editor.ui.viewport module

class editor.ui.viewport.PygameViewport(scene: Scene, parent=None, project_config: dict | None = None)[source]

Bases: QWidget

apply_scene_view_state(state)[source]
apply_zoom(factor)[source]
bind_scene(scene: Scene)[source]
capture_start_states()[source]
commit_transform()[source]
entity_deleted

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

entity_modified

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

entity_selected

int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

Type:

str = …, revision

get_scene_view_state()[source]
is_polygon_point_add_active(entity=None)[source]
keyPressEvent(self, a0: QKeyEvent | None)[source]
mouseMoveEvent(self, a0: QMouseEvent | None)[source]
mousePressEvent(self, a0: QMouseEvent | None)[source]
mouseReleaseEvent(self, a0: QMouseEvent | None)[source]
paintEvent(self, a0: QPaintEvent | None)[source]
reset_camera()[source]
resizeEvent(self, a0: QResizeEvent | None)[source]
set_gizmo_mode(mode)[source]
set_physics_debug_mode(enabled)[source]
set_tilemap_active_layer(layer_index: int)[source]
set_tilemap_edit_mode(enabled: bool)[source]
set_tilemap_entity(entity)[source]

Set the tilemap entity for editing (used by component UI)

set_tilemap_selected_tile(tile_id: int)[source]
set_tilemap_tool(tool_name: str)[source]
setup_ui()[source]
start_polygon_point_add_mode(entity)[source]
start_simulation()[source]

Snapshot the scene, attach runtime systems, and begin simulating.

stop_polygon_point_add_mode()[source]
stop_simulation()[source]

Stop simulating and restore the scene to its pre-play state.

toggle_physics_debug()[source]
update_frame()[source]
update_project_config(config: dict)[source]

Update project config and refresh shadow_extend setting.

update_zoom_label()[source]
wheelEvent(self, a0: QWheelEvent | None)[source]

Module contents