Blender V4.3
interface_region_search.cc File Reference
#include <cstdarg>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include "DNA_ID.h"
#include "MEM_guardedalloc.h"
#include "DNA_userdef_types.h"
#include "BLI_listbase.h"
#include "BLI_rect.h"
#include "BLI_string.h"
#include "BLI_utildefines.h"
#include "BKE_context.hh"
#include "BKE_screen.hh"
#include "WM_api.hh"
#include "WM_types.hh"
#include "RNA_access.hh"
#include "UI_interface.hh"
#include "UI_interface_icons.hh"
#include "UI_view2d.hh"
#include "BLT_translation.hh"
#include "ED_screen.hh"
#include "GPU_state.hh"
#include "interface_intern.hh"
#include "interface_regions_intern.hh"

Go to the source code of this file.

Classes

struct  uiSearchItems
struct  uiSearchboxData

Macros

#define MENU_BORDER   int(0.3f * U.widget_unit)

Search Box Creation

#define SEARCH_ITEMS   10
bool UI_search_item_add (uiSearchItems *items, const char *name, void *poin, int iconid, const int but_flag, const uint8_t name_prefix_offset)
int UI_searchbox_size_y ()
int UI_searchbox_size_x ()
int UI_search_items_find_index (const uiSearchItems *items, const char *name)
static void ui_searchbox_select (bContext *C, ARegion *region, uiBut *but, int step)
static void ui_searchbox_butrect (rcti *r_rect, uiSearchboxData *data, int itemnr)
int ui_searchbox_find_index (ARegion *region, const char *name)
bool ui_searchbox_inside (ARegion *region, const int xy[2])
bool ui_searchbox_apply (uiBut *but, ARegion *region)
static ARegionwm_searchbox_tooltip_init (bContext *C, ARegion *region, int *, double *, bool *r_exit_on_event)
bool ui_searchbox_event (bContext *C, ARegion *region, uiBut *but, ARegion *butregion, const wmEvent *event)
static void ui_searchbox_update_fn (bContext *C, uiButSearch *but, const char *str, uiSearchItems *items)
void ui_searchbox_update (bContext *C, ARegion *region, uiBut *but, const bool reset)
int ui_searchbox_autocomplete (bContext *C, ARegion *region, uiBut *but, char *str)
static void ui_searchbox_region_draw_fn (const bContext *C, ARegion *region)
static void ui_searchbox_region_free_fn (ARegion *region)
static void ui_searchbox_region_listen_fn (const wmRegionListenerParams *params)
static uiMenuItemSeparatorType ui_searchbox_item_separator (uiSearchboxData *data)
static void ui_searchbox_region_layout_fn (const bContext *C, ARegion *region)
static ARegionui_searchbox_create_generic_ex (bContext *C, ARegion *butregion, uiButSearch *but, const bool use_shortcut_sep)
ARegionui_searchbox_create_generic (bContext *C, ARegion *butregion, uiButSearch *search_but)
static void str_tolower_titlecaps_ascii (char *str, const size_t len)
static void ui_searchbox_region_draw_cb__operator (const bContext *, ARegion *region)
ARegionui_searchbox_create_operator (bContext *C, ARegion *butregion, uiButSearch *search_but)
void ui_searchbox_free (bContext *C, ARegion *region)
static void ui_searchbox_region_draw_cb__menu (const bContext *, ARegion *)
ARegionui_searchbox_create_menu (bContext *C, ARegion *butregion, uiButSearch *search_but)
void ui_but_search_refresh (uiButSearch *but)

Detailed Description

Search Box Region & Interaction

Definition in file interface_region_search.cc.

Macro Definition Documentation

◆ MENU_BORDER

#define MENU_BORDER   int(0.3f * U.widget_unit)

Definition at line 46 of file interface_region_search.cc.

Referenced by ui_searchbox_butrect().

◆ SEARCH_ITEMS

#define SEARCH_ITEMS   10

