| IDA SDK

Macros
Generic chooser flags

## Detailed Description

used as 'chooser_base_t::flags'

## 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 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 full-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)

## 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.