Index: trunk/src_plugins/propedit/propdlg.c =================================================================== --- trunk/src_plugins/propedit/propdlg.c (revision 33956) +++ trunk/src_plugins/propedit/propdlg.c (revision 33957) @@ -36,10 +36,13 @@ #include #include #include "netlist.h" +#include "event.h" #include "props.h" #include "propsel.h" +extern char pcb_propedit_cookie[]; + typedef struct{ RND_DAD_DECL_NOINIT(dlg) pcb_propedit_t pe; @@ -715,6 +718,19 @@ } } +static void propedit_dlg_refresh(propdlg_t *pd) +{ + rnd_trace("propedit dialog refresh!\n"); +} + +static void propedit_brd_chg(rnd_hidlib_t *hidlib, void *user_data, int argc, rnd_event_arg_t argv[]) +{ + propdlg_t *pd; + for(pd = gdl_first(&propdlgs); pd != NULL; pd = gdl_next(&propdlgs, pd)) + if (pd->pe.selection || (pd->pe.objs.lst.length != 0)) + propedit_dlg_refresh(pd); +} + static rnd_conf_hid_id_t propdlg_conf_id; static const char *propdlg_cookie = "propdlg"; void pcb_propdlg_init(void) @@ -727,6 +743,8 @@ cbs.val_change_post = propdlg_unit_change; rnd_conf_hid_set_cb(n, propdlg_conf_id, &cbs); } + + rnd_event_bind(PCB_EVENT_BOARD_EDITED, propedit_brd_chg, NULL, pcb_propedit_cookie); } void pcb_propdlg_uninit(void) Index: trunk/src_plugins/propedit/propedit.c =================================================================== --- trunk/src_plugins/propedit/propedit.c (revision 33956) +++ trunk/src_plugins/propedit/propedit.c (revision 33957) @@ -32,6 +32,7 @@ #include "props.h" #include "propsel.h" #include "propdlg.h" +#include "event.h" #include #include #include @@ -365,7 +366,7 @@ return 0; } -static const char *propedit_cookie = "propedit"; +const char *pcb_propedit_cookie = "propedit"; rnd_action_t propedit_action_list[] = { {"propedit", pcb_act_propedit, pcb_acth_propedit, pcb_acts_propedit}, @@ -380,7 +381,8 @@ void pplg_uninit_propedit(void) { pcb_propdlg_uninit(); - rnd_remove_actions_by_cookie(propedit_cookie); + rnd_remove_actions_by_cookie(pcb_propedit_cookie); + rnd_event_unbind_allcookie(pcb_propedit_cookie); } int pplg_init_propedit(void) @@ -397,7 +399,7 @@ return -1; } - RND_REGISTER_ACTIONS(propedit_action_list, propedit_cookie) + RND_REGISTER_ACTIONS(propedit_action_list, pcb_propedit_cookie) pcb_propdlg_init(); return 0; }