Пример #1
4
        //wenn bearbeitet werden muss, dann diese Methode aufrufen, um die Entrys zu fuellen
        public bool editMode(string name, string date, string starttime, string endtime)
        {
            TimeDetailid = SelectWidget.connection.checkOutTimedetailID (name, starttime); // liest die ID von der Schicht aus

            if (TimeDetailid == 0) { //Wenn die id = 0 gilt, dann ist die Auslesung nicht erfolgt
                MessageDialog md = new MessageDialog (null, DialogFlags.DestroyWithParent, MessageType.Error, ButtonsType.Ok, "Schicht kann nicht bearbeitet werden!");
                md.Run ();
                md.Destroy ();
                return false;
            }

            nameEntry.Text = name;
            dateLabel.Text = date;
            if (date == "10.07.2015") {

            }
            if (date == "11.07.2015") {

            }
            if (date == "12.07.2015") {

            }
            string[] starthourSplit = starttime.Split(new char[2]);
            startHourEntry.Text = starthourSplit[0];
            StartMinuteEntry.Text = "";
            stopHourEntry.Text = "";
            StopMinuteEntry.Text = "";
            return true;
        }
Пример #2
0
 static void OnException(UnhandledExceptionArgs args)
 {
     //MessageDialog md = new MessageDialog(null, DialogFlags.Modal, MessageType.Error, ButtonsType.Ok, args.ExceptionObject.ToString());
     MessageDialog md = new MessageDialog(null, DialogFlags.Modal, MessageType.Error, ButtonsType.Ok, "Hiba történt!");
     md.Run();
     md.Destroy();
 }
Пример #3
0
        protected virtual void OnButton1Clicked(object sender, System.EventArgs e)
        {
            string username = this.entry3.Text;
            string server_address = this.entry2.Text;
            int server_port = this.spinbutton1.ValueAsInt;

            if (username == "") {
                MessageDialog md = new MessageDialog(this, DialogFlags.Modal, MessageType.Error, ButtonsType.Close, "Username not set.");
                md.Run();
                md.Destroy();
                return;
            }

            if (this.server.Connected) {
                this.server.Disconnect();
            }

            try {
                this.server.Connect(username, server_address, server_port);
                this.RefreshSimList();
            } catch (System.Net.Sockets.SocketException) {
                this.server.Disconnect();
                MessageDialog md = new MessageDialog(this, DialogFlags.Modal, MessageType.Error, ButtonsType.Close, "Server not running on " + server_address + ":" + server_port + ".");
                md.Run();
                md.Destroy();
            } catch {
                this.server.Disconnect();
                MessageDialog md = new MessageDialog(this, DialogFlags.Modal, MessageType.Error, ButtonsType.Close, "Connection error.");
                md.Run();
                md.Destroy();
            }
        }
Пример #4
0
        public static void Main(string[] args)
        {
            Application.Init ();

            if (!ImageMagickResolver.Resolved ()) {
                var builder = new System.Text.StringBuilder ("Hi there,");
                builder.AppendLine ();
                builder.AppendLine ("I was unable to find ImageMagick on your system which means...");
                builder.AppendLine ("a) It is not installed");
                builder.AppendLine ("b) It is in a directory I haven't checked");
                builder.AppendLine ("");
                builder.AppendLine ("If 'a' please exit the application and install ImageMagick");
                builder.AppendLine ("If 'b' then please edit the file '{0}' and insert the correct location for convert and montage");
                builder.AppendLine ();
                builder.AppendLine ("Please visit the FAQ <a href=\"http://fontwhiz.com\">http://fontwhiz.com</a> if you are unclear.");

                var messageDialog = new MessageDialog (null,
                                                       DialogFlags.Modal,
                                                       MessageType.Error,
                                                       ButtonsType.Close,
                                                       builder.ToString (), UserSettings.AppUserSettingsFile);

                messageDialog.WindowPosition = WindowPosition.Center;

                messageDialog.Run ();
                messageDialog.Destroy ();
                return;
            }

            MainWindow win = new MainWindow ();
            win.Show ();
            Application.Run ();
        }
Пример #5
0
 public static void Info(string msg)
 {
     GLib.Idle.Add (new GLib.IdleHandler (delegate() {
         MessageDialog md = new MessageDialog(null, DialogFlags.DestroyWithParent,
             MessageType.Info, ButtonsType.Ok, msg);
         md.DeleteEvent += delegate(object o, DeleteEventArgs args) {
             md.Destroy();
         };
         md.Response += delegate(object o, ResponseArgs args) {
             md.Hide();
             md.Destroy();
         };
         md.Show ();
         return false;
     }));
 }
Пример #6
0
        public static void RunCheckVersion(bool updateDB, bool updateApp, bool installMicroUpdate)
        {
            CheckBaseVersion.Check ();

            if(CheckBaseVersion.ResultFlags == CheckBaseResult.BaseVersionLess && updateDB)
            {
                DB.DBUpdater.TryUpdate ();
                RunCheckVersion (updateDB, updateApp, installMicroUpdate);
                return;
            }

            if(CheckBaseVersion.ResultFlags == CheckBaseResult.BaseVersionGreater && updateApp)
            {
                CheckUpdate.StartCheckUpdateThread (UpdaterFlags.UpdateRequired);
            }

            if(CheckBaseVersion.ResultFlags != CheckBaseResult.Ok)
            {
                MessageDialog VersionError = new MessageDialog (QSProjectsLib.QSMain.ErrorDlgParrent,
                    DialogFlags.DestroyWithParent,
                    MessageType.Warning,
                    ButtonsType.Close,
                    CheckBaseVersion.TextMessage);
                VersionError.Run ();
                VersionError.Destroy ();
                Environment.Exit (0);
            }

            if (installMicroUpdate)
                DB.DBUpdater.CheckMicroUpdates ();

            if(updateApp)
                CheckUpdate.StartCheckUpdateThread (UpdaterFlags.StartInThread);
        }
Пример #7
0
        public static ResponseType Show(string message, MessageType type, ButtonsType bType)
        {
            MessageDialog md = new MessageDialog(null, DialogFlags.Modal, type, bType, message);
            switch (type)
            {
                case MessageType.Error:
                    md.Title = "Error";
                    break;

                case MessageType.Info:
                    md.Title = "Info";
                    break;

                case MessageType.Other:
                    md.Title = "Message";
                    break;

                case MessageType.Question:
                    md.Title = "Question";
                    break;

                case MessageType.Warning:
                    md.Title = "Warning";
                    break;
            }
			md.WindowPosition = WindowPosition.CenterOnParent;
			ResponseType result = (ResponseType)md.Run();
            md.Destroy();
            return result;
        }
 public void CheckForLunaDllUpdates()
 {
     if (MainWindow.wohl != null)
     {
         Version actualLatest = MainWindow.wohl.ReturnLatestVersion();
         if (actualLatest > CurLunaDllVer)
         {
             MessageDialog md = new MessageDialog(null,
                 DialogFlags.Modal,
                 MessageType.Question,
                 ButtonsType.YesNo, "A new LunaLua version is available!\n\nYour Version: {0}\nLatest: {1}\n\nWould you like to update?", CurLunaDllVer, actualLatest);
             md.Icon = Image.LoadFromResource("Gtktester.Icons.PNG.256.png").Pixbuf;
             md.WindowPosition = WindowPosition.Center;
             ResponseType res = (ResponseType)md.Run();
             if (res == ResponseType.Yes)
             {
                 UpdateLunaLua();
             }
             else
             {
             }
             md.Destroy();
         }
     }
 }
Пример #9
0
        public static Preferences load()
        {
            var path = GetPreferencesFilePath ();

            try {
                using (System.IO.StreamReader file = new System.IO.StreamReader(path)) {
                    System.Xml.Serialization.XmlSerializer reader =
                        new System.Xml.Serialization.XmlSerializer(typeof(Preferences));

                    Preferences preferences =  (Preferences) reader.Deserialize(file);
                    return preferences;
                }
            }
            catch(System.IO.FileNotFoundException) {
                return new Preferences ();
            }
            catch(Exception) {
                MessageDialog md = new MessageDialog (null, DialogFlags.Modal, MessageType.Error, ButtonsType.Ok,
                    "There was a problem loading user preferences. Your settings were reset.");
                md.Title = "CircleCI Indicator Failure";
                md.Run();
                md.Destroy();
                Preferences p = new Preferences ();
                p.save ();
                return p;
            }
        }
Пример #10
0
        public MainWindow()
            : base(Gtk.WindowType.Toplevel)
        {
            Build ();

            earchive.MainClass.StatusBarLabel = labelStatus;
            Reference.RunReferenceItemDlg += OnRunReferenceItemDialog;
            QSMain.ReferenceUpdated += OnReferenceUpdate;

            if(QSMain.User.Login == "root")
            {
                string Message = "Вы зашли в программу под администратором базы данных. У вас есть только возможность создавать других пользователей.";
                MessageDialog md = new MessageDialog ( this, DialogFlags.DestroyWithParent,
                                                      MessageType.Info,
                                                      ButtonsType.Ok,
                                                      Message);
                md.Run ();
                md.Destroy();
                OnUsersActionActivated (null, null);
                return;
            }

            //Загружаем информацию о пользователе
            if(QSMain.User.TestUserExistByLogin (true))
                QSMain.User.UpdateUserInfoByLogin ();
            UsersAction.Sensitive = QSMain.User.admin;
            labelUser.LabelProp = QSMain.User.Name;
            //buttonDelete.Sensitive = QSMain.User.Permissions["can_edit"];
            buttonInput.Sensitive = QSMain.User.Permissions["can_edit"];

            // Создаем главное окно
            ComboWorks.ComboFillReference (comboDocType, "doc_types", 0);
        }
Пример #11
0
        public static bool CloseProject()
        {
            if (Project.Modified) {
                string msg = Catalog.GetString ("Do you want to save the project before closing?");
                Gtk.MessageDialog dlg = new Gtk.MessageDialog (null, Gtk.DialogFlags.Modal, Gtk.MessageType.Question, ButtonsType.None, msg);
                dlg.AddButton (Catalog.GetString ("Close without saving"), Gtk.ResponseType.No);
                dlg.AddButton (Gtk.Stock.Cancel, Gtk.ResponseType.Cancel);
                dlg.AddButton (Gtk.Stock.Save, Gtk.ResponseType.Yes);
                Gtk.ResponseType res = (Gtk.ResponseType) dlg.Run ();
                dlg.Destroy ();

                if (res == Gtk.ResponseType.Cancel)
                    return false;

                if (res == Gtk.ResponseType.Yes) {
                    if (!SaveProject ())
                        return false;
                }
            }

            object[] obs = new object [openWindows.Count];
            openWindows.Values.CopyTo (obs, 0);
            foreach (Gtk.Widget page in obs) {
                WidgetNotebook.Remove (page);
                page.Destroy ();
            }

            openWindows.Clear ();

            Project.Close ();
            MainWindow.Title = "Stetic";
            ProjectView.Clear ();
            return true;
        }
Пример #12
0
        //FileChooserDialog sfd = new FileChooserDialog() { OverwritePrompt = true, ValidateNames = true, AddExtension = true };
        //FileChooserDialog ofd = new FileChooserDialog() { CheckFileExists = true, CheckPathExists = true };

        public DialogResult ShowMessageBox(string Text, string Caption, MessageBoxButtons Button, MessageBoxIcon Icon)
        {
            var m = new MessageDialog(MainForm, DialogFlags.Modal, MessageType.Warning, ButtonsType.Ok, Text);
            m.Run();
            m.Destroy();
            return DialogResult.OK;
        }
Пример #13
0
        protected virtual void OnCmdGrabarClicked(object sender, System.EventArgs e)
        {
            TreeIter iter = new TreeIter();

            if (tvLista.Model.GetIterFirst(out iter)) {
            do {
                if (tvLista.Model.GetValue(iter,cafeteria.tvLista_Col_Cantidad).ToString() != "0")
                {
                    MySQL.consultar("INSERT INTO `cafeteria_stock` (`ID_articulo`, `stock`, `fecha`, `ingresado_por`) " +
                    "VALUES(" +
                            "'" + tvLista.Model.GetValue(iter,cafeteria.tvLista_Col_ID_articulo).ToString() + "'," +
                            "'" + tvLista.Model.GetValue(iter,cafeteria.tvLista_Col_Cantidad).ToString() + "'," +
                            "NOW()," +
                            auth.ID_usuario +
                            ")");
                }
            } while(tvLista.Model.IterNext(ref iter));
            }
            MySQL.consultar("INSERT INTO `cafeteria_ingresos` (`ID_ingreso`, `descripcion`, `comprador`, `ingresado_por`, `fechatiempo`, `total_compra`) " +
            "VALUES(" +
            "0, " +
            "'"+txtDetalle.Buffer.Text+"'," +
            "'"+txtComprador.Text+"'," +
            ""+auth.ID_usuario+"," +
            "NOW()," +
            "'"+txtTotalCompra.Text+"'" +
            ")");

            Gtk.MessageDialog Mensaje = new MessageDialog(this, DialogFlags.Modal, MessageType.Info, ButtonsType.Close, "Ingreso realizado.\nEsta ventana se cerrará");
            Mensaje.Title="Éxito";
            Mensaje.Run();
            Mensaje.Destroy();
            this.Destroy();
            return;
        }
