Пример #1
0
        //Will load in multiple files, or a folder of files which will be matched against
        //loaded templates
        public static List<Tuple<string, List<PointD>>> loadBatchPoints()
        {
            List<Tuple<string,List<PointD>>> result = new List<Tuple<string,List<PointD>>> ();

            //Setup of dialog and limiting it to only XML files
            FileChooserDialog fileChooser = new FileChooserDialog ("Open Files", null, FileChooserAction.Open);
            fileChooser.AddButton (Stock.Cancel, ResponseType.Cancel);
            fileChooser.AddButton (Stock.Open, ResponseType.Ok);

            fileChooser.Filter = new FileFilter ();
            fileChooser.Filter.AddPattern ("*.xml");

            string tmp = System.IO.Directory.GetCurrentDirectory();
            string newTmp = tmp + "/../../Gestures/RecordedDataPoints/";
            fileChooser.SetCurrentFolder (newTmp);

            fileChooser.SelectMultiple = true;

            ResponseType retVal = (ResponseType)fileChooser.Run ();

            if (retVal == ResponseType.Ok) {
                foreach (string file in fileChooser.Filenames) {
                    result.Add (XMLParser.BatchLoadPoints (file));
                }
            }

            fileChooser.Destroy ();
            return result;
        }
Пример #2
0
        protected void LoadProbeClicked(object sender, EventArgs e)
        {
            Gtk.FileChooserDialog fcd = new Gtk.FileChooserDialog("Open File", null, Gtk.FileChooserAction.Open);
            fcd.AddButton(Gtk.Stock.Cancel, Gtk.ResponseType.Cancel);
            fcd.AddButton(Gtk.Stock.Open, Gtk.ResponseType.Ok);
            fcd.DefaultResponse = Gtk.ResponseType.Ok;
            fcd.SelectMultiple  = false;

            Gtk.FileFilter filter = new FileFilter
            {
                Name = "NIRS probe"
            };
            filter.AddMimeType("XML");
            filter.AddMimeType("Matlab");
            filter.AddPattern("*.SD");
            filter.AddPattern("*.xml");
            fcd.Filter = filter;

            fcd.SetCurrentFolder(MainClass.win.settings.PROBEDIR);

            Gtk.ResponseType response = (Gtk.ResponseType)fcd.Run();
            if (response == Gtk.ResponseType.Ok)
            {
                probe = nirs.io.LoadProbe(fcd.Filename);
                Sdgdraw(sender, e);
            }
            probefilename = fcd.Filename;
            fcd.Destroy();
        }
Пример #3
0
        private bool GtkOpenFile()
        {
            FileChooserDialog fileChooserDialog = new FileChooserDialog(this.Title, ApplicationCurrent.MainWindow, (Gtk.FileChooserAction) this.FileChooserAction, new object[0]);

            switch (this.FileChooserAction)
            {
            case FileAction.Open:
                fileChooserDialog.AddButton("Open", ResponseType.Ok);
                FileFilter fileFilter = new FileFilter();
                if (this.AllowedFileTypes != null)
                {
                    foreach (string allowedFileType in this.AllowedFileTypes)
                    {
                        fileFilter.AddPattern("*." + allowedFileType);
                    }
                    break;
                }
                break;

            case FileAction.SelectFolder:
                fileChooserDialog.AddButton("Select Folder", ResponseType.Ok);
                break;
            }
            fileChooserDialog.AddButton("Cancel", ResponseType.Cancel);
            fileChooserDialog.SelectMultiple = this.AllowMultipleSelect;
            if (fileChooserDialog.Run() == -5)
            {
                this.Paths = fileChooserDialog.Filenames;
                this.Path  = this.Paths[0];
                fileChooserDialog.Destroy();
                return(true);
            }
            fileChooserDialog.Destroy();
            return(false);
        }
Пример #4
0
 private void ButtonOpen_Clicked(object sender, EventArgs a)
 {
     Gtk.FileChooserDialog fcd = new Gtk.FileChooserDialog("Выберете файл", null, Gtk.FileChooserAction.Open);
     fcd.AddButton(Gtk.Stock.Cancel, Gtk.ResponseType.Cancel);
     fcd.AddButton(Gtk.Stock.Open, Gtk.ResponseType.Ok);
     fcd.DefaultResponse = Gtk.ResponseType.Ok;
     fcd.SelectMultiple  = true;
     Gtk.ResponseType response = (Gtk.ResponseType)fcd.Run();
     if (response == Gtk.ResponseType.Ok)
     {
         _playlist = fcd.Filenames.ToList();
         if (_player != null)
         {
             _player.Stop();
             _player = null;
         }
         new Task(() => LoadFile(_playlist.First())).Start();
         _currentIndex = 0;
         fcd.Dispose();
         treestore.Clear();
         foreach (var item in _playlist)
         {
             treestore.AppendValues(item);
         }
     }
 }
Пример #5
0
        protected void OnOpen(object sender, EventArgs e)
        {
            Gtk.FileChooserDialog dialog = new Gtk.FileChooserDialog("Open Document",
                                                                     (Gtk.Window) this.Toplevel,
                                                                     Gtk.FileChooserAction.Open);

            dialog.AddButton(Gtk.Stock.Cancel, Gtk.ResponseType.Cancel);
            dialog.AddButton(Gtk.Stock.Open, Gtk.ResponseType.Accept);

            dialog.DefaultResponse = Gtk.ResponseType.Cancel;
            dialog.LocalOnly       = true;

            Gtk.FileFilter filter = new Gtk.FileFilter();
            filter.Name = "doc/pdf";
            filter.AddMimeType("application/pdf");
            filter.AddMimeType("application/ps");
            filter.AddMimeType("application/eps");
            filter.AddMimeType("application/pcl");
            filter.AddMimeType("application/xps");
            filter.AddMimeType("application/oxps");
            filter.AddPattern("*.pdf");
            filter.AddPattern("*.ps");
            filter.AddPattern("*.eps");
            filter.AddPattern("*.bin");
            filter.AddPattern("*.xps");
            filter.AddPattern("*.oxps");
            dialog.Filter = filter;
            int response = dialog.Run();

            if (response != (int)Gtk.ResponseType.Accept)
            {
                dialog.Destroy();
                return;
            }

            if (m_file_open)
            {
                /* launch a new process */
                string path = System.Reflection.Assembly.GetExecutingAssembly().Location;

                Process p = new Process();
                try
                {
                    String name = dialog.Filename;
                    Process.Start(path, name);
                }
                catch (Exception except)
                {
                    Console.WriteLine("Problem opening file: " + except.Message);
                }
                dialog.Destroy();
                return;
            }

            m_currfile = dialog.Filename;
            dialog.Destroy();
            ProcessFile();
        }
