Re: GtkToolbar drag and drop



Hi Matthias,

On Sat, 2003-10-11 at 23:45, Matthias Clasen wrote:
> Why do you think that a close correspondence between the ordering in xml
> and ui is important ? What problems does the "top" flag cause ? 

	Well; it causes the XML to be re-ordered in a potentially confusing,
and unhelpful fashion - IMHO; at least, some implementations merging
node by node turn:

<menu A/> <menu B/>
	into
<menu B/> <menu A/>

	when merged; making the editing problem even more complex;

> If you are interested in a stable ui order independent of the order in
> which the merges happen, then removing "top" won't help. You either have
> to keep different components from ever using the same container (ie
> always have separate placeholders) or insert instead of append/prepend
> items and keep the containers in some sorted order. 

	Right; I've been saying this for months. I'm not 100% convinced though
that we do need a stable UI order though since we can work around any
problems by use of placeholders, and it's prolly a more theoretical
concern [ at least, I've not seen any evo/nautilus bugs about this ].
However - there is no need to make the merging logic even more
complicated than absolutely necessary (at least at first pass ;-).

> Would you mind giving a quick explanation of the 'default' placeholder
> concept ?

	Sure; consider a File menu: it looks something like this perhaps:

<menu Open/> <menu Exit/>

	A default placeholder is a name-less placeholder that denotes where (in
the absence of any other merge logic) the new items should be inserted.
ie. both a prepend - and append rule for this menu suck. To simplify the
path logic, you don't insert into the placeholder just after it so:

<menu Open/> <placeholder/> <menu Exit/>
+
<menu Print/>
->
<menu Open/> <placeholder/> <menu Print/> <menu Exit/>

	I believe that James implemented that - we should certainly encourage
it's use I think [ many menus benefit from that ].

	HTH,

		Michael.

-- 
 michael ximian com  <><, Pseudo Engineer, itinerant idiot




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