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

