IDA SDK
|
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... | |
![]() | |
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_status_bar_hidden () const |
bool | should_restore_geometry () const |
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 |
![]() | |
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 | |
![]() | |
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. | |
![]() | |
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 | |
![]() | |
uint32 | version |
version of the class | |
uint32 | flags |
Generic chooser flags | |
|
inlinevirtual |
Get the positions of the items.
A simple chooser considers `item_data` as a list of indexes.
[in,out] | sel | items indexes |
item_data | pointer to some data that indentifies the items |
User deleted elements.
[in,out] | sel | selected items |
User asked to edit an element.
[in,out] | sel | selected items |
User pressed the enter key.
[in,out] | sel | selected items |
The chooser needs to be refreshed.
It returns the new positions of the selected items.
[in,out] | sel | selected items |
Selection changed.
sel | new selected items |