Index: doc/developer/mods3/index.html =================================================================== --- doc/developer/mods3/index.html (revision 5836) +++ doc/developer/mods3/index.html (revision 5837) @@ -1,4 +1,7 @@ + + pcb-rnd modularization +

pcb-rnd modularization

Why bother...

@@ -49,29 +52,29 @@

Zooming on to the plugins

- +
-
total size per class
-
IO plugins
+
total size per class
+
IO plugins
- +
-
feature plugins
-
export plugins
+
feature plugins
+
export plugins
- +
-
HID plugins
-
import plugins
+
HID plugins
+
import plugins
- +
-
library plugins
-
footprint plugins
+
library plugins
+
footprint plugins

Index: doc/developer/mods3/pre.html =================================================================== --- doc/developer/mods3/pre.html (revision 5836) +++ doc/developer/mods3/pre.html (revision 5837) @@ -1,4 +1,7 @@ + + pcb-rnd modularization +

pcb-rnd modularization

Why bother...

@@ -49,29 +52,29 @@

Zooming on to the plugins

- +
-
total size per class
-
IO plugins
+
total size per class
+
IO plugins
- +
-
feature plugins
-
export plugins
+
feature plugins
+
export plugins
- +
-
HID plugins
-
import plugins
+
HID plugins
+
import plugins
- +
-
library plugins
-
footprint plugins
+
library plugins
+
footprint plugins

Index: doc/features/index.html =================================================================== --- doc/features/index.html (revision 5836) +++ doc/features/index.html (revision 5837) @@ -22,37 +22,37 @@

pcb-rnd

Change summary, per topic

-
commit message tag and docdescription -
[gpmi] scripting PCB (including GUI dialogs, actions, menus, changing the layout) -
[intconn] component internal connections -
[nonetlist] components that are not part of the netlist and should not cause shorts -
[tostyle] actions, menu and hotkey to change ring dia, line width, drill dia and clearance sizes to match the values defined for the current routing style -
[mincut] minimal cut based warnings on shorts -
[square] change square pad to a generic shaped-pin based on the octagon pin code - this is an alternative to teardrops -
[flagcomp] unknown flag compatibility -
[scconfig] use scconfig instead of autotools -
[pcb-fp] generic parametric footprints; on-the-fly footprint generation by external tools written in any language (remove m4 hardwirings) -
[pcblib], [fp_fs], - [pcblib-param] clean up the footprint library shipped -
[library_t] footprint library is an arbitrary tree instead of a special, 2 level tree -
[fp_wget] web based footprint libraries, integration of gedasymbols.org -
[res] replace resource files with lihata and enable multi-key hotkeys in both gtk and lesstif hids -
[debian] Debian packaging the binaries configured to my own taste -
[ba] back annotation -
[onpoint] on-point by Robert Drehmel -
[cycdrag] cycle drag; with additional feature: negative box select -
[mods] modularize the code to reduce core size - for comparison -
[unglib] remove glib dependency from core -
[io_*] .pcb and .fp file format plugins -
[dynstyle] dynamic routing style: support more than 4 of them - with no limit -
[conf] new, unified, config file system -
[propedit] property/attribute editor (gtk) -
[oldplugins] import old PCB plugins -
[query] query language -
routing styles routing style fixes -
(gtk grid) gtk grid improvements: sparse global grids, local grids -
(full screen) gtk full screen edit mode -
(settings) minor changes in default settings +
commit message tag and docdescription +
[gpmi] scripting PCB (including GUI dialogs, actions, menus, changing the layout) +
[intconn] component internal connections +
[nonetlist] components that are not part of the netlist and should not cause shorts +
[tostyle] actions, menu and hotkey to change ring dia, line width, drill dia and clearance sizes to match the values defined for the current routing style +
[mincut] minimal cut based warnings on shorts +
[square] change square pad to a generic shaped-pin based on the octagon pin code - this is an alternative to teardrops +
[flagcomp] unknown flag compatibility +
[scconfig] use scconfig instead of autotools +
[pcb-fp] generic parametric footprints; on-the-fly footprint generation by external tools written in any language (remove m4 hardwirings) +
[pcblib], [fp_fs], + [pcblib-param] clean up the footprint library shipped +
[library_t] footprint library is an arbitrary tree instead of a special, 2 level tree +
[fp_wget] web based footprint libraries, integration of gedasymbols.org +
[res] replace resource files with lihata and enable multi-key hotkeys in both gtk and lesstif hids +
[debian] Debian packaging the binaries configured to my own taste +
[ba] back annotation +
[onpoint] on-point by Robert Drehmel +
[cycdrag] cycle drag; with additional feature: negative box select +
[mods] modularize the code to reduce core size - for comparison +
[unglib] remove glib dependency from core +
[io_*] .pcb and .fp file format plugins +
[dynstyle] dynamic routing style: support more than 4 of them - with no limit +
[conf] new, unified, config file system +
[propedit] property/attribute editor (gtk) +
[oldplugins] import old PCB plugins +
[query] query language +
routing styles routing style fixes +
(gtk grid) gtk grid improvements: sparse global grids, local grids +
(full screen) gtk full screen edit mode +
(settings) minor changes in default settings Index: doc/user/06_feature/gpmi/scripting_intro.html =================================================================== --- doc/user/06_feature/gpmi/scripting_intro.html (revision 5836) +++ doc/user/06_feature/gpmi/scripting_intro.html (revision 5837) @@ -85,7 +85,7 @@

2. GPMI intro

2.1. GPMI's place in the pcb-rnd world

-
+
GPMI is a plugin/buildin HID. Instead of doing actual work, it loads scripts and provides a glue layer between pcb-rnd and the scripts. The actual work is performed by the scripts. @@ -98,7 +98,7 @@

2.2. Module, script, script context, packages

-
+
Each time a script needs to be loaded, first a module is loaded and the name of the script is passed to the module. During module initialization, the module sets up a script interpreter and script context and loads the script into the @@ -129,7 +129,7 @@

2.3. Binding events, registering actions, creating menus

-
+
Binding an event in a script is done by calling the Bind() function (this is implemented in a package automatically loaded). The first argument is the name of the event, the second argument is the name of @@ -148,7 +148,7 @@
-
+
Menus are created using the create_menu() call. Menus can be created only when the GUI is already set up - this may happen only after some of the scripts are already loaded. Thus scripts shall @@ -161,7 +161,7 @@

2.4. Exporting

-
+
Exporter scripts first have to set up an exporter hid. This typically happens from their on-load main part. Related calls are in the hid package. The following map shows this process with red arrows: