MCPcopy Create free account
hub / github.com/NetHack/NetHack / ghack_menu_ext_cmd

Function ghack_menu_ext_cmd

outdated/win/gnome/gnmenu.c:678–741  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

676}
677
678int
679ghack_menu_ext_cmd(void)
680{
681 int n;
682 GtkWidget *dialog;
683 GtkWidget *swin;
684 GtkWidget *frame1;
685 GtkWidget *clist;
686 extMenu info;
687
688 dialog = gnome_dialog_new("Extended Commands", GNOME_STOCK_BUTTON_OK,
689 GNOME_STOCK_BUTTON_CANCEL, NULL);
690 gnome_dialog_close_hides(GNOME_DIALOG(dialog), FALSE);
691 gtk_signal_connect(GTK_OBJECT(dialog), "key_press_event",
692 GTK_SIGNAL_FUNC(ghack_ext_key_hit), &info);
693
694 frame1 = gtk_frame_new("Make your selection");
695 gtk_object_set_data(GTK_OBJECT(dialog), "frame1", frame1);
696 gtk_widget_show(frame1);
697 gtk_container_border_width(GTK_CONTAINER(frame1), 3);
698
699 swin = gtk_scrolled_window_new(NULL, NULL);
700 clist = gtk_clist_new(2);
701 gtk_object_set_data(GTK_OBJECT(dialog), "clist", clist);
702 gtk_widget_set_usize(clist, 500, 400);
703 gtk_container_add(GTK_CONTAINER(swin), clist);
704 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(swin),
705 GTK_POLICY_AUTOMATIC,
706 GTK_POLICY_AUTOMATIC);
707
708 gtk_signal_connect(GTK_OBJECT(clist), "select_row",
709 GTK_SIGNAL_FUNC(ghack_menu_row_selected), NULL);
710
711 gtk_container_add(GTK_CONTAINER(frame1), swin);
712 gtk_box_pack_start_defaults(GTK_BOX(GNOME_DIALOG(dialog)->vbox), frame1);
713
714 /* Add the extended commands into the list here... */
715 for (n = 0; extcmdlist[n].ef_txt; ++n) {
716 const char *text[3] = { extcmdlist[n].ef_txt, extcmdlist[n].ef_desc,
717 NULL };
718 gtk_clist_insert(GTK_CLIST(clist), n, (char **) text);
719 }
720
721 /* fill in starting info fields */
722 info.curItem = -1;
723 info.numRows = n;
724 info.charIdx = 0;
725 info.lastTime = 0;
726
727 gtk_clist_columns_autosize(GTK_CLIST(clist));
728 gtk_widget_show_all(swin);
729
730 /* Center the dialog over over parent */
731 gnome_dialog_set_default(GNOME_DIALOG(dialog), 0);
732 gtk_window_set_modal(GTK_WINDOW(dialog), TRUE);
733 gnome_dialog_set_parent(GNOME_DIALOG(dialog),
734 GTK_WINDOW(ghack_get_main_window()));
735

Callers 1

gnome_get_ext_cmdFunction · 0.85

Calls 1

ghack_get_main_windowFunction · 0.85

Tested by

no test coverage detected