Class: Wx::AUI::AuiManager
- Inherits:
-
EvtHandler
- Object
- Object
- EvtHandler
- Wx::AUI::AuiManager
- Defined in:
- lib/wx/doc/gen/aui/aui_manager.rb,
lib/wx/doc/aui/auimanager.rb
Overview
AuiManager is the central class of the Wx::AUI class framework.
AuiManager manages the panes associated with it for a particular window, using a pane’s AuiPaneInfo information to determine each pane’s docking and floating behaviour. AuiManager uses wxWidgets’ sizer mechanism to plan the layout of each frame. It uses a replaceable dock art class to do all drawing, so all drawing is localized in one area, and may be customized depending on an application’s specific needs. AuiManager works as follows: the programmer adds panes to the class, or makes changes to existing pane properties (dock position, floating state, show state, etc.). To apply these changes, AuiManager‘s #update function is called. This batch processing can be used to avoid flicker, by modifying more than one pane at a time, and then “committing” all of the changes at once by calling #update. Panes can be added using #add_pane:
@text1 = Wx::TextCtrl.new(self, -1)
@text2 = Wx::TextCtrl.new(self, -1)
@mgr.add_pane(@text1, Wx::LEFT, 'Pane Caption')
@mgr.add_pane(@text2, Wx::BOTTOM, 'Pane Caption')
@mgr.update
Later on, the positions and other attributes can be modified, e.g. the following will float an existing pane in a tool window:
@mgr.get_pane(@text1).float
Layers, Rows and Directions, Positions
Inside Wx::AUI, the docking layout is figured out by checking several pane parameters. Four of these are important for determining where a pane will end up:
-
Direction: Each docked pane has a direction, Top, Bottom, Left, Right, or Center. This is fairly self-explanatory. The pane will be placed in the location specified by this variable.
-
Position: More than one pane can be placed inside of a dock. Imagine two panes being docked on the left side of a window. One pane can be placed over another. In proportionally managed docks, the pane position indicates its sequential position, starting with zero. So, in our scenario with two panes docked on the left side, the top pane in the dock would have position 0, and the second one would occupy position 1.
-
Row: A row can allow for two docks to be placed next to each other. One of the most common places for this to happen is in the toolbar. Multiple toolbar rows are allowed, the first row being row 0, and the second row 1. Rows can also be used on vertically docked panes.
-
Layer: A layer is akin to an onion. Layer 0 is the very center of the managed pane. Thus, if a pane is in layer 0, it will be closest to the center window (also sometimes known as the “content window”). Increasing layers “swallow up” all layers of a lower value. This can look very similar to multiple rows, but is different because all panes in a lower level yield to panes in higher levels. The best way to understand layers is by running the Wx::AUI sample.
Minimizing Panes
Since wxWidgets 3.3.2, AuiManager supports minimizing panes which have the minimize button, see Wx::AUI::AuiPaneInfo#minimize_button. Such panes appear in the special toolbar(s) showing the buttons for all panes that can be minimized and allowing to either hide or show them again. By default, the toolbars showing the buttons for the minimized panes are created on the left, bottom and right sides of the managed window. You can change this using #allow_docks_for_min_panes but note that you must still allow for the toolbars to be created on at least one side and the only way not to have any such toolbar at all is to not have any panes with minimize button. See #set_docks_for_min_panes_style and Wx::AUI::AuiPaneInfo#icon_min for more customization possibilities.
Styles
This class supports the following styles:
-
Wx::AUI::AuiManagerOption::AUI_MGR_ALLOW_FLOATING: Allow a pane to be undocked to take the form of a MiniFrame.
-
Wx::AUI::AuiManagerOption::AUI_MGR_ALLOW_ACTIVE_PANE: Change the color of the title bar of the pane when it is activated.
-
Wx::AUI::AuiManagerOption::AUI_MGR_TRANSPARENT_DRAG: Make the pane transparent during its movement.
-
Wx::AUI::AuiManagerOption::AUI_MGR_TRANSPARENT_HINT: The possible location for docking is indicated by a translucent area.
-
Wx::AUI::AuiManagerOption::AUI_MGR_VENETIAN_BLINDS_HINT: The possible location for docking is indicated by gradually appearing partially transparent hint.
-
Wx::AUI::AuiManagerOption::AUI_MGR_RECTANGLE_HINT: The possible location for docking is indicated by a rectangular outline. Note that this flag doesn’t work, i.e. doesn’t show any hint in WXGTK and WXOSX, please use one of the hint flags above instead.
-
Wx::AUI::AuiManagerOption::AUI_MGR_HINT_FADE: The translucent area where the pane could be docked appears gradually. Note that this flag is not included in Wx::AUI::AuiManagerOption::AUI_MGR_DEFAULT since wxWidgets 3.3.0 any longer.
-
Wx::AUI::AuiManagerOption::AUI_MGR_NO_VENETIAN_BLINDS_FADE: This style is obsolete and doesn’t do anything, it is only defined as 0 for compatibility.
-
Wx::AUI::AuiManagerOption::AUI_MGR_LIVE_RESIZE: When a docked pane is resized, its content is refreshed in live (instead of moving the border alone and refreshing the content at the end). Note that this flag is included in Wx::AUI::AuiManagerOption::AUI_MGR_DEFAULT and so needs to be explicitly turned off if you don’t need. Also note that it is always enabled in WXGTK3 and WXOSX ports as non-live resizing is not implemented in them.
-
Wx::AUI::AuiManagerOption::AUI_MGR_DEFAULT: Default behaviour, combines Wx::AUI::AuiManagerOption::AUI_MGR_ALLOW_FLOATING, Wx::AUI::AuiManagerOption::AUI_MGR_TRANSPARENT_HINT and Wx::AUI::AuiManagerOption::AUI_MGR_LIVE_RESIZE.
Events emitted by this class
The following event-handler methods redirect the events to member method or handler blocks for AuiManagerEvent events. Event handler methods for events emitted by this class:
-
EvtHandler#evt_aui_pane_button(meth = nil, &block): Triggered when any button is pressed for any docked panes.
-
EvtHandler#evt_aui_pane_close(meth = nil, &block): Triggered when a docked or floating pane is closed.
-
EvtHandler#evt_aui_pane_minimize(meth = nil, &block): Triggered when a pane is minimized. This event is new since wxWidgets 3.3.2.
-
EvtHandler#evt_aui_pane_maximize(meth = nil, &block): Triggered when a pane is maximized.
-
EvtHandler#evt_aui_pane_restore(meth = nil, &block): Triggered when a pane is restored.
-
EvtHandler#evt_aui_pane_activated(meth = nil, &block): Triggered when a pane is made ‘active’. This event is new since wxWidgets 2.9.4.
-
EvtHandler#evt_aui_render(meth = nil, &block): This event can be caught to override the default renderer in order to custom draw your AuiManager window (not recommended).
Category: Window Docking (wxAUI)
Class Method Summary collapse
-
.always_uses_live_resize(window) ⇒ Boolean
Returns true if live resize is always used on the current platform.
-
.get_manager(window) ⇒ Wx::AUI::AuiManager
Calling this method will return the AuiManager for a given window.
Instance Method Summary collapse
- #add_pane(*args) ⇒ Object
-
#allow_docks_for_min_panes(directions) ⇒ void
Change the sides where docks for minimized panes can be created.
-
#calculate_hint_rect(paneWindow, pt, offset = (Wx::Point.new(0, 0))) ⇒ Wx::Rect
This function is used by controls to calculate the drop hint rectangle.
-
#calculate_new_split_size ⇒ Wx::Size
Return a reasonable size to use for a new split.
-
#can_dock_panel(p) ⇒ Boolean
(also: #can_dock_panel?)
Check if a key modifier is pressed (actually KeyCode::K_CONTROL or KeyCode::K_ALT) while dragging the frame to not dock the window.
-
#close_pane(paneInfo) ⇒ void
Destroys or hides the given pane depending on its flags.
-
#create_floating_frame(parent, p) ⇒ Wx::AUI::AuiFloatingFrame
Creates a floating frame in this AuiManager with the given parent and AuiPaneInfo.
-
#detach_pane(window) ⇒ Boolean
Tells the AuiManager to stop managing the pane specified by window.
-
#draw_hint_rect(paneWindow, pt, offset = (Wx::Point.new(0, 0))) ⇒ void
This function is used by controls to draw the hint window.
-
#each_pane ⇒ Object
Yield each pane to the given block.
-
#get_all_panes ⇒ Array<Wx::AUI::AuiPaneInfo>
(also: #all_panes)
Returns an array of all panes managed by the frame manager.
-
#get_art_provider ⇒ Wx::AUI::AuiDockArt
(also: #art_provider)
Returns the current art provider being used.
-
#get_dock_size_constraint ⇒ Array(Float,Float)
(also: #dock_size_constraint)
Returns the current dock constraint values.
-
#get_flags ⇒ Integer
(also: #flags)
Returns the current AuiManagerOption‘s flags.
-
#get_managed_window ⇒ Wx::Window
(also: #managed_window)
Returns the frame currently being managed by AuiManager.
- #get_pane(*args) ⇒ Object (also: #pane)
-
#has_live_resize ⇒ Boolean
(also: #has_live_resize?)
Returns true if windows are resized live.
-
#hide_hint ⇒ void
#hide_hint hides any docking hint that may be visible.
-
#initialize(managedWindow = nil, flags = Wx::AUI::AuiManagerOption::AUI_MGR_DEFAULT) ⇒ Wx::AUI::AuiManager
constructor
Constructor.
-
#insert_pane(window, insert_location, insert_level = Wx::AUI_INSERT_PANE) ⇒ Boolean
This method is used to insert either a previously unmanaged pane window into the frame manager, or to insert a currently managed pane somewhere else.
-
#load_layout(deserializer) ⇒ void
Load the layout information saved by #save_layout.
-
#load_pane_info(pane_part, pane) ⇒ void
#load_pane_info is similar to LoadPerspective, with the exception that it only loads information about a single pane.
-
#load_perspective(perspective, update = true) ⇒ Boolean
Loads a saved perspective.
-
#maximize_pane(paneInfo) ⇒ void
Maximize the given pane.
-
#minimize_pane(paneInfo) ⇒ void
Minimize the given pane.
-
#restore_maximized_pane ⇒ void
Restore the previously maximized pane.
-
#restore_pane(paneInfo) ⇒ void
Restore the last state of the given pane.
-
#save_layout(serializer) ⇒ void
Save the layout information using the provided object.
-
#save_pane_info(pane) ⇒ String
#save_pane_info is similar to SavePerspective, with the exception that it only saves information about a single pane.
-
#save_perspective ⇒ String
Saves the entire user interface layout into an encoded String, which can then be stored by the application (probably using StandardPaths::Dir::Config).
-
#set_art_provider(art_provider) ⇒ void
Instructs AuiManager to use art provider specified by parameter art_provider for all drawing calls.
-
#set_dock_size_constraint(widthpct, heightpct) ⇒ void
When a user creates a new dock by dragging a window into a docked position, often times the large size of the window will create a dock that is unwieldy large.
-
#set_docks_for_min_panes_style(style) ⇒ void
(also: #docks_for_min_panes_style=)
Set style of for the items representing minimized panes in the docking toolbars.
-
#set_flags(flags) ⇒ void
(also: #flags=)
This method is used to specify AuiManagerOption‘s flags.
-
#set_managed_window(managedWindow) ⇒ void
Set the window which is to be managed by AuiManager.
-
#show_hint(rect) ⇒ void
This function is used to show a hint window at the specified rectangle.
-
#split_pane(window, newWindow, direction, dropPos = Wx::DEFAULT_POSITION) ⇒ Boolean
Create a new pane with the given window near an existing pane.
-
#start_pane_drag(paneWindow, offset) ⇒ void
Mostly used internally to define the drag action parameters.
-
#un_init ⇒ void
Dissociate the managed window from the manager.
-
#update ⇒ void
This method is called after any number of changes are made to any of the managed panes.
-
#update_hint(rect) ⇒ void
Show or hide the hint window.
Methods inherited from EvtHandler
add_filter, #add_pending_event, #call_after, clear_filters, #connect, #delete_pending_events, #disconnect, #evt_activate, #evt_activate_app, #evt_aui_pane_activated, #evt_aui_pane_button, #evt_aui_pane_close, #evt_aui_pane_maximize, #evt_aui_pane_minimize, #evt_aui_pane_restore, #evt_aui_render, #evt_auinotebook_allow_dnd, #evt_auinotebook_begin_drag, #evt_auinotebook_bg_dclick, #evt_auinotebook_button, #evt_auinotebook_drag_done, #evt_auinotebook_drag_motion, #evt_auinotebook_end_drag, #evt_auinotebook_page_changed, #evt_auinotebook_page_changing, #evt_auinotebook_page_close, #evt_auinotebook_page_closed, #evt_auinotebook_tab_middle_down, #evt_auinotebook_tab_middle_up, #evt_auinotebook_tab_right_down, #evt_auinotebook_tab_right_up, #evt_auitoolbar_begin_drag, #evt_auitoolbar_middle_click, #evt_auitoolbar_overflow_click, #evt_auitoolbar_right_click, #evt_auitoolbar_tool_dropdown, #evt_button, #evt_calculate_layout, #evt_calendar, #evt_calendar_page_changed, #evt_calendar_sel_changed, #evt_calendar_week_clicked, #evt_calendar_weekday_clicked, #evt_char, #evt_char_hook, #evt_checkbox, #evt_checklistbox, #evt_child_focus, #evt_choice, #evt_choicebook_page_changed, #evt_choicebook_page_changing, #evt_close, #evt_collapsiblepane_changed, #evt_colourpicker_changed, #evt_colourpicker_current_changed, #evt_colourpicker_dialog_cancelled, #evt_combobox, #evt_combobox_closeup, #evt_combobox_dropdown, #evt_command, #evt_command_enter, #evt_command_kill_focus, #evt_command_left_click, #evt_command_left_dclick, #evt_command_range, #evt_command_right_click, #evt_command_scroll, #evt_command_scroll_bottom, #evt_command_scroll_changed, #evt_command_scroll_linedown, #evt_command_scroll_lineup, #evt_command_scroll_pagedown, #evt_command_scroll_pageup, #evt_command_scroll_thumbrelease, #evt_command_scroll_thumbtrack, #evt_command_scroll_top, #evt_command_set_focus, #evt_context_menu, #evt_date_changed, #evt_dialup_connected, #evt_dialup_disconnected, #evt_dirctrl_fileactivated, #evt_dirctrl_selectionchanged, #evt_dirpicker_changed, #evt_dpi_changed, #evt_drop_files, #evt_end_session, #evt_enter_window, #evt_erase_background, #evt_filectrl_fileactivated, #evt_filectrl_filterchanged, #evt_filectrl_folderchanged, #evt_filectrl_selectionchanged, #evt_filepicker_changed, #evt_find, #evt_find_close, #evt_find_next, #evt_find_replace, #evt_find_replace_all, #evt_fontpicker_changed, #evt_fullscreen, #evt_gesture_pan, #evt_gesture_rotate, #evt_gesture_zoom, #evt_grid_cell_changed, #evt_grid_cell_changing, #evt_grid_cell_left_click, #evt_grid_cell_left_dclick, #evt_grid_cell_right_click, #evt_grid_cell_right_dclick, #evt_grid_cmd_col_size, #evt_grid_cmd_editor_created, #evt_grid_cmd_range_selected, #evt_grid_cmd_range_selecting, #evt_grid_cmd_row_size, #evt_grid_col_auto_size, #evt_grid_col_label_size, #evt_grid_col_move, #evt_grid_col_size, #evt_grid_col_sort, #evt_grid_editor_created, #evt_grid_editor_hidden, #evt_grid_editor_shown, #evt_grid_label_left_click, #evt_grid_label_left_dclick, #evt_grid_label_right_click, #evt_grid_label_right_dclick, #evt_grid_range_selected, #evt_grid_range_selecting, #evt_grid_row_auto_size, #evt_grid_row_label_size, #evt_grid_row_move, #evt_grid_row_size, #evt_grid_select_cell, #evt_grid_tabbing, #evt_header_begin_reorder, #evt_header_begin_resize, #evt_header_click, #evt_header_dclick, #evt_header_dragging_cancelled, #evt_header_end_reorder, #evt_header_end_resize, #evt_header_middle_click, #evt_header_middle_dclick, #evt_header_resizing, #evt_header_right_click, #evt_header_right_dclick, #evt_header_separator_dclick, #evt_help, #evt_help_range, #evt_hibernate, #evt_hotkey, #evt_html_cell_clicked, #evt_html_cell_hover, #evt_html_link_clicked, #evt_hyperlink, #evt_iconize, #evt_idle, #evt_init_dialog, #evt_joy_button_down, #evt_joy_button_up, #evt_joy_move, #evt_joy_zmove, #evt_joystick_events, #evt_key_down, #evt_key_up, #evt_kill_focus, #evt_leave_window, #evt_left_dclick, #evt_left_down, #evt_left_up, #evt_list_begin_drag, #evt_list_begin_label_edit, #evt_list_begin_rdrag, #evt_list_cache_hint, #evt_list_col_begin_drag, #evt_list_col_click, #evt_list_col_dragging, #evt_list_col_end_drag, #evt_list_col_right_click, #evt_list_delete_all_items, #evt_list_delete_item, #evt_list_end_label_edit, #evt_list_insert_item, #evt_list_item_activated, #evt_list_item_checked, #evt_list_item_deselected, #evt_list_item_focused, #evt_list_item_middle_click, #evt_list_item_right_click, #evt_list_item_selected, #evt_list_item_unchecked, #evt_list_key_down, #evt_listbook_page_changed, #evt_listbook_page_changing, #evt_listbox, #evt_listbox_dclick, #evt_long_press, #evt_magnify, #evt_maximize, #evt_media_finished, #evt_media_loaded, #evt_media_pause, #evt_media_play, #evt_media_statechanged, #evt_media_stop, #evt_menu, #evt_menu_close, #evt_menu_highlight, #evt_menu_highlight_all, #evt_menu_open, #evt_menu_range, #evt_middle_dclick, #evt_middle_down, #evt_middle_up, #evt_motion, #evt_mouse_aux1_dclick, #evt_mouse_aux1_down, #evt_mouse_aux1_up, #evt_mouse_aux2_dclick, #evt_mouse_aux2_down, #evt_mouse_aux2_up, #evt_mouse_events, #evt_mousewheel, #evt_move, #evt_move_end, #evt_move_start, #evt_moving, #evt_navigation_key, #evt_notebook_page_changed, #evt_notebook_page_changing, #evt_paint, #evt_pg_changed, #evt_pg_changing, #evt_pg_col_begin_drag, #evt_pg_col_dragging, #evt_pg_col_end_drag, #evt_pg_double_click, #evt_pg_highlighted, #evt_pg_item_collapsed, #evt_pg_item_expanded, #evt_pg_label_edit_begin, #evt_pg_label_edit_ending, #evt_pg_page_changed, #evt_pg_right_click, #evt_pg_selected, #evt_press_and_tap, #evt_query_end_session, #evt_query_layout_info, #evt_radiobox, #evt_radiobutton, #evt_ribbonbar_help_click, #evt_ribbonbar_page_changed, #evt_ribbonbar_page_changing, #evt_ribbonbar_tab_left_dclick, #evt_ribbonbar_tab_middle_down, #evt_ribbonbar_tab_middle_up, #evt_ribbonbar_tab_right_down, #evt_ribbonbar_tab_right_up, #evt_ribbonbar_toggled, #evt_ribbonbuttonbar_clicked, #evt_ribbonbuttonbar_dropdown_clicked, #evt_ribbongallery_clicked, #evt_ribbongallery_hover_changed, #evt_ribbongallery_selected, #evt_ribbonpanel_extbutton_activated, #evt_ribbontoolbar_clicked, #evt_ribbontoolbar_dropdown_clicked, #evt_richtext_buffer_reset, #evt_richtext_character, #evt_richtext_consuming_character, #evt_richtext_content_deleted, #evt_richtext_content_inserted, #evt_richtext_delete, #evt_richtext_focus_object_changed, #evt_richtext_left_click, #evt_richtext_left_dclick, #evt_richtext_middle_click, #evt_richtext_properties_changed, #evt_richtext_return, #evt_richtext_right_click, #evt_richtext_selection_changed, #evt_richtext_style_changed, #evt_richtext_stylesheet_changed, #evt_richtext_stylesheet_replaced, #evt_richtext_stylesheet_replacing, #evt_right_dclick, #evt_right_down, #evt_right_up, #evt_sash_dragged, #evt_sash_dragged_range, #evt_scroll, #evt_scroll_bottom, #evt_scroll_changed, #evt_scroll_linedown, #evt_scroll_lineup, #evt_scroll_pagedown, #evt_scroll_pageup, #evt_scroll_thumbrelease, #evt_scroll_thumbtrack, #evt_scroll_top, #evt_scrollbar, #evt_scrollwin, #evt_scrollwin_bottom, #evt_scrollwin_linedown, #evt_scrollwin_lineup, #evt_scrollwin_pagedown, #evt_scrollwin_pageup, #evt_scrollwin_thumbrelease, #evt_scrollwin_thumbtrack, #evt_scrollwin_top, #evt_search, #evt_search_cancel, #evt_set_cursor, #evt_set_focus, #evt_show, #evt_size, #evt_slider, #evt_spin, #evt_spin_down, #evt_spin_up, #evt_spinctrl, #evt_spinctrldouble, #evt_splitter_dclick, #evt_splitter_sash_pos_changed, #evt_splitter_sash_pos_changing, #evt_splitter_sash_pos_resize, #evt_splitter_unsplit, #evt_stc_autocomp_cancelled, #evt_stc_autocomp_char_deleted, #evt_stc_autocomp_completed, #evt_stc_autocomp_selection, #evt_stc_autocomp_selection_change, #evt_stc_calltip_click, #evt_stc_change, #evt_stc_charadded, #evt_stc_clipboard_copy, #evt_stc_clipboard_paste, #evt_stc_do_drop, #evt_stc_doubleclick, #evt_stc_drag_over, #evt_stc_dwellend, #evt_stc_dwellstart, #evt_stc_hotspot_click, #evt_stc_hotspot_dclick, #evt_stc_hotspot_release_click, #evt_stc_indicator_click, #evt_stc_indicator_release, #evt_stc_macrorecord, #evt_stc_margin_right_click, #evt_stc_marginclick, #evt_stc_modified, #evt_stc_needshown, #evt_stc_painted, #evt_stc_romodifyattempt, #evt_stc_savepointleft, #evt_stc_savepointreached, #evt_stc_start_drag, #evt_stc_styleneeded, #evt_stc_updateui, #evt_stc_userlistselection, #evt_stc_zoom, #evt_sys_colour_changed, #evt_taskbar_click, #evt_taskbar_left_dclick, #evt_taskbar_left_down, #evt_taskbar_left_up, #evt_taskbar_move, #evt_taskbar_right_dclick, #evt_taskbar_right_down, #evt_taskbar_right_up, #evt_text, #evt_text_copy, #evt_text_cut, #evt_text_enter, #evt_text_maxlen, #evt_text_paste, #evt_text_url, #evt_time_changed, #evt_timer, #evt_togglebutton, #evt_tool, #evt_tool_dropdown, #evt_tool_enter, #evt_tool_range, #evt_tool_rclicked, #evt_tool_rclicked_range, #evt_toolbook_page_changed, #evt_toolbook_page_changing, #evt_tree_begin_drag, #evt_tree_begin_label_edit, #evt_tree_begin_rdrag, #evt_tree_delete_item, #evt_tree_end_drag, #evt_tree_end_label_edit, #evt_tree_get_info, #evt_tree_item_activated, #evt_tree_item_collapsed, #evt_tree_item_collapsing, #evt_tree_item_expanded, #evt_tree_item_expanding, #evt_tree_item_gettooltip, #evt_tree_item_menu, #evt_tree_item_middle_click, #evt_tree_item_right_click, #evt_tree_key_down, #evt_tree_sel_changed, #evt_tree_sel_changing, #evt_tree_set_info, #evt_tree_state_image_click, #evt_treebook_node_collapsed, #evt_treebook_node_expanded, #evt_treebook_page_changed, #evt_treebook_page_changing, #evt_two_finger_tap, #evt_update_ui, #evt_update_ui_range, #evt_window_create, #evt_window_destroy, #evt_wizard_before_page_changed, #evt_wizard_cancel, #evt_wizard_finished, #evt_wizard_help, #evt_wizard_page_changed, #evt_wizard_page_changing, #evt_wizard_page_shown, #get_client_object, #get_evt_handler_enabled, #get_next_handler, #get_previous_handler, #is_unlinked, #process_event, #process_event_locally, #process_pending_events, #queue_event, register_class, remove_filter, #safely_process_event, #set_client_object, #set_evt_handler_enabled, #set_next_handler, #try_after, #try_before, #unlink
Methods inherited from Object
#clone, #dup, #is_same_as, #un_share
Constructor Details
#initialize(managedWindow = nil, flags = Wx::AUI::AuiManagerOption::AUI_MGR_DEFAULT) ⇒ Wx::AUI::AuiManager
Constructor.
105 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 105 def initialize(managedWindow=nil, flags=Wx::AUI::AuiManagerOption::AUI_MGR_DEFAULT) end |
Class Method Details
.always_uses_live_resize(window) ⇒ Boolean
Returns true if live resize is always used on the current platform.
If this function returns true, Wx::AUI::AuiManagerOption::AUI_MGR_LIVE_RESIZE flag is ignored and live resize is always used, whether it’s specified or not. Currently this is the case for WXOSX and WXGTK3 when using Wayland, as live resizing is the only implemented method there. See ClientDC.can_be_used_for_drawing for more details.
As of wxWidgets 3.3.0 this function always returns false.
465 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 465 def self.always_uses_live_resize(window) end |
.get_manager(window) ⇒ Wx::AUI::AuiManager
Calling this method will return the Wx::AUI::AuiManager for a given window.
The window parameter should specify any child window or sub-child window of the frame or window managed by Wx::AUI::AuiManager. The window parameter need not be managed by the manager itself, nor does it even need to be a child or sub-child of a managed window. It must however be inside the window hierarchy underneath the managed window.
473 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 473 def self.get_manager(window) end |
Instance Method Details
#add_pane(window, pane_info) ⇒ Boolean #add_pane(window, direction = Wx::Direction::LEFT, caption = ('')) ⇒ Boolean #add_pane(window, pane_info, drop_pos) ⇒ Boolean
124 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 124 def add_pane(*args) end |
#allow_docks_for_min_panes(directions) ⇒ void
This method returns an undefined value.
Change the sides where docks for minimized panes can be created.
The argument direction must be a combination of one or more of Direction::LEFT, Direction::RIGHT, Direction::TOP and Direction::BOTTOM flags. This function must currently be called before there any minimized panes, so it is recommended to call it before adding any panes at all. Example of using this function to only allow docks showing the buttons for the minimized panes on the left and right sides of the window:
mgr.AllowDocksForMinPanes(wxLEFT | wxRIGHT);
// This pane will be shown in the toolbar on the left side of the
// window.
mgr.AddPane(someWindow, wxAuiPaneInfo().Left().MinimizeButton());
// But so will will this one, as creating a toolbar along the bottom
// side is not allowed.
mgr.AddPane(otherWindow, wxAuiPaneInfo().Bottom().MinimizeButton());
144 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 144 def allow_docks_for_min_panes(directions) end |
#calculate_hint_rect(paneWindow, pt, offset = (Wx::Point.new(0, 0))) ⇒ Wx::Rect
This function is used by controls to calculate the drop hint rectangle.
The method first calls DoDrop() to determine the exact position the pane would be at were if dropped.
The rectangle hint will be returned in screen coordinates if the pane would indeed become docked at the specified drop point. Otherwise, an empty rectangle is returned.
167 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 167 def calculate_hint_rect(paneWindow, pt, offset=(Wx::Point.new(0, 0))) end |
#calculate_new_split_size ⇒ Wx::Size
Return a reasonable size to use for a new split.
This function currently calculates the number of columns and rows in the current layout and returns the size of the managed window divided by one more than that number, i.e. returns half of the available size if there is currently just one row or column, a third if there are two rows or columns, and so on. The implementation may change in the future, but it will always return some reasonable size to use for a new split.
176 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 176 def calculate_new_split_size; end |
#can_dock_panel(p) ⇒ Boolean Also known as: can_dock_panel?
Check if a key modifier is pressed (actually KeyCode::K_CONTROL or KeyCode::K_ALT) while dragging the frame to not dock the window.
181 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 181 def can_dock_panel(p) end |
#close_pane(paneInfo) ⇒ void
This method returns an undefined value.
Destroys or hides the given pane depending on its flags.
190 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 190 def close_pane(paneInfo) end |
#create_floating_frame(parent, p) ⇒ Wx::AUI::AuiFloatingFrame
Creates a floating frame in this Wx::AUI::AuiManager with the given parent and Wx::AUI::AuiPaneInfo.
196 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 196 def create_floating_frame(parent, p) end |
#detach_pane(window) ⇒ Boolean
Tells the Wx::AUI::AuiManager to stop managing the pane specified by window.
The window, if in a floated frame, is reparented to the frame managed by Wx::AUI::AuiManager.
203 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 203 def detach_pane(window) end |
#draw_hint_rect(paneWindow, pt, offset = (Wx::Point.new(0, 0))) ⇒ void
This method returns an undefined value.
This function is used by controls to draw the hint window.
It is rarely called, and is mostly used by controls implementing custom pane drag/drop behaviour. Calling it is equivalent to calling #calculate_hint_rect and #update_hint with the resulting rectangle.
213 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 213 def draw_hint_rect(paneWindow, pt, offset=(Wx::Point.new(0, 0))) end |
#each_pane {|pane| ... } ⇒ ::Object #each_pane ⇒ ::Enumerator
Yield each pane to the given block. If no block passed returns an Enumerator.
21 |
# File 'lib/wx/doc/aui/auimanager.rb', line 21 def each_pane(*) end |
#get_all_panes ⇒ Array<Wx::AUI::AuiPaneInfo> Also known as: all_panes
Returns an array of all panes managed by the frame manager.
25 |
# File 'lib/wx/doc/aui/auimanager.rb', line 25 def get_all_panes; end |
#get_art_provider ⇒ Wx::AUI::AuiDockArt Also known as: art_provider
Returns the current art provider being used.
220 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 220 def get_art_provider; end |
#get_dock_size_constraint ⇒ Array(Float,Float) Also known as: dock_size_constraint
Returns the current dock constraint values.
See #set_dock_size_constraint for more information.
227 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 227 def get_dock_size_constraint; end |
#get_flags ⇒ Integer Also known as: flags
Returns the current Wx::AUI::AuiManagerOption‘s flags.
232 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 232 def get_flags; end |
#get_managed_window ⇒ Wx::Window Also known as: managed_window
Returns the frame currently being managed by Wx::AUI::AuiManager.
237 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 237 def get_managed_window; end |
#get_pane(window) ⇒ Wx::AUI::AuiPaneInfo #get_pane(name) ⇒ Wx::AUI::AuiPaneInfo Also known as: pane
249 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 249 def get_pane(*args) end |
#has_live_resize ⇒ Boolean Also known as: has_live_resize?
Returns true if windows are resized live.
This function combines the check for always_uses_live_resize and, for the platforms where live resizing is optional, the check for Wx::AUI::AuiManagerOption::AUI_MGR_LIVE_RESIZE flag. Using this accessor allows to verify whether live resizing is being actually used.
257 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 257 def has_live_resize; end |
#hide_hint ⇒ void
This method returns an undefined value.
#hide_hint hides any docking hint that may be visible.
265 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 265 def hide_hint; end |
#insert_pane(window, insert_location, insert_level = Wx::AUI_INSERT_PANE) ⇒ Boolean
This method is used to insert either a previously unmanaged pane window into the frame manager, or to insert a currently managed pane somewhere else.
#insert_pane will push all panes, rows, or docks aside and insert the window into the position specified by insert_location. Because insert_location can specify either a pane, dock row, or dock layer, the insert_level parameter is used to disambiguate this. The parameter insert_level can take a value of Wx::AUI_INSERT_PANE, Wx::AUI_INSERT_ROW or Wx::AUI_INSERT_DOCK.
275 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 275 def insert_pane(window, insert_location, insert_level=Wx::AUI_INSERT_PANE) end |
#load_layout(deserializer) ⇒ void
This method returns an undefined value.
Load the layout information saved by #save_layout.
The implementation of Wx::AUI::AuiDeserializer object passed to this function should be consistent with that of the serializer used to save the layout. See Advanced User Interface Sample for an example of using serializer saving the layout in XML format and matching deserializer restoring the layout from it.
282 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 282 def load_layout(deserializer) end |
#load_pane_info(pane_part, pane) ⇒ void
This method returns an undefined value.
#load_pane_info is similar to LoadPerspective, with the exception that it only loads information about a single pane.
This method writes the serialized data into the passed pane. Pointers to UI elements are not modified.
This operation also changes the name in the pane information!
301 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 301 def load_pane_info(pane_part, pane) end |
#load_perspective(perspective, update = true) ⇒ Boolean
Loads a saved perspective.
This function is used to load layouts previously saved with #save_perspective, use #load_layout to load a layout saved with #save_layout. A perspective is the layout state of an AUI managed window. All currently existing panes that have an object in “perspective” with the same name (“equivalent”) will receive the layout parameters of the object in “perspective”. Existing panes that do not have an equivalent in “perspective” remain unchanged, objects in “perspective” having no equivalent in the manager are ignored.
316 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 316 def load_perspective(perspective, update=true) end |
#maximize_pane(paneInfo) ⇒ void
This method returns an undefined value.
Maximize the given pane.
330 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 330 def maximize_pane(paneInfo) end |
#minimize_pane(paneInfo) ⇒ void
This method returns an undefined value.
Minimize the given pane.
Note that the pane must have the minimize button enabled for this function to work, it cannot be used to minimize the panes without it. Minimizing a pane hides it, but it can be later shown again by the user by clicking the button corresponding to it in the minimized panes toolbar.
325 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 325 def minimize_pane(paneInfo) end |
#restore_maximized_pane ⇒ void
This method returns an undefined value.
Restore the previously maximized pane.
339 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 339 def restore_maximized_pane; end |
#restore_pane(paneInfo) ⇒ void
This method returns an undefined value.
Restore the last state of the given pane.
335 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 335 def restore_pane(paneInfo) end |
#save_layout(serializer) ⇒ void
This method returns an undefined value.
Save the layout information using the provided object.
This function allows to use a custom serializer to save the layout information in any format, e.g. Advanced User Interface Sample shows how to save it in XML format. See Wx::AUI::AuiSerializer documentation for more details.
347 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 347 def save_layout(serializer) end |
#save_pane_info(pane) ⇒ String
#save_pane_info is similar to SavePerspective, with the exception that it only saves information about a single pane.
The serialized layout parameters of the pane are returned within the string. Information about the pointers to UI elements stored in the pane are not serialized.
359 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 359 def save_pane_info(pane) end |
#save_perspective ⇒ String
Saves the entire user interface layout into an encoded String, which can then be stored by the application (probably using StandardPaths::Dir::Config).
You may prefer to use #save_layout instead of this function for more flexibility.
374 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 374 def save_perspective; end |
#set_art_provider(art_provider) ⇒ void
This method returns an undefined value.
Instructs Wx::AUI::AuiManager to use art provider specified by parameter art_provider for all drawing calls.
This allows pluggable look-and-feel features. The previous art provider object, if any, will be deleted by Wx::AUI::AuiManager.
382 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 382 def set_art_provider(art_provider) end |
#set_dock_size_constraint(widthpct, heightpct) ⇒ void
This method returns an undefined value.
When a user creates a new dock by dragging a window into a docked position, often times the large size of the window will create a dock that is unwieldy large.
Wx::AUI::AuiManager by default limits the size of any new dock to 1/3 of the window size. For horizontal docks, this would be 1/3 of the window height. For vertical docks, 1/3 of the width. Calling this function will adjust this constraint value. The numbers must be between 0.0 and 1.0. For instance, calling SetDockSizeContraint with 0.5, 0.5 will cause new docks to be limited to half of the size of the entire managed window.
391 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 391 def set_dock_size_constraint(widthpct, heightpct) end |
#set_docks_for_min_panes_style(style) ⇒ void Also known as: docks_for_min_panes_style=
This method returns an undefined value.
Set style of for the items representing minimized panes in the docking toolbars.
If Wx::AUI::AuiMinDockOption::AUI_MIN_DOCK_ICONS is specified as part of the style, the pane icon specified by Wx::AUI::AuiPaneInfo#icon_min or, if it is not set, Wx::AUI::AuiPaneInfo#icon, will be shown for the minimized panes. If Wx::AUI::AuiMinDockOption::AUI_MIN_DOCK_TEXT is specified, the pane title will be shown (possible in addition to its icon). Note that the text will be rendered vertically for the panes shown in the toolbars docked on the left and right sides of the window and that the icons will be rotated to match the text orientation. By default, both the text and the icons are shown, which corresponds to Wx::AUI::AuiMinDockOption::AUI_MIN_DOCK_BOTH. When using this style it may be desired to also use Wx::AUI::AuiMinDockOption::AUI_MIN_DOCK_ROTATE_ICON_WITH_TEXT style which makes the icons match the text orientation. This function must currently be called before there any minimized panes, so it is recommended to call it before adding any panes at all.
155 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 155 def set_docks_for_min_panes_style(style) end |
#set_flags(flags) ⇒ void Also known as: flags=
This method returns an undefined value.
This method is used to specify Wx::AUI::AuiManagerOption‘s flags.
flags specifies options which allow the frame management behaviour to be modified.
398 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 398 def set_flags(flags) end |
#set_managed_window(managedWindow) ⇒ void
This method returns an undefined value.
Set the window which is to be managed by Wx::AUI::AuiManager.
This window will often be a Frame but an arbitrary child window can also be used. Note that Wx::AUI::AuiManager handles many events for the managed window, including EVT_SIZE, so any application-defined handlers for this window should take care to call Event#skip to let Wx::AUI::AuiManager perform its own processing.
407 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 407 def set_managed_window(managedWindow) end |
#show_hint(rect) ⇒ void
This method returns an undefined value.
This function is used to show a hint window at the specified rectangle.
It can be overridden to customize the hint appearance. When overriding it, #hide_hint should normally be also overridden as well. Do not call this function directly to show the hint, use #update_hint instead.
415 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 415 def show_hint(rect) end |
#split_pane(window, newWindow, direction, dropPos = Wx::DEFAULT_POSITION) ⇒ Boolean
Create a new pane with the given window near an existing pane.
The size of the new pane is determined by #calculate_new_split_size and the existing panes are resized to have the same size in the split direction. Note that this function calls #update internally, so there is no need to call it separately.
426 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 426 def split_pane(window, newWindow, direction, dropPos=Wx::DEFAULT_POSITION) end |
#start_pane_drag(paneWindow, offset) ⇒ void
This method returns an undefined value.
Mostly used internally to define the drag action parameters.
432 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 432 def start_pane_drag(paneWindow, offset) end |
#un_init ⇒ void
This method returns an undefined value.
Dissociate the managed window from the manager.
This function may be called before the managed frame or window is destroyed, but, since wxWidgets 3.1.4, it’s unnecessary to call it explicitly, as it will be called automatically when this window is destroyed, as well as when the manager itself is.
438 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 438 def un_init; end |
#update ⇒ void
This method returns an undefined value.
This method is called after any number of changes are made to any of the managed panes.
#update must be invoked after #add_pane or #insert_pane are called in order to “realize” or “commit” the changes. In addition, any number of changes may be made to Wx::AUI::AuiPaneInfo structures (retrieved with #get_pane), but to realize the changes, #update must be called. This construction allows pane flicker to be avoided by updating the whole layout at one time.
444 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 444 def update; end |
#update_hint(rect) ⇒ void
This method returns an undefined value.
Show or hide the hint window.
This function is mostly used internally.
451 |
# File 'lib/wx/doc/gen/aui/aui_manager.rb', line 451 def update_hint(rect) end |