Index: trunk/src_plugins/order/order.h =================================================================== --- trunk/src_plugins/order/order.h (revision 27448) +++ trunk/src_plugins/order/order.h (revision 27449) @@ -28,13 +28,20 @@ #define PCB_ORDER_H #include +#include "hid_dad.h" +typedef struct{ + PCB_DAD_DECL_NOINIT(dlg) + int active; /* already open - allow only one instance */ + vtp0_t names; +} order_ctx_t; + /* order implementation - registered by an order plugin */ typedef struct pcb_order_imp_s pcb_order_imp_t; struct pcb_order_imp_s { const char *name; int (*enabled)(pcb_order_imp_t *imp); /* returns 1 if the plugin is enabled */ - void (*populate_dad)(pcb_order_imp_t *imp); + void (*populate_dad)(pcb_order_imp_t *imp, order_ctx_t *octx); }; extern vtp0_t pcb_order_imps; /* of (pcb_order_imp_t *) items */ Index: trunk/src_plugins/order/order_dlg.c =================================================================== --- trunk/src_plugins/order/order_dlg.c (revision 27448) +++ trunk/src_plugins/order/order_dlg.c (revision 27449) @@ -1,9 +1,3 @@ -typedef struct{ - PCB_DAD_DECL_NOINIT(dlg) - int active; /* already open - allow only one instance */ - vtp0_t names; -} order_ctx_t; - order_ctx_t order_ctx; static void order_close_cb(void *caller_data, pcb_hid_attr_ev_t ev) @@ -38,8 +32,9 @@ PCB_DAD_BEGIN_TABBED(order_ctx.dlg, order_ctx.names.array); PCB_DAD_COMPFLAG(order_ctx.dlg, PCB_HATF_EXPFILL | PCB_HATF_LEFT_TAB); for(n = 0; n < pcb_order_imps.used; n++) { + imp = pcb_order_imps.array[n]; PCB_DAD_BEGIN_VBOX(order_ctx.dlg); - PCB_DAD_LABEL(order_ctx.dlg, "TODO"); + imp->populate_dad(pcb_order_imps.array[n], &order_ctx); PCB_DAD_END(order_ctx.dlg); } PCB_DAD_END(order_ctx.dlg); Index: trunk/src_plugins/order_pcbway/pcbway.c =================================================================== --- trunk/src_plugins/order_pcbway/pcbway.c (revision 27448) +++ trunk/src_plugins/order_pcbway/pcbway.c (revision 27449) @@ -32,12 +32,18 @@ #include "plugins.h" #include "../src_plugins/order/order.h" +static void pcbway_populate_dad(pcb_order_imp_t *imp, order_ctx_t *octx) +{ + PCB_DAD_LABEL(octx->dlg, "pcbway!"); +} + static pcb_order_imp_t pcbway = { "PCBWay", NULL, - NULL + pcbway_populate_dad }; + int pplg_check_ver_order_pcbway(int ver_needed) { return 0; } void pplg_uninit_order_pcbway(void)