Logo Khaganat

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
fr:godot:client:window_manager [2026/01/15 10:25] YannKfr:godot:client:window_manager [2026/01/15 14:45] (Version actuelle) YannK
Ligne 1: Ligne 1:
-====== Window manager ====== 
- 
 <mermaid> <mermaid>
 +
 classDiagram classDiagram
 +
 +WindowManager ..> DataSheetVirtualDesktop
 +WindowManager ..> ContextualWindow
 +WindowManager ..> GameWindow
 +
 +
     class WindowManager{     class WindowManager{
         export active_virtual_desktop: int = 0         export active_virtual_desktop: int = 0
-        export default_virtual_desktop_list: Array["[[DataSheetVirtualDesktop]"]]+        export default_virtual_desktop_list: Array[DataSheetVirtualDesktop]
         export user_virtual_desktop_list: Array[DataSheetVirtualDesktop]         export user_virtual_desktop_list: Array[DataSheetVirtualDesktop]
         contextual_window_template: PackedScene         contextual_window_template: PackedScene
  
 +        _active_virtual_desktop: DataSheetVirtualDesktop
         _active_contextual_window: ContextualWindow         _active_contextual_window: ContextualWindow
         _contextual_window_enabled: bool = false         _contextual_window_enabled: bool = false
Ligne 19: Ligne 25:
         _apply_user_preference(default_system_parameters: DataSheetVirtualDesktop, user_parameters: DataSheetVirtualDesktop) -> DataSheetVirtualDesktop         _apply_user_preference(default_system_parameters: DataSheetVirtualDesktop, user_parameters: DataSheetVirtualDesktop) -> DataSheetVirtualDesktop
         _on_contextual_window(window: GameWindow, contextual_elements: Array, active:bool) -> void         _on_contextual_window(window: GameWindow, contextual_elements: Array, active:bool) -> void
-        _window_build(window: DataSheetWindow, window_theme: DataSheetClientTheme) -> void+        _window_build(window: DataSheetWindow) -> void
         _window_contextual_build(window: GameWindow, contextual_elements: Array) -> void         _window_contextual_build(window: GameWindow, contextual_elements: Array) -> void
         _window_contextual_place(margin: Vector2 = Vector2(16, 16)) -> void         _window_contextual_place(margin: Vector2 = Vector2(16, 16)) -> void
Ligne 25: Ligne 31:
  
     }     }
-</mermaid> 
  
 +    class DataSheetVirtualDesktop{
 +        export windows: Array[DataSheetWindow]
 +        export client_theme: DataSheetClientTheme
  
-{{tag>godot}}+    } 
 + 
 +    class ContextualWindow{ 
 +        onready contextual_elements: VBoxContainer 
 +        onready opacity_button: Button 
 +        onready lock_button: Button 
 +        onready help_button: Button 
 +         
 +        add_contextual_elements(context: Array) -> void 
 +    } 
 + 
 +    class GameWindow{ 
 +        signal window_closed 
 +        signal contextual_window 
 + 
 +        enum ResizeDirection 
 + 
 +        export icon_image: Texture2D 
 +        export icon_image: Texture2D 
 +        export maxify_icon: Texture2D 
 +        export header_on: bool 
 +        export footer_on: bool 
 +        export accept_resize: bool 
 +        export has_contextual_window: bool 
 +        export has_contextual_opacity: bool 
 +        export has_contextual_lock: bool 
 +        export has_contextual_help: bool 
 +        contextual_elements: Array = [] 
 +        _is_resizing: bool = false 
 +        _is_moving: bool = false 
 +        _resize_direction: ResizeDirection = ResizeDirection.NONE 
 +        _initial_mouse_position: Vector2 
 +        _initial_geometry: Rect2 
 +        _is_maxed: bool = true 
 +        _maxed_size: float = size.y 
 +        _store_mini_height: float = custom_minimum_size.x 
 +        onready header_bar: PanelContainer 
 +        onready icon: TextureRect 
 +        onready header_title: Label 
 +        onready header_buttons: HBoxContainer 
 +        onready content: Control 
 +        onready minmax: Button 
 +        onready close: Button 
 +        onready footer_bar: PanelContainer 
 +        onready contextual_info: Label 
 +        onready outer_border: Panel 
 + 
 +        _gui_input(event) -void 
 +        _ready() -> void 
 +        _process(_delta) -> void 
 + 
 +        set_window_icon(icon_path: String) -> void 
 +        _close_window() 
 +        _get_resize_direction(local_mouse_pos: Vector2, border_width: int = 4) -> ResizeDirection 
 +        _handle_resize(current_mouse_global: Vector2) -> void 
 +        _mini_max() -> void 
 +        _populate_contextual_window() -> void 
 +        _update_mouse_icon() -> void 
 +        _check_for_content_signal(signal_name: String) -> bool 
 +        _on_contextual_footer_changed(text:String) -> void 
 +        _on_mouse_entered() -> void 
 +        _on_mouse_exited() -> void 
 +    } 
 + 
 +DataSheetVirtualDesktop ..> DataSheetWindow 
 +DataSheetVirtualDesktop ..> DataSheetClientTheme 
 + 
 +    class DataSheetVirtualDesktop { 
 +        export windows: Array[DataSheetWindow] 
 +        export client_theme: DataSheetClientTheme 
 +    } 
 + 
 +    class DataSheetWindow { 
 +        enum template 
 + 
 +        export name: String 
 +        export accept_resize: bool = true 
 +        export pattern: template 
 +        export header: bool = true 
 +        export_file var icon: String 
 +        export footer: bool = true 
 +        export active: bool = true 
 +        export coordinates: Vector2 
 +        export default_coordinates: Vector2 
 +        export dimensions: Vector2 
 +        export default_dimensions: Vector2 
 +        export minimum_dimensions: Vector2 
 +        export_file var content: String 
 +        export has_contextual_window: bool = true 
 +        export has_contextual_opacity: bool = true 
 +        export has_contextual_lock: bool = true 
 +        export has_contextual_help: bool = true 
 +        wintemplate: PackedScene 
 + 
 +        _init() -> void 
 +    } 
 +     
 +class DataSheetClientTheme { 
 +    export godot_theme: Theme 
 +
 +</mermaid>
CC Attribution-Share Alike 4.0 International Driven by DokuWiki
fr/godot/client/window_manager.1768472726.txt.gz · Dernière modification : de YannK

Licences Mentions légales Accueil du site Contact Inclusion