Пример #14
0
        public static bool SaveBeforePrint(Type savingEntity, string whatPrint)
        {
            string  savingName = "НЕ УКАЗАНО";

            var att = savingEntity.GetCustomAttributes (typeof(OrmSubjectAttribute), true);
            if (att.Length > 0) {
                if(!String.IsNullOrWhiteSpace ((att [0] as OrmSubjectAttribute).AllNames.Prepositional))
                {
                    savingName = (att [0] as OrmSubjectAttribute).AllNames.Prepositional;
                }
                else
                {
                    savingName = (att [0] as OrmSubjectAttribute).ObjectName;
                }
            }

            string message = String.Format ("Перед печатью {0}, необходимо сохранить изменения в {1}. Сохранить?",
                whatPrint,
                savingName
            );
            var md = new MessageDialog ( QSMain.ErrorDlgParrent, DialogFlags.Modal,
                MessageType.Question,
                ButtonsType.YesNo,
                message);
            bool result = (ResponseType)md.Run () == ResponseType.Yes;
            md.Destroy ();
            return result;
        }
Пример #15
0
		protected void HandleSave (object sender, EventArgs e)
		{
			if (null == fileSaveWidget.Filename ||
			    	fileSaveWidget.Filename.Length == 0) {
				Gtk.MessageDialog infoDlg = new MessageDialog (
					this, DialogFlags.Modal, MessageType.Info, ButtonsType.Ok,
					"Set file name");
				infoDlg.Run ();
				infoDlg.Destroy ();
				return;
			}

			string fileName = System.IO.Path.GetFullPath(fileSaveWidget.Filename);
			this.dftUtil.Save(fileName, fontService);

			/*
			Gtk.MessageDialog successDlg = new MessageDialog (
				this, DialogFlags.Modal, MessageType.Info, ButtonsType.Ok,
				"Done");
			successDlg.Run ();
			successDlg.Destroy ();
			*/

			this.Destroy ();
		}
Пример #16
0
        public static void ShowMessage(Window parent, string title, string msg, bool error)
        {
            MessageType type = (error ? MessageType.Error : MessageType.Info);
            MessageDialog dlg = new MessageDialog
            (
                parent,
                DialogFlags.Modal,
                type,
                ButtonsType.Ok,
                null
            );

            dlg.Title = title;
            dlg.Text = msg;
            if(parent == null)
                dlg.WindowPosition = WindowPosition.Mouse;

            dlg.Opacity = 0.95;
            //dlg.Deletable = false;

            //AppHelper.Log("launching message dialog" + (parent != null ? " con parent" :  ""));
            dlg.Run();
            //AppHelper.Log("destroying message dialog");
            dlg.Destroy();
        }
Пример #17
0
	public static void Main(string[] args) {
		Application.Init();
		#if !DEBUG
		try {
		#endif
			new MainWindow();
			Application.Run();
		#if !DEBUG
		} catch (Exception e) {
			string msg = "An unexpected occured:\n{0}";

			try { 
				TextWriter s = new StreamWriter("exception.txt");
				s.WriteLine(e.Message + ":\n" + e.StackTrace);
				s.Close();
				msg += "\n\nA stack trace has been written to exception.txt.";
			} finally {
				Dialog d = new MessageDialog(null, DialogFlags.Modal,
					MessageType.Error, ButtonsType.Ok,
					msg, e.Message);
				d.Resizable = false;
				d.Run();
				d.Destroy();
			}
		}
		#endif
	}
Пример #18
0
        /// <summary>
        /// On click "..." button - select file
        /// </summary>
        protected virtual void OnBtnSelectFileClicked(object sender, System.EventArgs e)
        {
            Gtk.FileChooserDialog fc = new Gtk.FileChooserDialog (
                    AddinManager.CurrentLocalizer.GetString ("Choose the file to open"), new Dialog(),
                    Gtk.FileChooserAction.Open,
                    AddinManager.CurrentLocalizer.GetString ("Cancel"), ResponseType.Cancel,
                    AddinManager.CurrentLocalizer.GetString ("Open"), ResponseType.Accept);

            if (!string.IsNullOrEmpty (this.eCommand.Text)) {
                fc.SetFilename(this.eCommand.Text);
            }

            if (fc.Run() == (int) ResponseType.Accept) {
                // check
                UnixFileInfo info = new UnixFileInfo (fc.Filename);
                if ((info.FileAccessPermissions & FileAccessPermissions.UserExecute)
                        != FileAccessPermissions.UserExecute) {

                    MessageDialog md = new MessageDialog (new Dialog(),
                            DialogFlags.DestroyWithParent, MessageType.Error, ButtonsType.Close,
                            AddinManager.CurrentLocalizer.GetString ("Selected invalid file!\nShould be executable."));
                    md.Run ();
                    md.Destroy();
                } else {
                    this.eCommand.Text = fc.Filename;
                }
            }

            fc.Destroy();
        }
Пример #19
0
 private void ShowCertDialog ()
 {
     Logger.Debug ("Showing Cert Dialog: " + Handler.UserMessage);
     CertPolicyHandler.Response ret = CertPolicyHandler.Response.None;
     using (var handle = new AutoResetEvent(false)) {
         Application.Invoke (delegate {
             try {
                 using (MessageDialog md = new MessageDialog (null, DialogFlags.Modal,
                 MessageType.Warning, ButtonsType.None, Handler.UserMessage +
                 "\n\nDo you trust this certificate?") {
                     Title = "Untrusted Certificate"})
                 {
                     using (var noButton = md.AddButton("No", (int)CertPolicyHandler.Response.CertDeny))
                     using (var justNowButton = md.AddButton("Just now", (int)CertPolicyHandler.Response.CertAcceptSession))
                     using (var alwaysButton = md.AddButton("Always", (int)CertPolicyHandler.Response.CertAcceptAlways))
                     {
                         ret = (CertPolicyHandler.Response)md.Run ();
                         md.Destroy ();
                     }
                 }
             } finally {
                 handle.Set ();
             }
         }
         );
         handle.WaitOne ();
     }
     Logger.Debug ("Cert Dialog return:" + ret.ToString ());
     Handler.UserResponse = ret;
 }
Пример #20
0
 protected void OnButtonClicked(object sender, EventArgs e)
 {
     if (sender == button1)
     {
         // native system calls messagebox demo
         // note: this is just a demo, you should always use GTK if you can!
         if (MainClass.platform == Platforms.Mac)
         {
             MonoMac.AppKit.NSAlert alert = new MonoMac.AppKit.NSAlert ();
             alert.MessageText = "Hello";
             alert.AlertStyle = MonoMac.AppKit.NSAlertStyle.Informational;
             alert.AddButton ("Ok");
             alert.RunModal ();
         }
         else if (MainClass.platform == Platforms.Windows)
         {
             CrossTemplate.Win32.user32.MessageBox (IntPtr.Zero, "Hello", "Caption", 0x40 /* MB_ICONINFORMATION */);
         }
         else
         {
             throw new NotImplementedException ();
         }
     }
     else if (sender == button2)
     {
         // Gtk
         Gtk.MessageDialog alert = new Gtk.MessageDialog(this, DialogFlags.Modal, MessageType.Info, ButtonsType.Ok, "Hello");
         alert.Title = "Caption";
         ResponseType result = (ResponseType)alert.Run ();
         if (result == ResponseType.Ok)
         {
             alert.Destroy ();
         }
     }
 }
Пример #21
0
    /// <summary>
    /// Ask if really continue if unsaved changes.
    /// </summary>
    /// <param name="act">What we would do ("quit", "close", "open another file" or such)</param>
    /// <returns>True if continue otherwise false</returns>
    private bool ChangeConfirm(string act)
    {
        if (UndoManager.IsDirty)
        {
            Gtk.MessageDialog md = new Gtk.MessageDialog(MainWindow,
                                                         Gtk.DialogFlags.DestroyWithParent,
                                                         Gtk.MessageType.Warning,
                                                         Gtk.ButtonsType.None,
                                                         "Continue without saving changes?" + Environment.NewLine + Environment.NewLine + "If you " + act + " without saving, changes since the last save will be discarded.");
            md.AddButton(Gtk.Stock.Cancel, Gtk.ResponseType.Cancel);
            md.AddButton("Save and close", Gtk.ResponseType.Accept);
            md.AddButton("Discard Changes", Gtk.ResponseType.Yes);

            Gtk.ResponseType result = (Gtk.ResponseType)md.Run();
            md.Destroy();
            if (result == Gtk.ResponseType.Accept)
            {
                Save(false);
                return(true);
            }
            else if (result != Gtk.ResponseType.Yes)
            {
                return(false);
            }
        }
        return(true);
    }
Пример #22
0
        public static void Main(string[] args)
        {
            //GLib.Thread.Init();
            //Gdk.Threads.Init();
            Application.Init();

            MainWindow win = new MainWindow();
            GLib.ExceptionManager.UnhandledException += (unhandledException) =>
            {
                MessageDialog md = new MessageDialog(
                    win, DialogFlags.Modal, MessageType.Other,
                    ButtonsType.Ok, unhandledException.ExceptionObject.ToString());
                md.Run();
                md.Destroy();
            };
            win.Show();

            Application.Run();

            //Gdk.Threads.Enter();
            //try
            //{
            //    Application.Run();
            //}
            //finally
            //{
            //    Gdk.Threads.Leave();
            //}
        }
Пример #23
0
 protected virtual void OnButton1Activated(object sender, System.EventArgs e)
 {
     Console.WriteLine("dupa");
     try
     {
         var reader = new StringReader(textview1.Buffer.Text);
         var Sequences = Utils.ReadFasta(reader);
         reader.Close();
         Dispose();
     }
     catch
     {
         var md = new MessageDialog
             (
              this,
              DialogFlags.DestroyWithParent,
              MessageType.Error,
              ButtonsType.Close,
              "Błędny format pliku."
             );
         md.Title = "Błąd";
         md.Run();
         md.Destroy();
     }
 }
Пример #24
0
		CompareDefinition Error (string format, params string [] args)
		{
			MessageDialog md = new MessageDialog (this, DialogFlags.DestroyWithParent, MessageType.Error, ButtonsType.Close, String.Format (format, args));
			md.Run ();
			md.Destroy ();
			return null;
		}
Пример #25
0
        // Message box
        public static ResponseType ShowMessageBox(Window parent,
            MessageType mtype,
            ButtonsType buttons,
            string title,
            string message,
            params string[] args)
        {
            MessageDialog msgDlg =
                new MessageDialog(parent,
                                  DialogFlags.Modal,
                                  mtype,
                                  buttons,
                                  message,
                                  args);
            msgDlg.Title = title;
            msgDlg.UseMarkup = false;

            ResponseType response = ResponseType.None;
            msgDlg.Response += (object o, ResponseArgs args2) =>
            {
                msgDlg.Destroy();
                response = args2.ResponseId;
            };
            msgDlg.Run();
            return response;
        }
Пример #26
0
 public static void ShowInfo( string message, params string[] args )
 {
     MessageDialog dlg = new MessageDialog(null, DialogFlags.Modal, Gtk.MessageType.Info, ButtonsType.Ok, message, args);
     dlg.Title = "SpoolPad";
     dlg.Run();
     dlg.Destroy();
 }
Пример #27
0
        /// <summary>
        /// Ferme la session ouverte dans le menu LoginWindow
        /// </summary>
        /// <param name="sender">Sender.</param>
        /// <param name="e">E.</param>
        protected void OnCloseSessionsClicked(object sender, EventArgs e)
        {
            MessageDialog md = new MessageDialog (this, DialogFlags.Modal, MessageType.Question,
                                   ButtonsType.YesNo, "Êtes-vous sûr de vouloir fermer la session");
            ResponseType rt = new ResponseType ();
            rt = (ResponseType)md.Run ();

            if (rt.ToString () == "Yes") {
                md.Destroy ();
                this.Destroy ();
                LoginWindow lw = new LoginWindow ();
                lw.Show ();
            } else {
                md.Destroy ();
            }
        }
Пример #28
0
 public static ResponseType show(Window parent_window, DialogFlags dialogFlags, MessageType messageType, ButtonsType buttonsType,string  message)
 {
     _dlg = new MessageDialog (parent_window, dialogFlags,messageType, buttonsType, message);
     ResponseType response = (ResponseType) _dlg.Run ();
     _dlg.Destroy ();
     return response;
 }
Пример #29
0
 public void Messagebox(string message)
 {
     MessageDialog md = new MessageDialog(_parent._MainWindow, DialogFlags.DestroyWithParent, MessageType.Info, ButtonsType.Ok, message);
     md.Modal = true;
     ResponseType result = (ResponseType)md.Run();
     if (result == ResponseType.Ok) md.Destroy();
 }
Пример #30
0
    // Shows a dialogue to the user and lets him cancel the operation. The dialog information depends on
    // this class configuration: depends if the session is going to be inserted in a new session or an
    // existing one.
    // Returns
    public Gtk.ResponseType showImportConfirmation()
    {
        string message;
        string sessionName = getSessionName(sourceFile, sourceSession);

        if (importsToNew())
        {
            // We don't need any confirmation to import into a new session (the user could delete it easily if it was a mistake)
            return(Gtk.ResponseType.Ok);
        }
        else
        {
            // If the user is importing it into an existing session we require a confirmation.
            // This is very hard to Undo.
            string sessionInformation = String.Format(Catalog.GetString("Session name: {0}\n" +
                                                                        "from file: {1}"), sessionName, sourceFile);
            message = String.Format(Catalog.GetString("The current session will be modified. The data from:") + "\n\n" +
                                    sessionInformation + "\n\n" +
                                    Catalog.GetString("Will be imported into the current session."));

            Gtk.MessageDialog confirmationDialog = new Gtk.MessageDialog(parentWindow, Gtk.DialogFlags.Modal, Gtk.MessageType.Question, Gtk.ButtonsType.OkCancel, message);
            confirmationDialog.Title = Catalog.GetString("Import session?");
            Gtk.ResponseType response = (Gtk.ResponseType)confirmationDialog.Run();

            confirmationDialog.Destroy();

            return(response);
        }
    }
Пример #31
0
        /// <summary>
        /// Prendre nom de famille écris pour populer le combo box
        /// </summary>
        /// <returns>The filtered client.</returns>
        /// <param name="nomFamille">Nom famille.</param>
        protected DataSet GetFilteredClient(string nomFamille)
        {
            DataSet client = new DataSet();
            ConnectionMySQL conn = new ConnectionMySQL ();

            try
            {

                conn.InitializeDB (LoginWindow.Uid, LoginWindow.Password);
                conn.OpenConnection ();
                client = conn.FindClientAvecNomFamille(nomFamille);

                return client;

            }catch(Exception ex)
            {
                MessageDialog ms = new MessageDialog (this, DialogFlags.Modal, MessageType.Error,
                    ButtonsType.Ok, ex.Message);
                ms.Run ();
                ms.Destroy ();

            }
            finally
            {
                conn.CloseConnection ();

            }
            return null;
        }
Пример #32
0
		public static void Main (string[] args)
		{
			Application.Init ();
			if (args.Length == 0) {
				ShowHelp ();
				return;
			}
			if (args [0] == "-c") {
				if (args.Length != 2) {
					ShowHelp ();
					return;
				}
				service = InstrumentationService.GetRemoteService (args[1]);
				try {
					service.GetCategories ();
				} catch (Exception ex) {
					MessageDialog md = new MessageDialog (null, DialogFlags.Modal, MessageType.Error, ButtonsType.Close, "Could not connect to instrumentation service: " + ex.Message);
					md.Run ();
					md.Destroy ();
					return;
				}
			} else if (args.Length == 1) {
				LoadServiceData (args[0]);
			} else {
				ShowHelp ();
				return;
			}
			
			InstrumentationViewerDialog win = new InstrumentationViewerDialog ();
			win.Show ();
			Application.Run ();
		}
Пример #33
0
    protected void OnFileOpen_Activated(object sender, System.EventArgs e)
    {
        object [] param = new object[4];
        param[0] = "Cancel";
        param[1] = Gtk.ResponseType.Cancel;
        param[2] = "Open";
        param[3] = Gtk.ResponseType.Accept;

        Gtk.FileChooserDialog fc =
            new Gtk.FileChooserDialog("Open File",
                                      null,
                                      Gtk.FileChooserAction.Open,
                                      param);


        if (fc.Run() == (int)Gtk.ResponseType.Accept)
        {
            try
            {
                string filename = fc.Filename;

                if (System.IO.File.Exists(filename))
                {
                    string parameters = this.GetParameters(new Uri(filename));

                    this.reportviewer1.LoadReport(new Uri(filename), parameters);
                }
            }
            catch (Exception ex)
            {
                Gtk.MessageDialog m = new Gtk.MessageDialog(null, Gtk.DialogFlags.Modal, Gtk.MessageType.Info,
                                                            Gtk.ButtonsType.Ok, false,
                                                            "Error Opening File." + System.Environment.NewLine + ex.Message);

                m.Run();
                m.Destroy();
            }
        }
        //Don't forget to call Destroy() or the FileChooserDialog window won't get closed.
        fc.Destroy();
    }
Пример #34
0
        protected void OnRemoveIcon(object ob, EventArgs args)
        {
            string         name = customIconList.Selection;
            ProjectIconSet icon = project.IconFactory.GetIcon(name);

            if (icon != null)
            {
                Gtk.MessageDialog md = new Gtk.MessageDialog(dialog, Gtk.DialogFlags.Modal, Gtk.MessageType.Question, Gtk.ButtonsType.YesNo, string.Format(Catalog.GetString("Are you sure you want to delete the icon '{0}'"), icon.Name));
                if (parent != null)
                {
                    md.TransientFor = parent.Toplevel as Gtk.Window;
                }
                if (md.Run() == (int)Gtk.ResponseType.Yes)
                {
                    project.IconFactory.Icons.Remove(icon);
                    customIconList.Refresh();
//					project.Modified = true;
                }
                md.Destroy();
            }
        }
Пример #35
0
    protected void showQuestion(object sender, EventArgs e)
    {
        // instanciranje dijaloga s pitanjem
        // ButtonsType.YesNo označuje da će dijalog prikazati DA/NE buttone
        Dialog d = new Gtk.MessageDialog(this, DialogFlags.Modal, MessageType.Question, ButtonsType.YesNo, "Prikaz pitanja");

        // metoda koja prikazuje dijalog i čeka povratni odgovor korisnika
        // Tip koji metoda Run vraća je int te ga pretvaramo u Gtk.ResponseType enumeraciju da ga možemo isčitati
        var odgovor = (Gtk.ResponseType)d.Run();

        if (odgovor == Gtk.ResponseType.Yes)
        {
            lOdgovor1.Text = "DA";
        }
        else if (odgovor == Gtk.ResponseType.No)
        {
            lOdgovor1.Text = "NE";
        }

        // nakon što korisnik odgovori, sakrij dijalog
        d.Destroy();
    }
Пример #36
0
        public static void LoadProject(string file)
        {
            try {
                if (!CloseProject())
                {
                    return;
                }

                Project.Load(file);

                string title = "Stetic - " + Path.GetFileName(file);
                MainWindow.Title = title;
                ProjectView.Fill(Project);
            } catch (Exception ex) {
                Console.WriteLine(ex);
                string msg = string.Format("The file '{0}' could not be loaded.", file);
                msg += " " + ex.Message;
                Gtk.MessageDialog dlg = new Gtk.MessageDialog(null, Gtk.DialogFlags.Modal, Gtk.MessageType.Error, ButtonsType.Close, msg);
                dlg.Run();
                dlg.Destroy();
            }
        }
Пример #37
0
    protected void showCustomQuestion(object sender, EventArgs e)
    {
        // instanciranje dijaloga sa posebno definiranim gumbima
        // ButtonsType.None označuje da ne želimo koristiti preddefinirane gumbe
        Dialog d = new Gtk.MessageDialog(this, DialogFlags.Modal, MessageType.Question, ButtonsType.None, "Odgovorite na pitanje");

        // Dodaj button "da" i poveži ga na pozitivan odgovor
        d.AddButton("Da", Gtk.ResponseType.Yes);

        // Dodaj button "ne" i poveži ga s negatvnim odgovorom
        d.AddButton("Ne", Gtk.ResponseType.No);

        // Još button za odustajanje
        d.AddButton("Odustani", Gtk.ResponseType.Cancel);

        // metoda koja prikazuje dijalog i čeka povratni odgovor korisnika
        // Tip koji metoda Run vraća je int te ga pretvaramo u Gtk.ResponseType enumeraciju da ga možemo isčitati
        var odgovor = (Gtk.ResponseType)d.Run();

        if (odgovor == Gtk.ResponseType.Yes)
        {
            lOdgovor2.Text = "Da";
        }
        else if (odgovor == Gtk.ResponseType.No)
        {
            lOdgovor2.Text = "Ne";
        }
        else if (odgovor == Gtk.ResponseType.Cancel)
        {
            lOdgovor2.Text = "Korisnik je odustao";
        }
        else
        {
            lOdgovor2.Text = "Korisnik je zatvorio dijalog";
        }

        // nakon što korisnik odgovori, sakrij dijalog
        d.Destroy();
    }
Пример #38
0
    protected void OnSaveActionActivated(object sender, EventArgs e)
    {
        if (gameInfoList == null)
        {
            Gtk.MessageDialog dialog = new Gtk.MessageDialog(this,
                                                             Gtk.DialogFlags.DestroyWithParent,
                                                             Gtk.MessageType.Error,
                                                             Gtk.ButtonsType.Ok,
                                                             "No info entry to save !!");

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

        FileChooserDialog openD = new FileChooserDialog("Save text file",
                                                        this, FileChooserAction.Save,
                                                        Stock.Cancel, ResponseType.Cancel,
                                                        Stock.Save, ResponseType.Accept);
        FileFilter filter = new FileFilter();

        filter.Name = "Text file (*.txt)";
        filter.AddMimeType("Text");
        filter.AddPattern("*.txt");
        openD.AddFilter(filter);
        openD.SetFilename(filechooserwidget2.Filename.Replace(".nes", ".txt"));
        if (openD.Run() == (int)ResponseType.Accept)
        {
            File.WriteAllLines(openD.Filename, gameInfoLines.ToArray(), System.Text.Encoding.UTF8);
            try
            {
                Process.Start(openD.Filename);
            }
            catch
            {
            }
        }
        openD.Destroy();
    }
Пример #39
0
        protected void SpremiPromjene(object sender, EventArgs e)
        {
            DateTime datum = new DateTime(Int32.Parse(comboboxGodina.ActiveText), (int)(comboboxMjesec.Active + 1), Int32.Parse(comboboxDan.ActiveText));

            //Ime ne smije biti prazno
            if (entryIme.Text == "")
            {
                Dialog d = new Gtk.MessageDialog(this, DialogFlags.Modal, MessageType.Warning, ButtonsType.Ok, "Ime ne može biti prazno.");
                d.Run();
                d.Destroy();
            }
            //Prezime ne smije biti prazno
            else if (entryPrezime.Text == "")
            {
                Dialog d = new Gtk.MessageDialog(this, DialogFlags.Modal, MessageType.Warning, ButtonsType.Ok, "Prezime ne može biti prazno.");
                d.Run();
                d.Destroy();
            }
            //Spremi podatke u bazu i zatvori prozor
            else
            {
                Dialog d = new Gtk.MessageDialog(this, DialogFlags.Modal, MessageType.Other, ButtonsType.OkCancel, "Ime: " + entryIme.Text + "\nPrezime: "
                                                 + entryPrezime.Text + "\nDatum rodjenja: " + datum.Date.ToString("d") + "\nVisina: " + spinbuttonVisina.Value
                                                 + "\nTežina: " + spinbuttonTezina.Value + "\n\nŽelite li spremiti promjene?");
                var response = (ResponseType)d.Run();
                if (response == ResponseType.Ok)
                {
                    Korisnik updateKorisnik = new Korisnik(Int32.Parse(labelID.Text), entryIme.Text, entryPrezime.Text, datum, spinbuttonVisina.ValueAsInt, spinbuttonTezina.ValueAsInt);
                    Baza.UpdateKorisnika(updateKorisnik);
                    d.Destroy();
                    this.Destroy();
                }
                else
                {
                    d.Destroy();
                }
            }
        }
Пример #40
0
        public static DialogResponse Show(
            IWindow owner,
            string text,
            string title           = "",
            MessageButtons buttons = MessageButtons.Ok)
        {
            ResponseType response = ResponseType.None;

            Gtk.MessageDialog dialog = new Gtk.MessageDialog(
                (owner is Dialog ? owner as Dialog : owner as Window),
                DialogFlags.Modal, MessageType.Other,
                ConvertButtonsEnum(buttons), text);
            dialog.Title = title;

            dialog.Response += (o, args) =>
            {
                response = args.ResponseId;
                dialog.Destroy();
            };
            dialog.Run();

            return(ConvertResultEnum(response));
        }
Пример #41
0
    protected void showQuestionTip(object sender, EventArgs e)
    {
        var selectedNodeTipAktivnosti = (TipAktivnostiNode)nodeviewTip.NodeSelection.SelectedNode;

        if (selectedNodeTipAktivnosti != null)
        {
            Dialog d = new Gtk.MessageDialog(this, DialogFlags.Modal, MessageType.Question, ButtonsType.None, "Jeste li sigurni da želite obrisati tip aktivnosti?");

            d.AddButton("Da", Gtk.ResponseType.Yes);
            d.AddButton("Ne", Gtk.ResponseType.No);

            var odgovor = (Gtk.ResponseType)d.Run();

            if (odgovor == ResponseType.Yes)
            {
                if (Baza.DbProvjeriIdTipaAktivnosti(selectedNodeTipAktivnosti.id))
                {
                    Baza.BrisiTipAktivnosti(selectedNodeTipAktivnosti.id);
                    tipPresenter.Brisi(selectedNodeTipAktivnosti);
                }
            }
            d.Destroy();
        }
    }
Пример #42
0
    protected void showQuestionAktivnost(object sender, EventArgs e)
    {
        var selectedNodeAktivnostKorisnika = (AktKorisnikaNode)nodeviewAktivnostiKorisnika.NodeSelection.SelectedNode;

        if (selectedNodeAktivnostKorisnika != null)
        {
            Dialog d = new Gtk.MessageDialog(this, DialogFlags.Modal, MessageType.Question, ButtonsType.None, "Jeste li sigurni da želite obrisati aktivnost?");

            d.AddButton("Da", Gtk.ResponseType.Yes);
            d.AddButton("Ne", Gtk.ResponseType.No);

            var odgovor = (Gtk.ResponseType)d.Run();

            if (odgovor == ResponseType.Yes)
            {
                if (Baza.DbProvjeriIdAktivnostiKorisnika(selectedNodeAktivnostKorisnika.id))
                {
                    Baza.BrisiAktivnostKorisnika(selectedNodeAktivnostKorisnika.id);
                    aktKorisnikPresenter.Brisi(selectedNodeAktivnostKorisnika);
                }
            }
            d.Destroy();
        }
    }
Пример #43
0
    /*
     * Not use
     */
    private void ShowPopup()
    {
        string result_msg = GTK_Demo_Client.Popup.CPopupHandler.GetMessageFromServer();
        var    result     = new Gtk.MessageDialog(null, Gtk.DialogFlags.Modal, Gtk.MessageType.Question,
                                                  Gtk.ButtonsType.Ok, result_msg);

        result.Show();
        result.Run();
        result.Destroy();

        if (result_msg.CompareTo("로그인 성공") == 0)
        {
            GTK_Demo_Client.GameWindow GameWindow = new GTK_Demo_Client.GameWindow();
            GameWindow.Show();
            this.Destroy();
            return;
        }

        if (result_msg.CompareTo("서버와의 연결이 끊겼습니다") == 0)
        {
            Gtk.Main.Quit();
            return;
        }
    }
Пример #44
0
    /*
     * public void LoadCEStage(string filename, bool findRawForCEStage)
     * {
     *      try
     *      {
     *              mStage.LoadStage(filename);
     *
     *              string raw_filename; int prescale = 2;
     *              if (mStage.Prescale != 0) prescale = mStage.Prescale;
     *
     *              if (findRawForCEStage && MainClass.FindRawsForCestageAndAskToOpen(filename, out raw_filename, ref prescale))
     *              {
     *                      mStage.AskLoadImage(raw_filename, prescale);
     *              }
     *      }
     *      catch (StageDeserializationException sdex)
     *      {
     *              Gtk.MessageDialog md = new Gtk.MessageDialog(
     *                      this, DialogFlags.Modal,
     *                      MessageType.Error, ButtonsType.Ok,
     *                      false, "Can't load stage from the file \"{0}\".\n{1}", filename, sdex.Message);
     *
     *              md.Title = MainClass.APP_NAME;
     *
     *              md.Run();
     *              md.Destroy();
     *      }
     * }
     */
    public bool ShowLoadImageDialog()
    {
        if (mStage.TheUIState == UIState.Loading)
        {
            Gtk.MessageDialog md = new Gtk.MessageDialog(this, DialogFlags.Modal,
                                                         MessageType.Error, ButtonsType.Ok,
                                                         "Loading is in progress");
            md.Title = MainClass.APP_NAME;
            md.Run();
            md.Destroy();
        }
        else
        {
            Gtk.FileChooserDialog fcd = new Gtk.FileChooserDialog("Open RAW image",
                                                                  this,
                                                                  FileChooserAction.Open,
                                                                  "Cancel", ResponseType.Cancel,
                                                                  "Open", ResponseType.Accept);

            // Filter for RAWs
            FileFilter ff = new FileFilter();

            ff.AddCustom(FileFilterFlags.Filename, delegate(Gtk.FileFilterInfo ffi) {
                return(RawLoader.IsRaw(ffi.Filename));
            });
            ff.Name = "RAW image";

            fcd.AddFilter(ff);

            // Setting current folder to stage file folder or to RAW file folder
            if (mStage.StageFileName != null && mStage.StageFileName != "" &&
                !fcd.SetCurrentFolder(System.IO.Path.GetDirectoryName(mStage.StageFileName)))
            {
                fcd.SetCurrentFolder(System.IO.Path.GetDirectoryName(mStage.RawFileName));
            }



            // Adding preview widget

            ReceiptSelectorWidget rsw = new ReceiptSelectorWidget();
            RawPreviewWidget      rpw = new RawPreviewWidget();

            // Adding options widget

            PreScaleSelectorWidget pssw = new PreScaleSelectorWidget();
            pssw.Value = 2;
            if (mStage.Prescale != 0)
            {
                pssw.Value = mStage.Prescale;
            }

            VBox preview_box = new VBox(false, 4);
            preview_box.PackStart(rpw, true, true, 0);
            preview_box.ShowAll();
            fcd.PreviewWidget = preview_box;

            HBox options_box = new HBox(false, 20);
            options_box.PackStart(rsw, true, true, 0);
            options_box.PackEnd(pssw, false, true, 0);
            fcd.ExtraWidget = options_box;
            options_box.ShowAll();

            // Adding events

            fcd.UpdatePreview += delegate {
                rpw.Filename = fcd.Filename;
            };
            fcd.SelectionChanged += delegate {
                rpw.Filename    = fcd.Filename;
                rsw.RawFileName = fcd.Filename;
            };
            rpw.FileIsGoodChanged += delegate {
                options_box.Sensitive   = rpw.FileIsGood;
                fcd.PreviewWidgetActive = rpw.FileIsGood;
            };


            if (mStage.RawFileName != null)
            {
                fcd.SetFilename(mStage.RawFileName);
                rpw.Filename            = mStage.RawFileName;
                rsw.RawFileName         = mStage.RawFileName;
                fcd.PreviewWidgetActive = rpw.FileIsGood;
                options_box.Sensitive   = rpw.FileIsGood;
            }

            string filename = ""; int prescale = 2;
            bool   ok = false;

            if (fcd.Run() == (int)Gtk.ResponseType.Accept)
            {
                ok       = true;
                filename = fcd.Filename;
                prescale = pssw.Value;
            }

            fcd.Destroy();

            if (ok)
            {
                if (mStage.RawFileName != filename)
                {
                    mStage.AskLoadImage(filename, prescale);
                }
                mStage.LoadStage(rsw.SelectedReceiptFileName);
                return(true);
            }
        }
        return(false);
    }
Пример #45
0
        protected void OnPdfActionActivated(object sender, System.EventArgs e)
        {
            // *********************************
            object[] param = new object[4];
            param[0] = "Cancel";
            param[1] = Gtk.ResponseType.Cancel;
            param[2] = "Save";
            param[3] = Gtk.ResponseType.Accept;

            Gtk.FileChooserDialog fc =
                new Gtk.FileChooserDialog("Save File As",
                                          null,
                                          Gtk.FileChooserAction.Save,
                                          param);

            fc.CurrentName = DefaultExportFileName ?? report.Name;

            Gtk.FileFilter pdfFilter = new Gtk.FileFilter();
            pdfFilter.Name = "PDF";

            Gtk.FileFilter csvFilter = new Gtk.FileFilter();
            csvFilter.Name = "CSV";

            Gtk.FileFilter asphtmlFilter = new Gtk.FileFilter();
            asphtmlFilter.Name = "ASP HTML";

            Gtk.FileFilter excel2007 = new Gtk.FileFilter();
            excel2007.Name = "Excel 2007";

            Gtk.FileFilter htmlFilter = new Gtk.FileFilter();
            htmlFilter.Name = "HTML";

            Gtk.FileFilter mhtmlFilter = new Gtk.FileFilter();
            mhtmlFilter.Name = "MHTML";

            Gtk.FileFilter rtfFilter = new Gtk.FileFilter();
            rtfFilter.Name = "RTF";

            Gtk.FileFilter xmlFilter = new Gtk.FileFilter();
            xmlFilter.Name = "XML";

            fc.AddFilter(pdfFilter);
            fc.AddFilter(csvFilter);
            fc.AddFilter(asphtmlFilter);
            fc.AddFilter(excel2007);
            fc.AddFilter(htmlFilter);
            fc.AddFilter(mhtmlFilter);
            fc.AddFilter(xmlFilter);

            if (fc.Run() == (int)Gtk.ResponseType.Accept)
            {
                try
                {
                    // Must use the RunGetData before each export or there is no data.
                    report.RunGetData(this.Parameters);

                    string filename = fc.Filename;
                    OutputPresentationType exportType = OutputPresentationType.PDF;
                    if (fc.Filter.Name == "CSV")
                    {
                        exportType = OutputPresentationType.CSV;
                        if (filename.ToLower().Trim().EndsWith(".csv") == false)
                        {
                            filename = filename + ".csv";
                        }
                    }
                    else if (fc.Filter.Name == "PDF")
                    {
                        exportType = OutputPresentationType.PDF;
                        if (filename.ToLower().Trim().EndsWith(".pdf") == false)
                        {
                            filename = filename + ".pdf";
                        }
                    }
                    else if (fc.Filter.Name == "ASP HTML")
                    {
                        exportType = OutputPresentationType.ASPHTML;
                        if (filename.ToLower().Trim().EndsWith(".asphtml") == false)
                        {
                            filename = filename + ".asphtml";
                        }
                    }
                    else if (fc.Filter.Name == "Excel 2007")
                    {
                        exportType = OutputPresentationType.Excel;
                        if (filename.ToLower().Trim().EndsWith(".xlsx") == false)
                        {
                            filename = filename + ".xlsx";
                        }
                    }
                    else if (fc.Filter.Name == "HTML")
                    {
                        exportType = OutputPresentationType.HTML;
                        if (filename.ToLower().Trim().EndsWith(".html") == false)
                        {
                            filename = filename + ".html";
                        }
                    }
                    else if (fc.Filter.Name == "MHTML")
                    {
                        exportType = OutputPresentationType.MHTML;
                        if (filename.ToLower().Trim().EndsWith(".mhtml") == false)
                        {
                            filename = filename + ".mhtml";
                        }
                    }
                    else if (fc.Filter.Name == "XML")
                    {
                        exportType = OutputPresentationType.XML;
                        if (filename.ToLower().Trim().EndsWith(".xml") == false)
                        {
                            filename = filename + ".xml";
                        }
                    }

                    ExportReport(report, filename, exportType);
                }
                catch (Exception ex)
                {
                    Gtk.MessageDialog m = new Gtk.MessageDialog(null, Gtk.DialogFlags.Modal, Gtk.MessageType.Info,
                                                                Gtk.ButtonsType.Ok, false,
                                                                "Error Saving Copy of PDF." + System.Environment.NewLine + ex.Message);

                    m.Run();
                    m.Destroy();
                }
            }
            //Don't forget to call Destroy() or the FileChooserDialog window won't get closed.
            fc.Destroy();
        }
Пример #46
0
        protected void SpremiClicked(object sender, EventArgs e)
        {
            DateTime datum     = new DateTime(Int32.Parse(comboboxGodina.ActiveText), (int)(comboboxMjesec.Active + 1), Int32.Parse(comboboxDan.ActiveText));
            DateTime vrijeme_p = new DateTime(Int32.Parse(comboboxGodina.ActiveText), (int)(comboboxMjesec.Active + 1), Int32.Parse(comboboxDan.ActiveText),
                                              Int32.Parse(comboboxSatPocetak.ActiveText), Int32.Parse(comboboxMinPocetak.ActiveText),
                                              Int32.Parse(comboboxSecPocetak.ActiveText));
            DateTime vrijeme_k = new DateTime(Int32.Parse(comboboxGodina.ActiveText), (int)(comboboxMjesec.Active + 1), Int32.Parse(comboboxDan.ActiveText),
                                              Int32.Parse(comboboxSatKraj.ActiveText), Int32.Parse(comboboxMinKraj.ActiveText),
                                              Int32.Parse(comboboxSecKraj.ActiveText));
            TimeSpan tot_vrijeme = vrijeme_k - vrijeme_p;

            //Naziv aktivnosti ne smije biti prazan
            if (entryNaziv.Text == "")
            {
                Dialog d = new Gtk.MessageDialog(this, DialogFlags.Modal, MessageType.Warning, ButtonsType.Ok, "Naziv ne može biti prazan.");
                d.Run();
                d.Destroy();
            }
            //Datum rodjenja ne smije biti > danas
            else if (datum > DateTime.Today)
            {
                Dialog d = new Gtk.MessageDialog(this, DialogFlags.Modal, MessageType.Warning, ButtonsType.Ok, "Odaberite valjani datum.");
                d.Run();
                d.Destroy();
            }
            //Tip aktivnosti mora biti odabran
            else if (comboboxTipovi.ActiveText == "")
            {
                Dialog d = new Gtk.MessageDialog(this, DialogFlags.Modal, MessageType.Warning, ButtonsType.Ok, "Odaberite tip aktivnosti.");
                d.Run();
                d.Destroy();
            }
            else if (vrijeme_k <= vrijeme_p)
            {
                Dialog d = new Gtk.MessageDialog(this, DialogFlags.Modal, MessageType.Warning, ButtonsType.Ok, "Odaberite valjano vrijeme aktivnosti.");
                d.Run();
                d.Destroy();
            }
            //Spremi podatke u bazu i zatvori prozor
            else
            {
                List <TipAktivnosti> listaTipova = new List <TipAktivnosti>();
                listaTipova = Baza.DbUcitajTipAktivnosti();
                foreach (var x in listaTipova)
                {
                    if (x.Naziv == comboboxTipovi.ActiveText)
                    {
                        if (x.JedinicaMjere == "min")
                        {
                            double minuti = tot_vrijeme.Hours * 60 + tot_vrijeme.Minutes;
                            labelPotrosnjaKcal.Text = (minuti * x.KcalPoJediniciMjere).ToString();
                        }
                        else if (x.JedinicaMjere == "h")
                        {
                            double sati   = tot_vrijeme.Hours;
                            double minuti = tot_vrijeme.Minutes;
                            labelPotrosnjaKcal.Text = (sati * x.KcalPoJediniciMjere + minuti / 60 * x.KcalPoJediniciMjere).ToString();
                        }
                    }
                }

                Dialog d = new Gtk.MessageDialog(this, DialogFlags.Modal, MessageType.Other, ButtonsType.OkCancel, "Naziv: " + entryNaziv.Text + "\nDatum: "
                                                 + datum.Date.ToString("d") + "\nVrijeme početka: " + vrijeme_p.ToString("HH:mm:ss") + "\nVrijeme kraj: "
                                                 + vrijeme_k.ToString("HH:mm:ss") + "\nTrajanje " + tot_vrijeme.ToString("c") + "\nPotrosnja: "
                                                 + labelPotrosnjaKcal.Text);
                var response = (ResponseType)d.Run();
                if (response == ResponseType.Ok)
                {
                    AktivnostKorisnika novaAktivnostKorisnika = new AktivnostKorisnika(0, Int32.Parse(labelKorisnikId.Text), Int32.Parse(labelTipId.Text),
                                                                                       entryNaziv.Text, datum, vrijeme_p, vrijeme_k,
                                                                                       Double.Parse(labelPotrosnjaKcal.Text));
                    Baza.DbSpremiAktivnostKorisnika(novaAktivnostKorisnika);
                    labelPotrosnjaKcal.Text = "";
                    d.Destroy();
                    this.Destroy();
                }
                else
                {
                    d.Destroy();
                }
            }
        }
Пример #47
0
        private void _SetupMenu()
        {
            SaveProjectAction.Activated += (sender, e) => {
                controller.Save();
            };

            SaveProjectAsAction.Activated += (sender, e) => {
                FileChooserDialog fc = new FileChooserDialog("Save ToonBoom Exporter Project", (Gtk.Window)Toplevel, FileChooserAction.Save,
                                                             "Cancel", ResponseType.Cancel,
                                                             "Save", ResponseType.Accept);

                fc.SetCurrentFolder(System.IO.Directory.GetCurrentDirectory());
                FileFilter ff = new FileFilter();
                ff.AddPattern("*.tbp");
                fc.Filter = ff;

                if (fc.Run() == (int)ResponseType.Accept)
                {
                    controller.SaveAs(new Uri(fc.Filename));
                    Reinit();
                }
                fc.Destroy();
            };


            NewProjectAction.Activated += (sender, e) => {
                FileChooserDialog fc = new FileChooserDialog("Create new ToonBoom Exporter Project", (Gtk.Window)Toplevel, FileChooserAction.Save,
                                                             "Cancel", ResponseType.Cancel,
                                                             "Save", ResponseType.Accept);

                fc.SetCurrentFolder(System.IO.Directory.GetCurrentDirectory());
                FileFilter ff = new FileFilter();
                ff.AddPattern("*.tbp");
                fc.Filter = ff;

                if (fc.Run() == (int)ResponseType.Accept)
                {
                    ProjectController ctrler = ProjectController.NewProject(new Uri(fc.Filename));
                    ProjectWindow     window = new ProjectWindow(ctrler);

                    fc.Destroy();
                    Destroy();
                }
                else
                {
                    fc.Destroy();
                }
            };

            OpenProjectAction.Activated += (sender, e) => {
                Gtk.FileChooserDialog fc = new Gtk.FileChooserDialog("Open existing ToonBoom Exporter Project.", this, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "Open", ResponseType.Accept);
                fc.SetCurrentFolder(System.IO.Directory.GetCurrentDirectory());
                FileFilter ff = new FileFilter();
                ff.AddPattern("*.tbp");
                fc.Filter = ff;

                if (fc.Run() == (int)ResponseType.Accept)
                {
                    ProjectController ctrler = ProjectController.LoadProject(new Uri(fc.Filename));
                    ProjectWindow     window = new ProjectWindow(ctrler);

                    fc.Destroy();
                    Destroy();
                }
                else
                {
                    fc.Destroy();
                }
            };

            SetBinaryLocationAction.Activated += (sender, e) => {
                Gtk.FileChooserDialog fc = new Gtk.FileChooserDialog("Set Toon Boom binary location.", this, FileChooserAction.SelectFolder, "Cancel", ResponseType.Cancel, "Select Folder.", ResponseType.Accept);
                fc.SetCurrentFolder(@"C://Program Files (x86)/Toon Boom Animation/Toon Boom Harmony 12.2 Advanced/win64/bin");

                if (fc.Run() == (int)ResponseType.Accept)
                {
                    ProjectController.ConfigController.SetToonBoomBinPath(fc.Filename);

                    fc.Destroy();

                    if (ProjectController.ConfigController.Validate())
                    {
                        Gtk.MessageDialog dialog = new Gtk.MessageDialog(this, DialogFlags.Modal, MessageType.Info, ButtonsType.Close, "Executables found.");
                        dialog.Title = "Success";
                        dialog.Run();
                        dialog.Destroy();
                    }
                    else
                    {
                        Gtk.MessageDialog dialog = new Gtk.MessageDialog(this, DialogFlags.Modal, MessageType.Error, ButtonsType.Close, "Executables could not be found.");
                        dialog.Title = "Error";
                        dialog.Run();
                        dialog.Destroy();
                    }
                }
                else
                {
                    fc.Destroy();
                }
            };
        }
Пример #48
0
        public ConsoleWindow(Instance inst)
            : base("MultiMC Console")
        {
            // Build the GUI
            XML gxml = new XML(null, "MultiMC.GTKGUI.ConsoleWindow.glade",
                               "vboxConsole", null);

            gxml.Autoconnect(this);

            this.Add(vboxConsole);
            vboxConsole.ShowAll();
            this.Deletable = false;

            this.WidthRequest  = 600;
            this.HeightRequest = 300;

            DeleteEvent += (o, args) => OnDeleteEvent(this, EventArgs.Empty);

            // If the user has show console on, show the window
            this.Visible = AppSettings.Main.ShowConsole;

            // Add a listener for when the instance quits
            Inst           = inst;
            Inst.InstQuit += OnInstQuit;

            // Add formatting tags to the text buffer
            // Base tag
            using (TextTag baseTag = new TextTag("base"))
            {
                baseTag.Font = "Courier New";
                consoleView.Buffer.TagTable.Add(baseTag);
            }

            // Standard output tag
            using (TextTag stdoutTag = new TextTag("std"))
            {
                consoleView.Buffer.TagTable.Add(stdoutTag);
            }

            // Error message tag
            using (TextTag errorTag = new TextTag("err"))
            {
                errorTag.ForegroundGdk = new Gdk.Color(255, 0, 0);
                consoleView.Buffer.TagTable.Add(errorTag);
            }

            // Misc message tag
            using (TextTag miscTag = new TextTag("etc"))
            {
                miscTag.ForegroundGdk = new Gdk.Color(0, 0, 255);
                consoleView.Buffer.TagTable.Add(miscTag);
            }

            // Listen for output from the instance
            if (Inst.Running)
            {
                AttachOutputListeners();
            }
            else
            {
                Inst.InstLaunch += (sender, e) =>
                {
                    AttachOutputListeners();
                    Message("Instance started");
                };
            }

            // Add the tray icon
            statusIcon = new StatusIcon(
                Gdk.Pixbuf.LoadFromResource("MultiMC.Resources.MultiMC32.png"));
            statusIcon.Tooltip   = "MultiMC Console";
            statusIcon.Activate += (sender, e) => ShowConsole = !ShowConsole;

            // Make a context menu for the icon
            Menu trayMenu = new Menu();

            // Show / hide console
            MenuItem showMenuItem = new MenuItem((ShowConsole ? "Hide Console" : "Show Console"));

            showMenuItem.Activated += (sender, e) =>
            {
                ShowConsole = !ShowConsole;
                (showMenuItem.Child as Label).Text =
                    (ShowConsole ? "Hide Console" : "Show Console");
            };
            trayMenu.Add(showMenuItem);

            // Kill Minecraft
            using (MenuItem killMenuItem = new MenuItem("Kill Minecraft"))
            {
                killMenuItem.Activated += (sender, e) =>
                {
                    Gtk.MessageDialog confirmDlg = new Gtk.MessageDialog(this,
                                                                         DialogFlags.Modal,
                                                                         MessageType.Warning,
                                                                         ButtonsType.OkCancel,
                                                                         "Killing Minecraft can " +
                                                                         "cause you to lose saves " +
                                                                         "and other things. " +
                                                                         "Are you sure?");
                    confirmDlg.Title     = "Warning";
                    confirmDlg.Response += (object o, ResponseArgs args) =>
                    {
                        if (args.ResponseId == ResponseType.Ok)
                        {
                            Inst.InstProcess.Kill();
                        }
                        confirmDlg.Destroy();
                    };
                    confirmDlg.Run();
                };
                trayMenu.Add(killMenuItem);
            }

            trayMenu.ShowAll();
            statusIcon.PopupMenu += (object o, PopupMenuArgs args) =>
                                    statusIcon.PresentMenu(trayMenu, (uint)args.Args[0], (uint)args.Args[1]);

            if (inst.InstProcess != null && inst.InstProcess.StartInfo != null)
            {
                Message("Instance started with command: " +
                        inst.InstProcess.StartInfo.FileName +
                        " " + inst.InstProcess.StartInfo.Arguments.ToString());
            }
            else
            {
                Message("Instance started");
            }
        }
Пример #49
0
        public static void Main(string[] args)
        {
            // Initializing remote control
            mRemoteControlService = new RemoteControlService("localhost", 21985);
            mRemoteControlService.RemoteCommandReceived += HandleRemoteControlServiceRemoteCommandReceived;

            // Parsing command line. Formulating command and it's arguments
            List <string> argslist = new List <string>(args);

            List <string>         commands           = new List <string>();
            List <List <string> > commands_arguments = new List <List <string> >();

            if (argslist.Contains("-q") || argslist.Contains("--queue"))
            {
                argslist.Remove("-q"); argslist.Remove("--queue");
                // Queue launch mode

                // Searching for "--default" option
                int d_inx = -1;
                d_inx = argslist.IndexOf("-d") >= 0 ? argslist.IndexOf("-d") : d_inx;
                d_inx = argslist.IndexOf("--default") >= 0 ? argslist.IndexOf("--default") : d_inx;
                string d_cestage_name = "";

                if (d_inx >= 0)
                {
                    if (d_inx < argslist.Count - 1)
                    {
                        d_cestage_name = argslist[d_inx + 1];
                        // Removing readed "-d"
                        argslist.RemoveRange(d_inx, 2);

                        if (!ReceiptsManager.IsReceipt(d_cestage_name))
                        {
                            Console.WriteLine("Incorrect argument: " + d_cestage_name + " is not a .cestage file.");
                            d_cestage_name = "";
                        }
                    }
                    else if (d_inx == argslist.Count - 1)
                    {
                        Console.WriteLine("Incorrect argument: .cestage file name should be provided after --default or -d");
                        argslist.RemoveAt(d_inx);
                    }
                }

                // Searching for "--target-type"
                int tt_inx = -1;
                tt_inx = argslist.IndexOf("-t") >= 0 ? argslist.IndexOf("-t") : tt_inx;
                tt_inx = argslist.IndexOf("--target-type") >= 0 ? argslist.IndexOf("--target-type") : tt_inx;
                string target_type = "";

                if (tt_inx >= 0)
                {
                    if (tt_inx < argslist.Count - 1)
                    {
                        target_type = argslist[tt_inx + 1];
                        // Removing readed "-t"
                        argslist.RemoveRange(tt_inx, 2);

                        if (target_type != "jpeg" && target_type != "png" && target_type != "bmp")
                        {
                            Console.WriteLine("Incorrect target type specified: " + target_type + ". It should be \"jpeg\", \"png\" or \"bmp\".");
                            target_type = "";
                        }
                    }
                    else if (tt_inx == argslist.Count - 1)
                    {
                        Console.WriteLine("Incorrect argument: target type should be provided after --target-type or -t");
                        argslist.RemoveAt(tt_inx);
                    }
                }

                // Searching for "--prescale"
                int p_inx = -1;
                p_inx = argslist.IndexOf("-p") >= 0 ? argslist.IndexOf("-p") : p_inx;
                p_inx = argslist.IndexOf("--prescale") >= 0 ? argslist.IndexOf("--prescale") : p_inx;
                int prescale = 2;

                if (p_inx >= 0)
                {
                    if (p_inx < argslist.Count - 1)
                    {
                        if (!int.TryParse(argslist[p_inx + 1], out prescale) || prescale < 1 || prescale > 8)
                        {
                            Console.WriteLine("Incorrect prescale value specified: " + argslist[p_inx + 1] + ". It should be an integer value from 1 to 8.");
                        }

                        // Removing readed "-t"
                        argslist.RemoveRange(p_inx, 2);
                    }
                    else if (p_inx == argslist.Count - 1)
                    {
                        Console.WriteLine("Incorrect argument: prescale should be provided after --prescale or -p");
                        argslist.RemoveAt(p_inx);
                    }
                }

                // Now when all the additional parameters are parsed and removed,
                // we're analysing, what's left. The options:
                if (argslist.Count == 2 && ((ReceiptsManager.IsReceipt(argslist[0]) && RawLoader.IsRaw(argslist[1])) ||
                                            (ReceiptsManager.IsReceipt(argslist[1]) && RawLoader.IsRaw(argslist[0]))))
                {
                    // Two file names: one cestage and one raw

                    string cestage_filename;
                    string raw_filename;
                    if (ReceiptsManager.IsReceipt(argslist[0]) && RawLoader.IsRaw(argslist[1]))
                    {
                        cestage_filename = argslist[0];
                        raw_filename     = argslist[1];
                    }
                    else                     // if (IsCEStageFile(argslist[1]) && DCRawConnection.IsRaw(argslist[0]))
                    {
                        cestage_filename = argslist[1];
                        raw_filename     = argslist[0];
                    }

                    // Guessing target filename
                    if (target_type == "")
                    {
                        target_type = "jpeg";
                    }
                    string target_name = System.IO.Path.ChangeExtension(raw_filename, target_type);
                    target_name = CheckIfFileExistsAndAddIndex(target_name);

                    // Launching StageEditor with the cestage file and the raw file
                    commands.Add("AddToQueue");
                    commands_arguments.Add(new List <string>(new string[]
                    {
                        cestage_filename,
                        raw_filename,
                        target_name,
                        target_type,
                        prescale.ToString()
                    }));
                }
                else
                {
                    // Searching for cestage for each raw and for raws for each cestage
                    for (int i = 0; i < argslist.Count; i++)
                    {
                        if (RawLoader.IsRaw(argslist[i]))
                        {
                            // The current file is a raw

                            // Guessing target filename
                            if (target_type == "")
                            {
                                target_type = "jpeg";
                            }
                            string target_name = System.IO.Path.ChangeExtension(argslist[i], target_type);
                            target_name = CheckIfFileExistsAndAddIndex(target_name);

                            string[] cestages = ReceiptsManager.FindReceiptsForRaw(argslist[i]);
                            if (cestages.Length > 0)
                            {
                                // At least one found

                                // Launching StageEditor with the cestage file and the raw file
                                commands.Add("AddToQueue");
                                commands_arguments.Add(new List <string>(new string[]
                                {
                                    cestages[0],
                                    argslist[i],
                                    target_name,
                                    target_type,
                                    prescale.ToString()
                                }));
                            }
                            else if (d_cestage_name != "")
                            {
                                // Nothing found, but default name is present
                                commands.Add("AddToQueue");
                                commands_arguments.Add(new List <string>(new string[]
                                {
                                    d_cestage_name,
                                    argslist[i],
                                    target_name,
                                    target_type,
                                    prescale.ToString()
                                }));
                            }
                            else
                            {
                                Console.WriteLine("Can't open " + argslist[i] + ": can't find it's .cestage file");
                            }
                        }
                        else if (ReceiptsManager.IsReceipt(argslist[i]))
                        {
                            // The current file is a cestage

                            // Guessing target filename
                            if (target_type == "")
                            {
                                target_type = "jpeg";
                            }
                            string target_name = System.IO.Path.ChangeExtension(argslist[i], target_type);
                            target_name = CheckIfFileExistsAndAddIndex(target_name);

                            string[] raws = new string[] {};
                            try
                            {
                                raws = ReceiptsManager.FindRawsForReceipt(argslist[i]);
                            }
                            catch (System.IO.DirectoryNotFoundException dnfe)
                            {
                                Console.WriteLine("Error: " + dnfe.Message);
                            }
                            if (raws.Length > 0)
                            {
                                // At least one found

                                commands.Add("AddToQueue");
                                commands_arguments.Add(new List <string>(new string[]
                                {
                                    argslist[i],
                                    raws[0],
                                    target_name,
                                    target_type,
                                    prescale.ToString()
                                }));
                            }
                            else
                            {
                                Console.WriteLine("Can't open " + argslist[i] + ": can't find it's raw file");
                            }
                        }
                    }
                }
            }
            else
            {
                // Not a queue launch mode

                // If we don't have 1 cestage and 1 raw, let's open as many windows as possible.

                // But, at first, trying to find "--default" option
                int d_inx = -1;
                d_inx = argslist.IndexOf("-d") >= 0 ? argslist.IndexOf("-d") : d_inx;
                d_inx = argslist.IndexOf("--default") >= 0 ? argslist.IndexOf("--default") : d_inx;
                string d_cestage_name = "";

                if (d_inx >= 0)
                {
                    if (d_inx < argslist.Count - 1)
                    {
                        d_cestage_name = argslist[d_inx + 1];
                        // Removing readed "-d"
                        argslist.RemoveRange(d_inx, 2);

                        if (!ReceiptsManager.IsReceipt(d_cestage_name))
                        {
                            Console.WriteLine("Incorrect argument: " + d_cestage_name + " is not a .cestage file.");
                            d_cestage_name = "";
                        }
                    }
                    else if (d_inx == argslist.Count - 1)
                    {
                        Console.WriteLine("Incorrect argument: .cestage file name should be provided after --default or -d");
                        argslist.RemoveAt(d_inx);
                    }
                }

                // Searching for "--prescale"
                int p_inx = -1;
                p_inx = argslist.IndexOf("-p") >= 0 ? argslist.IndexOf("-p") : p_inx;
                p_inx = argslist.IndexOf("--prescale") >= 0 ? argslist.IndexOf("--prescale") : p_inx;
                int prescale = 2;

                if (p_inx >= 0)
                {
                    if (p_inx < argslist.Count - 1)
                    {
                        if (!int.TryParse(argslist[p_inx + 1], out prescale) || prescale < 1 || prescale > 8)
                        {
                            Console.WriteLine("Incorrect prescale value specified: " + argslist[p_inx + 1] + ". It should be an integer value from 1 to 8.");
                        }

                        // Removing readed "-p"
                        argslist.RemoveRange(p_inx, 2);
                    }
                    else if (p_inx == argslist.Count - 1)
                    {
                        Console.WriteLine("Incorrect argument: prescale should be provided after --prescale or -p");
                        argslist.RemoveAt(p_inx);
                    }
                }

                if (argslist.Count == 2 && ReceiptsManager.IsReceipt(argslist[0]) && RawLoader.IsRaw(argslist[1]))
                {
                    // Launching StageEditor with the cestage file and the raw file
                    commands.Add("StageEditor_CEStage_RAW");
                    commands_arguments.Add(new List <string>(new string[]
                    {
                        argslist[0],
                        argslist[1],
                        prescale.ToString()
                    }));
                }
                else
                if (argslist.Count == 2 && ReceiptsManager.IsReceipt(argslist[1]) && RawLoader.IsRaw(argslist[0]))
                {
                    // Launching StageEditor with the cestage file and the raw file
                    commands.Add("StageEditor_CEStage_RAW");
                    commands_arguments.Add(new List <string>(new string[]
                    {
                        argslist[1],
                        argslist[0],
                        prescale.ToString()
                    }));
                }
                else
                {
                    // Searching for cestage for each raw and for raws for each cestage
                    for (int i = 0; i < argslist.Count; i++)
                    {
                        if (RawLoader.IsRaw(argslist[i]))
                        {
                            // The current file is a raw

                            if (d_cestage_name != "")
                            {
                                // Nothing found, but default name is present
                                commands.Add("StageEditor_CEStage_RAW");
                                commands_arguments.Add(new List <string>(new string[]
                                {
                                    d_cestage_name,
                                    argslist[i],
                                    prescale.ToString()
                                }));
                            }
                            else
                            {
                                commands.Add("StageEditor_RAW");
                                commands_arguments.Add(new List <string>(new string[]
                                {
                                    argslist[i],
                                    prescale.ToString()
                                }));
                            }
                        }
                        else if (ReceiptsManager.IsReceipt(argslist[i]))
                        {
                            // The current file is a cestage

                            string[] raws = ReceiptsManager.FindRawsForReceipt(argslist[i]);
                            if (raws.Length > 0)
                            {
                                // At least one found
                                // Launching StageEditor with the cestage file and the raw file
                                commands.Add("StageEditor_CEStage_RAW");
                                commands_arguments.Add(new List <string>(new string[]
                                {
                                    argslist[i],
                                    raws[0],
                                    prescale.ToString()
                                }));
                            }
                            else if (raws.Length == 0)
                            {
                                Gtk.MessageDialog md = new Gtk.MessageDialog(
                                    null, DialogFlags.Modal,
                                    MessageType.Error, ButtonsType.Ok,
                                    false, "Can't find raw file for {0}", argslist[i]);

                                md.Title = MainClass.APP_NAME;

                                md.Run();
                                md.Destroy();
                            }
                            else                             // raws.Length > 1
                            {
                                Gtk.MessageDialog md = new Gtk.MessageDialog(
                                    null, DialogFlags.Modal,
                                    MessageType.Error, ButtonsType.Ok,
                                    false, "More than one raw file found for {0}", argslist[i]);

                                md.Title = MainClass.APP_NAME;

                                md.Run();
                                md.Destroy();
                            }
                        }
                    }
                }
            }

            bool ownServerStarted = mRemoteControlService.Start();

            if (ownServerStarted)
            {
                string mylocation = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetCallingAssembly().Location);
                windowsGtkStyle = new WindowsGtkStyle(mylocation +
                                                      Path.DirectorySeparatorChar +
                                                      "res" +
                                                      Path.DirectorySeparatorChar +
                                                      "win-gtkrc");
                Application.Init();

                // Creating render queue and its window
                mRenderingQueue       = new RenderingQueue();
                mRenderingQueueWindow = new RenderingQueueWindow(mRenderingQueue);
                mRenderingQueue.StartThread();
            }

            // No files asked
            if (commands.Count == 0)
            {
                // No command line arguments passed.
                // Sending the "StageEditor" command with no arguments
                commands.Add("StageEditor");
                commands_arguments.Add(new List <string>());
            }

            // Sending the commands
            List <string> packed_commands = new List <string>();

            for (int i = 0; i < commands.Count; i++)
            {
                packed_commands.Add(RemoteControlService.PackCommand(commands[i], commands_arguments[i].ToArray()));
            }
            mRemoteControlService.SendCommands(packed_commands.ToArray());


            if (ownServerStarted)
            {
                GLib.Idle.Add(delegate {
                    // Checking if something is already started
                    if (RenderingQueue.IsProcessingItem || StageEditorWindows.Count > 0)
                    {
                        mLoadedSomethingAlready = true;
                    }

                    // Removing all destroyed
                    StageEditorWindows.RemoveAll(delegate(StageEditorWindow wnd)
                    {
                        return(wnd.IsDestroyed);
                    });

                    // Checking is there any activity or no
                    if (mLoadedSomethingAlready &&
                        StageEditorWindows.Count == 0 &&
                        !RenderingQueue.IsProcessingItem)
                    {
                        RenderingQueue.StopThread();
                        Application.Quit();
                    }
                    return(true);
                });

                Application.Run();
            }
            mRemoteControlService.Stop();
        }
