=?UTF-8?Q?Re:_Bug_60331_=EF=BF=BD_Object_propertie?= =?UTF-8?Q?s_should_handle_multiple_objects?=



On 11/30/08, Hans Breuer <hans breuer org> wrote:

Why can't we just change properties_show() to take either an object or a
selection? Thus it would be possible to have all the one-or-multiple object
specific code in app/properties.c, wouldn't it?

Selection as DiaObject still does not pass the "duck test" [1] for me.

You are right. It doesn't ... I realised that when I went a step
further along in the places where the selection is passed to the
property dialog. The problem is that the dialog makes a copy of it,
and passes it to functions like object_add_updates, where the
pseudo-duck definitely does not quack like the real duck (sic).

2) Create a new dialog!

This seems like the correct option to me now.

Really? The container dialog is invoked in app/properties.c and it is
filled with properties got form the "current object". It should be
relatively simple to extend that to accumulate properties from from
multiple objects and show these instead.

I've been looking at that, and it has set me thinking. Posting my
thoughts as a separate email.

3) An invisible layer.
that a Layer is between the Diagram and the DiaObject. Basically the Layer
is a container of objects with some extra properties. None of it's methods
seems to be inappropriate for the Selection object.

I was looking at the code that handles layers, and it seems to me that
that a layer owns the objects it contains, i.e., they are destroyed
when the layer is destroyed, and they all point to it as the "parent
layer". That's not a big problem in itself since one would expect that
the "selection" layer is never destroyed, and one could possibly add
an object to the selection layer without resetting it's parent. But I
think there is no need to go that way yet. If our properties dialog
can handle the list of selected objects, then we don't need a special
representation for the selection.

Sameer.
-- 
http://www.it.iitb.ac.in/~sameerds/



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