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()

static 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 )

◆ 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 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 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] )

Definition at line 272 of file interface_region_search.cc.

References BLI_rcti_isect_pt(), and xy.

◆ ui_searchbox_item_separator()

◆ ui_searchbox_region_draw_cb__menu()

static 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()

static void ui_searchbox_region_free_fn ( ARegion * region)
static

Definition at line 690 of file interface_region_search.cc.

References MEM_freeN().

Referenced by ui_searchbox_create_generic_ex().

◆ ui_searchbox_region_layout_fn()

◆ ui_searchbox_region_listen_fn()

static void ui_searchbox_region_listen_fn ( const wmRegionListenerParams * params)
static

Definition at line 711 of file interface_region_search.cc.

References params, and uiSearchboxData::search_listener.

Referenced by ui_searchbox_create_generic_ex().

◆ ui_searchbox_select()

static 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()

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

◆ wm_searchbox_tooltip_init()

static ARegion * wm_searchbox_tooltip_init ( bContext * C,
ARegion * region,
int * ,
double * ,
bool * r_exit_on_event )
static