Пример #6
0
    public MainWindow() : base(Gtk.WindowType.Toplevel)
    {
        Build();

        var plotView = new PlotView();

        this.Add(plotView);
        plotView.ShowAll();

        // Choose file
        Gtk.FileChooserDialog fcd = new Gtk.FileChooserDialog("Open File", null, Gtk.FileChooserAction.Open);
        fcd.AddButton(Gtk.Stock.Cancel, Gtk.ResponseType.Cancel);
        fcd.AddButton(Gtk.Stock.Open, Gtk.ResponseType.Ok);
        fcd.DefaultResponse = Gtk.ResponseType.Ok;
        fcd.SelectMultiple  = false;
        Gtk.ResponseType response = (Gtk.ResponseType)fcd.Run();

        String DataFile = fcd.Filename;

        if (response == ResponseType.Ok)
        {
            // Run scan Matching
            ScanMatching.RunScanMatch(DataFile);
            Console.WriteLine($"{DataFile} selected");
        }
        else
        {
            Console.WriteLine("no file selected");
        }

        fcd.Destroy();

        // Run Plot
        var model = new PlotModel {
            Title = "Scan Matching"
        };
        var scatterSeries = new ScatterSeries {
            MarkerType = MarkerType.Circle
        };
        var r = new Random(314);

        for (int i = 0; i < D_Scan_Matching_GUI.ScanMatching.rPNn.ColumnCount; i++)
        {
            var x          = D_Scan_Matching_GUI.ScanMatching.rPNn[0, i];
            var y          = D_Scan_Matching_GUI.ScanMatching.rPNn[1, i];
            var size       = 5;
            var colorValue = 1500;
            scatterSeries.Points.Add(new ScatterPoint(x, y, size, colorValue));
        }

        model.Series.Add(scatterSeries);
        model.Axes.Add(new LinearColorAxis {
            Position = AxisPosition.Right, Palette = OxyPalettes.Jet(200)
        });
        plotView.Model = model;
    }
        void OnOpen(object sender, EventArgs args)
        {
            bool cancel = false;

            if (!isSaved)
            {
                var dialog = new Dialog();
                dialog.AddButton("Close without save", ResponseType.No);
                dialog.AddButton(Stock.Cancel, ResponseType.Cancel);
                dialog.AddButton("Save changes", ResponseType.Ok);
                var dialogLabel = new Label("Save changes in file?");
                dialog.VBox.PackStart(dialogLabel, false, false, 0);
                dialog.ShowAll();
                int response = dialog.Run();
                if (response == (int)ResponseType.Ok)
                {
                    System.IO.File.WriteAllText(fileName, editorView.Buffer.Text);
                }
                if (response == (int)ResponseType.Cancel)
                {
                    cancel = true;
                }
                dialog.Destroy();
            }

            if (!cancel)
            {
                Gtk.FileChooserDialog filechooser =
                    new Gtk.FileChooserDialog("Choose the file to open",
                                              parent,
                                              FileChooserAction.Open
                                              );
                filechooser.Visible = true;
                filechooser.AddButton(Stock.Cancel, ResponseType.Cancel);
                filechooser.AddButton(Stock.Open, ResponseType.Ok);

                if (filechooser.Run() == (int)ResponseType.Ok)
                {
                    fileName = filechooser.Filename;
                    editorView.Buffer.Text = System.IO.File.ReadAllText(filechooser.Filename);
                }

                filechooser.Destroy();
                parent.Title      = fileName;
                isSaved           = true;
                saveBtn.Sensitive = false;
                save.Sensitive    = false;
                undoBtn.Sensitive = false;
                undo.Sensitive    = false;
                undoStack.Clear();
                redoBtn.Sensitive = false;
                redo.Sensitive    = false;
                redoStack.Clear();
            }
        }
Пример #8
0
        protected virtual void OnButtonInstallFromFileClicked(object sender, System.EventArgs e)
        {
            string[] files;
            Gtk.FileChooserDialog dlg = new Gtk.FileChooserDialog(Catalog.GetString("Install Add-in Package"), this, FileChooserAction.Open);
            try
            {
                if (lastFolder != null)
                {
                    dlg.SetCurrentFolder(lastFolder);
                }
                else
                {
                    dlg.SetCurrentFolder(Environment.GetFolderPath(Environment.SpecialFolder.Personal));
                }
                dlg.SelectMultiple = true;

                Gtk.FileFilter f = new Gtk.FileFilter();
                f.AddPattern("*.mpack");
                f.Name = Catalog.GetString("Add-in packages");
                dlg.AddFilter(f);

                f = new Gtk.FileFilter();
                f.AddPattern("*");
                f.Name = Catalog.GetString("All files");
                dlg.AddFilter(f);

                dlg.AddButton(Gtk.Stock.Cancel, ResponseType.Cancel);
                dlg.AddButton(Gtk.Stock.Open, ResponseType.Ok);
                if (dlg.Run() != (int)Gtk.ResponseType.Ok)
                {
                    return;
                }
                files      = dlg.Filenames;
                lastFolder = dlg.CurrentFolder;
            }
            finally
            {
                dlg.Destroy();
            }

            InstallDialog idlg = new InstallDialog(this, service);

            try
            {
                idlg.InitForInstall(files);
                if (idlg.Run() == (int)Gtk.ResponseType.Ok)
                {
                    LoadAll();
                }
            }
            finally
            {
                idlg.Destroy();
            }
        }
 protected void OnBtnExeBrowseClicked(object o, EventArgs args)
 {
     FileChooserDialog fileChooser = new FileChooserDialog("Locate SuperTux Executable", settingsDialog, FileChooserAction.Open, new object[] {});
     fileChooser.AddButton(Gtk.Stock.Cancel, Gtk.ResponseType.Cancel);
     fileChooser.AddButton(Gtk.Stock.Ok, Gtk.ResponseType.Ok);
     fileChooser.DefaultResponse = Gtk.ResponseType.Ok;
     if (fileChooser.Run() == (int)ResponseType.Ok) {
         entryExe.Text = fileChooser.Filename;
     }
     fileChooser.Destroy();
 }
 protected void OnBtnDataDirBrowseClicked(object o, EventArgs args)
 {
     FileChooserDialog fileChooser = new FileChooserDialog("Locate SuperTux Data Directory", settingsDialog, FileChooserAction.SelectFolder, new object[] {});
     fileChooser.AddButton(Gtk.Stock.Cancel, Gtk.ResponseType.Cancel);
     fileChooser.AddButton(Gtk.Stock.Ok, Gtk.ResponseType.Ok);
     fileChooser.DefaultResponse = Gtk.ResponseType.Ok;
     if (fileChooser.Run() == (int)ResponseType.Ok) {
         entryDataDir.Text = fileChooser.Filename;
     }
     fileChooser.Destroy();
 }
Пример #11
0
 protected void OnButton41Clicked(object sender, EventArgs e)
 {
     FileChooserDialog fcd = new FileChooserDialog("Select LunaLua Directory", null, FileChooserAction.SelectFolder);
     fcd.AddButton(Stock.Cancel, ResponseType.Cancel);
     fcd.AddButton(Stock.Ok, ResponseType.Ok);
     int ret = fcd.Run();
     if (ret == (int)ResponseType.Ok)
     {
         lunaLuaDirEntry.Text = fcd.Filename;
     }
     fcd.Destroy();
 }
Пример #12
0
		protected void OnButton46Clicked (object sender, EventArgs e)
		{
			Gtk.FileChooserDialog fcd = new FileChooserDialog("Save File",null, FileChooserAction.Save, new object[0]);
			fcd.AddButton("Cancel",ResponseType.Cancel);
			fcd.AddButton("OK",ResponseType.Ok);
			if((ResponseType)fcd.Run() == ResponseType.Ok) {
				_filename = fcd.Filename;
				this.entry3.Text = fcd.Filename;
			}

			fcd.Destroy();
		}
Пример #13
0
		void open_file (object sender, EventArgs e)
		{
			Gtk.FileChooserDialog fcd = new FileChooserDialog("Oopen File",null, FileChooserAction.Open, new object[0]);
			fcd.AddButton("Cancel",ResponseType.Cancel);
			fcd.AddButton("OK",ResponseType.Ok);
			if((ResponseType)fcd.Run() == ResponseType.Ok) {
				String mimetype = meticulus.servers.common.mime_types.GetMimeType(System.IO.Path.GetExtension(fcd.Filename));
				view(fcd.Filename, mimetype);
			}
			fcd.Destroy();

		}
Пример #14
0
    protected virtual void add_attachment(object sender, System.EventArgs e)
    {
        FileChooserDialog Fcd = new FileChooserDialog ("Open file", null, FileChooserAction.Open);

        Fcd.AddButton(Stock.Cancel, ResponseType.Cancel);
        Fcd.AddButton(Stock.Open, ResponseType.Ok);

        ResponseType RetVal = (ResponseType)Fcd.Run();

        if (RetVal == ResponseType.Ok)
            attach_box.Text = Fcd.Filename;

        Fcd.Destroy();
    }
        private void getDataClicked(object sender, EventArgs e)
        {
            Gtk.FileChooserDialog fcd = new Gtk.FileChooserDialog("Open File", null, Gtk.FileChooserAction.Open);
            fcd.AddButton(Gtk.Stock.Cancel, Gtk.ResponseType.Cancel);
            fcd.AddButton(Gtk.Stock.Open, Gtk.ResponseType.Ok);
            fcd.DefaultResponse = Gtk.ResponseType.Ok;
            fcd.SelectMultiple  = false;

            Gtk.ResponseType response = (Gtk.ResponseType)fcd.Run();
            if (response == Gtk.ResponseType.Ok)
            {
                dataSourceEntry.Text = fcd.Filename;
            }
            fcd.Destroy();
        }
        private void getOutputPath(object sender, EventArgs e)
        {
            Gtk.FileChooserDialog fcd = new Gtk.FileChooserDialog("Open File", null, Gtk.FileChooserAction.SelectFolder);
            fcd.AddButton(Gtk.Stock.Cancel, Gtk.ResponseType.Cancel);
            fcd.AddButton(Gtk.Stock.Open, Gtk.ResponseType.Ok);
            fcd.DefaultResponse = Gtk.ResponseType.Ok;
            fcd.SelectMultiple  = false;

            Gtk.ResponseType response = (Gtk.ResponseType)fcd.Run();
            if (response == Gtk.ResponseType.Ok)
            {
                outputPathEntry.Text = fcd.CurrentFolder;
            }
            fcd.Destroy();
        }
Пример #17
0
        // creates a custom choose dialog
        static string[] ChooseDialog(FileChooserAction action, string title, bool many)
        {
            FileChooserDialog dialog = new FileChooserDialog (title, null, action);

            if (last_folder != null)
                dialog.SetCurrentFolder (last_folder);
            if (many)
                dialog.SelectMultiple = true;

            dialog.AddButton (Stock.Cancel, ResponseType.Cancel);
            dialog.AddButton (Stock.Ok, ResponseType.Ok);

            int response = dialog.Run ();
            string[] ret = null;

            if ((ResponseType) response == ResponseType.Ok)
                ret = dialog.Filenames;
            if ((ResponseType) response == ResponseType.Cancel)
                ret = null;

            last_folder = dialog.CurrentFolder;
            dialog.Destroy ();

            if(ret != null && ret.Length == 0) ret = null;
            return ret;
        }
Пример #18
0
        //------------------------------------------------------------------------------
        static void open_cb(object sender, System.EventArgs args)
        {
            Gtk.FileChooserDialog fc = new Gtk.FileChooserDialog("Open file", null, FileChooserAction.Open);
            fc.AddButton(Stock.Cancel, ResponseType.Cancel);
            fc.AddButton(Stock.Open, ResponseType.Ok);
            fc.Filter = new FileFilter();
            fc.Filter.AddPattern("*.unit");
            fc.Filter.AddPattern("*.material");
            fc.Filter.AddPattern("*.physics");

            Console.Write(args.ToString());
            if (fc.Run() == (int)ResponseType.Ok)
            {
                UnitEditor.MainClass.g_win.open_unit(fc.Filename);
            }
            fc.Destroy();
        }
        void OnSaveAs(object sender, EventArgs args)
        {
            Gtk.FileChooserDialog filechooser =
                new Gtk.FileChooserDialog("Save file",
                                          parent,
                                          FileChooserAction.Save);
            filechooser.AddButton(Stock.Cancel, ResponseType.Cancel);
            filechooser.AddButton(Stock.Save, ResponseType.Ok);

            if (filechooser.Run() == (int)ResponseType.Ok)
            {
                System.IO.File.WriteAllText(filechooser.Filename, editorView.Buffer.Text);
                fileName          = filechooser.Filename;
                parent.Title      = fileName;
                isSaved           = true;
                saveBtn.Sensitive = false;
                save.Sensitive    = false;
            }

            filechooser.Destroy();
        }
Пример #20
0
    private void OpenFile()
    {
        Gtk.FileChooserDialog fcd = new Gtk.FileChooserDialog("Open JSON File", this, FileChooserAction.Open);
        fcd.AddButton(Stock.Cancel, ResponseType.Cancel);
        fcd.AddButton(Stock.Ok, ResponseType.Ok);
        fcd.Filter = new FileFilter();
        fcd.Filter.AddPattern("*json");
        if (fcd.Run() == (int)ResponseType.Ok)
        {
            //TODO: open the file lmao
            JsonSerializer jsr = new JsonSerializer();
            using (StreamReader sr = new StreamReader(fcd.Filename))
            {
                using (JsonReader jr = new JsonTextReader(sr))
                {
                    this.db = jsr.Deserialize<List<LuaModule>>(jr);
                }
            }
            LoadDatabaseIntoView();
        }

        fcd.Destroy();
    }
Пример #21
0
        protected virtual void OnButtonBrowseClicked(object sender, System.EventArgs e)
        {
            FileChooserDialog dlg = new FileChooserDialog ("Select Folder", this, FileChooserAction.SelectFolder);
            try {
                dlg.AddButton (Gtk.Stock.Cancel, Gtk.ResponseType.Cancel);
                dlg.AddButton (Gtk.Stock.Open, Gtk.ResponseType.Ok);

                dlg.SetFilename (Environment.GetFolderPath (Environment.SpecialFolder.Personal));
                if (dlg.Run () == (int) ResponseType.Ok) {
                    pathEntry.Text = dlg.Filename;
                }
            } finally {
                dlg.Destroy ();
            }
        }
    private void OnChoose(object o, EventArgs args)
    {
        FileChooserDialog dialog = new FileChooserDialog("Choose resource", null, FileChooserAction.Open, new object[] {});
        dialog.AddButton(Gtk.Stock.Cancel, Gtk.ResponseType.Cancel);
        dialog.AddButton(Gtk.Stock.Open, Gtk.ResponseType.Ok);
        dialog.DefaultResponse = Gtk.ResponseType.Ok;

        dialog.Action = FileChooserAction.Open;
        dialog.SetFilename(Settings.Instance.SupertuxData + entry.Text);
        int result = dialog.Run();
        if(result != (int) ResponseType.Ok) {
            dialog.Destroy();
            return;
        }

        if(dialog.Filename.StartsWith(Settings.Instance.SupertuxData))
            entry.Text = dialog.Filename.Substring(Settings.Instance.SupertuxData.Length,
                                                   dialog.Filename.Length - Settings.Instance.SupertuxData.Length);
        else
            entry.Text = System.IO.Path.GetFileName(dialog.Filename);
        // Fixes backslashes on windows:
        entry.Text = entry.Text.Replace("\\", "/");
        dialog.Destroy();
    }
Пример #23
0
        public Gtk.FileChooserDialog CreateChooser(string title, FileChooserAction action)
        {
            var chooser = new Gtk.FileChooserDialog(title, this.Window, action)
            {
                DefaultResponse = ResponseType.Ok
            };

            chooser.AddButton(Stock.Cancel, ResponseType.Cancel);
            chooser.AddFilter(GtkUtilities.GetFileFilter(Catalog.GetString("PDF Documents"), new string [] { "pdf" }));
            chooser.AddFilter(GtkUtilities.GetFileFilter(Catalog.GetString("All Files"), new string [] { "*" }));

            var dirs = new string [] { "DOWNLOAD", "DOCUMENTS" }.Select(s => GetXdgDir(s))
            .Where(d => d != null)
            .ToArray();

            Hyena.Gui.GtkUtilities.SetChooserShortcuts(chooser, dirs);

            return(chooser);
        }
Пример #24
0
        void OnBrowse(object o, EventArgs args)
        {
            FileChooserDialog chooser_dialog = new FileChooserDialog (
                Catalog.GetString ("Open Location") , null,
                browse_file ? FileChooserAction.Open : FileChooserAction.SelectFolder);

            if (browse_file) {
                if (default_dir != null)
                    chooser_dialog.SetCurrentFolder (default_dir);
            }
            else {
                chooser_dialog.SetCurrentFolder (filename.Text);
            }

            chooser_dialog.AddButton (Stock.Cancel, ResponseType.Cancel);
            chooser_dialog.AddButton (Stock.Open, ResponseType.Ok);
            chooser_dialog.DefaultResponse = ResponseType.Ok;
            chooser_dialog.LocalOnly = false;

            if (filters != null) {
                foreach (Gtk.FileFilter filter in filters)
                    chooser_dialog.AddFilter (filter);
            }

            if (chooser_dialog.Run () == (int) ResponseType.Ok) {
                filename.Text = chooser_dialog.Filename;

                if (FileSelectedChanged != null)
                    FileSelectedChanged (this, EventArgs.Empty);
            }

            chooser_dialog.Destroy ();
        }
Пример #25
0
        // Add more wallpapers
        private void OnAddWallpapersClicked(object sender, EventArgs args)
        {
            FileChooserDialog fc = new FileChooserDialog(Catalog.GetString("Add wallpaper"), winPref, FileChooserAction.Open);

            // Settings
            fc.LocalOnly = true;				// Only local files
            fc.SelectMultiple = true;			// Users can select multiple images at a time
            fc.Filter = new FileFilter();		// Filter
            fc.Filter.AddPixbufFormats();		// Add pixmaps

            // Add buttons
            fc.AddButton(Stock.Cancel, ResponseType.Cancel);
            fc.AddButton(Stock.Open , ResponseType.Ok);

            // Try to goto the monitor dir if monitoring is enabled, else goto documents
            if (DrapesApp.Cfg.MonitorEnabled == true)
                fc.SetUri(DrapesApp.Cfg.MonitorDirectory);
            else
                fc.SetUri(Environment.GetEnvironmentVariable("HOME") + "/Documents");

            ListStore FileOptions = new ListStore(typeof(string), typeof(string));

            FileOptions.AppendValues(Catalog.GetString("Images"), Stock.File);
            FileOptions.AppendValues(Catalog.GetString("Directory"), Stock.Directory);

            ComboBox ChooserType = new ComboBox(FileOptions);
            ChooserType.Active = 0;

            CellRendererPixbuf fTypeImage = new CellRendererPixbuf();
            CellRendererText fTypeText = new CellRendererText();
            ChooserType.PackStart(fTypeImage, false);
            ChooserType.PackStart(fTypeText, true);

            CellLayoutDataFunc renderer = delegate (CellLayout layout, CellRenderer cell, TreeModel model, TreeIter iter)
            {
                if (cell == fTypeText) {
                    (cell as CellRendererText).Text = (string) model.GetValue(iter, 0);
                } else if (cell == fTypeImage) {
                    if (model.GetValue(iter, 1) != null) {
                        (cell as CellRendererPixbuf).StockId = (string) model.GetValue(iter, 1);
                    } else
                        (cell as CellRendererPixbuf).StockId = null;
                }
            };

            ChooserType.SetCellDataFunc(fTypeText, renderer);
            ChooserType.SetCellDataFunc(fTypeImage, renderer);

            // changed event is just going to be anonymous method
            ChooserType.Changed += delegate (object dSender, EventArgs dArgs)
            {
                ComboBox cb = (ComboBox) dSender;

                if (cb.Active == 0) {
                    fc.SelectMultiple = true;
                    fc.Action = FileChooserAction.Open;
                } else {
                    fc.SelectMultiple = false;
                    fc.Action = FileChooserAction.SelectFolder;
                }
            };

            fc.ExtraWidget = new HBox(false, 10);
            (fc.ExtraWidget as HBox).PackEnd(ChooserType, false, false, 0);
            (fc.ExtraWidget as HBox).PackEnd(new Label(Catalog.GetString("Import type:")), false, false, 0);

            fc.ExtraWidget.ShowAll();

            // Show the dialog
            int r = fc.Run();

            if ((ResponseType) r == ResponseType.Ok) {
                if (fc.Action == FileChooserAction.SelectFolder)
                    DrapesApp.WpList.AddDirectory(fc.Filename);
                else
                    DrapesApp.WpList.AddFiles(fc.Filenames);
            }

            // Get rid of the window
            fc.Destroy();
        }
Пример #26
0
    public void HandleOpen(object o, EventArgs ev)
    {
        FileChooserDialog chooser = new FileChooserDialog(
            "Open Handwriting", null, FileChooserAction.Open);
        chooser.SetCurrentFolder(Environment.GetFolderPath(
            Environment.SpecialFolder.Personal));
        chooser.AddButton(Gtk.Stock.Cancel, ResponseType.Cancel);
        chooser.AddButton(Gtk.Stock.Ok, ResponseType.Ok);
        chooser.DefaultResponse = ResponseType.Ok;

        if(chooser.Run() == (int)ResponseType.Ok) {
            string path = (new Uri(chooser.Uri)).AbsolutePath;
            XmlTextReader xml = new XmlTextReader(path);
            handwriting.Clear();
            handwriting.Deserialize(xml);
            xml.Close();
            updateUndo();
            hasChanged = false;
        }

        chooser.Destroy();
    }
Пример #27
0
    public void HandleExport(object o, EventArgs ev)
    {
        FileChooserDialog chooser = new FileChooserDialog(
            "Export Handwriting to PNG", null, FileChooserAction.Save);
        chooser.SetCurrentFolder(Environment.GetFolderPath(
            Environment.SpecialFolder.Personal));
        chooser.AddButton(Gtk.Stock.Cancel, ResponseType.Cancel);
        chooser.AddButton(Gtk.Stock.Ok, ResponseType.Ok);
        chooser.DefaultResponse = ResponseType.Ok;

        if(chooser.Run() == (int)ResponseType.Ok) {
            string path = (new Uri(chooser.Uri)).AbsolutePath;
            Cairo.ImageSurface surface = new Cairo.ImageSurface(Cairo.Format.ARGB32,
                 handwriting.Allocation.Width, handwriting.Allocation.Height);
            handwriting.DrawToSurface(surface, handwriting.Allocation);
            Console.WriteLine("PNG saved to {0}", path);
            surface.WriteToPng(path);
        }

        chooser.Destroy();
    }
        private void buttonLogLocationClick(object sender, EventArgs e) {
            Log.Debug("buttonLogLocationClick");
            // Thanks Petteri Kautonen - http://mono.1490590.n4.nabble.com/Gtk-sharp-list-FileOpenDialog-td1544553.html
            var dialog = new FileChooserDialog("Select folder to save the log files:",
                null, FileChooserAction.SelectFolder);

            var preferences = getModelFromFields();

            dialog.SetCurrentFolder(preferences.LogLocation);

            dialog.AddButton(Stock.Cancel, ResponseType.Cancel);
            dialog.AddButton(Stock.Ok, ResponseType.Ok);

            var result = (ResponseType) dialog.Run();
            if (result == ResponseType.Ok) {
                Preferences.LogLocation = preferences.LogLocation = dialog.CurrentFolder;
                setFieldsFromModel(preferences);
            }

            dialog.Destroy();
        }
Пример #29
0
        /** Opens the file dialogue which is used to load in new templates
         *  for drawings to be matched against. It loads in the XML file and adds to the
         *  template list.
         *
         * Note: The file paths have only been tested on Windows
         */
        public static void openLoadDialogue()
        {
            //Initial setup of the dialogue with settings
            FileChooserDialog fileChooser = new FileChooserDialog ("Open File", null, FileChooserAction.Open);
            fileChooser.AddButton (Stock.Cancel, ResponseType.Cancel);
            fileChooser.AddButton (Stock.Open, ResponseType.Ok);

            fileChooser.Filter = new FileFilter ();
            fileChooser.Filter.AddPattern ("*.xml");

            string tmp = System.IO.Directory.GetCurrentDirectory();
            string newTmp = tmp + "/../../Gestures/";
            fileChooser.SetCurrentFolder (newTmp);

            fileChooser.SelectMultiple = true;

            ResponseType retVal = (ResponseType)fileChooser.Run ();

            //If the user preses 'Ok', it calls the XML parser for loading in files
            //and adds to the list.
            if (retVal == ResponseType.Ok) {
                foreach (string file in fileChooser.Filenames) {
                    Recognizer.templateList.Add (XMLParser.LoadGesture (file));
                }
                //Uncomment if printout of full list of loaded gestures is wanted
                /*foreach (GestureTemplate.template tmpl in Recognizer.templateList){
                    Console.WriteLine ("name: {0}", tmpl.name);
                }*/
            }

            fileChooser.Destroy ();
        }
Пример #30
0
        /* GS Result*/
        public void GSResult(gsParamState_t gs_result)
        {
            TempFile tempfile = null;

            if (gs_result.outputfile != null)
            {
                tempfile = new TempFile(gs_result.outputfile);
            }

            if (gs_result.result == GS_Result_t.gsCANCELLED)
            {
                if (tempfile != null)
                {
                    try
                    {
                        tempfile.DeleteFile();
                    }
                    catch
                    {
                        ShowMessage(NotifyType_t.MESS_STATUS, "Problem Deleting Temp File");
                    }
                }
                return;
            }
            if (gs_result.result == GS_Result_t.gsFAILED)
            {
                ShowMessage(NotifyType_t.MESS_STATUS, "GS Failed Conversion");
                if (tempfile != null)
                {
                    try
                    {
                        tempfile.DeleteFile();
                    }
                    catch
                    {
                        ShowMessage(NotifyType_t.MESS_STATUS, "Problem Deleting Temp File");
                    }
                }
                return;
            }

            switch (gs_result.task)
            {
            case GS_Task_t.PS_DISTILL:
                m_origfile = gs_result.inputfile;

                Gtk.FileChooserDialog dialog = new Gtk.FileChooserDialog("Save Document",
                                                                         (Gtk.Window) this.Toplevel,
                                                                         Gtk.FileChooserAction.Save);
                dialog.LocalOnly = true;
                dialog.AddButton(Gtk.Stock.Cancel, Gtk.ResponseType.Cancel);
                dialog.AddButton(Gtk.Stock.Save, Gtk.ResponseType.Yes);
                dialog.SetFilename(System.IO.Path.GetFileNameWithoutExtension(m_origfile) + ".pdf");

                Gtk.FileFilter filter = new Gtk.FileFilter();
                filter.Name = "doc/pdf";
                filter.AddMimeType("application/pdf");
                filter.AddPattern("*.pdf");
                dialog.Filter = filter;

                int response = dialog.Run();
                if (response == (int)Gtk.ResponseType.Yes)
                {
                    m_currfile = dialog.Filename;
                    try
                    {
                        if (System.IO.File.Exists(m_currfile))
                        {
                            System.IO.File.Delete(m_currfile);
                        }

                        var res = System.IO.File.Exists(tempfile.Filename);
                        System.IO.File.Copy(tempfile.Filename, dialog.Filename);
                    }
                    catch (Exception except)
                    {
                        ShowMessage(NotifyType_t.MESS_ERROR, "Exception Saving Distilled Result:" + except.Message);
                    }
                }

                dialog.Destroy();
                tempfile.DeleteFile();
                break;
            }
        }
Пример #31
0
        protected virtual void OnButtonInstallFromFileClicked(object sender, System.EventArgs e)
        {
            string[] files;
            Gtk.FileChooserDialog dlg = new Gtk.FileChooserDialog (Catalog.GetString ("Install Add-in Package"), this, FileChooserAction.Open);
            try {
                if (lastFolder != null)
                    dlg.SetCurrentFolder (lastFolder);
                else
                    dlg.SetCurrentFolder (Environment.GetFolderPath (Environment.SpecialFolder.Personal));
                dlg.SelectMultiple = true;

                Gtk.FileFilter f = new Gtk.FileFilter ();
                f.AddPattern ("*.mpack");
                f.Name = Catalog.GetString ("Add-in packages");
                dlg.AddFilter (f);

                f = new Gtk.FileFilter ();
                f.AddPattern ("*");
                f.Name = Catalog.GetString ("All files");
                dlg.AddFilter (f);

                dlg.AddButton (Gtk.Stock.Cancel, ResponseType.Cancel);
                dlg.AddButton (Gtk.Stock.Open, ResponseType.Ok);
                if (dlg.Run () != (int) Gtk.ResponseType.Ok)
                    return;
                files = dlg.Filenames;
                lastFolder = dlg.CurrentFolder;
            } finally {
                dlg.Destroy ();
            }

            InstallDialog idlg = new InstallDialog (this, service);
            try {
                idlg.InitForInstall (files);
                if (idlg.Run () == (int) Gtk.ResponseType.Ok)
                    LoadAll ();
            } finally {
                idlg.Destroy ();
            }
        }
Пример #32
0
    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.");
    }
Пример #33
0
    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.");
    }
Пример #34
0
        string[] ChooseFiles(string dialogTitle)
        {
            FileChooserDialog fcDialog = new FileChooserDialog(
                dialogTitle, this, FileChooserAction.Open);
            fcDialog.AddButton("_Cancel", ResponseType.Cancel);
            fcDialog.AddButton("_Add", ResponseType.Ok);

            string[] files = new string[0];

            fcDialog.Response += (o, args) =>
                {
                    if (args.ResponseId == ResponseType.Ok)
                        files = fcDialog.Filenames;

                    fcDialog.Destroy();
                };

            fcDialog.Run();
            return files;
        }
Пример #35
0
Файл: Util.cs Проект: MrJoe/lat
        public static void ExportData(Connection conn, Gtk.Window parent, string dn)
        {
            FileChooserDialog fcd = new FileChooserDialog (
                Mono.Unix.Catalog.GetString ("Save LDIF export as"),
                Gtk.Stock.Save,
                parent,
                FileChooserAction.Save);

            fcd.AddButton (Gtk.Stock.Cancel, ResponseType.Cancel);
            fcd.AddButton (Gtk.Stock.Save, ResponseType.Ok);

            fcd.SelectMultiple = false;

            ResponseType response = (ResponseType) fcd.Run();
            if (response == ResponseType.Ok)  {

                string data = export (conn, dn);

                try {

                    using (StreamWriter sw = new StreamWriter(fcd.Filename))
                    {
                        sw.Write (data);
                    }

                } catch (Exception e) {

                    Log.Debug (e);

                    HIGMessageDialog dialog = new HIGMessageDialog (
                        parent,
                        0,
                        Gtk.MessageType.Error,
                        Gtk.ButtonsType.Ok,
                        "Export error",
                        e.Message);

                    dialog.Run ();
                    dialog.Destroy ();
                }
            }

            fcd.Destroy();
        }
Пример #36
0
        private void Open(FileChooserAction action)
        {
            string title = Catalog.GetString ("Open");

            if (action == FileChooserAction.SelectFolder)
                title = Catalog.GetString ("Select Folder");

            FileChooserDialog chooser = new FileChooserDialog (title,
                                       Window,
                                       action);

            chooser.AddButton (Stock.Cancel, ResponseType.Cancel);
            chooser.AddButton (Stock.Open, ResponseType.Ok);

            chooser.SetUri (uri.ToString ());
            int response = chooser.Run ();

            if ((ResponseType) response == ResponseType.Ok)
                CurrentUri = new SafeUri (chooser.Uri, true);

            chooser.Destroy ();
        }
Пример #37
0
        public string ImportInstance()
        {
            FileChooserDialog browserDlg = new FileChooserDialog(
                "Import .minecraft folder", this, FileChooserAction.SelectFolder);
            browserDlg.SelectMultiple = false;

            browserDlg.AddButton("_Cancel", 0);
            browserDlg.AddButton("_Select Folder", 1);

            int response = browserDlg.Run();

            if (response == 1)
            {
                return browserDlg.Filename;
            }
            else
            {
                return null;
            }
        }
Пример #38
0
    public bool DoSaveDialog()
    {
        bool retval = false;

        FileChooserDialog chooser = new FileChooserDialog(
            "Save Handwriting", null, FileChooserAction.Save);
        chooser.SetCurrentFolder(Environment.GetFolderPath(
            Environment.SpecialFolder.Personal));
        chooser.AddButton(Gtk.Stock.Cancel, ResponseType.Cancel);
        chooser.AddButton(Gtk.Stock.Ok, ResponseType.Ok);
        chooser.DefaultResponse = ResponseType.Ok;

        if(chooser.Run() == (int)ResponseType.Ok) {
            string path = (new Uri(chooser.Uri)).AbsolutePath;
            XmlTextWriter xml = new XmlTextWriter(path,
                System.Text.Encoding.UTF8);
            xml.Formatting = Formatting.Indented;
            handwriting.Serialize(xml);
            xml.Close();
            hasChanged = false;
            retval = true;
        }

        chooser.Destroy();
        return retval;
    }
Пример #39
0
        /** Opens the save dialogue and takes in a list of type PointD and saves
         * the list of points to the specified XML file.
         *
         * Points: List of user-drawn points on the drawing area
         *
         * Note: The file paths have only been tested on Windows
         */
        public static void openSaveDialogue(List<PointD> points)
        {
            //Initial setup of the save dialog
            FileChooserDialog fileChooser = new FileChooserDialog ("Save", null, FileChooserAction.Save);
            fileChooser.AddButton (Stock.Cancel, ResponseType.Cancel);
            fileChooser.AddButton (Stock.Ok, ResponseType.Ok);

            string tmp = System.IO.Directory.GetCurrentDirectory();
            string newTmp = tmp + "/../../Gestures/";
            fileChooser.SetCurrentFolder (newTmp);

            fileChooser.SelectMultiple = false;

            ResponseType retVal = (ResponseType)fileChooser.Run ();

            //String manipluation to get the correct file name being saved
            if (retVal == ResponseType.Ok) {
                string saveFileName = "";
                string[] strippedFileName = { "", "" };

                string newFile = fileChooser.Filename.Trim ();
                if (!newFile.EndsWith(".xml", true, null))
                {
                    int nameLength = newFile.Length - newFile.LastIndexOf ("\\");
                    saveFileName = newFile.Substring(newFile.LastIndexOf("\\"), nameLength);
                    strippedFileName = saveFileName.Split('\\');
                    Console.WriteLine (strippedFileName[1]);
                    newFile += ".xml";
                }
                if (File.Exists (newFile)) {
                    File.Delete (newFile);
                }
                FileStream fs = File.Create (newFile);
                fs.Close ();
                XMLParser.WriteGesture (points, strippedFileName[1], newFile);

                GestureTemplate.template newTemplate = new GestureTemplate.template (strippedFileName[1], points);

                Recognizer.templateList.Add (newTemplate);
            }

            fileChooser.Destroy ();
        }
Пример #40
0
        public MainWindow()
            : base(Gtk.WindowType.Toplevel)
        {
            // new Integrator
            _h = 0.01; //delta t
            _maxTime = 500;
            _timer = new TriggeredTimer (100);
            _timer.Elapsed += delegate(object sender, EventArgs e) {
                Gtk.Application.Invoke (delegate {
                    _timeValue = _timeValue + _h*5;
                    slideTime.Value = _timeValue;
                    RepaintAll();
                });
            };
            _settings = new SettingsChimera ();
            AWP awp = _settings.AWP;
            _int = new Integrator (_h, _maxTime, awp);

            _int.AWP.Changed += AwpChanged;
            _playing = false;
            _timeValue = 0;
            _int.EditMode = true;
            Build ();

            _surfaces = new SurfaceList(4, "j");
            Table tbl = _surfaces;

            this.contentColumns.Add (tbl);
            global::Gtk.Box.BoxChild wtbl = ((global::Gtk.Box.BoxChild)(this.contentColumns [tbl]));
            wtbl.Position = 0;

            _fileOpenDialog = new FileChooserDialog ("Anfangswert öffnen", this, FileChooserAction.Open);
            _fileOpenDialog.AddButton(Stock.Cancel, ResponseType.Cancel);
            _fileOpenDialog.AddButton(Stock.Open, ResponseType.Ok);

            _fileOpenDialog.Filter = new FileFilter();
            _fileOpenDialog.Filter.AddPattern("*.awp");

            _fileSaveDialog = new FileChooserDialog ("Anfangswert speichern", this, FileChooserAction.Save);
            _fileSaveDialog.AddButton(Stock.Cancel, ResponseType.Cancel);
            _fileSaveDialog.AddButton(Stock.Save, ResponseType.Ok);

            _fileSaveDialog.Filter = new FileFilter();
            _fileSaveDialog.Filter.AddPattern("*.awp");

            _filePlotDialog = new FileChooserDialog ("Grafiken exportieren", this, FileChooserAction.CreateFolder);
            _filePlotDialog.AddButton(Stock.Cancel, ResponseType.Cancel);
            _filePlotDialog.AddButton("Exportieren", ResponseType.Ok);

            ValueSurfaceItem vsi_real = new ValueSurfaceItem (1500, 500, 500, 100, "x<sub>j</sub>");
            vsi_real.ValueExtractor = new Func<Complex, double> (delegate(Complex z) {
                return z.Real;
            });
            //vsi_real.YLimUp = 1.2;
            //vsi_real.YLimDown = -1.2;
            ValueSurfaceItem vsi_imag = new ValueSurfaceItem (1500, 500, 500, 100, "y<sub>j</sub>");
            vsi_imag.ValueExtractor = new Func<Complex, double> (delegate(Complex z) {
                return z.Imaginary;
            });
            //vsi_imag.YLimUp = 1.2;
            //vsi_imag.YLimDown = -1.2;
            ValueSurfaceItem vsi_magn = new ValueSurfaceItem (1500, 500, 500, 100, "r<sub>j</sub>");
            //vsi_magn.YLimDown = 0;
            vsi_magn.ValueExtractor = new Func<Complex, double> (delegate(Complex z) {
                return z.Magnitude;
            });
            //vsi_magn.YLimUp = 1.2;
            //vsi_magn.YLimDown = -0.2;
            ValueSurfaceItem vsi_phas = new ValueSurfaceItem (1500, 500, 500, 100, "φ<sub>j</sub>");
            vsi_phas.ValueExtractor = new Func<Complex, double> (delegate(Complex z) {
                return z.Phase;
            });
            //vsi_phas.YLimUp = 3.2;
            //vsi_phas.YLimDown = -3.2;

            vsi_real.PointChanged += delegate(object sender, OdePointEventArgs e) {
                modY [e.Index] = new Complex (e.Value.Real, modY [e.Index].Imaginary);
                _int.AWP.Y = modY;
                RepaintAll ();
            };
            vsi_real.RedrawRequired += SurfaceRedrawRequired;
            vsi_imag.PointChanged += delegate(object sender, OdePointEventArgs e) {
                modY [e.Index] = new Complex (modY[e.Index].Real, e.Value.Real);
                _int.AWP.Y = modY;
                RepaintAll ();
            };
            vsi_imag.RedrawRequired += SurfaceRedrawRequired;
            vsi_magn.PointChanged += delegate(object sender, OdePointEventArgs e) {
                modY [e.Index] = Complex.FromPolarCoordinates(Math.Max(0, e.Value.Real), modY[e.Index].Phase);
                _int.AWP.Y = modY;
                RepaintAll ();
            };
            vsi_magn.RedrawRequired += SurfaceRedrawRequired;
            vsi_magn.AxisProperties.ZeroPosition = 0.92;
            vsi_magn.AxisProperties.AddValue(0, "0");
            vsi_phas.PointChanged += delegate(object sender, OdePointEventArgs e) {
                modY [e.Index] = Complex.FromPolarCoordinates(modY[e.Index].Magnitude, e.Value.Real);
                _int.AWP.Y = modY;
                RepaintAll ();
            };
            vsi_phas.RedrawRequired += SurfaceRedrawRequired;
            vsi_phas.AxisProperties = AxisProperties.CreateStatic (vsi_phas, -3.8, 3.8);
            vsi_phas.AxisProperties.MaxCount = 3;
            vsi_phas.AxisProperties.AddValue(Math.PI, "π");
            vsi_phas.AxisProperties.AddValue(0, "0");
            vsi_phas.AxisProperties.AddValue(-Math.PI, "-π");

            _surfaces.Add (vsi_real);
            _surfaces.Add (vsi_imag);
            _surfaces.Add (vsi_magn);
            _surfaces.Add (vsi_phas);

            _portrait = new PhasePortraitSurfaceItem (500, 300);
            _portrait.PointAdded += delegate(object sender, OdePointEventArgs e) {
                Complex[] n = new Complex[modY.Length + 1];
                Array.Copy (modY, n, modY.Length);
                n [modY.Length] = e.Value;

                modY = n;
                _int.AWP.Y = modY;
                numN.Value = n.Length;
                RepaintAll ();
            };
            _portrait.Clear ();
            _portrait.RedrawRequired += SurfaceRedrawRequired;

            this.boxPhase.Add (_portrait);
            global::Gtk.Box.BoxChild wp = ((global::Gtk.Box.BoxChild)(this.boxPhase [_portrait]));
            wp.Position = 0;

            ShowAll ();

            slideTime.SetIncrements (_h, Math.Max (_h, _maxTime / 100));
            slideTime.SetRange (0, _maxTime);

            slideBeta.Digits = 2;
            slideK.Digits = 1;
            slideLambda.Digits = 1;
            slideOmega.Digits = 1;

            slideBeta.Value = _int.AWP.Beta;
            slideK.Value = _int.AWP.K;
            slideLambda.Value = _int.AWP.Lambda;
            slideOmega.Value = _int.AWP.Omega;
            //slideTime.Value = 0;
            numN.Value = _int.AWP.N;
            numP.Value = _int.AWP.P;

            _int.CalculationStarted += HandleCalculationStarted;
            _int.CalculationFinished += (object sender, EventArgs e) => {
                Gtk.Application.Invoke (delegate {
                    progressStatus.Visible = false;
                    lblStatus.Text = "Berechnung abgeschlossen";
                });
            };
            _int.TimeRange += (object sender, TimeRangeEventArgs e) => {
            //	slideTime.SetRange (0, e.Time);
                RepaintAll();
                Gtk.Application.Invoke (delegate {
                    progressStatus.Fraction = e.Time / _maxTime;
                });
            };

            _mode = ProgramMode.Investigation;
            ProgramMode = ProgramMode.Presentation;
            _int.EditMode = false;
        }
