[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

gEDA-bug: Attack of the multiplying attributes.



Full_Name: Mark Whitis
Version: 20040111
OS: linux  redhat 8.0
Submission from: (NULL) (65.40.216.240)


To reproduce:
   - open existing schematic with some modified library components that aren't
      embedded.
   - select all 
   - ep  (Update component)
   - select all
   - eb   (embed component)
   - inspect components by clicking on them and hitting "ee".   If you have
moved
     any attributes in the library, you may see the old a new attributes on top
of 
     each other.
All components now have more than one "refdes" and "device" attribute.    This
is a lot of trouble to fix on a real schematic.

Example: (resistor)
   device=xxxx
   refdes=R?
   device=200K
   refdes=R?

If you repeat, you end up with even more copies.

Correct behavior:
   - only one copy of attibute should remain.
   - program should record if an attributes value or position have changed
     vs. library version.
   - if you have changed value of text in schematic relative to the value in the
old
     library, you must use the new text.
   - if you have changed value of text in new library component relative to the
old
     value and it hasn't been edited in the schematic, use the new library
value.
   - if the position of attribute has changed in schematic relative to new
schematic,
     use the position specifed in schematic.
   - if the position of attribute has changed in new library relative to old
library
     but position wasn't edited in schematic, use the position from the new
library.

Ideally, you would give the user a dialog box that allowed them to override the
behavior but the behavior described above should be the automatic:

    Attribute positions:
       [ ] keep existing positions
       [ ] auto - will use schematic position if modified, then new position,
then old.
       [ ] replace position with new library

 
    Text positions:
       [ ] keep existing schematic version of text
       [ ] auto - will use schematic text if modified else new libary text
       [ ] replace schematic text with new library text

    [ ] Prompt if both libary and schematic have modified values.

Note that this bug is the reason I upgraded from 20021103 but it hasn't been
fixed.