lazy_loaded_chooser

summary: a lazy-loaded, tree-like data view

description:

Brings lazy-loading of folders to the tree-like tabular views.

The important bit to enable this are:

  • ida_kernwin.Choose.OnLazyLoadDir

keywords: chooser, folders, actions

see_also: choose, choose_multi, chooser_with_folders

level: advanced

Classes

Data_t

my_dirspec_t

my_tree_t

Chooser wrapper class.

lazy_chooser_plugin_t

Base class for all scripted plugins.

Functions

PLUGIN_ENTRY()

Module Contents

class lazy_loaded_chooser.Data_t
children(path)
class lazy_loaded_chooser.my_dirspec_t

Bases: idaapi.dirspec_t

inodes = []
name_index
add_entry(dirpath, name)
get_name(inode, flags=0)

get the entry name. for example, the structure name

Parameters:
  • inode – inode number of the entry

  • name_flags – how exactly the name should be retrieved. combination of bits for get_…name() methods bits

Returns:

false if the entry does not exist.

get_inode(dirpath, name)

get the entry inode in the specified directory

Parameters:
  • dirpath – the absolute directory path with trailing slash

  • name – the entry name in the directory

Returns:

the entry inode

n_inodes()
get_attrs(inode)
rename_inode(inode, newname)

rename the entry

Returns:

success

event: unlinked an inode

class lazy_loaded_chooser.my_tree_t

Bases: idaapi.Choose

Chooser wrapper class.

Some constants are defined in this class. Please refer to kernwin.hpp for more information.

inherited
dirspec
dirtree
data
OnGetSize()

Get the number of elements in the chooser.

This callback is mandatory

Returns:

the number of elements

OnGetLine(index)

Get data for an element

This callback is mandatory

Parameters:

n – the index to fetch data for

Returns:

a list of strings

OnGetDirTree()

Deprecated

OnIndexToInode(n)

Deprecated

OnLazyLoadDir(dir_path)

Deprecated

class lazy_loaded_chooser.lazy_chooser_plugin_t

Bases: idaapi.plugin_t

Base class for all scripted plugins.

flags = 0
comment = 'This is a comment.'
help = 'This is a test.'
wanted_name = 'Test a lazy-loader chooser in Python'
wanted_hotkey = 'Alt-Shift-F12'
init()
run(arg)
term()
lazy_loaded_chooser.PLUGIN_ENTRY()