Class: Wx::ComboCtrl
- Includes:
- TextEntry
- Defined in:
- lib/wx/doc/gen/combo_ctrl.rb
Overview
A combo control is a generic combobox that allows totally custom popup.
In addition it has other customization features. For instance, position and size of the dropdown button can be changed.
Setting Custom Popup for wxComboCtrl
ComboCtrl needs to be told somehow which control to use and this is done by #set_popup_control. However, we need something more than just a Control in this method as, for example, we need to call SetStringValue(“initial text value”) and Control doesn’t have such method. So we also need a ComboPopup which is an interface which must be implemented by a control to be usable as a popup. We couldn’t derive ComboPopup from Control as this would make it impossible to have a class deriving from a wxWidgets control and from it, so instead it is just a mix-in. Here’s a minimal sample of ListView popup:
class ListViewComboPopup < Wx::ListView
include Wx::ComboPopup
# Allow only default ctor
def initialize
# call default control ctor; need to call Wx::ListView#create later
super
end
# Initialize member variables
def init
@value = -1
end
# Create popup control
def create(parent)
# need to finish creating the list view here
# as calling super here would just call Wx::ComboPopup#create and not Wx::ListView#create
# we need to use Ruby magic
wx_lv_create = (Wx::ListView.instance_method :create).bind(self)
wx_lv_create.call(parent, 1, [0,0], Wx::DEFAULT_SIZE)
evt_motion :on_mouse_move
evt_left_up :on_mouse_click
end
# Return pointer to the created control
def get_control
self
end
def lv_find_item(*args)
unless @wx_lv_find_item
@wx_lv_find_item = (Wx::ListView.instance_method :find_item).bind(self)
end
@wx_lv_find_item.call(*args)
end
protected :lv_find_item
# Translate string into a list selection
def set_string_value(s)
n = lv_find_item(-1, s)
if n >= 0 && n < get_item_count
select(n)
@value = n
end
end
# Get list selection as a string
def get_string_value
return get_item_text(@value) if @value >= 0
''
end
# Do mouse hot-tracking (which is typical in list popups)
def on_mouse_move(event)
# Move selection to cursor ...
end
# On mouse left up, set the value and close the popup
def on_mouse_click(_event)
@value = get_first_selected
# Send event as well ...
dismiss
end
end
Here’s how you would create and populate it in a dialog constructor:
comboCtrl = Wx::ComboCtrl.new(self, Wx::ID_ANY, '')
popupCtrl = ListViewComboPopup.new
# It is important to call #set_popup_control as soon as possible
comboCtrl.set_popup_control(popupCtrl)
# Populate using Wx::ListView methods
popupCtrl.insert_item((popupCtrl.item_count, 'First Item')
popupCtrl.insert_item((popupCtrl.item_count, 'Second Item')
popupCtrl.insert_item((popupCtrl.item_count, 'Third Item')
Styles
This class supports the following styles:
-
CB_READONLY: Text will not be editable.
-
CB_SORT: Sorts the entries in the list alphabetically.
-
TE_PROCESS_ENTER: The control will generate the event EVT_TEXT_ENTER (otherwise pressing Enter key is either processed internally by the control or used for navigation between dialog controls). Windows only.
-
CC_SPECIAL_DCLICK: Double-clicking triggers a call to popup's OnComboDoubleClick. Actual behaviour is defined by a derived class. For instance, OwnerDrawnComboBox will cycle an item. This style only applies if CB_READONLY is used as well.
-
CC_STD_BUTTON: Drop button will behave more like a standard push button.
Events emitted by this class
The following event-handler methods redirect the events to member method or handler blocks for CommandEvent events. Event handler methods for events emitted by this class:
-
EvtHandler#evt_text(id, meth = nil, &block): Process a EVT_TEXT event, when the text changes.
-
EvtHandler#evt_text_enter(id, meth = nil, &block): Process a EVT_TEXT_ENTER event, when RETURN is pressed in the combo control.
-
EvtHandler#evt_combobox_dropdown(id, meth = nil, &block): Process a EVT_COMBOBOX_DROPDOWN event, which is generated when the popup window is shown (drops down).
-
EvtHandler#evt_combobox_closeup(id, meth = nil, &block): Process a EVT_COMBOBOX_CLOSEUP event, which is generated when the popup window of the combo control disappears (closes up). You should avoid adding or deleting items in this event.
Category: Controls <div class=‘appearance’><span class=‘appearance’>Appearance:</span><table><tr><td> WXMSW Appearance </td><td> WXGTK Appearance </td><td> WXOSX Appearance </td></tr></table></div>
Direct Known Subclasses
Class Method Summary collapse
-
.get_features ⇒ Integer
Returns features supported by ComboCtrl.
Instance Method Summary collapse
-
#animate_show(rect, flags) ⇒ Boolean
protected
This member function is not normally called in application code.
-
#copy ⇒ void
Copies the selected text to the clipboard.
-
#create(parent, id = Wx::StandardID::ID_ANY, value = (''), pos = Wx::DEFAULT_POSITION, size = Wx::DEFAULT_SIZE, style = 0, validator = Wx::DEFAULT_VALIDATOR, name = Wx::COMBO_BOX_NAME_STR) ⇒ Boolean
Creates the combo control for two-step construction.
-
#cut ⇒ void
Copies the selected text to the clipboard and removes the selection.
-
#dismiss ⇒ void
Dismisses the popup window.
-
#do_set_popup_control(popup) ⇒ void
protected
This member function is not normally called in application code.
-
#do_show_popup(rect, flags) ⇒ void
protected
This member function is not normally called in application code.
-
#enable_popup_animation(enable = true) ⇒ void
Enables or disables popup animation, if any, depending on the value of the argument.
-
#get_bitmap_disabled ⇒ Wx::Bitmap
(also: #bitmap_disabled)
Returns disabled button bitmap that has been set with #set_button_bitmaps.
-
#get_bitmap_hover ⇒ Wx::Bitmap
(also: #bitmap_hover)
Returns button mouse hover bitmap that has been set with #set_button_bitmaps.
-
#get_bitmap_normal ⇒ Wx::Bitmap
(also: #bitmap_normal)
Returns default button bitmap that has been set with #set_button_bitmaps.
-
#get_bitmap_pressed ⇒ Wx::Bitmap
(also: #bitmap_pressed)
Returns depressed button bitmap that has been set with #set_button_bitmaps.
-
#get_button_size ⇒ Wx::Size
(also: #button_size)
Returns current size of the dropdown button.
-
#get_custom_paint_width ⇒ Integer
(also: #custom_paint_width)
Returns custom painted area in control.
-
#get_hint ⇒ String
(also: #hint)
Returns the current hint string.
-
#get_insertion_point ⇒ Integer
(also: #insertion_point)
Returns the insertion point for the combo control’s text field.
-
#get_last_position ⇒ Integer
(also: #last_position)
Returns the last position in the combo control text field.
-
#get_margins ⇒ Wx::Point
(also: #margins)
Returns the margins used by the control.
-
#get_popup_control ⇒ Wx::ComboPopup
(also: #popup_control)
Returns current popup interface that has been set with #set_popup_control.
-
#get_popup_window ⇒ Wx::Window
(also: #popup_window)
Returns popup window containing the popup control.
-
#get_text_ctrl ⇒ Wx::TextCtrl
(also: #text_ctrl)
Get the text control which is part of the combo control.
-
#get_text_rect ⇒ Wx::Rect
(also: #text_rect)
Returns area covered by the text field (includes everything except borders and the dropdown button).
-
#get_value ⇒ String
(also: #value)
Returns text representation of the current value.
-
#initialize(*args) ⇒ ComboCtrl
constructor
A new instance of ComboCtrl.
-
#is_key_popup_toggle(event) ⇒ Boolean
(also: #key_popup_toggle?)
Returns true if given key combination should toggle the popup.
-
#is_popup_shown ⇒ Boolean
(also: #popup_shown?)
Returns true if the popup is currently shown.
-
#is_popup_window_state(state) ⇒ Boolean
(also: #popup_window_state?)
Returns true if the popup window is in the given state.
-
#on_button_click ⇒ void
Implement in a derived class to define what happens on dropdown button click.
-
#paste ⇒ void
Pastes text from the clipboard to the text field.
-
#popup ⇒ void
Shows the popup portion of the combo control.
-
#prepare_background(dc, rect, flags) ⇒ void
Prepare background of combo control or an item in a dropdown list in a way typical on platform.
-
#remove(from, to) ⇒ void
Removes the text between the two positions in the combo control text field.
-
#replace(from, to, text) ⇒ void
Replaces the text between two positions with the given text, in the combo control text field.
-
#set_button_bitmaps(bmpNormal, pushButtonBg = false, bmpPressed = (Wx::BitmapBundle.new()), bmpHover = (Wx::BitmapBundle.new()), bmpDisabled = (Wx::BitmapBundle.new())) ⇒ void
(also: #button_bitmaps=)
Sets custom dropdown button graphics.
-
#set_button_position(width = -1,, height = -1,, side = Wx::Direction::RIGHT, spacingX = 0) ⇒ void
(also: #button_position=)
Sets size and position of dropdown button.
-
#set_custom_paint_width(width) ⇒ void
(also: #custom_paint_width=)
Set width, in pixels, of custom painted area in control without CB_READONLY style.
-
#set_hint(hint) ⇒ Boolean
(also: #hint=)
Sets a hint shown in an empty unfocused combo control.
-
#set_insertion_point(pos) ⇒ void
(also: #insertion_point=)
Sets the insertion point in the text field.
-
#set_insertion_point_end ⇒ void
Sets the insertion point at the end of the combo control text field.
-
#set_main_control(win) ⇒ void
(also: #main_control=)
Uses the given window instead of the default text control as the main window of the combo control.
- #set_margins(*args) ⇒ Object (also: #margins=)
-
#set_popup_anchor(anchorSide) ⇒ void
(also: #popup_anchor=)
Set side of the control to which the popup will align itself.
-
#set_popup_control(popup) ⇒ void
Set popup interface class derived from ComboPopup.
-
#set_popup_extents(extLeft, extRight) ⇒ void
Extends popup size horizontally, relative to the edges of the combo control.
-
#set_popup_max_height(height) ⇒ void
(also: #popup_max_height=)
Sets preferred maximum height of the popup.
-
#set_popup_min_width(width) ⇒ void
(also: #popup_min_width=)
Sets minimum width of the popup.
-
#set_selection(from, to) ⇒ void
Selects the text between the two positions, in the combo control text field.
-
#set_text(value) ⇒ void
(also: #text=)
Sets the text for the text field without affecting the popup.
-
#set_text_ctrl_style(style) ⇒ void
(also: #text_ctrl_style=)
Set a custom window style for the embedded TextCtrl.
-
#set_value(value) ⇒ void
(also: #value=)
Sets the text for the combo control text field.
-
#set_value_by_user(value) ⇒ void
(also: #value_by_user=)
Changes value of the control as if user had done it by selecting an item from a combo box drop-down list.
-
#should_draw_focus ⇒ Boolean
Returns true if focus indicator should be drawn in the control.
-
#undo ⇒ void
Undoes the last edit in the text field.
-
#use_alt_popup_window(enable = true) ⇒ void
Enable or disable usage of an alternative popup window, which guarantees ability to focus the popup control, and allows common native controls to function normally.
Methods included from TextEntry
#append_text, #auto_complete, #auto_complete_directories, #auto_complete_file_names, #can_copy, #can_cut, #can_paste, #can_redo, #can_undo, #change_value, #clear, #force_upper, #get_range, #get_selection, #get_string_selection, #is_editable, #is_empty, #redo_, #select_all, #select_none, #set_editable, #set_max_length, #write_text
Methods inherited from Control
#command, ellipsize, escape_mnemonics, #get_label, #get_label_text, #get_size_from_text, #get_size_from_text_size, remove_mnemonics, #set_label, #set_label_markup, #set_label_text
Methods inherited from Window
#accepts_focus, #accepts_focus_from_keyboard, #accepts_focus_recursively, #add_child, #adjust_for_layout_direction, #always_show_scrollbars, #begin_repositioning_children, #cache_best_size, #can_accept_focus, #can_accept_focus_from_keyboard, #can_scroll, #can_set_transparent, #capture_mouse, #center, #center_on_parent, #centre, #centre_on_parent, #clear_background, #client_to_screen, #client_to_window_size, #close, #convert_dialog_to_pixels, #convert_pixels_to_dialog, #destroy, #destroy_children, #disable, #disable_focus_from_keyboard, #do_update_window_ui, #drag_accept_files, #each_child, #enable, #enable_touch_events, #enable_visible_focus, #end_repositioning_children, find_focus, #find_window_by_id, find_window_by_id, #find_window_by_label, find_window_by_label, #find_window_by_name, find_window_by_name, #fit, #fit_inside, #freeze, #from_dip, from_dip, #from_phys, from_phys, #get_accelerator_table, #get_auto_layout, #get_background_colour, #get_background_style, #get_best_height, #get_best_size, #get_best_virtual_size, #get_best_width, #get_border, get_capture, #get_caret, #get_char_height, #get_char_width, #get_children, get_class_default_attributes, #get_client_area_origin, #get_client_rect, #get_client_size, #get_containing_sizer, #get_content_scale_factor, #get_cursor, #get_default_attributes, #get_dpi, #get_dpi_scale_factor, #get_drop_target, #get_effective_min_size, #get_event_handler, #get_extra_style, #get_font, #get_foreground_colour, #get_grand_parent, #get_help_text, #get_help_text_at_point, #get_id, #get_label, #get_layout_direction, #get_max_client_size, #get_max_height, #get_max_size, #get_max_width, #get_min_client_size, #get_min_height, #get_min_size, #get_min_width, #get_name, #get_next_sibling, #get_parent, #get_popup_menu_selection_from_user, #get_position, #get_prev_sibling, #get_rect, #get_screen_position, #get_screen_rect, #get_scroll_pos, #get_scroll_range, #get_scroll_thumb, #get_size, #get_sizer, #get_text_extent, #get_theme_enabled, #get_tool_tip, #get_tool_tip_text, #get_update_client_rect, #get_update_region, #get_validator, #get_virtual_size, #get_window_border_size, #get_window_style, #get_window_style_flag, #get_window_variant, #handle_as_navigation_key, #handle_window_event, #has_capture, #has_extra_style, #has_flag, #has_focus, #has_multiple_pages, #has_scrollbar, #has_transparent_background, #hide, #hide_with_effect, #hit_test, #inform_first_direction, #inherit_attributes, #inherits_background_colour, #inherits_foreground_colour, #init_dialog, #invalidate_best_size, #is_being_deleted, #is_descendant, #is_double_buffered, #is_enabled, #is_exposed, #is_focusable, #is_frozen, #is_retained, #is_scrollbar_always_shown, #is_shown, #is_shown_on_screen, #is_this_enabled, #is_top_level, #is_transparent_background_supported, #layout, #line_down, #line_up, #locked, #lower_window, #move, #move_after_in_tab_order, #move_before_in_tab_order, #navigate, #navigate_in, new_control_id, #on_internal_idle, #page_down, #page_up, #paint, #paint_buffered, #popup_menu, #post_size_event, #post_size_event_to_parent, #process_window_event, #process_window_event_locally, #push_event_handler, #raise_window, #refresh, #refresh_rect, #register_hot_key, #release_mouse, #remove_child, #remove_event_handler, #reparent, #screen_to_client, #scroll_lines, #scroll_pages, #scroll_window, #send_size_event, #send_size_event_to_parent, #set_accelerator_table, #set_auto_layout, #set_background_colour, #set_background_style, #set_can_focus, #set_caret, #set_client_size, #set_containing_sizer, #set_cursor, #set_double_buffered, #set_drop_target, #set_event_handler, #set_extra_style, #set_focus, #set_focus_from_kbd, #set_font, #set_foreground_colour, #set_help_text, #set_id, #set_initial_size, #set_label, #set_layout_direction, #set_max_client_size, #set_max_size, #set_min_client_size, #set_min_size, #set_name, #set_next_handler, #set_own_background_colour, #set_own_font, #set_own_foreground_colour, #set_position, #set_previous_handler, #set_scroll_pos, #set_scrollbar, #set_size, #set_size_hints, #set_sizer, #set_sizer_and_fit, #set_theme_enabled, #set_tool_tip, #set_transparent, #set_validator, #set_virtual_size, #set_window_style, #set_window_style_flag, #set_window_variant, #should_inherit_colours, #show, #show_with_effect, #switch_sizer, #thaw, #to_dip, to_dip, #to_phys, to_phys, #toggle_window_style, #transfer_data_from_window, #transfer_data_to_window, #unregister_hot_key, unreserve_control_id, #unset_tool_tip, #update, #update_window_ui, #use_background_colour, #use_bg_col, #use_foreground_colour, #validate, #warp_pointer, #window_to_client_size
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_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_display_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_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_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_capture_changed, #evt_mouse_capture_lost, #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_command, #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, #set_previous_handler, #try_after, #try_before, #unlink
Methods inherited from Object
#clone, #dup, #is_same_as, #un_share
Constructor Details
#initialize ⇒ Wx::ComboCtrl #initialize(parent, id = Wx::StandardID::ID_ANY, value = (''), pos = Wx::DEFAULT_POSITION, size = Wx::DEFAULT_SIZE, style = 0, validator = Wx::DEFAULT_VALIDATOR, name = Wx::COMBO_BOX_NAME_STR) ⇒ Wx::ComboCtrl
Returns a new instance of ComboCtrl.
194 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 194 def initialize(*args) end |
Class Method Details
.get_features ⇒ Integer
Returns features supported by Wx::ComboCtrl.
If needed feature is missing, you need to instead use GenericComboCtrl, which however may lack a native look and feel (but otherwise sports identical API). Value returned is a combination of the flags defined in Wx::ComboCtrlFeatures.
608 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 608 def self.get_features; end |
Instance Method Details
#animate_show(rect, flags) ⇒ Boolean (protected)
This member function is not normally called in application code.
Instead, it can be implemented in a derived class to create a custom popup animation. The parameters are the same as those for #do_show_popup. true if animation finishes before the function returns, false otherwise. In the latter case you need to manually call #do_show_popup after the animation ends.
621 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 621 def animate_show(rect, flags) end |
#copy ⇒ void
This method returns an undefined value.
Copies the selected text to the clipboard.
198 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 198 def copy; end |
#create(parent, id = Wx::StandardID::ID_ANY, value = (''), pos = Wx::DEFAULT_POSITION, size = Wx::DEFAULT_SIZE, style = 0, validator = Wx::DEFAULT_VALIDATOR, name = Wx::COMBO_BOX_NAME_STR) ⇒ Boolean
Creates the combo control for two-step construction.
Derived classes should call or replace this function. See combo_ctrl for further details.
212 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 212 def create(parent, id=Wx::StandardID::ID_ANY, value=(''), pos=Wx::DEFAULT_POSITION, size=Wx::DEFAULT_SIZE, style=0, validator=Wx::DEFAULT_VALIDATOR, name=Wx::COMBO_BOX_NAME_STR) end |
#cut ⇒ void
This method returns an undefined value.
Copies the selected text to the clipboard and removes the selection.
216 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 216 def cut; end |
#dismiss ⇒ void
This method returns an undefined value.
Dismisses the popup window.
Notice that calling this function will generate a EVT_COMBOBOX_CLOSEUP event.
222 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 222 def dismiss; end |
#do_set_popup_control(popup) ⇒ void (protected)
This method returns an undefined value.
This member function is not normally called in application code.
Instead, it can be implemented in a derived class to return default Wx::ComboPopup, in case popup is NULL.
If you have implemented #on_button_click to do something else than show the popup, then #do_set_popup_control must always set popup to NULL.
634 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 634 def do_set_popup_control(popup) end |
#do_show_popup(rect, flags) ⇒ void (protected)
This method returns an undefined value.
This member function is not normally called in application code.
Instead, it must be called in a derived class to make sure popup is properly shown after a popup animation has finished (but only if #animate_show did not finish the animation within its function scope).
642 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 642 def do_show_popup(rect, flags) end |
#enable_popup_animation(enable = true) ⇒ void
This method returns an undefined value.
Enables or disables popup animation, if any, depending on the value of the argument.
227 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 227 def enable_popup_animation(enable=true) end |
#get_bitmap_disabled ⇒ Wx::Bitmap Also known as: bitmap_disabled
Returns disabled button bitmap that has been set with #set_button_bitmaps.
The disabled state bitmap.
254 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 254 def get_bitmap_disabled; end |
#get_bitmap_hover ⇒ Wx::Bitmap Also known as: bitmap_hover
Returns button mouse hover bitmap that has been set with #set_button_bitmaps.
The mouse hover state bitmap.
261 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 261 def get_bitmap_hover; end |
#get_bitmap_normal ⇒ Wx::Bitmap Also known as: bitmap_normal
Returns default button bitmap that has been set with #set_button_bitmaps.
The normal state bitmap.
268 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 268 def get_bitmap_normal; end |
#get_bitmap_pressed ⇒ Wx::Bitmap Also known as: bitmap_pressed
Returns depressed button bitmap that has been set with #set_button_bitmaps.
The depressed state bitmap.
275 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 275 def get_bitmap_pressed; end |
#get_button_size ⇒ Wx::Size Also known as:
Returns current size of the dropdown button.
280 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 280 def ; end |
#get_custom_paint_width ⇒ Integer Also known as: custom_paint_width
Returns custom painted area in control.
288 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 288 def get_custom_paint_width; end |
#get_hint ⇒ String Also known as: hint
Returns the current hint string.
See #set_hint for more information about hints.
295 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 295 def get_hint; end |
#get_insertion_point ⇒ Integer Also known as: insertion_point
Returns the insertion point for the combo control’s text field.
Under Windows, this function always returns 0 if the combo control doesn't have the focus.
306 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 306 def get_insertion_point; end |
#get_last_position ⇒ Integer Also known as: last_position
Returns the last position in the combo control text field.
311 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 311 def get_last_position; end |
#get_margins ⇒ Wx::Point Also known as: margins
Returns the margins used by the control.
The x field of the returned point is the horizontal margin and the y field is the vertical one.
If given margin cannot be accurately determined, its value will be set to -1.
325 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 325 def get_margins; end |
#get_popup_control ⇒ Wx::ComboPopup Also known as: popup_control
Returns current popup interface that has been set with #set_popup_control.
330 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 330 def get_popup_control; end |
#get_popup_window ⇒ Wx::Window Also known as: popup_window
Returns popup window containing the popup control.
335 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 335 def get_popup_window; end |
#get_text_ctrl ⇒ Wx::TextCtrl Also known as: text_ctrl
Get the text control which is part of the combo control.
340 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 340 def get_text_ctrl; end |
#get_text_rect ⇒ Wx::Rect Also known as: text_rect
Returns area covered by the text field (includes everything except borders and the dropdown button).
345 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 345 def get_text_rect; end |
#get_value ⇒ String Also known as: value
Returns text representation of the current value.
For writable combo control it always returns the value in the text field.
352 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 352 def get_value; end |
#is_key_popup_toggle(event) ⇒ Boolean Also known as: key_popup_toggle?
Returns true if given key combination should toggle the popup.
232 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 232 def is_key_popup_toggle(event) end |
#is_popup_shown ⇒ Boolean Also known as: popup_shown?
Returns true if the popup is currently shown.
357 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 357 def is_popup_shown; end |
#is_popup_window_state(state) ⇒ Boolean Also known as: popup_window_state?
Returns true if the popup window is in the given state.
Possible values are:
Hidden Popup window is hidden.
Animating Popup window is being shown, but the popup animation has not yet finished.
Visible Popup window is fully visible.
374 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 374 def is_popup_window_state(state) end |
#on_button_click ⇒ void
This method returns an undefined value.
Implement in a derived class to define what happens on dropdown button click.
Default action is to show the popup.
If you implement this to do something else than show the popup, you must then also implement #do_set_popup_control to always return NULL.
387 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 387 def ; end |
#paste ⇒ void
This method returns an undefined value.
Pastes text from the clipboard to the text field.
391 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 391 def paste; end |
#popup ⇒ void
This method returns an undefined value.
Shows the popup portion of the combo control.
Notice that calling this function will generate a EVT_COMBOBOX_DROPDOWN event.
397 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 397 def popup; end |
#prepare_background(dc, rect, flags) ⇒ void
This method returns an undefined value.
Prepare background of combo control or an item in a dropdown list in a way typical on platform.
This includes painting the focus/disabled background and setting the clipping region. Unless you plan to paint your own focus indicator, you should always call this in your Wx::ComboPopup::PaintComboControl implementation. In addition, it sets pen and text colour to what looks good and proper against the background. flags: RendererNative flags: Wx::CONTROL_ISSUBMENU: is drawing a list item instead of combo control Wx::CONTROL_SELECTED: list item is selected Wx::CONTROL_DISABLED: control/item is disabled
244 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 244 def prepare_background(dc, rect, flags) end |
#remove(from, to) ⇒ void
This method returns an undefined value.
Removes the text between the two positions in the combo control text field.
403 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 403 def remove(from, to) end |
#replace(from, to, text) ⇒ void
This method returns an undefined value.
Replaces the text between two positions with the given text, in the combo control text field.
410 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 410 def replace(from, to, text) end |
#set_button_bitmaps(bmpNormal, pushButtonBg = false, bmpPressed = (Wx::BitmapBundle.new()), bmpHover = (Wx::BitmapBundle.new()), bmpDisabled = (Wx::BitmapBundle.new())) ⇒ void Also known as:
This method returns an undefined value.
Sets custom dropdown button graphics.
419 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 419 def (bmpNormal, pushButtonBg=false, bmpPressed=(Wx::BitmapBundle.new()), bmpHover=(Wx::BitmapBundle.new()), bmpDisabled=(Wx::BitmapBundle.new())) end |
#set_button_position(width = -1,, height = -1,, side = Wx::Direction::RIGHT, spacingX = 0) ⇒ void Also known as:
This method returns an undefined value.
Sets size and position of dropdown button.
428 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 428 def (width=-1, height=-1, side=Wx::Direction::RIGHT, spacingX=0) end |
#set_custom_paint_width(width) ⇒ void Also known as: custom_paint_width=
This method returns an undefined value.
Set width, in pixels, of custom painted area in control without Wx::CB_READONLY style.
In read-only OwnerDrawnComboBox, this is used to indicate area that is not covered by the focus rectangle.
436 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 436 def set_custom_paint_width(width) end |
#set_hint(hint) ⇒ Boolean Also known as: hint=
Sets a hint shown in an empty unfocused combo control.
Notice that hints are known as cue banners under MSW or placeholder strings under macOS.
445 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 445 def set_hint(hint) end |
#set_insertion_point(pos) ⇒ void Also known as: insertion_point=
This method returns an undefined value.
Sets the insertion point in the text field.
451 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 451 def set_insertion_point(pos) end |
#set_insertion_point_end ⇒ void
This method returns an undefined value.
Sets the insertion point at the end of the combo control text field.
456 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 456 def set_insertion_point_end; end |
#set_main_control(win) ⇒ void Also known as: main_control=
This method returns an undefined value.
Uses the given window instead of the default text control as the main window of the combo control.
By default, combo controls without Wx::CB_READONLY style create a TextCtrl which shows the current value and allows to edit it. This method allows to use some other window instead of this TextCtrl. This method can be called after creating the combo fully, however in this case a TextCtrl is unnecessarily created just to be immediately destroyed when it’s replaced by a custom window. If you wish to avoid this, you can use the following approach, also shown in the combo sample:
# Create the combo control using its default ctor.
combo = Wx::ComboCtrl.new
# Create the custom main control using its default ctor too.
main = SomeWindow.new
# Set the custom main control before creating the combo.
combo.set_main_control(main)
# And only create it now: Wx::TextCtrl won't be unnecessarily
# created because the combo already has a main window.
combo.create(panel, Wx::ID_ANY, '')
# Finally create the main window itself, now that its parent was
# created.
main.create(combo, ...)
Note that when a custom main window is used, none of the methods of this class inherited from TextEntry, such as #set_value, #replace, #set_insertion_point etc do anything and simply return.
485 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 485 def set_main_control(win) end |
#set_margins(pt) ⇒ Boolean #set_margins(left, top = -1) ⇒ Boolean Also known as: margins=
173 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 173 def set_margins(*args) end |
#set_popup_anchor(anchorSide) ⇒ void Also known as: popup_anchor=
This method returns an undefined value.
Set side of the control to which the popup will align itself.
Valid values are Direction::LEFT, Direction::RIGHT and 0. The default value 0 means that the most appropriate side is used (which, currently, is always Direction::LEFT).
493 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 493 def set_popup_anchor(anchorSide) end |
#set_popup_control(popup) ⇒ void
This method returns an undefined value.
Set popup interface class derived from Wx::ComboPopup.
This method should be called as soon as possible after the control has been created, unless #on_button_click has been overridden.
501 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 501 def set_popup_control(popup) end |
#set_popup_extents(extLeft, extRight) ⇒ void
This method returns an undefined value.
Extends popup size horizontally, relative to the edges of the combo control.
Popup minimum width may override arguments. It is up to the popup to fully take this into account.
513 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 513 def set_popup_extents(extLeft, extRight) end |
#set_popup_max_height(height) ⇒ void Also known as: popup_max_height=
This method returns an undefined value.
Sets preferred maximum height of the popup.
Value -1 indicates the default.
524 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 524 def set_popup_max_height(height) end |
#set_popup_min_width(width) ⇒ void Also known as: popup_min_width=
This method returns an undefined value.
Sets minimum width of the popup.
If wider than combo control, it will extend to the left.
Value -1 indicates the default. Also, popup implementation may choose to ignore this.
538 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 538 def set_popup_min_width(width) end |
#set_selection(from, to) ⇒ void
This method returns an undefined value.
Selects the text between the two positions, in the combo control text field.
545 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 545 def set_selection(from, to) end |
#set_text(value) ⇒ void Also known as: text=
This method returns an undefined value.
Sets the text for the text field without affecting the popup.
Thus, unlike #set_value, it works equally well with combo control using Wx::CB_READONLY style.
552 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 552 def set_text(value) end |
#set_text_ctrl_style(style) ⇒ void Also known as: text_ctrl_style=
This method returns an undefined value.
Set a custom window style for the embedded TextCtrl.
Usually you will need to use this during two-step creation, just before #create. For example:
comboCtrl = Wx::ComboCtrl.new
# Let's make the text right-aligned
comboCtrl.set_text_ctrl_style(Wx::TE_RIGHT)
comboCtrl.create(parent, Wx::ID_ANY, '')
569 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 569 def set_text_ctrl_style(style) end |
#set_value(value) ⇒ void Also known as: value=
This method returns an undefined value.
Sets the text for the combo control text field.
For a combo control with Wx::CB_READONLY style the string must be accepted by the popup (for instance, exist in the dropdown list), otherwise the call to #set_value is ignored.
581 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 581 def set_value(value) end |
#set_value_by_user(value) ⇒ void Also known as: value_by_user=
This method returns an undefined value.
Changes value of the control as if user had done it by selecting an item from a combo box drop-down list.
587 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 587 def set_value_by_user(value) end |
#should_draw_focus ⇒ Boolean
Returns true if focus indicator should be drawn in the control.
248 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 248 def should_draw_focus; end |
#undo ⇒ void
This method returns an undefined value.
Undoes the last edit in the text field.
Windows only.
594 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 594 def undo; end |
#use_alt_popup_window(enable = true) ⇒ void
This method returns an undefined value.
Enable or disable usage of an alternative popup window, which guarantees ability to focus the popup control, and allows common native controls to function normally.
This alternative popup window is usually a Dialog, and as such, when it is shown, its parent top-level window will appear as if the focus has been lost from it.
601 |
# File 'lib/wx/doc/gen/combo_ctrl.rb', line 601 def use_alt_popup_window(enable=true) end |