IDA SDK
Public Member Functions | Protected Member Functions | Static Protected Member Functions | List of all members
chooser_multi_t Struct Reference

Detailed Description

The chooser object with multi-selection.

Inherits chooser_base_t.

Public Member Functions

 chooser_multi_t (uint32 flags_=0, int columns_=0, const int *widths_=NULL, const char *const *header_=NULL, const char *title_=NULL)
 
ssize_t choose (const sizevec_t &deflt=sizevec_t())
 Display a generic list chooser and allow the user to select an item. More...
 
virtual void idaapi get_item_index (sizevec_t *sel, const void *item_data) const
 Get the positions of the items. More...
 
typedef cbres_t (idaapi chooser_multi_t::*cb_t)(sizevec_t *sel)
 Type of ins(), del(), edit(), enter(), refresh() callbacks.
 
virtual cbres_t idaapi ins (sizevec_t *)
 User asked to insert an element.
 
virtual cbres_t idaapi del (sizevec_t *)
 User deleted elements. More...
 
virtual cbres_t idaapi edit (sizevec_t *)
 User asked to edit an element. More...
 
virtual cbres_t idaapi enter (sizevec_t *sel)
 User pressed the enter key. More...
 
virtual cbres_t idaapi refresh (sizevec_t *)
 The chooser needs to be refreshed. More...
 
virtual void idaapi select (const sizevec_t &) const
 Selection changed. More...
 
- Public Member Functions inherited from chooser_base_t
 chooser_base_t (uint32 flags_=0, int columns_=0, const int *widths_=NULL, const char *const *header_=NULL, const char *title_=NULL)
 
void call_destructor ()
 
virtual void * get_chooser_obj ()
 get pointer to some custom data. More...
 
virtual const void * get_obj_id (size_t *len) const
 get the id of the chooser data. More...
 
bool is_same (const chooser_base_t *other) const
 do the current and the given objects hold the same data?
 
bool can_ins () const
 is an operation allowed?
 
bool can_del () const
 
bool can_edit () const
 
bool can_refresh () const
 
bool popup_allowed (int i) const
 is a popup action allowed?
 
bool is_modal () const
 is choose modal?
 
bool is_multi () const
 is multi-selection allowed?
 
bool ask_item_attrs () const
 should chooser generate ui_get_chooser_item_attrs events?
 
bool is_noidb () const
 can use the chooser before opening the database?
 
bool is_force_default () const
 should selection of the already opened non-modal chooser be changed?
 
uint get_builtin_number () const
 get number of the built-in chooser
 
void set_ask_item_attrs (bool enable)
 enable or disable generation of ui_get_chooser_item_attrs events
 
void check_version (uint32 ver) const
 
bool is_quick_filter_visible_initially () const
 
int get_quick_filter_initial_mode () const
 
virtual bool idaapi init ()
 initialize the chooser and populate it. More...
 
virtual size_t idaapi get_count () const =0
 get the number of elements in the chooser
 
virtual void idaapi get_row (qstrvec_t *cols, int *icon_, chooser_item_attrs_t *attrs, size_t n) const =0
 get a description of an element. More...
 
virtual ea_t idaapi get_ea (size_t) const
 get an address of an element. More...
 
virtual void idaapi closed ()
 The chooser window is closed.
 

Protected Member Functions

ssize_t new_sel_after_del (const sizevec_t &sel) const
 
void adjust_last_item (sizevec_t *sel, size_t n) const
 
- Protected Member Functions inherited from chooser_base_t
void init_popup_names (const char *const default_popup_names[NSTDPOPUPS])
 

Static Protected Member Functions

static bool next_item_to_del (sizevec_t *sel)
 

Additional Inherited Members

- Public Attributes inherited from chooser_base_t
int x0
 screen position, Functions: generic list choosers
 
int y0
 
int x1
 
int y1
 
int width
 (in chars)
 
int height
 (in chars)
 
const char * title
 menu title (includes ptr to help). More...
 
int columns
 number of columns
 
const int * widths
 column widths More...
 
const char *const * header
 header line; contains the tooltips, and column name for each of 'columns' columns. More...
 
int icon
 default icon
 
qstring popup_names [NSTDPOPUPS]
 array of custom popup menu names. More...
 
int deflt_col
 Column that will have focus.
 
- Public Types inherited from chooser_base_t
enum  { NO_SELECTION = -1, EMPTY_CHOOSER = -2, ALREADY_EXISTS = -3, NO_ATTR = -4 }
 
enum  {
  POPUP_INS, POPUP_DEL, POPUP_EDIT, POPUP_REFRESH,
  NSTDPOPUPS
}
 
enum  cbres_t { NOTHING_CHANGED, ALL_CHANGED, SELECTION_CHANGED }
 return value of ins(), del(), edit(), enter(), refresh() callbacks
 
- Protected Attributes inherited from chooser_base_t
uint32 version
 version of the class
 
uint32 flags
 Generic chooser flags
 

Member Function Documentation

virtual void idaapi chooser_multi_t::get_item_index ( sizevec_t sel,
const void *  item_data 
) const
inlinevirtual

Get the positions of the items.

A simple chooser considers `item_data` as a list of indexes.

Parameters
[in,out]selitems indexes
item_datapointer to some data that indentifies the items
virtual cbres_t idaapi chooser_multi_t::del ( sizevec_t )
inlinevirtual

User deleted elements.

Parameters
[in,out]selselected items
Returns
what is changed
virtual cbres_t idaapi chooser_multi_t::edit ( sizevec_t )
inlinevirtual

User asked to edit an element.

Parameters
[in,out]selselected items
Returns
what is changed
virtual cbres_t idaapi chooser_multi_t::enter ( sizevec_t sel)
inlinevirtual

User pressed the enter key.

Parameters
[in,out]selselected items
Returns
what is changed
virtual cbres_t idaapi chooser_multi_t::refresh ( sizevec_t )
inlinevirtual

The chooser needs to be refreshed.

It returns the new positions of the selected items.

Parameters
[in,out]selselected items
Returns
what is changed
virtual void idaapi chooser_multi_t::select ( const sizevec_t ) const
inlinevirtual

Selection changed.

Note
This callback is not supported in the txt-version.
Parameters
selnew selected items

The documentation for this struct was generated from the following file: