//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; }
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(); }
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(); } }
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 (); }
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; })); }
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); }
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(); } } }
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; } }
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); }
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; }
//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; }
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; }
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; }
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 (); }
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(); }
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 }
/// <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(); }
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; }
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 (); } } }
/// <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); }
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(); //} }
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(); } }
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; }
// 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; }
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(); }
/// <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 (); } }
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; }
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(); }
// 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); } }
/// <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; }
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 (); }
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(); }
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(); } }
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(); }
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(); } }
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(); }
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(); }
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(); } } }
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)); }
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(); } }
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(); } }
/* * 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; } }
/* * 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); }
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(); }
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(); } } }
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(); } }; }
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"); } }
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(); }
/// <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); } } }
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(); }
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(); }
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); } }
/// <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()); } }
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; } }; }
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(); } }