|
Blender
V2.93
|
#include "BLI_listbase.h"#include "BLI_math.h"#include "BLI_rect.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.
Functions | |
Button (#uiBut) Spatial | |
| void | ui_but_pie_dir (RadialDirection dir, float vec[2]) |
| static bool | ui_but_isect_pie_seg (const uiBlock *block, const uiBut *but) |
| bool | ui_but_contains_pt (const uiBut *but, float mx, float my) |
| bool | ui_but_contains_rect (const uiBut *but, const rctf *rect) |
| bool | ui_but_contains_point_px (const uiBut *but, const ARegion *region, int x, int y) |
| bool | ui_but_contains_point_px_icon (const uiBut *but, ARegion *region, const wmEvent *event) |
| uiBut * | ui_but_find_mouse_over_ex (const ARegion *region, const int x, const int y, const bool labeledit) |
| uiBut * | ui_but_find_mouse_over (const ARegion *region, const wmEvent *event) |
| uiBut * | ui_but_find_rect_over (const struct ARegion *region, const rcti *rect_px) |
| uiBut * | ui_list_find_mouse_over_ex (ARegion *region, int x, int y) |
| uiBut * | ui_list_find_mouse_over (ARegion *region, const wmEvent *event) |
Button (#uiBut) Relations | |
| uiBut * | ui_but_prev (uiBut *but) |
| uiBut * | ui_but_next (uiBut *but) |
| uiBut * | ui_but_first (uiBlock *block) |
| uiBut * | ui_but_last (uiBlock *block) |
| bool | ui_but_is_cursor_warp (const uiBut *but) |
| bool | ui_but_contains_password (const uiBut *but) |
Button (#uiBut) Text | |
| size_t | ui_but_drawstr_len_without_sep_char (const uiBut *but) |
| size_t | ui_but_tip_len_only_first_line (const uiBut *but) |
Block (#uiBlock) State | |
| bool | ui_block_is_menu (const uiBlock *block) |
| bool | ui_block_is_popover (const uiBlock *block) |
| bool | ui_block_is_pie_menu (const uiBlock *block) |
| bool | ui_block_is_popup_any (const uiBlock *block) |
| static const uiBut * | ui_but_next_non_separator (const uiBut *but) |
| bool | UI_block_is_empty_ex (const uiBlock *block, const bool skip_title) |
| bool | UI_block_is_empty (const uiBlock *block) |
| bool | UI_block_can_add_separator (const uiBlock *block) |
Block (#uiBlock) Spatial | |
| uiBlock * | ui_block_find_mouse_over_ex (const ARegion *region, const int x, const int y, bool only_clip) |
| uiBlock * | ui_block_find_mouse_over (const ARegion *region, const wmEvent *event, bool only_clip) |
Region (#ARegion) State | |
| uiBut * | ui_region_find_active_but (ARegion *region) |
| uiBut * | ui_region_find_first_but_test_flag (ARegion *region, int flag_include, int flag_exclude) |
Region (#ARegion) Spatial | |
| bool | ui_region_contains_point_px (const ARegion *region, int x, int y) |
| bool | ui_region_contains_rect_px (const ARegion *region, const rcti *rect_px) |
Screen (#bScreen) Spatial | |
| ARegion * | ui_screen_region_find_mouse_over_ex (bScreen *screen, int x, int y) |
| ARegion * | ui_screen_region_find_mouse_over (bScreen *screen, const wmEvent *event) |
Manage Internal State | |
| void | ui_interface_tag_script_reload_queries (void) |
Button (#uiBut) State | |
| static wmOperatorType * | g_ot_tool_set_by_id = NULL |
| 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 (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.c.
| bool UI_block_can_add_separator | ( | const uiBlock * | block | ) |
Definition at line 538 of file interface_query.c.
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 576 of file interface_query.c.
References ui_block_find_mouse_over_ex(), wmEvent::x, and wmEvent::y.
| uiBlock* ui_block_find_mouse_over_ex | ( | const ARegion * | region, |
| const int | x, | ||
| const int | y, | ||
| bool | only_clip | ||
| ) |
Definition at line 553 of file interface_query.c.
References BLI_rctf_isect_pt(), LISTBASE_FOREACH, NULL, UI_BLOCK_CLIP_EVENTS, ui_region_contains_point_px(), ui_window_to_block_fl(), ARegion::uiblocks, x, and y.
Referenced by ui_block_find_mouse_over().
| bool UI_block_is_empty | ( | const uiBlock * | block | ) |
Definition at line 533 of file interface_query.c.
References UI_block_is_empty_ex().
| bool UI_block_is_empty_ex | ( | const uiBlock * | block, |
| const bool | skip_title | ||
| ) |
Definition at line 519 of file interface_query.c.
References uiBlock::buttons, ListBase::first, uiBut::next, NULL, uiBut::type, UI_BTYPE_LABEL, and ui_but_next_non_separator().
Referenced by UI_block_is_empty(), and UI_popup_menu_end_or_cancel().
| bool ui_block_is_menu | ( | const uiBlock * | block | ) |
Definition at line 487 of file interface_query.c.
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().
| bool ui_block_is_pie_menu | ( | const uiBlock * | block | ) |
Definition at line 499 of file interface_query.c.
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().
| bool ui_block_is_popover | ( | const uiBlock * | block | ) |
Definition at line 494 of file interface_query.c.
References uiBlock::flag, and UI_BLOCK_POPOVER.
Referenced by ui_block_is_popup_any(), UI_but_has_tooltip_label(), and ui_def_but().
| bool ui_block_is_popup_any | ( | const uiBlock * | block | ) |
Definition at line 504 of file interface_query.c.
References ui_block_is_menu(), ui_block_is_pie_menu(), and ui_block_is_popover().
Referenced by ui_popup_context_menu_for_button(), and uiItemSpacer().
| bool ui_but_contains_password | ( | const uiBut * | but | ) |
Definition at line 446 of file interface_query.c.
References PROP_PASSWORD, RNA_property_subtype(), and uiBut::rnaprop.
Referenced by ui_but_copy().
Definition at line 222 of file interface_query.c.
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(), x, and y.
Definition at line 244 of file interface_query.c.
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 212 of file interface_query.c.
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 217 of file interface_query.c.
References BLI_rctf_isect(), NULL, 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 457 of file interface_query.c.
References uiBut::drawstr, uiBut::flag, NULL, UI_BUT_HAS_SEP_CHAR, and UI_SEP_CHAR.
Referenced by ui_apply_but_undo().
Definition at line 310 of file interface_query.c.
References wmEvent::ctrl, ui_but_find_mouse_over_ex(), wmEvent::x, and wmEvent::y.
| uiBut* ui_but_find_mouse_over_ex | ( | const ARegion * | region, |
| const int | x, | ||
| const int | y, | ||
| const bool | labeledit | ||
| ) |
Definition at line 269 of file interface_query.c.
References BLI_rctf_isect_pt(), LISTBASE_FOREACH, LISTBASE_FOREACH_BACKWARD, NULL, UI_BLOCK_CLIP_EVENTS, ui_but_contains_pt(), ui_but_is_interactive(), ui_but_isect_pie_seg(), UI_RADIAL_NONE, ui_region_contains_point_px(), ui_window_to_block_fl(), ARegion::uiblocks, x, and y.
Referenced by ui_but_find_mouse_over().
Definition at line 315 of file interface_query.c.
References BLI_assert, BLI_rctf_isect(), BLI_rctf_rcti_copy(), LISTBASE_FOREACH, LISTBASE_FOREACH_BACKWARD, NULL, 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 404 of file interface_query.c.
References uiBlock::buttons, LISTBASE_FOREACH, NULL, and ui_but_is_editable().
Referenced by button_activate_init(), and ui_handle_menu_event().
| bool ui_but_has_array_value | ( | const uiBut * | but | ) |
Definition at line 121 of file interface_query.c.
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().
| bool UI_but_has_tooltip_label | ( | const uiBut * | but | ) |
Definition at line 155 of file interface_query.c.
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().
| int ui_but_icon | ( | const uiBut * | but | ) |
Definition at line 163 of file interface_query.c.
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().
| bool ui_but_is_cursor_warp | ( | const uiBut * | but | ) |
Definition at line 428 of file interface_query.c.
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().
| bool ui_but_is_editable | ( | const uiBut * | but | ) |
Definition at line 44 of file interface_query.c.
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().
| bool ui_but_is_editable_as_text | ( | const uiBut * | but | ) |
Definition at line 55 of file interface_query.c.
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().
| bool ui_but_is_interactive | ( | const uiBut * | but, |
| const bool | labeledit | ||
| ) |
Can we mouse over the button or is it hidden/disabled/layout.
Definition at line 78 of file interface_query.c.
References uiBut::dragpoin, ELEM, uiBut::emboss, uiBut::flag, NULL, 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_EMBOSS_NONE, UI_EMBOSS_NONE_OR_STATUS, UI_HIDDEN, and UI_SCROLLED.
Referenced by ui_but_find_mouse_over_ex(), ui_but_find_rect_over(), ui_drag_toggle_set_xy_xy(), and ui_multibut_states_tag().
| bool ui_but_is_popover_once_compat | ( | const uiBut * | but | ) |
Definition at line 115 of file interface_query.c.
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().
| bool ui_but_is_toggle | ( | const uiBut * | but | ) |
Definition at line 60 of file interface_query.c.
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().
| bool UI_but_is_tool | ( | const uiBut * | but | ) |
Definition at line 141 of file interface_query.c.
References g_ot_tool_set_by_id, NULL, 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(), widget_draw_icon(), and widget_draw_text_icon().
| bool UI_but_is_utf8 | ( | const uiBut * | but | ) |
Definition at line 105 of file interface_query.c.
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_ascii(), ui_textedit_insert_buf(), and ui_textedit_string_set().
Definition at line 193 of file interface_query.c.
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 414 of file interface_query.c.
References uiBlock::buttons, ListBase::last, NULL, uiBut::prev, and ui_but_is_editable().
Referenced by ui_handle_menu_event().
Definition at line 393 of file interface_query.c.
References uiBut::next, NULL, and ui_but_is_editable().
Referenced by ui_handle_menu_event().
Definition at line 509 of file interface_query.c.
References ELEM, uiBut::next, NULL, 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 182 of file interface_query.c.
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 382 of file interface_query.c.
References NULL, 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 468 of file interface_query.c.
References NULL, and uiBut::tip.
Referenced by ui_apply_but_undo().
| void ui_interface_tag_script_reload_queries | ( | void | ) |
Definition at line 700 of file interface_query.c.
References g_ot_tool_set_by_id, and NULL.
Referenced by UI_interface_tag_script_reload().
Definition at line 371 of file interface_query.c.
References ui_list_find_mouse_over_ex(), wmEvent::x, and wmEvent::y.
Definition at line 353 of file interface_query.c.
References LISTBASE_FOREACH, LISTBASE_FOREACH_BACKWARD, NULL, UI_BTYPE_LISTBOX, ui_but_contains_pt(), ui_region_contains_point_px(), ui_window_to_block_fl(), ARegion::uiblocks, x, and y.
Referenced by ui_list_find_mouse_over().
| bool ui_region_contains_point_px | ( | const ARegion * | region, |
| int | x, | ||
| int | y | ||
| ) |
Definition at line 619 of file interface_query.c.
References BLI_rcti_isect_pt(), View2D::mask, ui_region_winrct_get_no_margin(), UI_view2d_mouse_in_scrollers(), ui_window_to_region(), ARegion::v2d, x, rcti::xmax, rcti::xmin, and y.
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 646 of file interface_query.c.
References BLI_rcti_isect(), View2D::mask, NULL, 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 587 of file interface_query.c.
References LISTBASE_FOREACH, NULL, and ARegion::uiblocks.
Referenced by button_activate_init(), drop_color_invoke(), UI_but_active_drop_color(), UI_but_active_drop_name(), 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().
Definition at line 600 of file interface_query.c.
References LISTBASE_FOREACH, NULL, and ARegion::uiblocks.
Referenced by ui_handle_menu_event().
Definition at line 689 of file interface_query.c.
References ui_screen_region_find_mouse_over_ex(), wmEvent::x, and wmEvent::y.
Check if the cursor is over any popups.
Definition at line 675 of file interface_query.c.
References BLI_rcti_isect_pt(), LISTBASE_FOREACH, NULL, bScreen::regionbase, ui_region_winrct_get_no_margin(), x, and y.
Referenced by ui_screen_region_find_mouse_over().
|
static |
Definition at line 140 of file interface_query.c.
Referenced by UI_but_is_tool(), and ui_interface_tag_script_reload_queries().