Index: doc-rnd/gpmi/packages/hid.html =================================================================== --- doc-rnd/gpmi/packages/hid.html (revision 788) +++ doc-rnd/gpmi/packages/hid.html (revision 789) @@ -8,64 +8,34 @@
+The process of building a dialog box is closed by a call to +
- Possible attribute types are defined in the hid_attr_type_t enum: -
Enum values should be passed on as strings.
+
+ hid_attr_type_e
+
+ Type of an HID attribute (usually a widget on an attribute dialog box)
+
+
value | meaning + |
---|---|
HIDA_Label | non-editable label displayed on the GUI + |
HIDA_Integer | a sugned integer value + |
HIDA_Real | a floating point value + |
HIDA_String | one line textual input + |
HIDA_Boolean | true/false boolean value + |
HIDA_Enum | select an item of a predefined list + |
HIDA_Mixed | TODO + |
HIDA_Path | path to a file or directory + |
HIDA_Unit | select a dimension unit + |
HIDA_Coord | enter a coordinate + |
+ Line or arc ending style ++
value | meaning + |
---|---|
Trace_Cap | filled circle (trace drawing) + |
Square_Cap | rectangular lines (square pad) + |
Round_Cap | round pins or round-ended pads, thermals + |
Beveled_Cap | octagon pins or bevel-cornered pads + |
Events do not have return value. The first argument is always the even id. Event handlers defined in scripts get all event arguments converted to string (types below are informational).
+
+ HIDE_get_export_options(int event_id, void* hid)
+
+ Called before get_exporter_options returns the option list to the GUI hid
+
+
+ HIDE_do_export_start(int event_id, void* hid)
+
+ Called before export redraw starts
+
+
+ HIDE_do_export_finish(int event_id, void* hid)
+
+ Called after export redraw finihsed
+
+
+ HIDE_set_layer(int event_id, void* hid, const char* name, int group, int empty)
+
+ PCB callback events for drawing: change layer
+
+
+ HIDE_set_color(int event_id, void* hid, void* gc, const char* name)
+
+ PCB callback events for drawing: change drawing color
+
+
+ HIDE_set_line_cap(int event_id, void* hid, void* gc, EndCapStyle style)
+
+ PCB callback events for drawing: change drawing line cap style
+
+
+ HIDE_set_line_width(int event_id, void* hid, void* gc, int width)
+
+ PCB callback events for drawing: change drawing line width
+
+
+ HIDE_set_draw_xor(int event_id, void* hid, void* gc, int xor)
+
+ PCB callback events for drawing: toggle xor drawing method
+
+
+ HIDE_set_draw_faded(int event_id, void* hid, void* gc, int faded)
+
+ PCB callback events for drawing: toggle faded drawing method
+
+
+ HIDE_draw_line(int event_id, void* hid, void* gc, int x1, int y1, int x2, int y2)
+
+ PCB callback events for drawing: draw a line
+
+
+ HIDE_draw_arc(int event_id, void* hid, void* gc, int cx, int cy, int xradius, int yradius, double start_angle, double delta_angle)
+
+ PCB callback events for drawing: draw an arc from center cx;cy
+
+
+ HIDE_draw_rect(int event_id, void* hid, void* gc, int x1, int y1, int x2, int y2)
+
+ PCB callback events for drawing: draw a rectangle
+
+
+ HIDE_fill_circle(int event_id, void* hid, void* gc, int cx, int cy, int radius)
+
+ PCB callback events for drawing: draw a filled circle
+
+
+ HIDE_fill_polygon(int event_id, void* hid, void* gc, int n_coords, int* x, int* y)
+
+ PCB callback events for drawing: draw a filled ploygon
+
+
+ HIDE_fill_rect(int event_id, void* hid, void* gc, int x1, int y1, int x2, int y2)
+
+ PCB callback events for drawing: draw a filled rectangle
+
+
+ HIDE_use_mask(int event_id, void* hid, int use_it)
+
+ PCB callback events for drawing: TODO
+
+
+ HIDE_make_gc(int event_id, void* hid, void* gc)
+
+ PCB callback events for drawing: create a new graphical context
+
+
+ HIDE_destroy_gc(int event_id, void* hid, void* gc)
+
+ PCB callback events for drawing: destroy a graphical context
+
+
+ HIDE_fill_pcb_pv(int event_id, void* hid, void* fg_gc, void* bg_gc, void* pad, int drawHole, int mask)
+
+ PCB callback events for drawing: TODO
+
+
The following functions are registered in script context.
+
+ hid_t* hid_create(char* hid_name, char* description)
+
+ Creates a new hid context. Name and description matters only if the hid is
+registered as an exporter later.
+
+
+ int hid_add_attribute(hid_t* hid, char* attr_name, char* help, hid_attr_type_t type, int min, int max, char* default_val)
+
+ Append an attribute in a hid previously created using hid_create().
+ Arguments:
+ hid: hid_t previously created using hid_create()
+ attr_name: name of the attribute
+ help: help text for the attribute
+ type: type of the attribute (input widget type)
+ min: minimum value of the attribute, if type is integer or real)
+ max: maximum value of the attribute, if type is integer or real)
+ default_val: default value of the attribute
+ Returns an unique ID of the attribute the caller should store for
+ later reference. For example this ID is used when retrieving the
+ value of the attribute after the user finished entering data in
+ the dialog.
+
+
+ char* hid_get_attribute(hid_t* hid, int attr_id)
+
+ Query an attribute from the hid after dialog_attributes() returned.
+ Arguments:
+ hid: hid_t previously created using hid_create()
+ attr_id: the unique ID of the attribute (returned by hid_add_attribute())
+ Returns the value (converted to string) set by the user.
+
+
+ int hid_register(hid_t* hid)
+
+ Register the hid; call it after a hid is created and its attributes
+ are all set up
+
+
+ void hid_gpmi_data_set(hid_t* h, void* data)
+
+ For internal use
+
+
+ hid_t* hid_gpmi_data_get(HID* h)
+
+ For internal use
+
+
+ HID_Attr_Val hid_string2val(const hid_attr_type_t type, const char* str)
+
+ For internal use
+
+