On Mon, Dec 19, 2011 at 08:19:08PM -0500, Steve . wrote:
> Date: Mon, 19 Dec 2011 20:19:08 -0500
> From: "Steve ." <iteratio...@gmail.com>
> Subject: "menu item not showing anything in its window
> To: GTK Devel List <gtk-app-devel-list@gnome.org>
> 
> Gary,
> 
> Seems to work ok for me.
> results of:
> g_print("%d.%d.%d",GTK_MAJOR_VERSION,GTK_MINOR_VERSION,GTK_MICRO_VERSION);
> 
> 2.20.0
> 
> what version of GTK are you using?  any error messages?
> 


        oh my zues, i had no clue there were so MANY gtk pacakes.
        i'm clicking on bunches of missing libraries in my ubuntu
        11.10.  there must be  >> 50.

        i'll add that test code after i have a cheeseburger and
        let you know.  i'm at least at 2.14 on most versioning.  but
        then ubuntu has its *own* way.  they're  a bit behind
        freebsd.  but th en FBSD is on the bleeding edge.

        are there 'button'-type things i should be looking for??

        gary


> 
> On Mon, Dec 19, 2011 at 7:46 PM, Gary Kline <kl...@thought.org> wrote:
> 
> >        i thought i would  start to put up the standard items on my
> >        topmenu bar: "File". ""Edit", "Help"  and so on.  but  while
> >        the following gtk program compiles:: zip.  the window is
> >        empty and there is no menubar at the top.  i have use
> >        'pkg-config' as in my early programs.
> >
> >        Anybody know what i'm missing?
> >
> >
> >
> > #include <gtk/gtk.h>
> > #include <strings.h>
> >
> > /* Obligatory basic callback */
> > static void print_hello( GtkWidget *w,
> >                         gpointer   data )
> > {
> >  g_message ("Hello, World!\n");
> > }
> >
> > /* This is the GtkItemFactoryEntry structure used to generate new menus.
> >   Item 1: The menu path. The letter after the underscore indicates an
> >           accelerator key once the menu is open.
> >   Item 2: The accelerator key for the entry
> >   Item 3: The callback function.
> >   Item 4: The callback action.  This changes the parameters with
> >           which the function is called.  The default is 0.
> >   Item 5: The item type, used to define what kind of an item it is.
> >           Here are the possible values:
> >
> >           NULL               -> "<Item>"
> >           ""                 -> "<Item>"
> >           "<Title>"          -> create a title item
> >           "<Item>"           -> create a simple item
> >           "<CheckItem>"      -> create a check item
> >           "<ToggleItem>"     -> create a toggle item
> >           "<RadioItem>"      -> create a radio item
> >           <path>             -> path of a radio item to link against
> >           "<Separator>"      -> create a separator
> >           "<Branch>"         -> create an item to hold sub items (optional)
> >           "<LastBranch>"     -> create a right justified branch
> > */
> >
> > static GtkItemFactoryEntry menu_items[] = {
> >  { "/_File",         NULL,         NULL, 0, "<Branch>" },
> >  { "/File/_New",     "<control>N", print_hello, 0, NULL },
> >  { "/File/_Open",    "<control>O", print_hello, 0, NULL },
> >  { "/File/_Save",    "<control>S", print_hello, 0, NULL },
> >  { "/File/Save _As", NULL,         NULL, 0, NULL },
> >  { "/File/sep1",     NULL,         NULL, 0, "<Separator>" },
> >  { "/File/Quit",     "<control>Q", gtk_main_quit, 0, NULL },
> >  { "/_Options",      NULL,         NULL, 0, "<Branch>" },
> >  { "/Options/Test",  NULL,         NULL, 0, NULL },
> >  { "/_Help",         NULL,         NULL, 0, "<LastBranch>" },
> >  { "/_Help/About",   NULL,         NULL, 0, NULL },
> > };
> >
> >
> > void get_main_menu( GtkWidget  *window,
> >                    GtkWidget **menubar )
> > {
> >  GtkItemFactory *item_factory;
> >  GtkAccelGroup *accel_group;
> >  gint nmenu_items = sizeof (menu_items) / sizeof (menu_items[0]);
> >
> >  accel_group = gtk_accel_group_new ();
> >
> >  /* This function initializes the item factory.
> >     Param 1: The type of menu - can be GTK_TYPE_MENU_BAR, GTK_TYPE_MENU,
> >              or GTK_TYPE_OPTION_MENU.
> >     Param 2: The path of the menu.
> >     Param 3: A pointer to a gtk_accel_group.  The item factory sets up
> >              the accelerator table while generating menus.
> >  */
> >
> >  item_factory = gtk_item_factory_new (GTK_TYPE_MENU_BAR, "<main>",
> >                                       accel_group);
> >
> >  /* This function generates the menu items. Pass the item factory,
> >     the number of items in the array, the array itself, and any
> >     callback data for the the menu items. */
> >  gtk_item_factory_create_items (item_factory, nmenu_items, menu_items,
> > NULL);
> >
> >  /* Attach the new accelerator group to the window. */
> >  gtk_window_add_accel_group (GTK_WINDOW (window), accel_group);
> >
> >  if (menubar)
> >    /* Finally, return the actual menu bar created by the item factory. */
> >    *menubar = gtk_item_factory_get_widget (item_factory, "<main>");
> > }
> >
> > int main( int argc, char *argv[] )
> > {
> >  GtkWidget *window;
> >  GtkWidget *main_vbox;
> >  GtkWidget *menubar;
> >
> >  gtk_init (&argc, &argv);
> >
> >  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
> >  gtk_signal_connect (GTK_OBJECT (window), "destroy",
> >                      GTK_SIGNAL_FUNC (gtk_main_quit),
> >                      "WM destroy");
> >  gtk_window_set_title (GTK_WINDOW(window), "Item Factory");
> >  gtk_widget_set_usize (GTK_WIDGET(window), 300, 200);
> >
> >  main_vbox = gtk_vbox_new (FALSE, 1);
> >  gtk_container_border_width (GTK_CONTAINER (main_vbox), 1);
> >  gtk_container_add (GTK_CONTAINER (window), main_vbox);
> >  gtk_widget_show (main_vbox);
> >
> >  get_main_menu (window, &menubar);
> >  gtk_box_pack_start (GTK_BOX (main_vbox), menubar, FALSE, TRUE, 0);
> >  gtk_widget_show (menubar);
> >
> >  gtk_widget_show (window);
> >  gtk_main ();
> >
> >  return(0);
> > }
> > /* example-end */
> >
> >
> > --
> >  Gary Kline  kl...@thought.org  http://www.thought.org  Public Service
> > Unix
> >           Journey Toward the Dawn, E-Book: http://www.thought.org
> >          The 8.57a release of Jottings: http://jottings.thought.org
> >             Twenty-five years of service to the Unix community.
> >
> > _______________________________________________
> > gtk-app-devel-list mailing list
> > gtk-app-devel-list@gnome.org
> > http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
> >
> _______________________________________________
> gtk-app-devel-list mailing list
> gtk-app-devel-list@gnome.org
> http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

-- 
 Gary Kline  kl...@thought.org  http://www.thought.org  Public Service Unix
           Journey Toward the Dawn, E-Book: http://www.thought.org
          The 8.57a release of Jottings: http://jottings.thought.org
             Twenty-five years of service to the Unix community.

_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to