Пример #50
0
        /// <summary>
        /// User has requested an upgrade.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnUpgrade(object sender, EventArgs e)
        {
            int selIndex = GetSelIndex();

            if (selIndex >= 0)
            {
                try
                {
                    if (!checkbutton1.Active)
                    {
                        throw new Exception("You must agree to the license terms before upgrading.");
                    }

                    if (String.IsNullOrWhiteSpace(firstNameBox.Text) || String.IsNullOrWhiteSpace(lastNameBox.Text) ||
                        String.IsNullOrWhiteSpace(emailBox.Text) || String.IsNullOrWhiteSpace(countryBox.Text))
                    {
                        throw new Exception("The mandatory details at the bottom of the screen (denoted with an asterisk) must be completed.");
                    }

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

                    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)
                    {
                        window1.GdkWindow.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         = Path.ChangeExtension(upgrade.ReleaseURL, "dmg");
                            tempSetupFileName = Path.ChangeExtension(tempSetupFileName, "dmg");
                        }
                        else if (ProcessUtilities.CurrentOS.IsUnix)
                        {
                            sourceURL         = System.IO.Path.ChangeExtension(upgrade.ReleaseURL, "deb");
                            tempSetupFileName = System.IO.Path.ChangeExtension(tempSetupFileName, "deb");
                        }
                        else
                        {
                            sourceURL = upgrade.ReleaseURL;
                        }

                        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.Destroy();
                                waitDlg = null;
                            }
                            if (window1 != null && window1.GdkWindow != null)
                            {
                                window1.GdkWindow.Cursor = null;
                            }
                        }
                    }
                }
                catch (Exception err)
                {
                    window1.GdkWindow.Cursor = null;
                    ViewBase.MasterView.ShowMsgDialog(err.Message, "Error", MessageType.Error, ButtonsType.Ok, window1);
                }
            }
        }
Пример #51
0
        protected void OnPdfActionActivated(object sender, System.EventArgs e)
        {
            // *********************************
            object[] param = new object[4];
            param[0] = Strings.ButtonCancel_Text;
            param[1] = Gtk.ResponseType.Cancel;
            param[2] = Strings.ButtonSave_Text;
            param[3] = Gtk.ResponseType.Accept;

            Gtk.FileChooserDialog fc =
                new Gtk.FileChooserDialog(Strings.FileChooser_SaveFileTo_Title,
                                          null,
                                          Gtk.FileChooserAction.Save,
                                          param);

            fc.CurrentName = DefaultExportFileName ?? report.Name;

            if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.PDF))
            {
                Gtk.FileFilter pdfFilter = new Gtk.FileFilter {
                    Name = "PDF"
                };
                var extensionPDF = ".pdf";
                pdfFilter.AddPattern($"*{extensionPDF}");
                fc.AddFilter(pdfFilter);
            }

            if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.CSV))
            {
                Gtk.FileFilter csvFilter = new Gtk.FileFilter {
                    Name = "CSV"
                };
                var extensionCSV = ".csv";
                csvFilter.AddPattern($"*{extensionCSV}");
                fc.AddFilter(csvFilter);
            }

            if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.ExcelTableOnly))
            {
                Gtk.FileFilter excel2007Data = new Gtk.FileFilter {
                    Name = "Excel no formatting (Fast)"
                };
                var extensionXLSX = ".xlsx";
                excel2007Data.AddPattern($"*{extensionXLSX}");
                fc.AddFilter(excel2007Data);
            }

            if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.Excel2007))
            {
                Gtk.FileFilter excel2007 = new Gtk.FileFilter {
                    Name = "Excel with formatting (Slow)"
                };
                var extensionXLSX = ".xlsx";
                excel2007.AddPattern($"*{extensionXLSX}");
                fc.AddFilter(excel2007);
            }

            if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.TIF))
            {
                Gtk.FileFilter tiffFilter = new Gtk.FileFilter {
                    Name = "TIFF"
                };
                var extensionTIFF = ".tiff";
                tiffFilter.AddPattern($"*{extensionTIFF}");
                fc.AddFilter(tiffFilter);
            }

            if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.ASPHTML))
            {
                Gtk.FileFilter asphtmlFilter = new Gtk.FileFilter {
                    Name = "ASP HTML"
                };
                var extensionASPHTML = ".asphtml";
                asphtmlFilter.AddPattern($"*{extensionASPHTML}");
                fc.AddFilter(asphtmlFilter);
            }

            if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.HTML))
            {
                Gtk.FileFilter htmlFilter = new Gtk.FileFilter {
                    Name = "HTML"
                };
                var extensionHTML = ".html";
                htmlFilter.AddPattern($"*{extensionHTML}");
                fc.AddFilter(htmlFilter);
            }

            if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.MHTML))
            {
                Gtk.FileFilter mhtmlFilter = new Gtk.FileFilter {
                    Name = "MHTML"
                };
                var extensionMHTML = ".mhtml";
                mhtmlFilter.AddPattern($"*{extensionMHTML}");
                fc.AddFilter(mhtmlFilter);
            }

            if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.XML))
            {
                Gtk.FileFilter xmlFilter = new Gtk.FileFilter {
                    Name = "XML"
                };
                var extensionXML = ".xml";
                xmlFilter.AddPattern($"*{extensionXML}");
                fc.AddFilter(xmlFilter);
            }

            if (!fc.Filters.Any())
            {
                Gtk.MessageDialog m = new Gtk.MessageDialog(null, Gtk.DialogFlags.Modal, Gtk.MessageType.Info,
                                                            Gtk.ButtonsType.Ok, false,
                                                            "Export in all document formats is prohibited");

                m.WindowPosition = WindowPosition.Center;
                m.Run();
                m.Destroy();
                return;
            }

            if (fc.Run() == (int)Gtk.ResponseType.Accept)
            {
                try
                {
                    string searchPattern = "*";

                    string filename = fc.Filename;
                    OutputPresentationType exportType = OutputPresentationType.PDF;
                    if (fc.Filter.Name == "CSV")
                    {
                        exportType = OutputPresentationType.CSV;
                        if (filename.ToLower().Trim().EndsWith(".csv") == false)
                        {
                            filename      = filename + ".csv";
                            searchPattern = "*.csv";
                        }
                    }
                    else if (fc.Filter.Name == "PDF")
                    {
                        exportType = OutputPresentationType.PDF;
                        if (filename.ToLower().Trim().EndsWith(".pdf") == false)
                        {
                            filename      = filename + ".pdf";
                            searchPattern = "*.pdf";
                        }
                    }
                    else if (fc.Filter.Name == "Excel 2007 Data")
                    {
                        exportType = OutputPresentationType.ExcelTableOnly;
                        if (filename.ToLower().Trim().EndsWith(".xlsx") == false)
                        {
                            filename      = filename + ".xlsx";
                            searchPattern = "*.xlsx";
                        }
                    }
                    else if (fc.Filter.Name == "Excel 2007")
                    {
                        exportType = OutputPresentationType.Excel2007;
                        if (filename.ToLower().Trim().EndsWith(".xlsx") == false)
                        {
                            filename      = filename + ".xlsx";
                            searchPattern = "*.xlsx";
                        }
                    }
                    else if (fc.Filter.Name == "TIFF")
                    {
                        exportType = OutputPresentationType.TIF;
                        if (filename.ToLower().Trim().EndsWith(".tif") == false)
                        {
                            filename      = filename + ".tif";
                            searchPattern = "*.tif";
                        }
                    }
                    else if (fc.Filter.Name == "ASP HTML")
                    {
                        exportType = OutputPresentationType.ASPHTML;
                        if (filename.ToLower().Trim().EndsWith(".asphtml") == false)
                        {
                            filename      = filename + ".asphtml";
                            searchPattern = "*.asphtml";
                        }
                    }
                    else if (fc.Filter.Name == "HTML")
                    {
                        exportType = OutputPresentationType.HTML;
                        if (filename.ToLower().Trim().EndsWith(".html") == false)
                        {
                            filename      = filename + ".html";
                            searchPattern = "*.html";
                        }
                    }
                    else if (fc.Filter.Name == "MHTML")
                    {
                        exportType = OutputPresentationType.MHTML;
                        if (filename.ToLower().Trim().EndsWith(".mhtml") == false)
                        {
                            filename      = filename + ".mhtml";
                            searchPattern = "*.mhtml";
                        }
                    }
                    else if (fc.Filter.Name == "XML")
                    {
                        exportType = OutputPresentationType.XML;
                        if (filename.ToLower().Trim().EndsWith(".xml") == false)
                        {
                            filename      = filename + ".xml";
                            searchPattern = "*.xml";
                        }
                    }


                    string directory = filename.Remove(filename.LastIndexOf(@"\") + 1);

                    var files = Directory.GetFiles(directory, searchPattern);

                    //Check for files with same name in directory
                    if (files.Any())
                    {
                        for (int i = 0; i < files.Length; i++)
                        {
                            if (files[i] == filename)
                            {
                                //If found files with the same name in directory
                                MessageDialog m = new Gtk.MessageDialog(null, DialogFlags.Modal, MessageType.Question,
                                                                        Gtk.ButtonsType.YesNo, false,
                                                                        Strings.SaveToFile_CheckIf_SameFilesInDir);

                                m.SetPosition(WindowPosition.Center);
                                ResponseType result = (ResponseType)m.Run();
                                m.Destroy();
                                if (result == ResponseType.Yes)
                                {
                                    // Must use the RunGetData before each export or there is no data.
                                    report.RunGetData(this.Parameters);
                                    ExportReport(report, filename, exportType);
                                    break;
                                }
                                else
                                {
                                    break;
                                }
                            }

                            if (i + 1 == files.Length && files[i] != filename)
                            {
                                //If no files with the same name found in directory
                                // Must use the RunGetData before each export or there is no data.
                                report.RunGetData(this.Parameters);
                                ExportReport(report, filename, exportType);
                                break;
                            }
                        }
                    }
                    else
                    {
                        //If no files found in directory
                        // Must use the RunGetData before each export or there is no data.
                        report.RunGetData(this.Parameters);
                        ExportReport(report, filename, exportType);
                    }
                }
                catch (Exception ex)
                {
                    Gtk.MessageDialog m = new Gtk.MessageDialog(null, Gtk.DialogFlags.Modal, Gtk.MessageType.Info,
                                                                Gtk.ButtonsType.Ok, false,
                                                                "Error Saving Copy of PDF." + System.Environment.NewLine + ex.Message);

                    m.Run();
                    m.Destroy();
                }
            }
            //Don't forget to call Destroy() or the FileChooserDialog window won't get closed.
            fc.Destroy();
        }
Пример #52
0
        protected void OnPdfActionActivated(object sender, System.EventArgs e)
        {
            // *********************************
            object[] param = new object[4];
            param[0] = "Cancel";
            param[1] = Gtk.ResponseType.Cancel;
            param[2] = "Save";
            param[3] = Gtk.ResponseType.Accept;

            Gtk.FileChooserDialog fc =
                new Gtk.FileChooserDialog("Save File As",
                                          null,
                                          Gtk.FileChooserAction.Save,
                                          param);

            fc.CurrentName = DefaultExportFileName ?? report.Name;

            if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.PDF))
            {
                Gtk.FileFilter pdfFilter = new Gtk.FileFilter {
                    Name = "PDF"
                };
                fc.AddFilter(pdfFilter);
            }

            if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.CSV))
            {
                Gtk.FileFilter csvFilter = new Gtk.FileFilter {
                    Name = "CSV"
                };
                fc.AddFilter(csvFilter);
            }

            if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.ExcelTableOnly))
            {
                Gtk.FileFilter excel2007Data = new Gtk.FileFilter {
                    Name = "Excel no formatting (Fast)"
                };
                fc.AddFilter(excel2007Data);
            }

            if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.Excel2007))
            {
                Gtk.FileFilter excel2007 = new Gtk.FileFilter {
                    Name = "Excel with formatting (Slow)"
                };
                fc.AddFilter(excel2007);
            }

            if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.TIF))
            {
                Gtk.FileFilter tiffFilter = new Gtk.FileFilter {
                    Name = "TIFF"
                };
                fc.AddFilter(tiffFilter);
            }

            if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.ASPHTML))
            {
                Gtk.FileFilter asphtmlFilter = new Gtk.FileFilter {
                    Name = "ASP HTML"
                };
                fc.AddFilter(asphtmlFilter);
            }

            if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.HTML))
            {
                Gtk.FileFilter htmlFilter = new Gtk.FileFilter {
                    Name = "HTML"
                };
                fc.AddFilter(htmlFilter);
            }

            if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.MHTML))
            {
                Gtk.FileFilter mhtmlFilter = new Gtk.FileFilter {
                    Name = "MHTML"
                };
                fc.AddFilter(mhtmlFilter);
            }

            if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.XML))
            {
                Gtk.FileFilter xmlFilter = new Gtk.FileFilter {
                    Name = "XML"
                };
                fc.AddFilter(xmlFilter);
            }

            if (!fc.Filters.Any())
            {
                Gtk.MessageDialog m = new Gtk.MessageDialog(null, Gtk.DialogFlags.Modal, Gtk.MessageType.Info,
                                                            Gtk.ButtonsType.Ok, false,
                                                            "Export in all document formats is prohibited");

                m.WindowPosition = WindowPosition.Center;
                m.Run();
                m.Destroy();
                return;
            }

            if (fc.Run() == (int)Gtk.ResponseType.Accept)
            {
                try
                {
                    // Must use the RunGetData before each export or there is no data.
                    report.RunGetData(this.Parameters);

                    string filename = fc.Filename;
                    OutputPresentationType exportType = OutputPresentationType.PDF;
                    if (fc.Filter.Name == "CSV")
                    {
                        exportType = OutputPresentationType.CSV;
                        if (filename.ToLower().Trim().EndsWith(".csv") == false)
                        {
                            filename = filename + ".csv";
                        }
                    }
                    else if (fc.Filter.Name == "PDF")
                    {
                        exportType = OutputPresentationType.PDF;
                        if (filename.ToLower().Trim().EndsWith(".pdf") == false)
                        {
                            filename = filename + ".pdf";
                        }
                    }
                    else if (fc.Filter.Name == "Excel 2007 Data")
                    {
                        exportType = OutputPresentationType.ExcelTableOnly;
                        if (filename.ToLower().Trim().EndsWith(".xlsx") == false)
                        {
                            filename = filename + ".xlsx";
                        }
                    }
                    else if (fc.Filter.Name == "Excel 2007")
                    {
                        exportType = OutputPresentationType.Excel2007;
                        if (filename.ToLower().Trim().EndsWith(".xlsx") == false)
                        {
                            filename = filename + ".xlsx";
                        }
                    }
                    else if (fc.Filter.Name == "TIFF")
                    {
                        exportType = OutputPresentationType.TIF;
                        if (filename.ToLower().Trim().EndsWith(".tif") == false)
                        {
                            filename = filename + ".tif";
                        }
                    }
                    else if (fc.Filter.Name == "ASP HTML")
                    {
                        exportType = OutputPresentationType.ASPHTML;
                        if (filename.ToLower().Trim().EndsWith(".asphtml") == false)
                        {
                            filename = filename + ".asphtml";
                        }
                    }
                    else if (fc.Filter.Name == "HTML")
                    {
                        exportType = OutputPresentationType.HTML;
                        if (filename.ToLower().Trim().EndsWith(".html") == false)
                        {
                            filename = filename + ".html";
                        }
                    }
                    else if (fc.Filter.Name == "MHTML")
                    {
                        exportType = OutputPresentationType.MHTML;
                        if (filename.ToLower().Trim().EndsWith(".mhtml") == false)
                        {
                            filename = filename + ".mhtml";
                        }
                    }
                    else if (fc.Filter.Name == "XML")
                    {
                        exportType = OutputPresentationType.XML;
                        if (filename.ToLower().Trim().EndsWith(".xml") == false)
                        {
                            filename = filename + ".xml";
                        }
                    }

                    ExportReport(report, filename, exportType);
                }
                catch (Exception ex)
                {
                    Gtk.MessageDialog m = new Gtk.MessageDialog(null, Gtk.DialogFlags.Modal, Gtk.MessageType.Info,
                                                                Gtk.ButtonsType.Ok, false,
                                                                "Error Saving Copy of PDF." + System.Environment.NewLine + ex.Message);

                    m.Run();
                    m.Destroy();
                }
            }
            //Don't forget to call Destroy() or the FileChooserDialog window won't get closed.
            fc.Destroy();
        }
Пример #53
0
        private void Web_DownloadFileCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
        {
            try
            {
                if (waitDlg != null)
                {
                    waitDlg.Destroy();
                    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))
                        {
                            // Copy the separate upgrader executable to the temp directory.
                            string sourceUpgraderFileName = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "Updater.exe");
                            string upgraderFileName       = Path.Combine(Path.GetTempPath(), "Updater.exe");

                            // Check to see if upgrader is already running for whatever reason.
                            // Kill them if found.
                            foreach (Process process in Process.GetProcessesByName(Path.GetFileNameWithoutExtension(upgraderFileName)))
                            {
                                process.Kill();
                            }

                            // Delete the old upgrader.
                            if (File.Exists(upgraderFileName))
                            {
                                File.Delete(upgraderFileName);
                            }
                            // Copy in the new upgrader.
                            File.Copy(sourceUpgraderFileName, upgraderFileName, true);

                            // Run the upgrader.
                            string binDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
                            string ourDirectory = Path.GetFullPath(Path.Combine(binDirectory, ".."));
                            string newDirectory = Path.GetFullPath(Path.Combine(ourDirectory, "..", "APSIM" + versionNumber));
                            string arguments    = StringUtilities.DQuote(ourDirectory) + " " +
                                                  StringUtilities.DQuote(newDirectory);

                            ProcessStartInfo info = new ProcessStartInfo();
                            if (ProcessUtilities.CurrentOS.IsMac)
                            {
                                info.FileName  = "mono";
                                info.Arguments = upgraderFileName + " " + arguments;
                            }
                            else
                            {
                                info.FileName  = upgraderFileName;
                                info.Arguments = arguments;
                            }
                            info.WorkingDirectory = Path.GetTempPath();
                            Process.Start(info);
                            window1.GdkWindow.Cursor = null;

                            // Shutdown the user interface
                            window1.Destroy();
                            tabbedExplorerView.Close();
                        }
                    }
                    catch (Exception err)
                    {
                        window1.GdkWindow.Cursor = null;
                        Application.Invoke(delegate
                        {
                            ViewBase.MasterView.ShowMsgDialog(err.Message, "Installation Error", MessageType.Error, ButtonsType.Ok, window1);
                        });
                    }
                }
            }
            catch (Exception err)
            {
                ShowError(err);
            }
        }
Пример #54
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.IssueNumber;

                    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.GdkWindow.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         = Path.ChangeExtension(upgrade.ReleaseURL, "dmg");
                            tempSetupFileName = Path.ChangeExtension(tempSetupFileName, "dmg");
                        }
                        else if (ProcessUtilities.CurrentOS.IsUnix)
                        {
                            sourceURL         = System.IO.Path.ChangeExtension(upgrade.ReleaseURL, "deb");
                            tempSetupFileName = System.IO.Path.ChangeExtension(tempSetupFileName, "deb");
                        }
                        else
                        {
                            sourceURL = upgrade.ReleaseURL;
                        }

                        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.Destroy();
                                waitDlg = null;
                            }
                            if (window1 != null && window1.GdkWindow != null)
                            {
                                window1.GdkWindow.Cursor = null;
                            }
                        }
                    }
                }
            }
            catch (Exception err)
            {
                ShowError(err);
            }
        }
    private void OnPressButtonOKEvent(object o, EventArgs e)
    {
        User zglaszajacy = UserList.getInstance().current();
        bool zapisz      = true;

        //brak tematu
        if (topic.Text.Length == 0)
        {
            Gtk.MessageDialog msgDialog1 = new Gtk.MessageDialog(null,
                                                                 DialogFlags.DestroyWithParent,
                                                                 MessageType.Warning,
                                                                 ButtonsType.Ok,
                                                                 "Pole \"Temat\" nie może być puste!");
            msgDialog1.Run();
            msgDialog1.Destroy();
            zapisz = false;
        }

        //brak kategorii
        if (catEntry.Text.Length == 0)
        {
            Gtk.MessageDialog msgDialog2 = new Gtk.MessageDialog(null,
                                                                 DialogFlags.DestroyWithParent,
                                                                 MessageType.Warning,
                                                                 ButtonsType.Ok,
                                                                 "Pole \"Kategoria\" nie może być puste!");
            msgDialog2.Run();
            msgDialog2.Destroy();
            zapisz = false;
        }

        //zła data
        if (CalendarFrom.GetDate() > CalendarTo.GetDate())
        {
            Gtk.MessageDialog msgDialog3 = new Gtk.MessageDialog(null,
                                                                 DialogFlags.DestroyWithParent,
                                                                 MessageType.Warning,
                                                                 ButtonsType.Ok,
                                                                 "Data początku nie może być po dacie końca!");
            msgDialog3.Run();
            msgDialog3.Destroy();
            zapisz = false;
        }

        if (zapisz)
        {
            string dataOd = CalendarFrom.GetDate().ToString().Substring(0, CalendarFrom.GetDate().ToString().IndexOf(" "));
            string dataDo = CalendarTo.GetDate().ToString().Substring(0, CalendarTo.GetDate().ToString().IndexOf(" "));
            if (zglaszajacy.status == 0)                //student
            {
                TopicList.getInstance().addTopic(new Topic("przedmiot",
                                                           topic.Text,
                                                           dataOd,
                                                           dataDo,
                                                           zglaszajacy.nazwisko + " " + zglaszajacy.imie,
                                                           catEntry.Text,
                                                           zglaszajacy));
            }
            if (zglaszajacy.status >= 1)                //wykladowca lub admin
            {
                TopicList.getInstance().addTopic(new Topic("przedmiot",
                                                           topic.Text,
                                                           dataOd,
                                                           dataDo,
                                                           zglaszajacy.nazwisko + " " + zglaszajacy.imie,
                                                           catEntry.Text));
            }

            Gtk.MessageDialog msgDialog = new Gtk.MessageDialog(null,
                                                                DialogFlags.DestroyWithParent,
                                                                MessageType.Info,
                                                                ButtonsType.Ok,
                                                                "Dodano temat.");
            msgDialog.Run();
            msgDialog.Destroy();
            GUIMain.loadTopics();
            OnWindowDeleteEvent(this, new DeleteEventArgs());
        }
    }
Пример #56
0
        public static void CheckWordDialog(object sender, EventArgs e)
        {
            var lab = new Gtk.Label("Zadejte slovo: ");
            var ent = new Gtk.Entry();
            var but = new Gtk.Button("OK");
            var div = new Gtk.HBox(false, 1);

            div.PackStart(lab);
            div.Add(ent);
            div.PackEnd(but);
            var checkWin = new Gtk.Window(Gtk.WindowType.Popup);

            checkWin.Add(div);
            checkWin.BorderWidth = 0;
            checkWin.Modal       = true;
            checkWin.CanFocus    = true;
            checkWin.SetPosition(WindowPosition.Mouse);
            checkWin.ShowAll();
            ent.Activated += delegate {
                but.Click();
            };
            but.Clicked += delegate {
                checkWin.HideAll();

                if (game.dictionary.Content(ent.Text))
                {
                    Gtk.MessageDialog ans = new Gtk.MessageDialog(
                        game.Window,
                        DialogFlags.DestroyWithParent,
                        MessageType.Info,
                        ButtonsType.Close,
                        "Slovo \"" + ent.Text + "\" <b>je</b> ve slovníku"
                        );
                    ans.Run();
                    ans.Destroy();
                }
                else
                {
                    Gtk.MessageDialog ans = new Gtk.MessageDialog(
                        game.Window,
                        DialogFlags.DestroyWithParent,
                        MessageType.Info,
                        ButtonsType.Close,
                        "Slovo \"" + ent.Text + "\" <b>není</b> ve slovníku"
                        );
                    ans.Run();
                    ans.Destroy();
                }
                checkWin.Dispose();
                checkWin.Destroy();
            };

            checkWin.KeyPressEvent += delegate(object o, KeyPressEventArgs args) {
                switch (args.Event.Key)
                {
                case Gdk.Key.Escape:
                    checkWin.HideAll();
                    checkWin.Dispose();
                    checkWin.Destroy();
                    break;

                case Gdk.Key.ISO_Enter:
                    but.Click();
                    break;
                }
            };
        }
Пример #57
0
    protected void OnPressEditTopicEvent(object o, EventArgs e)
    {
        int zaznaczony = -1, indeks1 = 0, indeks2 = 0, offset = 0;

        Gtk.Widget[] dzieci = TopicTable.Children;
        Gtk.Entry    nazwaTmp = null, katTmp = null;

        if (maszDwaNoweKomponentyDoPoliczenia)
        {
            offset = 12;
        }
        else
        {
            offset = 10;
        }

        for (int i = 0; i < maxTopics; i++)
        {
            if (checkbuttony[i].Active)
            {
                zaznaczony = i;
            }
        }

        //nic nie jest zaznaczone
        if (zaznaczony == -1)
        {
            return;
        }

        zaznaczony %= 5;
        switch (zaznaczony)
        {
        case 0: indeks1 = dzieci.Length - offset;
            break;

        case 1: indeks1 = dzieci.Length - offset - 6;
            break;

        case 2: indeks1 = dzieci.Length - offset - 12;
            break;

        case 3: indeks1 = dzieci.Length - offset - 18;
            break;

        case 4: indeks1 = dzieci.Length - offset - 24;
            break;
        }

        indeks2 = indeks1 + 4;

        if (EditTopic.Label == "OK")
        {
            maszDwaNoweKomponentyDoPoliczenia = false;

            if (Proxy.getInstance().canDoQuery("UPDATE", UserList.getInstance().current().status))
            {
                string lista = " Subjects SET Topic=\'";
                lista += ((Gtk.Entry)dzieci[1]).Text + "\', Cathegory=\'";
                lista += ((Gtk.Entry)dzieci[0]).Text + "\' WHERE id=";
                lista += ((Gtk.Label)dzieci[indeks2 + 2]).Text + ";";
                IDataReader reader = DBQuery.createQuery("UPDATE", lista);
                DBQuery.CloseReader(reader);
            }
            else
            {
                Proxy.getInstance().blad("UPDATE");
                return;
            }

            Gtk.MessageDialog msgDialog = new Gtk.MessageDialog(null,
                                                                DialogFlags.DestroyWithParent,
                                                                MessageType.Info,
                                                                ButtonsType.Ok,
                                                                "Dane tematu zostały zmienione");
            msgDialog.Run();
            msgDialog.Destroy();
            EditTopic.Label = "Edytuj temat";
            loadTopics();

            prevPage.Visible    = true;
            nextPage.Visible    = true;
            DeleteTopic.Visible = true;
            AddTopic.Visible    = true;

            return;
        }

        if (EditTopic.Label == "Edytuj temat")
        {
            nazwaTmp = new Gtk.Entry(((Gtk.Label)dzieci[indeks2 - 1]).Text);
            katTmp   = new Gtk.Entry(((Gtk.Label)dzieci[indeks1]).Text);

            prevPage.Visible    = false;
            nextPage.Visible    = false;
            DeleteTopic.Visible = false;
            AddTopic.Visible    = false;

            //po dodaniu dwóch Gtk.Entry się sypie, to jest zabezpieczenie
            maszDwaNoweKomponentyDoPoliczenia = true;

            EditTopic.Label = "OK";

            nazwaTmp.WidthChars = 10;
            katTmp.WidthChars   = 10;

            //schowanie etykiet
            dzieci[indeks2 - 1].Hide();
            dzieci[indeks1].Hide();

            //pokazanie pól tekstowych
            TopicTable.Attach(nazwaTmp, 1, 2, (uint)(zaznaczony + 1), (uint)(zaznaczony + 2));
            TopicTable.Attach(katTmp, 4, 5, (uint)(zaznaczony + 1), (uint)(zaznaczony + 2));
            nazwaTmp.Show();
            katTmp.Show();
        }
    }