예제 #1
0
        /// <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);
        }
예제 #2
0
        /// <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);
        }
예제 #3
0
        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;
        }
예제 #4
0
        /// <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);
        }