public static void SetChooserShortcuts(Gtk.FileChooserDialog chooser, params string [] shortcuts) { foreach (string shortcut in shortcuts) { try { chooser.AddShortcutFolder(shortcut); } catch {} } }
private Application(string[] args) { selection = new Selection(); Glade.XML.CustomHandler = GladeCustomWidgetHandler; Glade.XML gxml = new Glade.XML("editor.glade", "MainWindow"); gxml.Autoconnect(this); if (MainWindow == null) throw new Exception("Couldn't resolve all widgets"); Tileset.LoadEditorImages = true; //initialize statur bar for PrintStatus() printStatusContextID = sbMain.GetContextId("PrintStatus"); printStatusMessageID = sbMain.Push(printStatusContextID, "Welcome to Supertux-Editor."); MainWindow.DeleteEvent += OnDelete; MainWindow.SetSizeRequest(900, 675); MainWindowTitlePrefix = MainWindow.Title; MainWindow.ShowAll(); // Manually set icons for Tools ToolSelect.StockId = EditorStock.ToolSelect; ToolTiles.StockId = EditorStock.ToolTiles; ToolObjects.StockId = EditorStock.ToolObjects; ToolBrush.StockId = EditorStock.ToolBrush; ToolFill.StockId = EditorStock.ToolFill; ToolReplace.StockId = EditorStock.ToolReplace; // Tool "Select" is selected by default - call its event handler OnToolSelect(null, null); // Manually set icon for Background toggle button ttbShowBackground.StockId = EditorStock.Background; fileChooser = new FileChooserDialog("Choose a Level", MainWindow, FileChooserAction.Open, new object[] {}); if(Settings.Instance.LastDirectoryName == null){ if( Settings.Instance.SupertuxData != null ){ Settings.Instance.LastDirectoryName = Settings.Instance.SupertuxData; } else { Settings.Instance.LastDirectoryName = Environment.ExpandEnvironmentVariables("%HOME%"); } } fileChooser.SetCurrentFolder(Settings.Instance.LastDirectoryName); fileChooser.AddButton(Gtk.Stock.Cancel, Gtk.ResponseType.Cancel); fileChooser.AddButton(Gtk.Stock.Ok, Gtk.ResponseType.Ok); fileChooser.DefaultResponse = Gtk.ResponseType.Ok; Gtk.FileFilter filter = new Gtk.FileFilter(); filter.Name = "Supertux Levels and Worldmaps"; filter.AddPattern("*.stl"); filter.AddPattern("*.stwm"); fileChooser.AddFilter( filter ); Gtk.FileFilter levelfilter = new Gtk.FileFilter(); levelfilter.Name = "Supertux Levels"; levelfilter.AddPattern("*.stl"); fileChooser.AddFilter( levelfilter ); Gtk.FileFilter worldmapfilter = new Gtk.FileFilter(); worldmapfilter.Name = "Supertux Worldmaps"; worldmapfilter.AddPattern("*.stwm"); fileChooser.AddFilter( worldmapfilter ); Gtk.FileFilter brushfilter = new Gtk.FileFilter(); brushfilter.Name = "Supertux-Editor Brushs"; brushfilter.AddPattern("*.csv"); fileChooser.AddFilter(brushfilter); Gtk.FileFilter all = new Gtk.FileFilter(); all.Name = "All Files"; all.AddPattern("*"); fileChooser.AddFilter( all ); if( Settings.Instance.SupertuxData != null ){ try { fileChooser.AddShortcutFolder(Settings.Instance.SupertuxData); } catch (Exception e) { Console.WriteLine("Warning: Couldn't add supertux data directory to File Chooser: " + e.Message); } } if (args.Length > 0) { Load(args[0]); } PrintStatus("Welcome to Supertux-Editor."); }
private Application(Options opts) { selection = new TileSelection(); Glade.XML.CustomHandler = GladeCustomWidgetHandler; Glade.XML gxml = new Glade.XML("editor.glade", "MainWindow"); gxml.Autoconnect(this); if (MainWindow == null) { throw new Exception("Couldn't resolve all widgets"); } ((GameObjectListWidget)ToolGObjectsProps).SetGtkFrame(fGObjects); Tileset.LoadEditorImages = true; // Initialize status bar for PrintStatus() printStatusContextID = sbMain.GetContextId("PrintStatus"); printStatusMessageID = sbMain.Push(printStatusContextID, "Welcome to Supertux-Editor."); MainWindow.DeleteEvent += OnDelete; MainWindow.SetSizeRequest(900, 675); MainWindowTitlePrefix = MainWindow.Title; UpdateTitlebar(); UpdateRecentDocuments(); MainWindow.Icon = EditorStock.WindowIcon; //HACK: not a typo, EditorStock adds icons to the stock only when called 2x or more.. MainWindow.Icon = EditorStock.WindowIcon; MainWindow.ShowAll(); // Manually set icons for Tools, automatic stock initialization is broken on some systems ToolSelect.StockId = EditorStock.ToolSelect; ToolTiles.StockId = EditorStock.ToolTiles; ToolObjects.StockId = EditorStock.ToolObjects; ToolBrush.StockId = EditorStock.ToolBrush; ToolFill.StockId = EditorStock.ToolFill; ToolReplace.StockId = EditorStock.ToolReplace; ToolPath.StockId = EditorStock.ToolPath; ToolButtonCamera.StockId = EditorStock.Camera; // Hide some extra widgets (because MainWindow.ShowAll(); showed them all) fGObjects.Visible = false; if (Settings.Instance.ToolboxOnRight) { aTools.Reparent(fToolsRight); fToolsLeft.Hide(); } else { aTools.Reparent(fToolsLeft); fToolsRight.Hide(); } // Tool "Select" is selected by default - call its event handler OnToolSelect(null, null); //Setup drag destination for "files" Gtk.Drag.DestSet(MainWindow, Gtk.DestDefaults.All, target_table, Gdk.DragAction.Default | Gdk.DragAction.Copy | Gdk.DragAction.Move | Gdk.DragAction.Link | Gdk.DragAction.Private | Gdk.DragAction.Ask); MainWindow.DragDataReceived += OnDragDataReceived; fileChooser = new Gtk.FileChooserDialog("Choose a Level", MainWindow, Gtk.FileChooserAction.Open, new object[] {}); if (!Directory.Exists(Settings.Instance.LastDirectoryName)) //noexistent (or null) LastDirectoryName, resetting to default { if (Settings.Instance.SupertuxData != null) { Settings.Instance.LastDirectoryName = System.IO.Path.Combine(Settings.Instance.SupertuxData, "levels") + System.IO.Path.DirectorySeparatorChar; } else { Settings.Instance.LastDirectoryName = Environment.ExpandEnvironmentVariables("%HOME%"); } } fileChooser.SetCurrentFolder(Settings.Instance.LastDirectoryName); fileChooser.AddButton(Gtk.Stock.Cancel, Gtk.ResponseType.Cancel); fileChooser.AddButton(Gtk.Stock.Ok, Gtk.ResponseType.Ok); fileChooser.DefaultResponse = Gtk.ResponseType.Ok; Gtk.FileFilter filter = new Gtk.FileFilter(); filter.Name = "Supertux Levels and Worldmaps"; filter.AddPattern("*.stl"); filter.AddPattern("*.stwm"); fileChooser.AddFilter(filter); Gtk.FileFilter levelfilter = new Gtk.FileFilter(); levelfilter.Name = "Supertux Levels"; levelfilter.AddPattern("*.stl"); fileChooser.AddFilter(levelfilter); Gtk.FileFilter worldmapfilter = new Gtk.FileFilter(); worldmapfilter.Name = "Supertux Worldmaps"; worldmapfilter.AddPattern("*.stwm"); fileChooser.AddFilter(worldmapfilter); Gtk.FileFilter brushfilter = new Gtk.FileFilter(); brushfilter.Name = "Supertux-Editor Brushes"; brushfilter.AddPattern("*.csv"); fileChooser.AddFilter(brushfilter); Gtk.FileFilter all = new Gtk.FileFilter(); all.Name = "All Files"; all.AddPattern("*"); fileChooser.AddFilter(all); if (Settings.Instance.SupertuxData != null) { try { fileChooser.AddShortcutFolder(System.IO.Path.Combine(Settings.Instance.SupertuxData, "levels")); } catch (Exception e) { LogManager.Log(LogLevel.Warning, "Couldn't add supertux level directory to File Chooser: " + e.Message); } } if (opts.FileNames.Count > 0) { Load(opts.FileNames[0]); } UndoManager.OnAddCommand += OnUndoManager; UndoManager.OnRedo += OnUndoManager; UndoManager.OnUndo += OnUndoManager; editorApplication = this; PrintStatus("Welcome to Supertux-Editor."); }
private Application(string[] args) { selection = new TileSelection(); Glade.XML.CustomHandler = GladeCustomWidgetHandler; Glade.XML gxml = new Glade.XML("editor.glade", "MainWindow"); gxml.Autoconnect(this); if (MainWindow == null) throw new Exception("Couldn't resolve all widgets"); ((GameObjectListWidget)ToolGObjectsProps).SetGtkFrame(fGObjects); Tileset.LoadEditorImages = true; // Initialize status bar for PrintStatus() printStatusContextID = sbMain.GetContextId("PrintStatus"); printStatusMessageID = sbMain.Push(printStatusContextID, "Welcome to Supertux-Editor."); MainWindow.DeleteEvent += OnDelete; MainWindow.SetSizeRequest(900, 675); MainWindowTitlePrefix = MainWindow.Title; UpdateTitlebar(); UpdateRecentDocuments(); MainWindow.Icon = EditorStock.WindowIcon; //HACK: not a typo, EditorStock adds icons to the stock only when called 2x or more.. MainWindow.Icon = EditorStock.WindowIcon; MainWindow.ShowAll(); // Manually set icons for Tools, automatic stock initialization is broken on some systems ToolSelect.StockId = EditorStock.ToolSelect; ToolTiles.StockId = EditorStock.ToolTiles; ToolObjects.StockId = EditorStock.ToolObjects; ToolBrush.StockId = EditorStock.ToolBrush; ToolFill.StockId = EditorStock.ToolFill; ToolReplace.StockId = EditorStock.ToolReplace; ToolPath.StockId = EditorStock.ToolPath; ToolButtonCamera.StockId = EditorStock.Camera; // Hide some extra widgets (because MainWindow.ShowAll(); showed them all) fGObjects.Visible = false; if (Settings.Instance.ToolboxOnRight) { aTools.Reparent(fToolsRight); fToolsLeft.Hide(); } else { aTools.Reparent(fToolsLeft); fToolsRight.Hide(); } // Tool "Select" is selected by default - call its event handler OnToolSelect(null, null); //Setup drag destination for "files" Gtk.Drag.DestSet(MainWindow, Gtk.DestDefaults.All, target_table, Gdk.DragAction.Default | Gdk.DragAction.Copy | Gdk.DragAction.Move | Gdk.DragAction.Link | Gdk.DragAction.Private | Gdk.DragAction.Ask); MainWindow.DragDataReceived += OnDragDataReceived; fileChooser = new Gtk.FileChooserDialog("Choose a Level", MainWindow, Gtk.FileChooserAction.Open, new object[] {}); if (!Directory.Exists(Settings.Instance.LastDirectoryName)) { //noexistent (or null) LastDirectoryName, resetting to default if( Settings.Instance.SupertuxData != null ) { Settings.Instance.LastDirectoryName = System.IO.Path.Combine(Settings.Instance.SupertuxData, "levels") + System.IO.Path.DirectorySeparatorChar; } else { Settings.Instance.LastDirectoryName = Environment.ExpandEnvironmentVariables("%HOME%"); } } fileChooser.SetCurrentFolder(Settings.Instance.LastDirectoryName); fileChooser.AddButton(Gtk.Stock.Cancel, Gtk.ResponseType.Cancel); fileChooser.AddButton(Gtk.Stock.Ok, Gtk.ResponseType.Ok); fileChooser.DefaultResponse = Gtk.ResponseType.Ok; Gtk.FileFilter filter = new Gtk.FileFilter(); filter.Name = "Supertux Levels and Worldmaps"; filter.AddPattern("*.stl"); filter.AddPattern("*.stwm"); fileChooser.AddFilter( filter ); Gtk.FileFilter levelfilter = new Gtk.FileFilter(); levelfilter.Name = "Supertux Levels"; levelfilter.AddPattern("*.stl"); fileChooser.AddFilter( levelfilter ); Gtk.FileFilter worldmapfilter = new Gtk.FileFilter(); worldmapfilter.Name = "Supertux Worldmaps"; worldmapfilter.AddPattern("*.stwm"); fileChooser.AddFilter( worldmapfilter ); Gtk.FileFilter brushfilter = new Gtk.FileFilter(); brushfilter.Name = "Supertux-Editor Brushes"; brushfilter.AddPattern("*.csv"); fileChooser.AddFilter(brushfilter); Gtk.FileFilter all = new Gtk.FileFilter(); all.Name = "All Files"; all.AddPattern("*"); fileChooser.AddFilter( all ); if( Settings.Instance.SupertuxData != null ){ try { fileChooser.AddShortcutFolder(System.IO.Path.Combine(Settings.Instance.SupertuxData, "levels")); } catch (Exception e) { LogManager.Log(LogLevel.Warning, "Couldn't add supertux level directory to File Chooser: " + e.Message); } } if (args.Length > 0) { Load(args[0]); } UndoManager.OnAddCommand += OnUndoManager; UndoManager.OnRedo += OnUndoManager; UndoManager.OnUndo += OnUndoManager; editorApplication = this; PrintStatus("Welcome to Supertux-Editor."); }