Пример #1
0
        private Button BuzzerToPlayer(IPlayer player, Label infoLabel)
        {
            var b = new Button();

            b.Label    = "Buzzer zuweisen";
            b.Clicked += delegate {
                CurrentDialog = new Gtk.MessageDialog(null, Gtk.DialogFlags.Modal, Gtk.MessageType.Question, Gtk.ButtonsType.Cancel, "Bitte Gewünschten Button drücken!");
                WaitForPlayer = player;

                MessageBus.Instance.BuzzHelper.WaitForPress();

                var result = (ResponseType)CurrentDialog.Run();

                if (result == ResponseType.None)
                {
                    infoLabel.Text = WaitForPlayer.Button.ToString();
                }
                else
                {
                    infoLabel.Text = String.Empty;
                }

                CurrentDialog.Dispose();
                CurrentDialog = null;
                WaitForPlayer = null;
                MessageBus.Instance.BuzzHelper.CancelWait();
            };
            return(b);
        }
Пример #2
0
        /// <summary>Show a message in a dialog box</summary>
        /// <param name="message">The message.</param>
        /// <param name="title">Title of the dialog.</param>
        /// <param name="msgType">Message type (info, warning, error, ...).</param>
        /// <param name="buttonType">Type of buttons to be shown in the dialog.</param>
        /// <param name="errorLevel">The error level.</param>
        /// <param name="masterWindow">The main window.</param>
        public int ShowMsgDialog(string message, string title, Gtk.MessageType msgType, Gtk.ButtonsType buttonType, Window masterWindow)
        {
            MessageDialog md = new Gtk.MessageDialog(masterWindow, Gtk.DialogFlags.Modal,
                                                     msgType, buttonType, message);

            md.Title          = title;
            md.WindowPosition = WindowPosition.Center;
            int result = md.Run();

            md.Dispose();
            return(result);
        }
Пример #3
0
        public static int Main(string [] args)
        {
            Application.Init ();

            Catalog.Init (Config.packageName, Config.prefix + "/share/locale");

            try {

                session = new Session ();

                string filename = null;

                if (args.Length == 1 && System.IO.File.Exists (args[0])) {
                   filename = args[0];
                }

                            ChessWindow win = new ChessWindow (filename);

                            Application.Run ();

            } catch (ApplicationException) {
                return 1;
            } catch (System.Exception e) {

                 try {
                     MessageDialog md =
                                                new MessageDialog (null,
                                                                   DialogFlags.
                                                               DestroyWithParent,
                                                               MessageType.Error,
                                                                   ButtonsType.Close,
                                           Catalog.GetString ("An unexpected exception occured:\n\n") +
                                       e.ToString() + "\n" +
                                                       Catalog.GetString ("Please report about this exception to \n") +
                                      "Nickolay V. Shmyrev <*****@*****.**>");

                     md.Run ();
                                 md.Hide ();
                                 md.Dispose ();

                 } catch (Exception ex) {

                     throw e;

                     }
            }

            return 0;
        }
Пример #4
0
 public void DoCancel()
 {
     Gtk.MessageDialog qdlg = new Gtk.MessageDialog(this, Gtk.DialogFlags.Modal, Gtk.MessageType.Warning,
                                                    Gtk.ButtonsType.YesNo, Catalog.GetString("Cancelling an export will result in an invalid GPX file.\nAre you sure?"));
     if ((int)ResponseType.Yes == qdlg.Run())
     {
         qdlg.Hide();
         qdlg.Dispose();
         this.Hide();
         this.Dispose();
         m_writer.Cancel = true;
         return;
     }
     qdlg.Hide();
     this.ShowNow();
 }
 public void DoCancel()
 {
     Gtk.MessageDialog qdlg = new Gtk.MessageDialog (this, Gtk.DialogFlags.Modal, Gtk.MessageType.Warning,
                                                    Gtk.ButtonsType.YesNo, Catalog.GetString("Cancelling an export will result in an invalid GPX file.\nAre you sure?"));
     if ((int) ResponseType.Yes == qdlg.Run())
     {
         qdlg.Hide();
         qdlg.Dispose();
         this.Hide();
         this.Dispose();
         m_writer.Cancel = true;
         return;
     }
     qdlg.Hide();
     this.ShowNow();
 }
Пример #6
0
        void HandleExceptionManagerUnhandledException(UnhandledExceptionArgs args)
        {
            Exception ex = (Exception)args.ExceptionObject;

            Console.WriteLine("Unhandled Exception: {0}", ex.GetType ().ToString ());
            Console.WriteLine("\t{0}", ex.Message);
            Console.WriteLine("\t{0}", ex.Source);
            Console.WriteLine("\t{0}", ex.StackTrace);

            MessageDialog d = new MessageDialog (null, DialogFlags.Modal, MessageType.Error,
                                                 ButtonsType.Close, true, "<b>{0}</b>: {1} at <i>{2}</i>",
                                                 ex.GetType ().ToString(),
                                                 ex.Message, ex.Source);
            d.Run ();
            d.Hide ();
            d.Dispose ();
            args.ExitApplication = true;
        }
Пример #7
0
        /// <summary>
        /// Gets pastebin user key.
        /// </summary>
        /// <param name="sender">Sender.</param>
        /// <param name="args">Event arguments.</param>
        private void OnButtonPastebinLoginClicked(object sender, EventArgs e)
        {
            MessageDialog dialog;

            if (this.pastebinUsername.Text.Length == 0 || this.labelPastebinPassword.Text.Length == 0)
            {
                dialog = new MessageDialog(null, DialogFlags.Modal, MessageType.Error, ButtonsType.Ok, false, Catalog.GetString("Username and password are required."));
                dialog.Run();
                dialog.Destroy();
                dialog.Dispose();
            }
            else
            {
                this.buttonPastebinLogin.Sensitive = false;
                ThreadPool.QueueUserWorkItem((state) =>
                {
                    string key = Uploaders.Pastebin.GetUserKey(this.pastebinUsername.Text, this.pastebinPassword.Text);

                    Application.Invoke((s, ev) =>
                    {
                        if (key.StartsWith("Bad") || key.StartsWith(Catalog.GetString("Error: ")))
                        {
                            this.SetPastebinSensitivity(false);
                            dialog = new MessageDialog(null, DialogFlags.Modal, MessageType.Error, ButtonsType.Ok, false, Catalog.GetString("Invalid username or password."));
                            dialog.Run();
                            dialog.Destroy();
                            dialog.Dispose();
                        }
                        else
                        {
                            Core.Settings.Instance[SettingsKeys.PastebinUserKey] = key;
                            dialog = new MessageDialog(null, DialogFlags.Modal, MessageType.Info, ButtonsType.Ok, false, Catalog.GetString("Login successful. From now you can upload texts to your Pastebin account."));
                            dialog.Run();
                            dialog.Destroy();
                            dialog.Dispose();
                            this.SetPastebinSensitivity(true);
                        }
                    });
                });
            }
        }
Пример #8
0
        public void on_control_game_over(string reason)
        {
            statusbar.Push (gameStatusbarId, Catalog.GetString("Game Over"));

                        MessageDialog md = new MessageDialog (csboardWindow,
                                                              DialogFlags.
                                                              DestroyWithParent,
                                                              MessageType.
                                                              Info,
                                                              ButtonsType.
                                                              Close,
                                                              Catalog.GetString("Game Over") + "\n" +
                                                              reason);
                        md.Run ();
                        md.Hide ();
                        md.Dispose ();

                        return;
        }
Пример #9
0
        static int StartViewer(string[]args)
        {
            Application.Init ();

            Catalog.Init (Config.packageName,
                      Config.prefix + "/share/locale");

            try
            {
                session = new Session ();
                GameViewer.CreateInstance ();
                CsBoard.Plugin.PluginManager.Instance.
                    StartPlugins ();
                if (args.Length > 1)
                    GameViewer.Instance.Load (args[1]);
                Application.Run ();
            }
            catch (ApplicationException)
            {
                return 1;
            }
            catch (System.Exception e)
            {

                try
                {
                    MessageDialog md =
                        new MessageDialog (null,
                                   DialogFlags.
                                   DestroyWithParent,
                                   MessageType.
                                   Error,
                                   ButtonsType.
                                   Close,
                                   Catalog.
                                   GetString
                                   ("<b>Unexpected exception occured</b>\n\n")
                                   +
                                   GLib.
                                   Markup.
                                   EscapeText
                                   (e.
                                    ToString
                                    ()) +
                                   "\n" +
                                   Catalog.
                                   GetString
                                   ("Please send this bug report to\n")
                                   +
                                   "Nickolay V. Shmyrev  &lt;[email protected]&gt;\n");
                    md.Run ();
                    md.Hide ();
                    md.Dispose ();

                }
                catch
                {

                    throw e;

                }
            }

            return 0;
        }
Пример #10
0
        public void on_book_activate(System.Object b, EventArgs e)
        {
            ArrayList result = control.Book ();

                        if (result.Count == 0) {

                                MessageDialog md =
                                        new MessageDialog (csboardWindow,
                                                           DialogFlags.
                                                           DestroyWithParent,
                                                           MessageType.Info,
                                                           ButtonsType.Close,
                                                           Catalog.GetString("There is no book move in this position"));
                                md.Run ();
                                md.Hide ();
                                md.Dispose ();
                        }
                        else {
                                BookDialog dialog = new BookDialog (result);

                                if (dialog.Run () == (int) ResponseType.Apply) {
                                        dialog.Hide ();

                                        string move;
                                        move = dialog.GetMove ();
                                        if (move != null) {
                                                control.MakeMove (move);
                                        }

                                        dialog.Dispose ();
                                }
                                else {
                                        dialog.Hide ();
                                        dialog.Dispose ();
                                }
                        }
        }
Пример #11
0
 protected virtual void doRemove(object sender, System.EventArgs e)
 {
     Waypoint toDelete = GetSelectedWaypoint ();
     MessageDialog md = new MessageDialog (null, DialogFlags.DestroyWithParent,
                                           MessageType.Info, ButtonsType.YesNo,
                                           "Are you sure you wish to delete " + toDelete.Name);
     if ((int)ResponseType.Yes == md.Run ())
     {
         if (toDelete.Symbol == "Final Location")
             m_Cache.HasFinal = false;
         m_App.DeleteChildPoint(toDelete.Name);
     }
     md.Hide ();
     md.Dispose ();
 }
        protected void OnBtnGenerarClicked(object sender, EventArgs e)
        {
            try {
                BarcodeLib.Barcode codeBar = new BarcodeLib.Barcode ();
                codeBar.IncludeLabel = chkIncludeLabel.Active;

                BarcodeLib.LabelPositions lblPos = (BarcodeLib.LabelPositions)Enum.Parse (typeof(BarcodeLib.LabelPositions), cmbTextPosition.ActiveText.ToString ());
                codeBar.LabelPosition =   lblPos;

                BarcodeLib.TYPE bCodeType = (BarcodeLib.TYPE)Enum.Parse (typeof(BarcodeLib.TYPE), cmbBarCodeType.ActiveText.ToString ());

                int width,height;
                if (int.TryParse(txtWidth.Text.Trim(), out width)){
                    if (int.TryParse(txtHeight.Text.Trim(), out height)){

                        if (!string.IsNullOrEmpty(txtData.Text.Trim())){
                            System.Drawing.Image imgTmpCodeBar = codeBar.Encode (bCodeType, txtData.Text.Trim (), System.Drawing.Color.FromName(cmbColorText.ActiveText) , System.Drawing.Color.FromName(cmbColorBackground.ActiveText), int.Parse(txtWidth.Text.Trim()),int.Parse(txtHeight.Text.Trim()));

                            MemoryStream memoryStream = new MemoryStream();
                            imgTmpCodeBar.Save(memoryStream, ImageFormat.Png);
                            Gdk.Pixbuf pb = new Gdk.Pixbuf (memoryStream.ToArray());

                            imgCodeBar.Pixbuf = pb;
                        } else {
                            txtData.GrabFocus();
                            throw new Exception ("Falta indicar los datos a generar");
                        }
                    } else {
                        txtHeight.GrabFocus();
                        throw new Exception ("Altura incorrecta");
                    }
                } else {
                    txtWidth.GrabFocus();
                    throw new Exception ("Anchura incorrecta");
                }

            } catch (Exception err) {
                MessageDialog dlg = new MessageDialog (this, DialogFlags.Modal, MessageType.Error, ButtonsType.Ok, string.Format ("Ocurrió un error \n {0}", err.Message));
                dlg.Run ();
                dlg.Destroy ();
                dlg.Dispose ();
                dlg = null;
            }
        }
Пример #13
0
        public ChessWindow(string filename)
        {
            string engine = App.session.Engine;

                        /* try { */

                if (engine.LastIndexOf ("crafty ") >= 0) {
                                    control = new Crafty (engine);
                } else
                if (engine.LastIndexOf ("phalanx ") >= 0) {
                                    control = new Phalanx (engine);
                } else
                if (engine.LastIndexOf ("gnuchess ") >= 0) {
                    control = new GnuChess (engine);
                } else
                if (engine.LastIndexOf ("ICS ") >= 0) {
                    control = new ICS (engine);
                } else {
                  MessageDialog md =
                                        new MessageDialog (csboardWindow,
                                                           DialogFlags.
                                                           DestroyWithParent,
                                                           MessageType.Error,
                                                           ButtonsType.Close,
                                                           Catalog.GetString(
                               "<b>Unknown engine</b>\n\nPlease check gconf keys of csboard"));

                                  md.Run ();
                                  md.Hide ();
                                  md.Dispose ();

                  control = new GnuChess ("/usr/bin/gnuchess -x -e");

                }

                        /*} catch {

                                MessageDialog md =
                                        new MessageDialog (null, 0, MessageType.Error,
                                                           ButtonsType.Close,
                                                           String.Format(Catalog.GetString (
                                                           "<b>Failed to start engine</b>\n\nCheck that program '{0}' is available."),
                                                           engine));

                                md.Run ();
                                md.Hide ();
                                md.Dispose ();
                                return;
            }*/

                        Glade.XML gXML =
                                Glade.XML.FromAssembly ("csboard.glade",
                                     "csboardWindow", null);
                        gXML.Autoconnect (this);

                        gameStatusbarId = statusbar.GetContextId ("game");
                        gameStatusbarId = statusbar.GetContextId ("move");

                        // FIXME: Use libglade to create toolbar

            App.session.SetupGeometry (csboardWindow);
            csboardWindow.Show ();

                        control.WaitEvent +=
                                new ControlWaitHandler (on_control_wait);
                        control.BusyEvent +=
                                new ControlBusyHandler (on_control_busy);
                        control.PositionChangedEvent +=
                                new
                                ControlPositionChangedHandler
                                (on_position_changed);
                        control.GameOverEvent +=
                                new
                                ControlGameOverHandler (on_control_game_over);
                        control.SwitchSideEvent +=
                                new
                                ControlSwitchSideHandler (on_control_side);
                        control.HintEvent +=
                                new
                                ControlHintHandler (on_control_hint);

            // Setup board widget
            progressbar = new ProgressBar ();
            status_frame.Add (progressbar);

                        boardWidget = new PlayerBoard (control.GetPosition ());
                        frame.Add (boardWidget);
                        boardWidget.Show ();

            SetupLevel ();

            boardWidget.showCoords = App.session.ShowCoords;
            boardWidget.highLightMove = App.session.HighLightMove;
            boardWidget.showAnimations = App.session.showAnimations;

            show_coords.Active = App.session.ShowCoords;
            last_move.Active = App.session.HighLightMove;
            possible_moves.Active = App.session.PossibleMoves;
            animate.Active = App.session.showAnimations;

                        boardWidget.MoveEvent +=
                                new BoardMoveHandler (on_board_move);

                        boardWidget.StartMoveHintEvent +=
                                new StartMoveHintHandler (on_board_start_move);

            if (filename == null)
                            control.OpenGame (App.session.Filename);
            else
                control.OpenGame (filename);
        }
Пример #14
0
        private void Web_DownloadFileCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
        {
            try
            {
                Application.Invoke((_, __) =>
                {
                    if (waitDlg != null)
                    {
                        waitDlg.Dispose();
                        waitDlg = null;
                    }
                });
                if (!e.Cancelled && !string.IsNullOrEmpty(tempSetupFileName) && versionNumber != null)
                {
                    try
                    {
                        if (e.Error != null) // On Linux, we get to this point even when errors have occurred
                        {
                            throw e.Error;
                        }

                        if (File.Exists(tempSetupFileName))
                        {
                            if (ProcessUtilities.CurrentOS.IsWindows)
                            {
                                // The InnoSetup installer can be run with the /upgradefrom:xxx parameter
                                // and will handle the removal of the previous version.
                                string oldVersion = Models.Core.Simulations.ApsimVersion;
                                Process.Start(tempSetupFileName, $"/upgradefrom={oldVersion}");
                            }
                            else if (ProcessUtilities.CurrentOS.IsMac)
                            {
                                string script = Path.Combine(Path.GetTempPath(), $"apsim-upgrade-mac-{Guid.NewGuid()}.sh");
                                ReflectionUtilities.WriteResourceToFile(GetType().Assembly, "ApsimNG.Resources.Scripts.upgrade-mac.sh", script);
                                string apsimxDir = PathUtilities.GetAbsolutePath("%root%", null);
                                Process.Start("/bin/sh", $"{script} {tempSetupFileName} {apsimxDir}");
                            }
                            else
                            {
                                // Assume (Debian) Linux and hope for the best.
                                string script = Path.Combine(Path.GetTempPath(), $"apsim-upgrade-debian-{Guid.NewGuid()}.sh");
                                ReflectionUtilities.WriteResourceToFile(GetType().Assembly, "ApsimNG.Resources.Scripts.upgrade-debian.sh", script);
                                Process.Start("/bin/sh", $"{script} {tempSetupFileName}");
                            }

                            Application.Invoke((_, __) =>
                            {
                                window1.Window.Cursor = null;

                                // Shutdown the user interface
                                window1.Dispose();
                                tabbedExplorerView.Close();
                            });
                        }
                    }
                    catch (Exception err)
                    {
                        Application.Invoke(delegate
                        {
                            window1.Window.Cursor = null;
                            ViewBase.MasterView.ShowMsgDialog(err.Message, "Installation Error", MessageType.Error, ButtonsType.Ok, window1);
                        });
                    }
                }
            }
            catch (Exception err)
            {
                ShowError(err);
            }
        }
Пример #15
0
 private void UpdateDistanceFilter()
 {
     if (!String.IsNullOrEmpty(distanceEntry.Text))
     {
         try
         {
             double dist = double.Parse(distanceEntry.Text);
             if (m_app.AppConfig.ImperialUnits)
                 dist = Utilities.MilesToKm(dist);
             CacheStore.GlobalFilters.AddFilterCriteria(FilterList.KEY_DIST, dist);
             clearDistanceButton.Sensitive = true;
         }
         catch
         {
             MessageDialog dlg = new MessageDialog(null, DialogFlags.Modal, MessageType.Error, ButtonsType.Ok,
                                                   Catalog.GetString("Value is not a number"));
             dlg.Run();
             dlg.Hide();
             dlg.Dispose();
             distanceEntry.Changed -= OnChanged;
             distanceEntry.Text = string.Empty;
             distanceEntry.Changed += OnChanged;;
             return;
         }
     }
     else
     {
         CacheStore.GlobalFilters.RemoveCriteria(FilterList.KEY_DIST);
         clearDistanceButton.Sensitive = false;
     }
 }
Пример #16
0
 protected virtual void OnDeleteAllClick(object sender, System.EventArgs e)
 {
     MessageDialog dlg = new MessageDialog(this, DialogFlags.Modal, MessageType.Warning, ButtonsType.YesNo,
                                                   Catalog.GetString("Are you sure you want to remove all field notes?"));
     try
     {
         if ((int) ResponseType.Yes == dlg.Run())
         {
             FieldNotesHandler.ClearFieldNotes(m_Win.App.AppConfig.FieldNotesFile);
             m_Logs.Clear();
             PopulateLogs(m_Logs);
         }
         dlg.Hide();
         dlg.Dispose();
     }
     catch (Exception e1)
     {
         dlg.Hide();
         OCMApp.ShowException(e1);
     }
 }
Пример #17
0
 void HandleRollchar_toolbuttonClicked(object sender, EventArgs e)
 {
     this.SetControlState (false);
     try
     {
         this.GameEngine.RollAttributes ();
     }
     catch (Exception exp)
     {
         MessageDialog d = new MessageDialog (this.window1, DialogFlags.DestroyWithParent,
                                              MessageType.Error,
                                              ButtonsType.Close,
                                              true,
                                              "<b>{0}</b>: {1}\n<i>{2}</i>",
                                              exp.GetType().ToString (),
                                              exp.Message,
                                              exp.Source);
         d.Title = "Error";
         d.Modal = true;
         this.ConsoleWriteLine (exp.StackTrace);
         d.Run ();
         d.Hide ();
         d.Dispose ();
     }
     this.SetControlState (true);
 }
Пример #18
0
        private void CreateControl(string engine)
        {
            if (engine == null)
                engine = App.Session.Engine;

            string id, args;
            GetIDFromEngine (engine, out id, out args);
            string msg = null;
            try
            {
                foreach (EngineInfo info in controls)
                {
                    if (info.ID.Equals (id))
                      {
                          control =
                              info.
                              CreateInstance ();
                          break;
                      }
                }

                if (control == null)
                    msg = Catalog.
                        GetString
                        ("<b>Unknown engine</b>\n\nPlease check gconf keys of csboard");
            }
            catch
            {
                msg = String.Format (Catalog.
                             GetString
                             ("<b>Unable to load engine '{0}'</b>"),
                             engine);

            }
            if (control == null)
              {
                  MessageDialog md =
                      new MessageDialog (csboardWindow,
                                 DialogFlags.
                                 DestroyWithParent,
                                 MessageType.
                                 Error,
                                 ButtonsType.
                                 Close,
                                 msg);

                  md.Run ();
                  md.Hide ();
                  md.Dispose ();
                  control = new NullControl ();
              }

            control.WaitEvent +=
                new ControlWaitHandler (on_control_wait);
            control.BusyEvent +=
                new ControlBusyHandler (on_control_busy);
            control.PositionChangedEvent +=
                new
                ControlPositionChangedHandler
                (on_position_changed);
            control.GameOverEvent +=
                new
                ControlGameOverHandler (on_control_game_over);
            control.SwitchSideEvent +=
                new
                ControlSwitchSideHandler (on_control_side);
            control.HintEvent +=
                new ControlHintHandler (on_control_hint);
        }
Пример #19
0
 public void SendToGPS()
 {
     if (m_app.Profiles.GetActiveProfile () == null) {
         MessageDialog err = new MessageDialog (this, DialogFlags.Modal, MessageType.Error, ButtonsType.Ok,
                                                Catalog.GetString ("There is no active GPS profile. Either select an"
                                                                   + " existing one from the GPS Menu or add a new profile ."));
         err.Run ();
         err.Hide ();
         err.Dispose ();
         return;
     }
     SendWaypointsDialog dlg = new SendWaypointsDialog ();
     dlg.Parent = this;
     dlg.Icon = this.Icon;
     dlg.AutoClose = Config.AutoCloseWindows;
     dlg.Start (CacheList.UnfilteredCaches, m_app.Profiles.GetActiveProfile (), m_app.CacheStore);
 }
Пример #20
0
        public void DeleteGPSProfile()
        {
            DeleteItem dlg = new DeleteItem (m_app.Profiles);
            if ((int)ResponseType.Ok == dlg.Run ()) {
                if ((m_app.Profiles.GetActiveProfile () != null) && (dlg.ItemToDelete == m_app.Profiles.GetActiveProfile ().Name)) {
                    MessageDialog confirm = new MessageDialog (this, DialogFlags.Modal, MessageType.Warning, ButtonsType.YesNo, Catalog.GetString ("\"{0}\" is the active" + " GPS profile. Are you sure you wish to delete it?"), dlg.ItemToDelete);
                    if ((int)ResponseType.No == confirm.Run ()) {
                        confirm.Hide ();
                        confirm.Dispose ();
                        return;
                    }
                    confirm.Hide ();
                    confirm.Dispose ();
                    Config.GPSProf = null;
                }

                m_app.Profiles.DeleteProfile (dlg.ItemToDelete);
                RebuildProfiles();
            }
        }
Пример #21
0
        public static int StartPlayer(string[]args)
        {
            Application.Init ();

            Catalog.Init (Config.packageName,
                      Config.prefix + "/share/locale");

            try
            {
                session = new Session ();
                string filename = null;
                if (args.Length == 1
                    && System.IO.File.Exists (args[0]))
                  {
                      filename = args[0];
                  }
                new ChessWindow (filename);
                Application.Run ();
            }
            catch (System.Exception e)
            {
                try
                {
                    MessageDialog md =
                        new MessageDialog (null,
                                   DialogFlags.
                                   DestroyWithParent,
                                   MessageType.
                                   Error,
                                   ButtonsType.
                                   Close,
                                   Catalog.
                                   GetString
                                   ("<b>Unexpected exception occured</b>\n\n")
                                   +
                                   GLib.
                                   Markup.
                                   EscapeText
                                   (e.
                                    ToString
                                    ()) +
                                   "\n" +
                                   Catalog.
                                   GetString
                                   ("Please send this bug report to\n")
                                   +
                                   "Nickolay V. Shmyrev  &lt;[email protected]&gt;\n");
                    md.Run ();
                    md.Hide ();
                    md.Dispose ();

                }
                catch
                {
                    throw e;
                }
            }

            return 0;
        }
Пример #22
0
        public void on_control_hint(string hint)
        {
            MessageDialog md = new MessageDialog (csboardWindow,
                                                              DialogFlags.
                                                              DestroyWithParent,
                                                              MessageType.
                                                              Info,
                                                              ButtonsType.
                                                              OkCancel,
                                  Catalog.GetString("You can move ") + hint);

                    md.DefaultResponse = ResponseType.Ok;
                            int response = md.Run ();

                        if (response == (int)ResponseType.Ok) {
                               control.MakeMove (hint);
                        }

                            md.Hide ();
                            md.Dispose ();
        }
Пример #23
0
        /// <summary>
        /// Handles button apply clicked event.
        /// </summary>
        /// <param name="sender">Sender.</param>
        /// <param name="args">Event arguments.</param>
        private void OnButtonApplyClicked(object sender, EventArgs args)
        {
            MessageDialog dialog;

            if (this.label.Text.Length == 0)
            {
                dialog = new MessageDialog(this, DialogFlags.Modal, MessageType.Error, ButtonsType.Ok, false, Catalog.GetString("Label is required."));
                dialog.Run();
                dialog.Destroy();
                dialog.Dispose();
            }
            else if (this.content.Buffer.Text.Length == 0)
            {
                dialog = new MessageDialog(this, DialogFlags.Modal, MessageType.Error, ButtonsType.Ok, false, Catalog.GetString("Content is required."));
                dialog.Run();
                dialog.Destroy();
                dialog.Dispose();
            }
            else
            {
                if (this.snippet != null)
                {
                    this.snippet.Label = this.label.Text;
                    this.snippet.Content = this.content.Buffer.Text;
                    this.list.EmitRowChanged(this.path, this.iter);
                }
                else
                {
                    this.snippet = new Snippet();
                    this.snippet.Label = this.label.Text;
                    this.snippet.Content = this.content.Buffer.Text;
                    this.list.AppendValues(snippet);
                }

                this.Destroy();
            }
        }
Пример #24
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 ();
        }
Пример #25
0
		private void DeleteContactsSim()
		{
			MessageDialog mdlg = new MessageDialog(MainWindow,
			                         DialogFlags.Modal,
			                         MessageType.Question,
			                         ButtonsType.YesNo, 
				                     GlobalObjUI.LMan.GetString("suredeletesim"));
			mdlg.TransientFor = MainWindow;
			mdlg.Title = MainClass.AppNameVer + " - " + GlobalObjUI.LMan.GetString("deletesimact");
			ResponseType respType = (ResponseType)mdlg.Run();
			
			if (respType == ResponseType.Yes)
			{
				// override
				mdlg.Destroy();
				mdlg.Dispose();
				mdlg = null;
				
				// Delete sim
				ScanSimBefore();
				
				// Reset status values
				GlobalObjUI.SimADNStatus = 1;
				GlobalObjUI.SimADNPosition = 0;
				GlobalObjUI.SimADNError = "";
				
	            // Start thread for reading process
	            notify = new ThreadNotify(new ReadyEvent(WritingUpdate));
	            simThread = new System.Threading.Thread(new System.Threading.ThreadStart(GlobalObjUI.DeleteAllSimContactsList));
	            simThread.Start();
			
				return;
			}
			
			mdlg.Destroy();
			mdlg.Dispose();
			mdlg = null;
			

		}
Пример #26
0
        /// <summary>
        /// User has requested an upgrade.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnUpgrade(object sender, EventArgs e)
        {
            try
            {
                int selIndex = GetSelIndex();
                if (selIndex >= 0)
                {
                    if (!checkbutton1.Active)
                    {
                        throw new Exception("You must agree to the license terms before upgrading.");
                    }

                    AssertInputsAreValid();

                    Upgrade[] upgradeList = oldVersions.Active ? allUpgrades : upgrades;
                    Upgrade   upgrade     = upgradeList[selIndex];
                    versionNumber = upgrade.ReleaseDate.ToString("yyyy.MM.dd.") + upgrade.Issue;

                    if ((Gtk.ResponseType)ViewBase.MasterView.ShowMsgDialog("Are you sure you want to upgrade to version " + versionNumber + "?",
                                                                            "Are you sure?", MessageType.Question, ButtonsType.YesNo, window1) == Gtk.ResponseType.Yes)
                    {
                        // Write to the registration database.
                        AssertInputsAreValid();
                        try
                        {
                            WriteUpgradeRegistration(versionNumber);
                        }
                        catch (Exception err)
                        {
                            throw new Exception("Encountered an error while updating registration information. Please try again later.", err);
                        }

                        window1.Window.Cursor = new Gdk.Cursor(Gdk.CursorType.Watch);

                        WebClient web = new WebClient();

                        tempSetupFileName = Path.Combine(Path.GetTempPath(), "APSIMSetup.exe");

                        string sourceURL;

                        if (ProcessUtilities.CurrentOS.IsMac)
                        {
                            sourceURL         = upgrade.DownloadLinkMacOS;
                            tempSetupFileName = Path.ChangeExtension(tempSetupFileName, "dmg");
                        }
                        else if (ProcessUtilities.CurrentOS.IsUnix)
                        {
                            sourceURL         = upgrade.DownloadLinkDebian;
                            tempSetupFileName = System.IO.Path.ChangeExtension(tempSetupFileName, "deb");
                        }
                        else
                        {
                            sourceURL = upgrade.DownloadLinkWindows;
                        }

                        if (File.Exists(tempSetupFileName))
                        {
                            File.Delete(tempSetupFileName);
                        }

                        try
                        {
                            waitDlg = new Gtk.MessageDialog(window1, Gtk.DialogFlags.Modal,
                                                            Gtk.MessageType.Info, Gtk.ButtonsType.Cancel, "Downloading file. Please wait...");
                            waitDlg.Title                = "APSIM Upgrade";
                            web.DownloadFileCompleted   += Web_DownloadFileCompleted;
                            web.DownloadProgressChanged += OnDownloadProgressChanged;
                            web.DownloadFileAsync(new Uri(sourceURL), tempSetupFileName);
                            if (waitDlg.Run() == (int)ResponseType.Cancel)
                            {
                                web.CancelAsync();
                            }
                        }
                        catch (Exception err)
                        {
                            ViewBase.MasterView.ShowMsgDialog("Cannot download this release. Error message is: \r\n" + err.Message, "Error", MessageType.Error, ButtonsType.Ok, window1);
                        }
                        finally
                        {
                            if (waitDlg != null)
                            {
                                web.DownloadProgressChanged -= OnDownloadProgressChanged;
                                waitDlg.Dispose();
                                waitDlg = null;
                            }
                            if (window1 != null && window1.Window != null)
                            {
                                window1.Window.Cursor = null;
                            }
                        }
                    }
                }
            }
            catch (Exception err)
            {
                ShowError(err);
            }
        }
Пример #27
0
        /// <summary>
        /// Warns the user about unsaved changes when switching selected field note
        /// </summary>
        private void HandleUnsavedChanges()
        {
            MessageDialog dlg = new MessageDialog(this, DialogFlags.Modal, MessageType.Warning, ButtonsType.YesNo,
                                                          Catalog.GetString("You have unsaved changes that will be lost. Do you wish to save?\n"));
            if ((int) (ResponseType.Yes) == dlg.Run())
            {
                SaveLogChanges ();
            }
            else
            {
                hasUnsaved = false;
                PopulateLogs(FieldNotesHandler.GetLogs(m_Win.App.AppConfig.FieldNotesFile, m_Win.App.OwnerIDs[0]));

            }
            dlg.Hide();
            dlg.Dispose();
            hasUnsaved = false;
        }
Пример #28
0
        protected virtual void doRemove(object sender, System.EventArgs e)
        {
            Waypoint toDelete = GetSelectedWaypoint ();

            MessageDialog md = new MessageDialog (null, DialogFlags.DestroyWithParent, MessageType.Info, ButtonsType.YesNo, "Are you sure you wish to delete " + toDelete.Name);

            try {
                if ((int)ResponseType.Yes == md.Run ()) {
                    if (toDelete.Symbol == "Final Location")
                        m_mon.SelectedCache.HasFinal = false;
                    Engine.getInstance ().Store.DeleteWaypoint (toDelete.Name);
                    UpdateCacheInfo ();
                }
                md.Hide ();
                md.Dispose ();
            } catch (Exception ex) {
                md.Hide ();
                md.Dispose ();
                UIMonitor.ShowException (ex);
            }
        }
Пример #29
0
		/// <summary>
		/// Save file contacts on file.
		/// </summary>
		private void SaveContactsFile()
		{
			MessageDialog mdlg = null;
			string fileToSave = "";
			
			if (GlobalObjUI.ContactsFilePath != "")
			{
				mdlg = new MessageDialog(MainWindow,
				                         DialogFlags.Modal,
				                         MessageType.Question,
				                         ButtonsType.YesNo, 
					                     GlobalObjUI.LMan.GetString("override") + "\r\n" + 
					                     Path.GetFileNameWithoutExtension(GlobalObjUI.ContactsFilePath));
				mdlg.TransientFor = MainWindow;
				mdlg.Title = MainClass.AppNameVer + " - " + GlobalObjUI.LMan.GetString("savefileact");
				ResponseType respType = (ResponseType)mdlg.Run();
				
				if (respType == ResponseType.Yes)
				{
					// override
					mdlg.Destroy();
					mdlg.Dispose();
					mdlg = null;
					
					WriteContactsOnFile(GlobalObjUI.ContactsFilePath, GlobalObjUI.FileContacts.SimContacts);
					return;
				}
				
				mdlg.Destroy();
				mdlg.Dispose();
				mdlg = null;
				
			}
			
			// select new file to save
			fileToSave = ChooseFileToSave(GlobalObjUI.LMan.GetString("savefileact"));
			if (fileToSave == "")
			{
				// no file selected
				return;
			}
			
			WriteContactsOnFile(fileToSave, GlobalObjUI.FileContacts.SimContacts);
			GlobalObjUI.ContactsFilePath = fileToSave;
			
		}
Пример #30
0
        /// <summary>
        /// Shows the message.
        /// </summary>
        /// <param name="msg">Message.</param>
        /// <param name="type">Type.</param>
        private void ShowMessage(string msg, MessageType type)
        {
            this.AbortUpload();
            MessageDialog dialog = new MessageDialog(this, DialogFlags.Modal, type, ButtonsType.Ok, false, msg);
            dialog.UseMarkup = true;
            dialog.Run();
            dialog.Destroy();
            dialog.Dispose();

            if (type == MessageType.Info)
            {
                this.progressbarUpload.Text = string.Empty;
                this.progressbarUpload.Fraction = 0;
            }
        }
Пример #31
0
        public void on_board_move(string move)
        {
            if (!control.MakeMove (move)) {

                                MessageDialog md =
                                        new MessageDialog (csboardWindow,
                                                           DialogFlags.
                                                           DestroyWithParent,
                                                           MessageType.
                                                           Warning,
                                                           ButtonsType.Close,
                                                           Catalog.GetString("Illegal move"));
                                md.Run ();
                                md.Hide ();
                                md.Dispose ();

                        }
                        return;
        }
Пример #32
0
 protected virtual void OnDeleteClick(object sender, System.EventArgs e)
 {
     Gtk.TreeIter itr;
     Gtk.TreeModel model;
     if (logView.Selection.GetSelected (out model, out itr))
     {
         CacheLog log = (CacheLog)model.GetValue (itr, 0);
         MessageDialog dlg = new MessageDialog(this, DialogFlags.Modal, MessageType.Warning, ButtonsType.YesNo,
                                               Catalog.GetString("Are you sure you want to remove the field note for '{0}'?"),
                                               log.CacheCode);
         if ((int) ResponseType.Yes == dlg.Run())
         {
             m_Logs.Remove(log);
             PopulateLogs(m_Logs);
             UpdateFNFile();
             logEntry.Buffer.Text = String.Empty;
         }
         dlg.Hide();
         dlg.Dispose();
     }
 }
Пример #33
0
 protected void on_window1_delete_event(object o, DeleteEventArgs args)
 {
     MessageDialog d = new MessageDialog (this.window1, DialogFlags.DestroyWithParent,
                                          MessageType.Question, ButtonsType.OkCancel,
                                          true, "Are you sure you want to <b>quit</b>?");
     ResponseType result = (ResponseType) d.Run ();
     d.Hide ();
     d.Dispose ();
     args.RetVal = (result == ResponseType.Cancel);
     if (result == ResponseType.Ok)
     {
         Gtk.Application.Quit ();
     }
 }
Пример #34
0
        protected virtual void OnRemoveClick(object sender, System.EventArgs e)
        {
            MessageDialog dlg = new MessageDialog(this, DialogFlags.Modal, MessageType.Question, ButtonsType.YesNo,
                                                  Catalog.GetString("Are you sure you want to remove this filter?"));
            if ((int) ResponseType.No == dlg.Run())
            {
                dlg.Hide();
                dlg.Dispose();
                return;
            }

            dlg.Hide();
            dlg.Dispose();
            Gtk.TreeIter itr;
            Gtk.TreeModel model;
            if (conditionList.Selection.GetSelected (out model, out itr))
            {
                m_Store.Remove(ref itr);
            }
        }
Пример #35
0
 protected virtual void OnViewCache(object sender, System.EventArgs e)
 {
     Gtk.TreeIter itr;
     Gtk.TreeModel model;
     if (logView.Selection.GetSelected (out model, out itr))
     {
         CacheLog log = (CacheLog)model.GetValue (itr, 0);
         if (!m_Win.CacheList.ContainsCode(log.CacheCode))
         {
             MessageDialog dlg = new MessageDialog(this, DialogFlags.Modal, MessageType.Info, ButtonsType.Ok,
                                                   Catalog.GetString("'{0}' is not within the list of unfiltered caches. Your filter settings may have filtered it out or it may not be in your database."),
                                                   log.CacheCode);
             dlg.Run();
             dlg.Hide();
             dlg.Dispose();
             return;
         }
         m_Win.CacheList.SelectCacheByName(log.CacheCode);
         this.Hide();
         this.Dispose();
     }
 }