rendered paste bodyusing Gtk;public class abcNotepad : Window { Image page; public void open(string filename){ stdout.printf("Title = %s\n",filename); } public abcNotepad () { stdout.printf("abcNotepad by Vikram Ambrose 2010\n"); this.title = "abcNotepad"; /* Top menu */ var box_top = new HBox(false,0); var button_new = new Button.with_label("New"); var menu = new MenuBar(); var item_tools = new MenuItem.with_label("Tools"); var item_help = new MenuItem.with_mnemonic("Help"); menu.append(item_tools); menu.append(item_help); box_top.pack_start(button_new,false,false,0); box_top.pack_start(menu,false,false,0); /* Open File Chooser */ var chooser_dialog = new FileChooserDialog("Open an existing abc file", this,FileChooserAction.OPEN, Gtk.STOCK_CANCEL,ResponseType.CANCEL, Gtk.STOCK_OPEN,ResponseType.ACCEPT, null); string [] filters = { "*.abc","*.abc", "*.*" ,"All Files", null }; for(int i=0;filters[i]!=null;i+=2){ var file_filter = new FileFilter(); file_filter.add_pattern(filters[i]); file_filter.set_name(filters[i+1]); chooser_dialog.add_filter(file_filter); } var chooser_button = new FileChooserButton.with_dialog(chooser_dialog); chooser_button.file_set.connect( () => { this.open(chooser_dialog.get_filename()); }); box_top.pack_start(chooser_button,true,true,0); /* Bottom Menu */ var box_bottom = new HBox(false,0); var button_apply = new Button.with_label("Apply"); box_bottom.pack_start(button_apply,false,false,0); var box_main = new VBox(false,0); box_main.pack_start(box_top,false,true,0); box_main.pack_start(box_bottom,false,true,0); this.add(box_main); } public static int main(string []args){ Gtk.init(ref args); abcNotepad session = new abcNotepad(); session.set_default_size(640,480); session.destroy.connect(Gtk.main_quit); session.show_all(); Gtk.main(); return 0; }}/*int main(int argc, char *argv[]) { int i; for(i=0;i<argc;i++)printf("arg[%i] = %s\n",i,argv[i]); gtk_init(&argc, &argv); // Save & Refresh Buuton g_signal_connect (G_OBJECT (glade_xml_get_widget (xml, "save_refresh")), "clicked", G_CALLBACK (on_save_refresh_clicked), NULL); // FileChooser Button GtkWidget *filechooserbutton = glade_xml_get_widget(xml,"filechooserbutton1"); // Add Filter to FileChooser Button GtkFileFilter *abcfilter = gtk_file_filter_new (); GtkFileFilter *allfilter = gtk_file_filter_new (); gtk_file_filter_add_pattern (abcfilter, "*.abc"); gtk_file_filter_set_name (abcfilter,"*.abc"); gtk_file_filter_add_pattern (allfilter, "*.*"); gtk_file_filter_set_name (allfilter,"*.* All Files"); gtk_file_chooser_add_filter ((GtkFileChooser*) filechooserbutton,abcfilter); gtk_file_chooser_add_filter ((GtkFileChooser*) filechooserbutton,allfilter); g_signal_connect (G_OBJECT (filechooserbutton), "selection_changed", G_CALLBACK (on_filechooserbutton1_selection_changed), NULL); // Quit g_signal_connect (G_OBJECT (glade_xml_get_widget (xml, "window1")), "destroy", G_CALLBACK (on_window1_destroy), NULL); // File-> New g_signal_connect (G_OBJECT (glade_xml_get_widget (xml, "button1")), "clicked", G_CALLBACK (on_new1_activate), NULL); GtkWidget *cbutton = glade_xml_get_widget (xml, "cancel_button"); // File-> New - Cancel g_signal_connect (G_OBJECT (cbutton), "clicked", G_CALLBACK (on_cancel_button_clicked), NULL); // File-> New - Compose GtkWidget *compose = glade_xml_get_widget(xml,"compose_button"); g_signal_connect (G_OBJECT (compose), "clicked", G_CALLBACK (on_compose_button_clicked), NULL); // Help-> About g_signal_connect (G_OBJECT (glade_xml_get_widget (xml, "about1")), "activate", G_CALLBACK (on_about_activate), NULL); GtkWidget *window2 = glade_xml_get_widget (xml, "window2"); gtk_widget_hide(window2); // Tools -> Tone Shitf g_signal_connect (G_OBJECT (glade_xml_get_widget (xml,"tone_shift")),"activate",G_CALLBACK(on_tone_shift_activate),NULL); // Tone Shift -> Apply g_signal_connect (G_OBJECT (glade_xml_get_widget (xml,"apply_tone_shift")),"clicked",G_CALLBACK(on_apply_tone_shift_clicked),NULL); // Tone Shift -> Cancel g_signal_connect (G_OBJECT (glade_xml_get_widget (xml,"cancel_tone_shift")),"clicked",G_CALLBACK(on_cancel_tone_shift_clicked),NULL); GtkWidget *tone_shift_window = glade_xml_get_widget (xml, "tone_shift_window"); gtk_widget_hide(tone_shift_window); // connect the signals in the interface // glade_xml_signal_autoconnect(xml); // Status : Idle // GtkLabel *label = (GtkLabel*) glade_xml_get_widget(xml,"status_label");// gtk_label_set_label(label,"Status: Idle"); // Open file using arg[1] if(argc>1)open_file(argv[1]); // start the event loop gtk_main(); return 0;}*/