Blender
V3.3
|
#include "BLI_listbase.h"
#include "BLI_math.h"
#include "BLI_rect.h"
#include "BLI_string.h"
#include "BLI_utildefines.h"
#include "DNA_screen_types.h"
#include "UI_interface.h"
#include "UI_view2d.h"
#include "RNA_access.h"
#include "interface_intern.h"
#include "WM_api.h"
#include "WM_types.h"
Go to the source code of this file.
Classes | |
struct | ListRowFindIndexData |
Button (#uiBut) State | |
static wmOperatorType * | g_ot_tool_set_by_id = nullptr |
bool | ui_but_is_editable (const uiBut *but) |
bool | ui_but_is_editable_as_text (const uiBut *but) |
bool | ui_but_is_toggle (const uiBut *but) |
bool | ui_but_is_interactive_ex (const uiBut *but, const bool labeledit, const bool for_tooltip) |
bool | ui_but_is_interactive (const uiBut *but, const bool labeledit) |
bool | UI_but_is_utf8 (const uiBut *but) |
bool | ui_but_is_popover_once_compat (const uiBut *but) |
bool | ui_but_has_array_value (const uiBut *but) |
bool | UI_but_is_tool (const uiBut *but) |
bool | UI_but_has_tooltip_label (const uiBut *but) |
int | ui_but_icon (const uiBut *but) |
Utilities to inspect the interface, extract information.
Definition in file interface_query.cc.
Definition at line 599 of file interface_query.cc.
References uiBut::active, uiBlock::buttons, and LISTBASE_FOREACH.
Referenced by ui_but_update_view_for_active(), and ui_region_find_active_but().
Definition at line 661 of file interface_query.cc.
References uiBlock::buttons, ELEM, ListBase::last, uiBut::type, ui_block_is_menu(), ui_block_is_pie_menu(), UI_BTYPE_SEPR, and UI_BTYPE_SEPR_LINE.
Referenced by uiItemS_ex().
Definition at line 696 of file interface_query.cc.
References ui_block_find_mouse_over_ex(), and wmEvent::xy.
Definition at line 676 of file interface_query.cc.
References BLI_rctf_isect_pt(), LISTBASE_FOREACH, UI_BLOCK_CLIP_EVENTS, ui_region_contains_point_px(), ui_window_to_block_fl(), ARegion::uiblocks, and xy.
Referenced by ui_block_find_mouse_over().
Definition at line 656 of file interface_query.cc.
References UI_block_is_empty_ex().
Definition at line 642 of file interface_query.cc.
References uiBlock::buttons, ListBase::first, uiBut::next, uiBut::type, UI_BTYPE_LABEL, and ui_but_next_non_separator().
Referenced by UI_block_is_empty(), and UI_popup_menu_end_or_cancel().
Definition at line 610 of file interface_query.cc.
References uiBlock::flag, UI_BLOCK_KEEP_OPEN, and UI_BLOCK_LOOP.
Referenced by UI_block_can_add_separator(), ui_block_func_POPOVER(), ui_block_is_popup_any(), ui_but_is_drag_toggle(), UI_but_string_info_get(), ui_do_but_TOG(), ui_handle_button_event(), ui_handle_menu_button(), ui_handle_menu_event(), ui_handle_menus_recursive(), ui_menu_scroll_apply_offset_y(), ui_mouse_motion_towards_check(), ui_popup_context_menu_for_button(), ui_popup_menu_create(), uiItemS_ex(), and widget_draw_text_icon().
Definition at line 622 of file interface_query.cc.
References uiBlock::flag, and UI_BLOCK_RADIAL.
Referenced by UI_block_can_add_separator(), ui_block_is_popup_any(), ui_handle_button_event(), ui_handle_menu_button(), widget_draw_icon(), and widget_draw_text_icon().
Definition at line 617 of file interface_query.cc.
References uiBlock::flag, and UI_BLOCK_POPOVER.
Referenced by ui_block_is_popup_any(), UI_but_has_tooltip_label(), and ui_def_but().
Definition at line 627 of file interface_query.cc.
References ui_block_is_menu(), ui_block_is_pie_menu(), and ui_block_is_popover().
Referenced by ui_do_but_SCROLL(), ui_popup_context_menu_for_button(), and uiItemSpacer().
Definition at line 552 of file interface_query.cc.
References PROP_PASSWORD, RNA_property_subtype(), and uiBut::rnaprop.
Referenced by ui_but_copy().
Definition at line 219 of file interface_query.cc.
References uiBut::block, uiBut::pie_dir, ui_but_contains_pt(), ui_but_isect_pie_seg(), UI_RADIAL_NONE, ui_region_contains_point_px(), ui_window_to_block_fl(), and xy.
Definition at line 241 of file interface_query.cc.
References BLI_rcti_isect_pt(), BLI_rcti_rctf_copy(), BLI_rcti_size_x(), BLI_rcti_size_y(), uiBut::block, uiBut::drawflag, uiBut::imb, uiBut::rect, uiBut::type, UI_BTYPE_COLOR, UI_BUT_ICON_LEFT, ui_window_to_block(), x, rcti::xmax, rcti::xmin, and y.
Definition at line 209 of file interface_query.cc.
References BLI_rctf_isect_pt(), and uiBut::rect.
Referenced by ui_but_contains_point_px(), ui_but_find_mouse_over_ex(), ui_do_but_textedit(), and ui_list_find_mouse_over_ex().
Definition at line 214 of file interface_query.cc.
References BLI_rctf_isect(), and uiBut::rect.
Referenced by ui_but_find_rect_over().
size_t ui_but_drawstr_len_without_sep_char | ( | const uiBut * | but | ) |
Definition at line 563 of file interface_query.cc.
References uiBut::drawstr, uiBut::flag, UI_BUT_HAS_SEP_CHAR, and UI_SEP_CHAR.
Referenced by ui_apply_but_undo(), and ui_but_drawstr_without_sep_char().
size_t ui_but_drawstr_without_sep_char | ( | const uiBut * | but, |
char * | str, | ||
size_t | str_maxlen | ||
) |
Definition at line 574 of file interface_query.cc.
References BLI_strncpy_rlen(), uiBut::drawstr, min_zz(), str, and ui_but_drawstr_len_without_sep_char().
|
static |
Definition at line 265 of file interface_query.cc.
References LISTBASE_FOREACH, LISTBASE_FOREACH_BACKWARD, and ARegion::uiblocks.
Referenced by ui_list_find_from_row(), ui_list_row_find_from_index(), and ui_view_item_find_active().
Definition at line 327 of file interface_query.cc.
References KM_CTRL, wmEvent::modifier, ui_but_find_mouse_over_ex(), and wmEvent::xy.
uiBut* ui_but_find_mouse_over_ex | ( | const ARegion * | region, |
const int | xy[2], | ||
const bool | labeledit, | ||
const bool | for_tooltip, | ||
const uiButFindPollFn | find_poll, | ||
const void * | find_custom_data | ||
) |
Definition at line 281 of file interface_query.cc.
References BLI_rctf_isect_pt(), LISTBASE_FOREACH, LISTBASE_FOREACH_BACKWARD, UI_BLOCK_CLIP_EVENTS, ui_but_contains_pt(), ui_but_is_interactive_ex(), ui_but_isect_pie_seg(), UI_RADIAL_NONE, ui_region_contains_point_px(), ui_window_to_block_fl(), ARegion::uiblocks, and xy.
Referenced by ui_but_find_mouse_over(), ui_list_row_find_mouse_over(), and ui_view_item_find_mouse_over().
Definition at line 333 of file interface_query.cc.
References BLI_assert, BLI_rctf_isect(), BLI_rctf_rcti_copy(), LISTBASE_FOREACH, LISTBASE_FOREACH_BACKWARD, UI_BLOCK_CLIP_EVENTS, ui_but_contains_rect(), ui_but_is_interactive(), UI_RADIAL_NONE, ui_region_contains_rect_px(), ui_window_to_block_rctf(), and ARegion::uiblocks.
Referenced by UI_region_but_find_rect_over().
Definition at line 512 of file interface_query.cc.
References uiBlock::buttons, LISTBASE_FOREACH, and ui_but_is_editable().
Referenced by button_activate_init(), and ui_handle_menu_event().
Definition at line 118 of file interface_query.cc.
References PointerRNA::data, ELEM, PROP_ACCELERATION, PROP_AXISANGLE, PROP_COLOR, PROP_COLOR_GAMMA, PROP_COORDS, PROP_DIRECTION, PROP_EULER, PROP_MATRIX, PROP_QUATERNION, PROP_TRANSLATION, PROP_VELOCITY, PROP_XYZ, PROP_XYZ_LENGTH, RNA_property_subtype(), uiBut::rnapoin, and uiBut::rnaprop.
Referenced by ui_but_copy(), and ui_but_paste().
Definition at line 152 of file interface_query.cc.
References uiBut::block, uiBut::drawstr, ui_block_is_popover(), and UI_but_is_tool().
Referenced by button_activate_init(), button_tooltip_timer_reset(), and UI_tooltip_create_from_button_or_extra_icon().
int ui_but_icon | ( | const uiBut * | but | ) |
Definition at line 160 of file interface_query.cc.
References uiBut::drawflag, uiBut::flag, uiBut::icon, uiBut::iconadd, UI_BUT_ICON_REVERSE, and UI_HAS_ICON.
Referenced by menu_items_from_ui_create_item_from_button(), and widget_draw_text_icon().
Definition at line 469 of file interface_query.cc.
References uiBut::type, UI_BTYPE_VIEW_ITEM, UI_view_item_is_active(), and uiButViewItem::view_item.
Referenced by ui_view_item_find_active().
Definition at line 534 of file interface_query.cc.
References ELEM, uiBut::type, UI_BTYPE_CURVE, UI_BTYPE_CURVEPROFILE, UI_BTYPE_HSVCIRCLE, UI_BTYPE_HSVCUBE, UI_BTYPE_NUM, UI_BTYPE_NUM_SLIDER, UI_BTYPE_TRACK_PREVIEW, and USER_CONTINUOUS_MOUSE.
Referenced by button_activate_state(), ui_do_but_NUM(), ui_numedit_begin(), ui_numedit_but_CURVE(), ui_numedit_but_CURVEPROFILE(), ui_numedit_but_HSVCIRCLE(), ui_numedit_but_HSVCUBE(), ui_numedit_but_NUM(), and ui_numedit_but_SLI().
Definition at line 31 of file interface_query.cc.
References ELEM, uiBut::type, UI_BTYPE_LABEL, UI_BTYPE_LISTBOX, UI_BTYPE_PROGRESS_BAR, UI_BTYPE_ROUNDBOX, UI_BTYPE_SEPR, and UI_BTYPE_SEPR_LINE.
Referenced by UI_block_active_only_flagged_buttons(), ui_block_func_POPOVER(), ui_block_func_POPUP(), ui_but_first(), ui_but_last(), ui_but_next(), ui_but_prev(), and ui_handle_button_event().
Definition at line 42 of file interface_query.cc.
References ELEM, uiBut::type, UI_BTYPE_NUM, UI_BTYPE_NUM_SLIDER, UI_BTYPE_SEARCH_MENU, and UI_BTYPE_TEXT.
Referenced by ui_handle_button_event(), ui_textedit_next_but(), and ui_textedit_prev_but().
Definition at line 97 of file interface_query.cc.
References ui_but_is_interactive_ex().
Referenced by ui_but_find_rect_over(), ui_drag_toggle_set_xy_xy(), ui_handle_button_over(), and ui_multibut_states_tag().
Can we mouse over the button or is it hidden/disabled/layout.
Definition at line 60 of file interface_query.cc.
References ELEM, uiBut::emboss, uiBut::flag, uiBut::tip_func, uiBut::type, UI_BTYPE_LABEL, UI_BTYPE_LISTBOX, UI_BTYPE_LISTROW, UI_BTYPE_ROUNDBOX, UI_BTYPE_SEPR, UI_BTYPE_SEPR_LINE, UI_BTYPE_TEXT, ui_but_drag_is_draggable(), UI_EMBOSS_NONE, UI_EMBOSS_NONE_OR_STATUS, UI_HIDDEN, and UI_SCROLLED.
Referenced by ui_but_find_mouse_over_ex(), and ui_but_is_interactive().
Definition at line 416 of file interface_query.cc.
References uiBut::type, UI_BTYPE_LISTBOX, and ui_list_contains_row().
Referenced by ui_list_find_from_row().
Definition at line 427 of file interface_query.cc.
References uiBut::type, and UI_BTYPE_LISTROW.
Referenced by ui_but_is_listrow_at_index(), and ui_list_row_find_mouse_over().
Definition at line 442 of file interface_query.cc.
References uiBut::hardmax, ListRowFindIndexData::index, ListRowFindIndexData::listbox, ui_but_is_listrow(), and ui_list_contains_row().
Referenced by ui_list_row_find_from_index().
Definition at line 112 of file interface_query.cc.
References ELEM, uiBut::type, UI_BTYPE_BUT, UI_BTYPE_DECORATOR, and ui_but_is_toggle().
Referenced by ui_draw_but(), and ui_handle_button_event().
Definition at line 47 of file interface_query.cc.
References ELEM, uiBut::type, UI_BTYPE_BUT_TOGGLE, UI_BTYPE_CHECKBOX, UI_BTYPE_CHECKBOX_N, UI_BTYPE_ICON_TOGGLE, UI_BTYPE_ICON_TOGGLE_N, UI_BTYPE_ROW, UI_BTYPE_TOGGLE, and UI_BTYPE_TOGGLE_N.
Referenced by ui_but_is_popover_once_compat().
Definition at line 138 of file interface_query.cc.
References g_ot_tool_set_by_id, uiBut::optype, and WM_operatortype_find().
Referenced by UI_but_has_tooltip_label(), ui_but_user_menu_add(), ui_draw_but(), ui_menu_block_set_keymaps(), UI_tooltip_create_from_button_or_extra_icon(), widget_draw_icon(), and widget_draw_text_icon().
Definition at line 102 of file interface_query.cc.
References ELEM, uiBut::flag, PROP_BYTESTRING, PROP_DIRPATH, PROP_FILENAME, PROP_FILEPATH, RNA_property_subtype(), uiBut::rnaprop, and UI_BUT_NO_UTF8.
Referenced by ED_file_path_button(), file_panel_execution_buttons_draw(), ui_but_string_get_ex(), ui_but_string_set(), ui_do_but_TEX(), ui_textedit_copypaste(), ui_textedit_end(), ui_textedit_insert_buf(), and ui_textedit_string_set().
Definition at line 459 of file interface_query.cc.
References uiBut::type, and UI_BTYPE_VIEW_ITEM.
Referenced by ui_view_item_find_mouse_over().
Definition at line 190 of file interface_query.cc.
References dot_v2v2(), PieMenuData::flags, M_PI_4, uiBlock::pie_data, uiBut::pie_dir, PieMenuData::pie_dir, saacos(), ui_but_pie_dir(), UI_PIE_DEGREES_RANGE_LARGE, and UI_PIE_INVALID_DIR.
Referenced by ui_but_contains_point_px(), and ui_but_find_mouse_over_ex().
Definition at line 522 of file interface_query.cc.
References uiBlock::buttons, ListBase::last, uiBut::prev, and ui_but_is_editable().
Referenced by ui_handle_menu_event().
Definition at line 501 of file interface_query.cc.
References uiBut::next, and ui_but_is_editable().
Referenced by ui_handle_menu_event().
Definition at line 632 of file interface_query.cc.
References ELEM, uiBut::next, uiBut::type, UI_BTYPE_SEPR, and UI_BTYPE_SEPR_LINE.
Referenced by UI_block_is_empty_ex().
void ui_but_pie_dir | ( | RadialDirection | dir, |
float | vec[2] | ||
) |
Definition at line 179 of file interface_query.cc.
References angle(), BLI_assert, cosf, DEG2RADF, sinf, ui_radial_dir_to_angle, and UI_RADIAL_NONE.
Referenced by ui_but_isect_pie_seg(), ui_get_radialbut_vec(), and ui_pie_handler().
Definition at line 490 of file interface_query.cc.
References uiBut::prev, and ui_but_is_editable().
Referenced by ui_handle_menu_event().
size_t ui_but_tip_len_only_first_line | ( | const uiBut * | but | ) |
Definition at line 580 of file interface_query.cc.
References uiBut::tip.
Referenced by ui_apply_but_undo().
Definition at line 818 of file interface_query.cc.
References g_ot_tool_set_by_id.
Referenced by UI_interface_tag_script_reload().
Definition at line 408 of file interface_query.cc.
References BLI_assert, uiBut::type, UI_BTYPE_LISTBOX, UI_BTYPE_LISTROW, and ui_but_rna_equals().
Referenced by ui_but_is_listbox_with_row(), and ui_but_is_listrow_at_index().
Definition at line 422 of file interface_query.cc.
References ui_but_find(), and ui_but_is_listbox_with_row().
Definition at line 389 of file interface_query.cc.
References ui_list_find_mouse_over_ex(), and wmEvent::xy.
Referenced by UI_list_find_mouse_over().
Definition at line 398 of file interface_query.cc.
References uiBut::custom_data, and ui_list_find_mouse_over().
Definition at line 371 of file interface_query.cc.
References LISTBASE_FOREACH, LISTBASE_FOREACH_BACKWARD, UI_BTYPE_LISTBOX, ui_but_contains_pt(), ui_region_contains_point_px(), ui_window_to_block_fl(), ARegion::uiblocks, and xy.
Referenced by ui_list_find_mouse_over().
Definition at line 450 of file interface_query.cc.
References BLI_assert, data, uiBut::type, UI_BTYPE_LISTBOX, ui_but_find(), and ui_but_is_listrow_at_index().
Definition at line 432 of file interface_query.cc.
References ui_but_find_mouse_over_ex(), ui_but_is_listrow(), and xy.
Definition at line 738 of file interface_query.cc.
References BLI_rcti_isect_pt(), BLI_rcti_isect_pt_v(), View2D::mask, ui_region_winrct_get_no_margin(), UI_view2d_mouse_in_scrollers(), ui_window_to_region(), ARegion::v2d, rcti::xmax, rcti::xmin, and xy.
Referenced by ui_block_find_mouse_over_ex(), ui_but_contains_point_px(), ui_but_find_mouse_over_ex(), and ui_list_find_mouse_over_ex().
Definition at line 765 of file interface_query.cc.
References BLI_rcti_isect(), View2D::mask, ui_region_winrct_get_no_margin(), UI_view2d_rect_in_scrollers(), ui_window_to_region_rcti(), ARegion::v2d, rcti::xmax, and rcti::xmin.
Referenced by ui_but_find_rect_over().
Definition at line 707 of file interface_query.cc.
References LISTBASE_FOREACH, ui_block_active_but_get(), and ARegion::uiblocks.
Referenced by button_activate_init(), drop_color_invoke(), UI_but_active_drop_color(), UI_but_active_drop_name_button(), UI_but_active_only_ex(), ui_but_pie_button_activate(), ui_but_pie_menu_apply(), ui_handle_button_activate(), ui_handle_menu_button(), ui_handle_menu_event(), ui_handle_menu_return_submenu(), ui_handle_menus_recursive(), ui_handler_panel_region(), ui_handler_region_menu(), ui_pie_handler(), ui_region_handler(), and UI_screen_free_active_but_highlight().
Definition at line 719 of file interface_query.cc.
References uiBut::flag, LISTBASE_FOREACH, and ARegion::uiblocks.
Referenced by ui_handle_menu_event().
Definition at line 807 of file interface_query.cc.
References ui_screen_region_find_mouse_over_ex(), and wmEvent::xy.
Definition at line 793 of file interface_query.cc.
References BLI_rcti_isect_pt_v(), LISTBASE_FOREACH, bScreen::regionbase, ui_region_winrct_get_no_margin(), and xy.
Referenced by ui_screen_region_find_mouse_over().
Definition at line 479 of file interface_query.cc.
References ui_but_find(), and ui_but_is_active_view_item().
Definition at line 464 of file interface_query.cc.
References ui_but_find_mouse_over_ex(), ui_but_is_view_item_fn(), and xy.
|
static |
Definition at line 137 of file interface_query.cc.
Referenced by UI_but_is_tool(), and ui_interface_tag_script_reload_queries().