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

Re: Modifying properties of several objects at the same time



On 24 Oct 2003, Ben Hetland wrote:
>
> Lars Clausen wrote:
>> On 22 Oct 2003, Ben Hetland wrote:
>>> If the property in question does NOT have the same value in all
>>> selected objects, however, then the field should still be enabled
>>> (i.e. modifiable), but doesn't show any real value. It could also be
>>> "dimmed down" or something to visually aid in the concept that there
>>> are really multiple values around. If the user does not touch this
>>> setting at all, then the properties should remain unchanged in all
>>> objects. But if the user sets a different value, then that will be set
>>> in all objects of that type.
>> This is the hard part.  Suggestions or even patches for this would
>> be most
>> welcome.
>
> Maintaining a state with each widget I think is the clue to the
> solution here, a flag indicating "common value" or not. (Or did you
> mean that it's really hard to "dim down" a widget in GTK+?)

GTK+ has some widgets with a 'multiple' state, but there are some that are
homegrown and will have to be fixed, and some (most notably I think string
entry) that have none.

> For more complicated things like texts and numbers, this isn't as
> simple. But I suggest the following:
> - initially the item is grayed and shows no value at all
> (empty field)
> - if the user types anything in there, then this will be
> the new value for _all_ selected objects of that kind
> (we don't care about the old values being different).
> The item's background turns white to reflect the change.
> - There could be an additional button or check box next
> to the field, allowing the user to revert his/her new
> value, upon clicking this would set the field back to
> its initial state.

The two first absolutely.  However, I've been pondering if widgets with
e.g. text, numbers or colors shouldn't have a drop-down menu showing all
the different settings any of the objects have, so you can pick one.

> We could also drop the last feature mentioned here, by asserting that
> if the user really did override some "multi-value", but
> changed his or her mind afterwards, then one could simply
> [Cancel] the whole properties box and bring it up again.

[Cancel] or [Revert] will do it for that.

> I also assert that the imaginable possibility of being able to set
> multiple values for the same field at the same time (when multiple
> objects are selected), is not really a feature that is
> needed. Because, if one really wants different values for some
> specific property, then one can simply bring up the properties dialog
> individually for each object in turn.

Indeed.  That'd be way too confusing a feature... 
<daydream>Would be nice though to be able to, say, add 1 to all
linewidths...</daydream> but it's so rarely useful that the interface would
be clutter.
>
>> There's also a problem of figuring out which ones have the same
>> setting,
>> but that's mostly a problem of understanding properties.
>
> In pseudo code (inspired by C++ STL):
>
> it = select.begin();
> common_value = true;
> value = it->val;
> for_each( ++it, select.end(),
> { if (value != it->val) common_value = false; } );
> if (common_value)
> Display as normal: value
> else
> Display blank with empty field

Yeah, that's the idea of it, but properties aren't (unfortunately) all that
simple.  But if you can go in and just make a function that figures it out
(I have already reserved a flag for it), then somebody else can look at the
interface stuff.  Or vice-versa.

> OK, just thinking "aloud" here, sharing some ideas. Anyone willing to
> elaborate are welcome to do so; otherwise I might try one day myself
> if I get the time (which I unfortunately get far to rarely...).

That'd be great of you could.

-Lars

-- 
Lars Clausen (http://shasta.cs.uiuc.edu/~lrclause)| HĂ„rdgrim of Numenor
"I do not agree with a word that you say, but I   |----------------------------
will defend to the death your right to say it."   | Where are we going, and
    --Evelyn Beatrice Hall paraphrasing Voltaire  | what's with the handbasket?



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index] Mail converted by Mofo Magic and the Flying D

 
All trademarks and copyrights are the property of their respective owners.

Other Directory Sites: SeekWonder | Directory Owners Forum

GuideSMACK