Index: trunk/src_plugins/order/order.h =================================================================== --- trunk/src_plugins/order/order.h (revision 27480) +++ trunk/src_plugins/order/order.h (revision 27481) @@ -64,5 +64,8 @@ char name[1]; /* dynamic length */ } pcb_order_field_t; +/* Build a hbox from a field */ +void pcb_order_dad_field(order_ctx_t *octx, pcb_order_field_t *f); + #endif Index: trunk/src_plugins/order/order_dlg.c =================================================================== --- trunk/src_plugins/order/order_dlg.c (revision 27480) +++ trunk/src_plugins/order/order_dlg.c (revision 27481) @@ -56,3 +56,34 @@ PCB_DAD_NEW("EDIT_THIS_ID", order_ctx.dlg, "EDIT THIS: title", &order_ctx, pcb_false, order_close_cb); return 0; } + +void pcb_order_dad_field(order_ctx_t *octx, pcb_order_field_t *f) +{ + PCB_DAD_BEGIN_HBOX(octx->dlg); + PCB_DAD_LABEL(octx->dlg, f->name); + PCB_DAD_BEGIN_VBOX(octx->dlg); + PCB_DAD_COMPFLAG(octx->dlg, PCB_HATF_EXPFILL); + PCB_DAD_END(octx->dlg); + switch(f->type) { + case PCB_HATT_ENUM: + PCB_DAD_ENUM(octx->dlg, f->enum_vals); + PCB_DAD_DEFAULT_NUM(octx->dlg, f->val.lng); + break; + case PCB_HATT_INTEGER: + PCB_DAD_INTEGER(octx->dlg, ""); + PCB_DAD_DEFAULT_NUM(octx->dlg, f->val.lng); + break; + case PCB_HATT_COORD: + PCB_DAD_COORD(octx->dlg, ""); + PCB_DAD_DEFAULT_NUM(octx->dlg, f->val.crd); + break; + case PCB_HATT_STRING: + PCB_DAD_STRING(octx->dlg); + PCB_DAD_DEFAULT_PTR(octx->dlg, f->val.str); + break; + case PCB_HATT_LABEL: break; + default: + PCB_DAD_LABEL(octx->dlg, ""); + } + PCB_DAD_END(octx->dlg); +} Index: trunk/src_plugins/order_pcbway/pcbway.c =================================================================== --- trunk/src_plugins/order_pcbway/pcbway.c (revision 27480) +++ trunk/src_plugins/order_pcbway/pcbway.c (revision 27481) @@ -271,39 +271,9 @@ PCB_DAD_BEGIN_VBOX(octx->dlg); PCB_DAD_COMPFLAG(octx->dlg, PCB_HATF_SCROLL | PCB_HATF_EXPFILL); - for(n = 0; n < form->fields.used; n++) { - pcb_order_field_t *f = form->fields.array[n]; + for(n = 0; n < form->fields.used; n++) + pcb_order_dad_field(octx, form->fields.array[n]); - PCB_DAD_BEGIN_HBOX(octx->dlg); - PCB_DAD_LABEL(octx->dlg, f->name); - PCB_DAD_BEGIN_VBOX(octx->dlg); - PCB_DAD_COMPFLAG(octx->dlg, PCB_HATF_EXPFILL); - PCB_DAD_END(octx->dlg); - switch(f->type) { - case PCB_HATT_ENUM: - PCB_DAD_ENUM(octx->dlg, f->enum_vals); - PCB_DAD_DEFAULT_NUM(octx->dlg, f->val.lng); - break; - case PCB_HATT_INTEGER: - PCB_DAD_INTEGER(octx->dlg, ""); - PCB_DAD_DEFAULT_NUM(octx->dlg, f->val.lng); - break; - case PCB_HATT_COORD: - PCB_DAD_COORD(octx->dlg, ""); - PCB_DAD_DEFAULT_NUM(octx->dlg, f->val.crd); - break; - case PCB_HATT_STRING: - PCB_DAD_STRING(octx->dlg); - PCB_DAD_DEFAULT_PTR(octx->dlg, f->val.str); - break; - case PCB_HATT_LABEL: break; - default: - PCB_DAD_LABEL(octx->dlg, ""); - } - PCB_DAD_END(octx->dlg); - } - - PCB_DAD_BEGIN_VBOX(octx->dlg); PCB_DAD_COMPFLAG(octx->dlg, PCB_HATF_EXPFILL); PCB_DAD_LABEL(octx->dlg, "");