Latest available version: IDA and decompilers v8.4.240320sp1 see all releases
Hex-Rays logo State-of-the-art binary code analysis tools
email icon
Generic chooser flags

used as 'chooser_base_t::flags' More...

Macros

#define CH_MODAL   0x00000001
 Modal chooser.
 
#define CH_KEEP   0x00000002
 The chooser instance's lifecycle is not tied to the lifecycle of the widget showing its contents. More...
 
#define CH_MULTI   0x00000004
 The chooser will allow multi-selection (only for GUI choosers). More...
 
#define CH_MULTI_EDIT   0x00000008
 Obsolete.
 
#define CH_NOBTNS   0x00000010
 do not display ok/cancel/help/search buttons. More...
 
#define CH_ATTRS   0x00000020
 generate ui_get_chooser_item_attrs (gui only)
 
#define CH_UNUSED   0x00000040
 
#define CH_FORCE_DEFAULT   0x00000080
 if a non-modal chooser was already open, change selection to the default one
 
#define CH_CAN_INS   0x00000100
 allow to insert new items
 
#define CH_CAN_DEL   0x00000200
 allow to delete existing item(s)
 
#define CH_CAN_EDIT   0x00000400
 allow to edit existing item(s)
 
#define CH_CAN_REFRESH   0x00000800
 allow to refresh chooser
 
#define CH_QFLT   0x00001000
 open with quick filter enabled and focused
 
#define CH_QFTYP_SHIFT   13
 
#define CH_QFTYP_DEFAULT   0
 set quick filtering type to the possible existing default for this chooser
 
#define CH_QFTYP_NORMAL   (1 << CH_QFTYP_SHIFT)
 normal (i.e., lexicographical) quick filter type
 
#define CH_QFTYP_WHOLE_WORDS   (2 << CH_QFTYP_SHIFT)
 whole words quick filter type
 
#define CH_QFTYP_REGEX   (3 << CH_QFTYP_SHIFT)
 regex quick filter type
 
#define CH_QFTYP_FUZZY   (4 << CH_QFTYP_SHIFT)
 fuzzy search quick filter type
 
#define CH_QFTYP_MASK   (0x7 << CH_QFTYP_SHIFT)
 
#define CH_NO_STATUS_BAR   0x00010000
 don't show a status bar
 
#define CH_RESTORE   0x00020000
 restore floating position if present (equivalent of WOPN_RESTORE) (GUI version only)
 
#define CH_RENAME_IS_EDIT   0x00040000
 triggering a 'edit/rename' (i.e., F2 shortcut) on a cell, should call the edit() callback for the corresponding row. More...
 
#define CH_BUILTIN_SHIFT   19
 
#define CH_BUILTIN(id)   ((id+1) << CH_BUILTIN_SHIFT)
 
#define CH_BUILTIN_MASK   (0x3F << CH_BUILTIN_SHIFT)
 Mask for builtin chooser numbers. Plugins should not use them.
 
#define CH_HAS_DIRTREE   0x02000000
 The chooser can provide a dirtree_t, meaning a tree-like structure can be provided to the user (instead of a flat table)
 
#define CH_TM_NO_TREE   0x00000000
 chooser will show up in no-tree mode
 
#define CH_TM_FOLDERS_ONLY   0x04000000
 chooser will show in folders-only mode
 
#define CH_TM_FULL_TREE   0x08000000
 chooser will show in no-tree mode
 
#define CH_TM_SHIFT   26
 
#define CH_TM_MASK   (0x3 << CH_TM_SHIFT)
 
#define CH_HAS_DIFF   0x10000000
 The chooser can be used in a diffing/merging workflow.
 
#define CH_NO_SORT   0x20000000
 The chooser will not have sorting abilities.
 
#define CH_NO_FILTER   0x40000000
 The chooser will not have filtering abilities.
 
#define CH_NON_PERSISTED_TREE   0x80000000
 the chooser tree is not persisted (it is not loaded on startup and is not saved on exit)
 

Detailed Description

used as 'chooser_base_t::flags'

Macro Definition Documentation

◆ CH_KEEP

#define CH_KEEP   0x00000002

The chooser instance's lifecycle is not tied to the lifecycle of the widget showing its contents.

Closing the widget will not destroy the chooser structure. This allows for, e.g., static global chooser instances that don't need to be allocated on the heap. Also stack-allocated chooser instances must set this bit.

◆ CH_MULTI

#define CH_MULTI   0x00000004

The chooser will allow multi-selection (only for GUI choosers).

This bit is set when using the chooser_multi_t structure.

◆ CH_NOBTNS

#define CH_NOBTNS   0x00000010

do not display ok/cancel/help/search buttons.

Meaningful only for gui modal windows because non-modal windows do not have any buttons anyway. Text mode does not have them neither.

◆ CH_RENAME_IS_EDIT

#define CH_RENAME_IS_EDIT   0x00040000

triggering a 'edit/rename' (i.e., F2 shortcut) on a cell, should call the edit() callback for the corresponding row.