X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com Date: Wed, 6 Sep 2017 20:17:53 +0200 (CEST) X-X-Sender: igor2 AT igor2priv To: geda-user AT delorie DOT com X-Debug: to=geda-user AT delorie DOT com from="gedau AT igor2 DOT repo DOT hu" From: gedau AT igor2 DOT repo DOT hu Subject: [geda-user] [pcb-rnd][dev] attribute dialog upgrade Message-ID: User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII Reply-To: geda-user AT delorie DOT com Hi all, 1. what we had already pcb-rnd inherited a cute feature from mainline back in 2013: attribute dialogs. These are generic purpose custom dialog boxes - you can see exampels when exporting the design from the GUI, because the main/original purpose was to provide a flexible way exporter attributes can be presented. In the original code the attribute dialog worked from a flat list of "attributes" (values of different type, like integers, enums). 2. what's new On top of this, recent development version of pcb-rnd introduces hierarchy with 3 "composite" types: - vbox (vertical box) - hbox (horizontal box) - table (regular grid placement) Composite types can host plain old attributes or further composite types, thus can be used to build complex dialog boxes with arbitrary arrangement of widgets. These dialog boxes can be built and ran by core code or plugin code or even user scripts. All current production GUI HIDs (lesstif and all variants of gtk) support the new feature. 3. how is it going to be useful The first example where we are going to use the new feature is the subcircuit/buffer layer binding view/edit dialog. It will present a table with two columns. On the left the "layer binding recipes" are shown, (e.g. "second copper layer from the top") on the right the actual board layer pcb-rnd calculated from the recipe. The user is free to change the parameters of the recipe on the left (and request a re-binding) or directly override the binding on the right side (in which case the recipe for that layer will be ignored). Regards, Igor2