Class: Wx::OwnerDrawnComboBox
- Inherits:
-
ComboCtrl
- Object
- Object
- EvtHandler
- Window
- Control
- ComboCtrl
- Wx::OwnerDrawnComboBox
- Defined in:
- lib/wx/doc/gen/owner_drawn_combo_box.rb,
lib/wx/doc/owner_drawn_combobox.rb
Overview
OwnerDrawnComboBox is a combobox with owner-drawn list items.
In essence, it is a ComboCtrl with VListBox popup and ControlWithItems interface. Implementing item drawing and measuring is similar to VListBox. Application needs to subclass OwnerDrawnComboBox and implement #on_draw_item, #on_measure_item and #on_measure_item_width.
Styles
This class supports the following styles:
-
ODCB_DCLICK_CYCLES: Double-clicking cycles item if CB_READONLY is also used. Synonymous with CC_SPECIAL_DCLICK.
-
ODCB_STD_CONTROL_PAINT: Control itself is not custom painted using OnDrawItem. Even if this style is not used, writable OwnerDrawnComboBox is never custom painted unless ComboCtrl#set_custom_paint_width is called.
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_combobox(id, meth = nil, &block): Process a EVT_COMBOBOX event, when an item on the list is selected. Note that calling ComboCtrl#get_value returns the new value of selection.
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>
Instance Method Summary collapse
- #append(*args) ⇒ Object
- #create(*args) ⇒ Object
-
#delete(n) ⇒ void
Deletes an item from the control.
-
#detach_client_object(n) ⇒ Object
Returns the client object associated with the given item and transfers its ownership to the caller.
-
#find_string(string, caseSensitive = false) ⇒ Integer
Finds an item whose label matches the given string.
-
#get_client_object(n) ⇒ Object
(also: #client_object)
Returns a pointer to the client data associated with the given item (if any).
-
#get_count ⇒ Integer
(also: #count)
Returns the number of items in the control.
- #get_item_data ⇒ Object
-
#get_list_selection ⇒ Integer
(also: #list_selection)
Returns the index of the selected item or NOT_FOUND if no item is selected.
-
#get_list_string_selection ⇒ String
(also: #list_string_selection)
Returns the label of the selected item or an empty string if no item is selected.
-
#get_string(n) ⇒ String
(also: #string)
Returns the label of the item with the given index.
-
#get_strings ⇒ Array<String>
(also: #strings)
Returns the array of the labels of all items in the control.
-
#get_widest_item ⇒ Integer
(also: #widest_item)
Returns index to the widest item in the list.
-
#get_widest_item_width ⇒ Integer
(also: #widest_item_width)
Returns width of the widest item in the list.
-
#has_client_data ⇒ Boolean
(also: #has_client_data?)
Returns true, if either untyped data (
void
) or object data (ClientData) is associated with the items of the control. -
#has_client_object_data ⇒ Boolean
(also: #has_client_object_data?)
Returns true, if object data is associated with the items of the control.
-
#initialize(*args) ⇒ OwnerDrawnComboBox
constructor
A new instance of OwnerDrawnComboBox.
- #insert(*args) ⇒ Object
-
#is_empty ⇒ Boolean
(also: #empty?)
#is_empty is not available in this class.
-
#is_list_empty ⇒ Boolean
(also: #list_empty?)
Returns true if the list of combobox choices is empty.
-
#is_text_empty ⇒ Boolean
(also: #text_empty?)
Returns true if the text of the combobox is empty.
-
#on_draw_background(dc, rect, item, flags) ⇒ void
protected
This method is used to draw the items background and, maybe, a border around it.
-
#on_draw_item(dc, rect, item, flags) ⇒ void
protected
The derived class may implement this function to actually draw the item with the given index on the provided DC.
-
#on_measure_item(item) ⇒ Integer
protected
The derived class may implement this method to return the height of the specified item (in pixels).
-
#on_measure_item_width(item) ⇒ Integer
protected
The derived class may implement this method to return the width of the specified item (in pixels).
-
#select(n) ⇒ void
This is the same as #set_list_selection and exists only because it is slightly more natural for controls which support multiple selection.
- #set(*args) ⇒ Object
-
#set_client_object(n, data) ⇒ void
Associates the given typed client data pointer with the given item: the data object will be deleted when the item is deleted (either explicitly by using #delete or implicitly when the control itself is destroyed).
- #set_item_data ⇒ Object
-
#set_list_selection(n) ⇒ void
(also: #list_selection=)
Sets the selection to the given item n or removes the selection entirely if n == NOT_FOUND.
-
#set_list_string_selection(string) ⇒ Boolean
(also: #list_string_selection=)
Selects the item with the specified string in the control.
-
#set_string(n, string) ⇒ void
Sets the label for the given item.
Methods inherited from ComboCtrl
#animate_show, #copy, #cut, #dismiss, #do_set_popup_control, #do_show_popup, #enable_popup_animation, #get_bitmap_disabled, #get_bitmap_hover, #get_bitmap_normal, #get_bitmap_pressed, #get_button_size, #get_custom_paint_width, get_features, #get_hint, #get_insertion_point, #get_last_position, #get_margins, #get_popup_control, #get_popup_window, #get_text_ctrl, #get_text_rect, #get_value, #is_key_popup_toggle, #is_popup_shown, #is_popup_window_state, #on_button_click, #paste, #popup, #prepare_background, #remove, #replace, #set_button_bitmaps, #set_button_position, #set_custom_paint_width, #set_hint, #set_insertion_point, #set_insertion_point_end, #set_main_control, #set_margins, #set_popup_anchor, #set_popup_control, #set_popup_extents, #set_popup_max_height, #set_popup_min_width, #set_selection, #set_text, #set_text_ctrl_style, #set_value, #set_value_by_user, #should_draw_focus, #undo, #use_alt_popup_window
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, #copy, #cut, #force_upper, #get_hint, #get_insertion_point, #get_last_position, #get_margins, #get_range, #get_selection, #get_string_selection, #get_value, #is_editable, #paste, #redo_, #remove, #replace, #select_all, #select_none, #set_editable, #set_hint, #set_insertion_point, #set_insertion_point_end, #set_margins, #set_max_length, #set_selection, #set_value, #undo, #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_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_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::OwnerDrawnComboBox #initialize(parent, id, value, pos, size, choices, style = 0, validator = Wx::DEFAULT_VALIDATOR, name = ("COMBO_BOX")) ⇒ Wx::OwnerDrawnComboBox
Returns a new instance of OwnerDrawnComboBox.
130 |
# File 'lib/wx/doc/gen/owner_drawn_combo_box.rb', line 130 def initialize(*args) end |
Instance Method Details
#append(item) ⇒ Integer #append(item, clientData) ⇒ Integer #append(items) ⇒ Integer #append(items, clientData) ⇒ Integer
190 |
# File 'lib/wx/doc/gen/owner_drawn_combo_box.rb', line 190 def append(*args) end |
#create(parent, id, value = (''), pos = Wx::DEFAULT_POSITION, size = Wx::DEFAULT_SIZE, style = 0, validator = Wx::DEFAULT_VALIDATOR, name = Wx::COMBO_BOX_NAME_STR) ⇒ Boolean #create(parent, id, value, pos, size, choices, style = 0, validator = Wx::DEFAULT_VALIDATOR, name = Wx::COMBO_BOX_NAME_STR) ⇒ Boolean
109 |
# File 'lib/wx/doc/gen/owner_drawn_combo_box.rb', line 109 def create(*args) end |
#delete(n) ⇒ void
This method returns an undefined value.
Deletes an item from the control.
The client data associated with the item will be also deleted if it is owned by the control. Note that it is an error (signalled by an assert failure in debug builds) to remove an item with the index negative or greater or equal than the number of items in the control. If there is a currently selected item below the item being deleted, i.e. if TextEntry#get_selection returns a valid index greater than or equal to n, the selection is invalidated when this function is called. However if the selected item appears before the item being deleted, the selection is preserved unchanged.
269 |
# File 'lib/wx/doc/gen/owner_drawn_combo_box.rb', line 269 def delete(n) end |
#detach_client_object(n) ⇒ Object
Returns the client object associated with the given item and transfers its ownership to the caller.
This method, unlike #get_client_object, expects the caller to delete the returned pointer. It also replaces the internally stored pointer with NULL, i.e. completely detaches the client object pointer from the control. It’s an error to call this method unless #has_client_object_data returns true.
The associated client object pointer to be deleted by caller or NULL.
279 |
# File 'lib/wx/doc/gen/owner_drawn_combo_box.rb', line 279 def detach_client_object(n) end |
#find_string(string, caseSensitive = false) ⇒ Integer
Finds an item whose label matches the given string.
The zero-based position of the item, or NOT_FOUND if the string was not found.
90 |
# File 'lib/wx/doc/owner_drawn_combobox.rb', line 90 def find_string(string, caseSensitive=false) end |
#get_client_object(n) ⇒ Object Also known as: client_object
Returns a pointer to the client data associated with the given item (if any).
It is an error to call this function for a control which doesn’t have typed client data at all although it is OK to call it even if the given item doesn’t have any client data associated with it (but other items do). Notice that the returned pointer is still owned by the control and will be deleted by it, use #detach_client_object if you want to remove the pointer from the control.
A pointer to the client data, or NULL if not present.
200 |
# File 'lib/wx/doc/gen/owner_drawn_combo_box.rb', line 200 def get_client_object(n) end |
#get_count ⇒ Integer Also known as: count
Returns the number of items in the control.
59 |
# File 'lib/wx/doc/owner_drawn_combobox.rb', line 59 def get_count; end |
#get_item_data ⇒ Object
12 |
# File 'lib/wx/doc/owner_drawn_combobox.rb', line 12 alias :get_item_data :get_client_object |
#get_list_selection ⇒ Integer Also known as: list_selection
Returns the index of the selected item or NOT_FOUND if no item is selected.
The position of the current selection.
42 |
# File 'lib/wx/doc/owner_drawn_combobox.rb', line 42 def get_list_selection; end |
#get_list_string_selection ⇒ String Also known as: list_string_selection
Returns the label of the selected item or an empty string if no item is selected.
20 |
# File 'lib/wx/doc/owner_drawn_combobox.rb', line 20 def get_list_string_selection; end |
#get_string(n) ⇒ String Also known as: string
Returns the label of the item with the given index.
The index must be valid, i.e. less than the value returned by #get_count, otherwise an assert is triggered. Notably, this function can’t be called if the control is empty.
The label of the item.
70 |
# File 'lib/wx/doc/owner_drawn_combobox.rb', line 70 def get_string(n) end |
#get_strings ⇒ Array<String> Also known as: strings
Returns the array of the labels of all items in the control.
75 |
# File 'lib/wx/doc/owner_drawn_combobox.rb', line 75 def get_strings; end |
#get_widest_item ⇒ Integer Also known as: widest_item
Returns index to the widest item in the list.
156 |
# File 'lib/wx/doc/gen/owner_drawn_combo_box.rb', line 156 def get_widest_item; end |
#get_widest_item_width ⇒ Integer Also known as: widest_item_width
Returns width of the widest item in the list.
161 |
# File 'lib/wx/doc/gen/owner_drawn_combo_box.rb', line 161 def get_widest_item_width; end |
#has_client_data ⇒ Boolean Also known as: has_client_data?
Returns true, if either untyped data (void
) or object data (ClientData) is associated with the items of the control.
283 |
# File 'lib/wx/doc/gen/owner_drawn_combo_box.rb', line 283 def has_client_data; end |
#has_client_object_data ⇒ Boolean Also known as: has_client_object_data?
Returns true, if object data is associated with the items of the control.
Object data pointers have the type wxClientData
instead of void
and, importantly, are owned by the control, i.e. will be deleted by it, unlike their untyped counterparts.
290 |
# File 'lib/wx/doc/gen/owner_drawn_combo_box.rb', line 290 def has_client_object_data; end |
#insert(item, pos) ⇒ Integer #insert(item, pos, clientData) ⇒ Integer #insert(items, pos) ⇒ Integer #insert(items, pos, clientData) ⇒ Integer
245 |
# File 'lib/wx/doc/gen/owner_drawn_combo_box.rb', line 245 def insert(*args) end |
#is_empty ⇒ Boolean Also known as: empty?
#is_empty is not available in this class.
This method is documented here only to notice that it can’t be used with this class because of the ambiguity between the methods with the same name inherited from ItemContainer and TextEntry base classes. Because of this, any attempt to call it results in a compilation error and you should use either #is_list_empty or #is_text_empty depending on what exactly do you want to test.
137 |
# File 'lib/wx/doc/gen/owner_drawn_combo_box.rb', line 137 def is_empty; end |
#is_list_empty ⇒ Boolean Also known as: list_empty?
Returns true if the list of combobox choices is empty.
Use this method instead of (not available in this class) #is_empty to test if the list of items is empty.
144 |
# File 'lib/wx/doc/gen/owner_drawn_combo_box.rb', line 144 def is_list_empty; end |
#is_text_empty ⇒ Boolean Also known as: text_empty?
Returns true if the text of the combobox is empty.
Use this method instead of (not available in this class) #is_empty to test if the text currently entered into the combobox is empty.
151 |
# File 'lib/wx/doc/gen/owner_drawn_combo_box.rb', line 151 def is_text_empty; end |
#on_draw_background(dc, rect, item, flags) ⇒ void (protected)
This method returns an undefined value.
This method is used to draw the items background and, maybe, a border around it.
The base class version implements a reasonable default behaviour which consists in drawing the selected item with the standard background colour and drawing a border around the item if it is either selected or current.
flags has the same meaning as with #on_draw_item.
310 |
# File 'lib/wx/doc/gen/owner_drawn_combo_box.rb', line 310 def on_draw_background(dc, rect, item, flags) end |
#on_draw_item(dc, rect, item, flags) ⇒ void (protected)
This method returns an undefined value.
The derived class may implement this function to actually draw the item with the given index on the provided DC.
If function is not implemented, the item text is simply drawn, as if the control was a normal combobox.
320 |
# File 'lib/wx/doc/gen/owner_drawn_combo_box.rb', line 320 def on_draw_item(dc, rect, item, flags) end |
#on_measure_item(item) ⇒ Integer (protected)
The derived class may implement this method to return the height of the specified item (in pixels).
The default implementation returns text height, as if this control was a normal combobox.
327 |
# File 'lib/wx/doc/gen/owner_drawn_combo_box.rb', line 327 def on_measure_item(item) end |
#on_measure_item_width(item) ⇒ Integer (protected)
The derived class may implement this method to return the width of the specified item (in pixels).
If -1 is returned, then the item text width is used. The default implementation returns -1.
335 |
# File 'lib/wx/doc/gen/owner_drawn_combo_box.rb', line 335 def on_measure_item_width(item) end |
#select(n) ⇒ void
This method returns an undefined value.
This is the same as #set_list_selection and exists only because it is slightly more natural for controls which support multiple selection.
96 |
# File 'lib/wx/doc/owner_drawn_combobox.rb', line 96 def select(n) end |
#set(items) ⇒ void #set(items, clientData) ⇒ void
260 |
# File 'lib/wx/doc/gen/owner_drawn_combo_box.rb', line 260 def set(*args) end |
#set_client_object(n, data) ⇒ void
This method returns an undefined value.
Associates the given typed client data pointer with the given item: the data object will be deleted when the item is deleted (either explicitly by using #delete or implicitly when the control itself is destroyed).
Note that it is an error to call this function if any untyped client data pointers had been associated with the control items before.
209 |
# File 'lib/wx/doc/gen/owner_drawn_combo_box.rb', line 209 def set_client_object(n, data) end |
#set_item_data ⇒ Object
14 |
# File 'lib/wx/doc/owner_drawn_combobox.rb', line 14 alias :set_item_data :set_client_object |
#set_list_selection(n) ⇒ void Also known as: list_selection=
This method returns an undefined value.
Sets the selection to the given item n or removes the selection entirely if n == NOT_FOUND.
Note that this does not cause any command events to be emitted nor does it deselect any other items in the controls which support multiple selections.
52 |
# File 'lib/wx/doc/owner_drawn_combobox.rb', line 52 def set_list_selection(n) end |
#set_list_string_selection(string) ⇒ Boolean Also known as: list_string_selection=
Selects the item with the specified string in the control.
This method doesn’t cause any command events to be emitted. Notice that this method is case-insensitive, i.e. the string is compared with all the elements of the control case-insensitively and the first matching entry is selected, even if it doesn’t have exactly the same case as this string and there is an exact match afterwards.
true if the specified string has been selected, false if it wasn’t found in the control.
33 |
# File 'lib/wx/doc/owner_drawn_combobox.rb', line 33 def set_list_string_selection(string) end |
#set_string(n, string) ⇒ void
This method returns an undefined value.
Sets the label for the given item.
82 |
# File 'lib/wx/doc/owner_drawn_combobox.rb', line 82 def set_string(n, string) end |