MainMenu.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. using System;
  2. using Gtk;
  3. namespace UnitEditor
  4. {
  5. [System.ComponentModel.ToolboxItem (true)]
  6. public partial class MainMenu : Gtk.EventBox
  7. {
  8. public MenuBar instance;
  9. public MainMenu ()
  10. {
  11. instance = new MenuBar ();
  12. Menu file_menu = new Menu ();
  13. MenuItem file_item = new MenuItem("File");
  14. file_item.Submenu = file_menu;
  15. MenuItem exit_item = new MenuItem("Exit");
  16. exit_item.Activated += new EventHandler (file_chooser_cb);
  17. file_menu.Append (exit_item);
  18. instance.Append (file_item);
  19. ShowAll ();
  20. }
  21. static void exit_cb (object o, EventArgs args)
  22. {
  23. Application.Quit ();
  24. }
  25. static void file_chooser_cb(object sender, System.EventArgs e)
  26. {
  27. Gtk.FileChooserDialog fc = new Gtk.FileChooserDialog("Open file", null, FileChooserAction.Open);
  28. fc.AddButton(Stock.Cancel, ResponseType.Cancel);
  29. fc.AddButton(Stock.Open, ResponseType.Ok);
  30. fc.Filter = new FileFilter();
  31. fc.Filter.AddPattern("*.unit");
  32. fc.Filter.AddPattern("*.material");
  33. fc.Filter.AddPattern("*.physics");
  34. if (fc.Run() == (int)ResponseType.Ok)
  35. {
  36. Console.WriteLine(fc.Filename);
  37. }
  38. //Don't forget to call Destroy() or the FileChooserDialog window won't get closed.
  39. fc.Destroy();
  40. }
  41. }
  42. }