[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gEDA-dev: [PATCH 0/2] Non modal multi-attribute editor




On Tue, 2007-07-17 at 14:04 +0100, Peter Clifton wrote:

> Any review / comments would be welcome, especially how to deal with
> multiple selections and when the user selects a single attribute (either
> floating, or attached to something).

My plans for multiple selections...

First, allow only homogeneous selections (no mixed COMPLEXs and NETs).
Ignore floating attributes which auto-magically get selected in the
iterators below...

Creating the aggregate attribute list:

  For each object in the selection in turn:
    For each attribute attached to that object:
      Is an attribute with that name present in our list from an _earlier_ object?
      (TODO: Special logic for repeated attributes, find the best match)
        If not:
          Add it to our list at some convenient position, saving its value
          Should we make a g_list of the underlying attributes?
          Set count = 1
          Set the "identical in every object" flag
        If yes:
          If it's value does not match the stored value we have, unset the "identical in every object" flag.
          Set count = count + 1.
          Should we add the underlying attribute to a g_list?

  For each name in our list of attributes:
    Set the "present in every object flag" depending on whether count matches the number of selected objects

TODO: How to we handle repeated attributes, e.g. "source=xxx"
"source=yyy". We need to put that as two lines in the list!

Viewing the aggregate list:

Attribute name greyed if it isn't present in every object. Edits rename
anyway? Or make it apply to all objects?
What about having an extra drop-down menu option of "copy to all
selected objects"?

Attribute value greyed "<various>" if it is different between objects.
Edits reset value to match in all objects?


-- 
Peter Clifton

Electrical Engineering Division,
Engineering Department,
University of Cambridge,
9, JJ Thomson Avenue,
Cambridge
CB3 0FA

Tel: +44 (0)7729 980173 - (No signal in the lab!)



_______________________________________________
geda-dev mailing list
geda-dev@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev