/// <summary> /// Edit conditional formatting /// </summary> /// <param name="cf"></param> /// <param name="title"></param> /// <returns></returns> public static CondFormat Edit( CondFormat cf, bool editForUserObjectStorage = false, string title = "Conditional Formatting Rules") { InitialSerializedForm = cf.Serialize(); // save for later compare //if (Instance == null) // always create new instance because the any changed height of the grid editor controls is maintained otherwise Instance = new CondFormatEditor(); Instance.Text = title; Instance.ShowEditorWhenActivated = true; Instance.EditForUserObjectStorage = editForUserObjectStorage; Instance.CondFormatToForm(cf); DialogResult dr = Instance.ShowDialog(SessionManager.ActiveForm); if (dr == DialogResult.Cancel) { return(null); } cf = Instance.FormToCondFormat(); cf.Rules.InitializeInternalMatchValues(cf.ColumnType); return(cf); }
/// <summary> /// Edit a new or existing calculated field /// </summary> /// <param name="uo">Existing UserObject with content or null to create a new CF</param> /// <returns></returns> public static CondFormat EditUserObject( UserObject uo = null) { if (uo == null) // prompt if not supplied { UserObject defaultUo = new UserObject(UserObjectType.CondFormat); defaultUo.ParentFolder = CondFormat.PredefinedCondFormatFolderName; uo = UserObjectOpenDialog.ShowDialog(UserObjectType.CondFormat, "Edit Conditional Formatting", defaultUo); } if (uo == null) { return(null); } uo = UserObjectDao.Read(uo); if (uo == null) { return(null); } CondFormat cf = CondFormat.Deserialize(uo.Content); if (cf == null) { return(null); } string title = "Conditional Formatting - " + uo.Name + " (" + uo.InternalName + ")"; CondFormat cf2 = Edit(cf, true, title); if (cf2 == null) { return(null); } uo.Content = cf2.Serialize(); UserObjectDao.Write(uo, uo.Id); if (MainMenuControl != null) { MainMenuControl.UpdateMruList(uo.InternalName); } CondFormat.UpdatePredefined(uo.InternalName, cf2); // update the dictionary of predefined CFs UpdateExistingCfReferences(uo, cf2); // update any references to this cf in the list of open queries return(cf); }
private void CancelBut_Click(object sender, EventArgs e) { CondFormat cf = FormToCondFormat(); string s = cf.Serialize(); if (s != InitialSerializedForm) { DialogResult dr = XtraMessageBox.Show( "Are you sure you want to discard the\r\n" + "changes to this conditional formatting?", UmlautMobius.String, MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation); if (dr != DialogResult.Yes) { return; } } this.Visible = false; // hide so not called again by FormClosing event DialogResult = DialogResult.Cancel; }
/// <summary> /// Create a new conditional format user object /// </summary> /// <returns></returns> public static CondFormat CreateNewUserObject() { MetaColumnType mcType = MetaColumnType.Number; CondFormat cf = CreateAndInitializeCf(mcType); string title = "New Conditional Format"; CondFormat cf2 = Edit(cf, true, title); if (cf2 == null) { return(null); } UserObject uo = new UserObject(UserObjectType.CondFormat); // Predefined cond formats by default are owned by a single owner and stored in a single folder uo.Owner = SS.I.UserName; uo.ParentFolder = CondFormat.PredefinedCondFormatFolderName; uo.AccessLevel = UserObjectAccess.ACL; uo.ACL = AccessControlList.GetAdministratorGroupRwPublicReadAcl(SS.I.UserName); uo = UserObjectSaveDialog.Show("Save As", uo); if (uo == null) { return(null); } uo.Content = cf2.Serialize(); UserObjectDao.Write(uo, uo.Id); MessageBoxMx.Show("Conditional format " + uo.Name + " saved (" + uo.InternalName + ")"); // show internal name so it may be referenced in a MetaColumn definition if (MainMenuControl != null) { MainMenuControl.UpdateMruList(uo.InternalName); } return(cf); }