On Nov 24, 2007, at 1:51 PM, Gonzalo Garramuño wrote:

> matthiasm wrote:
>> On Nov 23, 2007, at 11:52 PM, Gonzalo Garramuño wrote:
>>
>>
>> Well, I found a huge disadvantage with outomatically generated
>> circular menus. Once the user knows that "File Save" is at 120
>> degrees, adding an item will move that angle a bit, causing
>> frustration with the user.
>
> Why?  The idea of circular menus is that you bisect the angle every X
> entries.  The position never changes unless you add some elements in  
> the
> middle.  You obviously don't place them based on 360deg. / X entries.

Oh, I see. Seems we are talking about different things.

> What's not entirely clear to me is how to do nested pie submenus.

Basically the same as in rectangular menus, causing a new layer of  
menu popping up either if the mouse hovers over a menu for a while or  
if the user clicks the mouse button on one that has submenus. The new  
menu would pop up centered over the mouse pointer position, just as  
usual.

>> Not sure how FLTK2 has implemented this, but AFAIK putting an image
>> with alpha into an fltk::Window will not generate transparencies in
>> relation to other windows, only to drawings in the same window -  
>> but I
>> may be wrong here.
>
> fltk2 uses a special class called MenuWindow which is derived from
> ShapedWindow, I believe.

Ah, if it is implemented that way, then it was done exactly as I  
suggested (and implemented in 1.0) when I wrote the circular menus for  
my app. I should stick my head into the 2.0 code again. Havn't really  
done so in years.

>>
>> PS: Here is the link:
>> <http://www.robowerk.com/cmenus/>

> Ah, I see what you did.  Hmm... no, that's not taking advantage of the
> properties of pie menus that much.  You more or less stacked the menus
> radially, but did not try to keep only 8 entries per level, which is  
> the
> ideal.


Ah, I am starting to figure out what you are referring to. No, I doubt  
very much that 8 entries per panel are ideal (but now I know where you  
are coming from).

First, I would suggest that a user can easily navigate to at least 12  
segments in a circle (unless he grew up on digital watches only). That  
is 50% more menus per panel, requiring a much smaller stacking depth  
for many items.

Next, I think that the triangular "stems" on each item going into the  
center of the mouse click are essential. They minimize mouse movement  
for those who know the menu layout and have a good motor skill (they  
only need to hit the stem, not the menu itself. Stem and menu indicate  
when the mouse is over them of course). The next essential element is  
the circle in the middle which allow to immediatly cancel the menu if  
it was opened in an error.

Now putting all these elements together, stacking (submenus) becomes  
quite easy and natural, even canceling them does.

Anyway, I am preaching too much :-) . Assuming that I will find the  
original code, I will put it only in the next days to take or leave.

Matthias

----
http://robowerk.com/


_______________________________________________
fltk mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk

Reply via email to