Function Documentation

◆ str_tolower_titlecaps_ascii()

void str_tolower_titlecaps_ascii ( char * str,
const size_t len )
static

Similar to Python's str.title except...

  • we know words are upper case and ascii only.
  • '_' are replaces by spaces.

Definition at line 944 of file interface_region_search.cc.

References ELEM, len, and str.

Referenced by ui_searchbox_region_draw_cb__operator().

◆ ui_but_search_refresh()

◆ UI_search_item_add()

bool UI_search_item_add ( uiSearchItems * items,
const char * name,
void * poin,
int iconid,
int but_flag,
uint8_t name_prefix_offset )

◆ UI_search_items_find_index()

int UI_search_items_find_index ( const uiSearchItems * items,
const char * name )

◆ ui_searchbox_apply()

bool ui_searchbox_apply ( uiBut * but,
ARegion * region )

◆ ui_searchbox_autocomplete()

◆ ui_searchbox_butrect()

◆ ui_searchbox_create_generic()

ARegion * ui_searchbox_create_generic ( bContext * C,
ARegion * butregion,
uiButSearch * search_but )

Search-box for string button.

Definition at line 933 of file interface_region_search.cc.

References C, and ui_searchbox_create_generic_ex().

Referenced by template_common_search_menu(), ui_but_add_search(), UI_but_func_search_set(), and uiDefSearchButO_ptr().

◆ ui_searchbox_create_generic_ex()

◆ ui_searchbox_create_menu()

ARegion * ui_searchbox_create_menu ( bContext * C,
ARegion * butregion,
uiButSearch * search_but )

◆ ui_searchbox_create_operator()

ARegion * ui_searchbox_create_operator ( bContext * C,
ARegion * butregion,
uiButSearch * search_but )

◆ ui_searchbox_event()

◆ ui_searchbox_find_index()

int ui_searchbox_find_index ( ARegion * region,
const char * name )

Definition at line 266 of file interface_region_search.cc.

References data, ARegion::regiondata, and UI_search_items_find_index().

Referenced by ui_textedit_end().

◆ ui_searchbox_free()

void ui_searchbox_free ( bContext * C,
ARegion * region )

Definition at line 1062 of file interface_region_search.cc.

References C, CTX_wm_screen(), and ui_region_temp_remove().

Referenced by ui_textedit_end().

◆ ui_searchbox_inside()

bool ui_searchbox_inside ( ARegion * region,
const int xy[2] )

◆ ui_searchbox_item_separator()

◆ ui_searchbox_region_draw_cb__menu()

void ui_searchbox_region_draw_cb__menu ( const bContext * ,
ARegion *  )
static

Definition at line 1067 of file interface_region_search.cc.

Referenced by ui_searchbox_create_menu().

◆ ui_searchbox_region_draw_cb__operator()

◆ ui_searchbox_region_draw_fn()

◆ ui_searchbox_region_free_fn()

void ui_searchbox_region_free_fn ( ARegion * region)
static

Definition at line 690 of file interface_region_search.cc.

References data, MEM_freeN(), and ARegion::regiondata.

Referenced by ui_searchbox_create_generic_ex().

◆ ui_searchbox_region_layout_fn()

◆ ui_searchbox_region_listen_fn()

void ui_searchbox_region_listen_fn ( const wmRegionListenerParams * params)
static

Definition at line 711 of file interface_region_search.cc.

References data, and params.

Referenced by ui_searchbox_create_generic_ex().

◆ ui_searchbox_select()

void ui_searchbox_select ( bContext * C,
ARegion * region,
uiBut * but,
int step )
static

◆ UI_searchbox_size_x()

◆ UI_searchbox_size_y()

◆ ui_searchbox_update()

◆ ui_searchbox_update_fn()

void ui_searchbox_update_fn ( bContext * C,
uiButSearch * but,
const char * str,
uiSearchItems * items )
static

◆ wm_searchbox_tooltip_init()