void mt_show_ancestors(GtkWidget *widget) { while (widget) { fprintf(stderr, "%s > ", GTK_OBJECT_TYPE_NAME(widget)); widget = widget->parent; } printf("0\n"); }
/** * \brief Create all the skel or container windows for modules but ui. * * ui, is only part of skel, all the content is filled later. * * content type: * page, trigger, hbar, vbar * * main window. p.ui.ui.window.main * optn window. p.ui.ui.window.optn * info window. p.ui.ui.window.info * media window p.ui.ui.window.media */ static void ui_create_ui(KIM * im) { char xmlpath[1024]; sprintf(xmlpath, "%s\\ui\\main.glade", kim_getstr(im, "s.env.path.moduleDir", knil)); kstr_subs(xmlpath, '\\', kvfs_path_sep()); GladeXML *gxml = glade_xml_new(xmlpath, NULL, NULL); kim_addptr(im, "p.ui.ui.glade", (kvoid *) gxml, RF_AUTOSET, knil, knil); GtkWidget *window_main = glade_xml_get_widget(gxml, "window_main"); kim_addptr(im, "p.ui.ui.window.main", (kvoid *) window_main, RF_AUTOSET, knil, knil); klog(("window_main: %s\n", GTK_OBJECT_TYPE_NAME(window_main))); GtkWidget *vbox_main = glade_xml_get_widget(gxml, "winmain_vbox_main"); klog(("vbox_main: %s\n", GTK_OBJECT_TYPE_NAME(vbox_main))); gtk_drag_dest_set(vbox_main, GTK_DEST_DEFAULT_ALL, target_table, n_targets, /* no rootwin */ GdkDragAction(GDK_ACTION_COPY | GDK_ACTION_MOVE)); g_signal_connect(vbox_main, "drag_drop", G_CALLBACK(target_drag_drop), vbox_main); g_signal_connect(vbox_main, "drag_data_received", G_CALLBACK(target_drag_data_received), NULL); if (0) { GtkWidget *button; button = gtk_button_new_with_label("xxyyyx"); //button = gtk_viewport_new(NULL, NULL);//"GTK_WINDOW_TOPLEVEL"); gtk_box_pack_start(GTK_BOX(vbox_main), button, TRUE, FALSE, 0); gtk_drag_source_set(button, GdkModifierType(GDK_BUTTON1_MASK | GDK_BUTTON3_MASK), target_table, n_targets, GdkDragAction(GDK_ACTION_COPY | GDK_ACTION_MOVE)); } GtkWidget *window_info = glade_xml_get_widget(gxml, "window_info"); kim_addptr(im, "p.ui.ui.window.info", (kvoid *) window_info, RF_AUTOSET, knil, knil); GtkWidget *window_media = glade_xml_get_widget(gxml, "window_media"); kim_addptr(im, "p.ui.ui.window.media", (kvoid *) window_media, RF_AUTOSET, knil, knil); // gtk_box_pack_start(GTK_BOX(vbox_main), window_media, TRUE, FALSE, 0); GtkWidget *window_pref = glade_xml_get_widget(gxml, "window_pref"); kim_addptr(im, "p.ui.ui.window.optn", (kvoid *) window_pref, RF_AUTOSET, knil, knil); gtk_widget_show(window_pref); if (0) { GtkWidget *button; button = gtk_button_new_with_label("xxyyyx"); gtk_box_pack_start(GTK_BOX(vbox_main), button, TRUE, TRUE, 0); kim_addptr(im, "p.ui.ui.window.optn", (kvoid *) button, RF_AUTOSET, knil, knil); } GtkWidget *window_tool = glade_xml_get_widget(gxml, "window_tool"); kim_addptr(im, "p.ui.ui.window.tool", (kvoid *) window_tool, RF_AUTOSET, knil, knil); GtkWidget *window_tool_pool = glade_xml_get_widget(gxml, "wintool_viewport_tool_pool"); kim_addptr(im, "p.ui.ui.window.tool_pool", (kvoid *) window_tool_pool, RF_AUTOSET, knil, knil); GtkWidget *window_layout_tool_pool = glade_xml_get_widget(gxml, "wintool_viewport_layout_tool_pool"); kim_addptr(im, "p.ui.ui.window.layout_tool_pool", (kvoid *) window_layout_tool_pool, RF_AUTOSET, knil, knil); glade_xml_signal_autoconnect(gxml); glade_xml_signal_connect_data(gxml, "on_winmain_menu_item_about_activate", G_CALLBACK(on_winmain_menu_item_about_activate), NULL); glade_xml_signal_connect_data(gxml, "on_winmain_menu_item_tool_activate", G_CALLBACK(on_winmain_menu_item_tool_activate), NULL); glade_xml_signal_connect_data(gxml, "on_winmain_menu_item_pref_activate", G_CALLBACK(on_winmain_menu_item_pref_activate), NULL); }