Пример #41
0
    void OnOpen(object obj, EventArgs args)
    {
        string s = null;

        using (FileChooserDialog fd = new FileChooserDialog ("Select a profile", this, FileChooserAction.Open)) {
            fd.AddButton (Gtk.Stock.Cancel, Gtk.ResponseType.Cancel);
            fd.AddButton (Gtk.Stock.Open, Gtk.ResponseType.Ok);

            FileFilter filter_all = new FileFilter ();
            filter_all.AddPattern ("*");
            filter_all.Name = "All Files";

            FileFilter filter_prof = new FileFilter ();
            filter_prof.AddMimeType ("application/x-mono-heap-prof");
            filter_prof.Name = "Mono Heap Profiles";

            fd.AddFilter (filter_all);
            fd.AddFilter (filter_prof);
            fd.Filter = filter_prof;

            if (fd.Run () == (int) ResponseType.Ok)
                s = fd.Filename;

            fd.Destroy ();
        }

        if (s != null)
            Open (s);
    }
Пример #42
0
        public void on_open_activate(System.Object b, EventArgs e)
        {
            statusbar.Pop (gameStatusbarId);

                        FileChooserDialog fd = new FileChooserDialog (Catalog.GetString ("Open Game"), csboardWindow, FileChooserAction.Open);

            fd.AddButton (Stock.Close, (int) ResponseType.Close);
                        fd.AddButton (Stock.Open, (int) ResponseType.Ok);

                        if (fd.Run () == (int)ResponseType.Ok) {
                                control.OpenGame (fd.Filename);
                                control.SaveGame(App.session.Filename);
                                }
                        fd.Hide ();
                        fd.Dispose ();
        }
Пример #43
0
        //------------------------------------------------------------------------------
        static void open_cb(object sender, System.EventArgs args)
        {
            Gtk.FileChooserDialog fc = new Gtk.FileChooserDialog("Open file", null, FileChooserAction.Open);
            fc.AddButton(Stock.Cancel, ResponseType.Cancel);
            fc.AddButton(Stock.Open, ResponseType.Ok);
            fc.Filter = new FileFilter();
            fc.Filter.AddPattern("*.unit");
            fc.Filter.AddPattern("*.material");
            fc.Filter.AddPattern("*.physics");

            Console.Write (args.ToString ());
            if (fc.Run() == (int)ResponseType.Ok)
            {
                UnitEditor.MainClass.g_win.open_unit (fc.Filename);
            }
            fc.Destroy();
        }
Пример #44
0
        public void on_save_activate(System.Object b, EventArgs e)
        {
            FileChooserDialog fd = new FileChooserDialog (Catalog.GetString("Save Game"), csboardWindow, FileChooserAction.Save);

            fd.AddButton (Stock.Close, (int) ResponseType.Close);
                        fd.AddButton (Stock.Save, (int) ResponseType.Ok);

                        int res = fd.Run();
            fd.Hide ();

                        if (res == (int) ResponseType.Ok) {

                                        if (System.IO.File.Exists (fd.Filename)) {
                                                MessageDialog md =
                                                new MessageDialog (csboardWindow,
                                                           DialogFlags.
                                                           DestroyWithParent,
                                                           MessageType.Warning,
                                                           ButtonsType.OkCancel,
                                                           Catalog.GetString("File ") + fd.Filename +
                                                           Catalog.GetString(" already exists\n\n") +
                                                           Catalog.GetString("Do you wish to overwrite it?"));
                                                if (md.Run () == (int)ResponseType.Ok) {
                                                        control.SaveGame (fd.Filename);
                                                }
                                                md.Hide ();
                                                md.Dispose ();
                                        } else {
                                                control.SaveGame (fd.Filename);
                                        }
                                }

                        fd.Dispose ();
        }