illera88 / Ponce

IDA 2016 plugin contest winner! Symbolic Execution just one-click away!
https://docs.idaponce.com
Other
1.48k stars 72 forks source link

Disable menus when the selected item is not an instruction in the disassembly view #11

Closed 0ca closed 8 years ago

0ca commented 8 years ago

We could disable the menus we can't use to make it easy to use the plugin. image

illera88 commented 8 years ago

This line tells how to disable an action. We should think when the actions needs to be dissabled tho https://github.com/illera88/PonceProject/blob/4d1be9c8721c48681d88f8e6edea5586b2d646a5/Ponce/src/callbacks.cpp#L299

0ca commented 8 years ago

It is very easy using the update event for an action. More info: http://www.hexblog.com/?p=886

   AST_ENABLE_ALWAYS     // enable action and do not call action_handler_t::update() anymore
    AST_ENABLE_FOR_IDB    // enable action for the current idb. Call action_handler_t::update() when a database is opened/closed
    AST_ENABLE_FOR_FORM   // enable action for the current form. Call action_handler_t::update() when a form gets/loses focus
    AST_ENABLE            // enable action - call action_handler_t::update() when anything changes

    AST_DISABLE_ALWAYS    // disable action and do not call action_handler_t::action() anymore
    AST_DISABLE_FOR_IDB   // analog of ::AST_ENABLE_FOR_IDB
    AST_DISABLE_FOR_FORM  // analog of ::AST_ENABLE_FOR_FORM
    AST_DISABLE           // analog of ::AST_ENABLE

image

image