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

gEDA-dev: questions about lesstif menus



Hello,

My guess is DJ is the only one who really has the answer but that the 
answer may be useful to others at some point.

I'm trying to get user configurable menus working correctly in the GTK 
HID.  I got a pretty good ways towards that goal by copying the 
add_resource_to_menu() code from src/hid/lesstif/menu.c and adapting it 
for GTK.  But I'm now at a point where I'd like to understand some bits 
of it more.

In add_resource_to_menu() near the beginning, line 1224 is:

   for (i = 0; i < node->c; i++)
     switch (resource_type (node->v[i]))
       {
       case 101:		/* named subnode */

do I understand correctly that this would be something like

MainMenu =
{
   SomethingElse =
      {
        {value1a value1b}
        {value2}
      }
}

Where the SomethingElse is what is a named subnode?  I didn't see any of 
that in pcb-menu.res since the only named subnodes I saw were "top 
level" ones like MainMenu.

What are these named subnodes for and are they actually used?

Around line #1290, is

{
   Resource *radio = resource_subres (node->v[i].subres, "radio");
   char *checked = resource_value (node->v[i].subres, "checked");
   char *label = resource_value (node->v[i].subres, "sensitive");

   if (radio)


I see where "sensitive" is used and also "checked".  I wasn't able to 
see that "radio" had been used in pcb-menu.res.  Isn't this covered by 
"checked".  Do I understand correctly that check buttons have been 
coerced to behave like radiobuttons by just keeping track of the 
conditions in "checked"?  Do you think it is important to try and 
support "radio" in the gtk menus?



Around line 1352, I don't quite understand what note_widget_flag does.
Also, I didn't see active= used in pcb-menu.res, what is that supposed 
to do in this part of menu.c?

Is line 1394 reached?

What do you thing about using "tt=" for tooltips?   I'm not sure if we 
actually use any tooltips right now, but it is pretty clear where you'd 
stick this value if you found it in a menu resource file.

What I have working right now (usermenu branch) is the "normal" menus. 
The ones with "checked=" don't work and sensitive= is ignored as well as 
m= and a=.  But that actually leaves a bunch of menuitems working.  So, 
I've got a good ways to go, but there is some progress.


-Dan


_______________________________________________
geda-dev mailing list
geda-dev@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev