//-----------------------------------------------------------------------
        public static void OnRightClickAideFormule(Type typeSource, CDefinitionProprieteDynamique defProp, Point screenPoint)
        {
            ContextMenuStrip  menu = new ContextMenuStrip();
            ToolStripMenuItem item = null;
            CDefinitionProprieteDynamiqueSmartField def = defProp as CDefinitionProprieteDynamiqueSmartField;

            if (def != null)
            {
                CSmartField smartField = new CSmartField(CSc2iWin32DataClient.ContexteCourant);
                if (smartField.ReadIfExists(def.IdSmartField))
                {
                    CTagMenu tag = new CTagMenu(typeSource, defProp, smartField);
                    item        = new ToolStripMenuItem(I.T("Edit smart field|20083"));
                    item.Tag    = tag;
                    item.Click += new EventHandler(itemEditSmartField_Click);
                    menu.Items.Add(item);

                    item        = new ToolStripMenuItem(I.T("Delete smart field|20084"));
                    item.Tag    = tag;
                    item.Click += new EventHandler(itemDeleteSmartField_Click);
                    menu.Items.Add(item);
                }
            }
            else
            {
                item        = new ToolStripMenuItem(I.T("Create smart field|20082"));
                item.Tag    = new CTagMenu(typeSource, defProp, null);
                item.Click += new EventHandler(itemCreateSmartField_Click);
                menu.Items.Add(item);
            }
            if (menu.Items.Count > 0)
            {
                menu.Show(screenPoint);
            }
        }
        //-----------------------------------------------------------------------
        private static void itemDeleteSmartField_Click(object sender, EventArgs e)
        {
            ToolStripMenuItem item = sender as ToolStripMenuItem;
            CTagMenu          tag  = item != null ? item.Tag as CTagMenu : null;

            if (tag != null && tag.SmartField != null)
            {
                using (CContexteDonnee ctx = new CContexteDonnee(CSc2iWin32DataClient.ContexteCourant.IdSession, true, false))
                {
                    CSmartField smartField = tag.SmartField.GetObjetInContexte(ctx) as CSmartField;
                    if (smartField != null)
                    {
                        if (MessageBox.Show(I.T("Delete SmartField @1 ?|20085", smartField.Libelle),
                                            "",
                                            MessageBoxButtons.YesNo,
                                            MessageBoxIcon.Question) == DialogResult.Yes)
                        {
                            CResultAErreur result = smartField.Delete();
                            if (!result)
                            {
                                CFormAlerte.Afficher(result.Erreur);
                            }
                        }
                    }
                }
            }
        }
        //-----------------------------------------------------------------------
        public static bool EditeSmartFieldAndCommit(CSmartField field)
        {
            CFormEditeSmartField form = new CFormEditeSmartField();

            form.m_smartField = field;
            bool bResult = form.ShowDialog() == DialogResult.OK;

            form.Dispose();
            return(bResult);
        }
        //-----------------------------------------------------------------------
        private static void itemCreateSmartField_Click(object sender, EventArgs e)
        {
            ToolStripMenuItem item = sender as ToolStripMenuItem;
            CTagMenu          tag  = item != null ? item.Tag as CTagMenu : null;

            if (tag != null)
            {
                CSmartField smartField = new CSmartField(CSc2iWin32DataClient.ContexteCourant);
                smartField.CreateNew();
                smartField.TypeCible  = tag.TypeSource;
                smartField.Definition = tag.DefProp;
                CFormEditeSmartField.EditeSmartFieldAndCommit(smartField);
            }
        }
        //-----------------------------------------------------------------------
        private static void itemEditSmartField_Click(object sender, EventArgs e)
        {
            ToolStripMenuItem item = sender as ToolStripMenuItem;
            CTagMenu          tag  = item != null ? item.Tag as CTagMenu : null;

            if (tag != null && tag.SmartField != null)
            {
                CSmartField smartField = tag.SmartField.GetObjetInContexte(CSc2iWin32DataClient.ContexteCourant) as CSmartField;
                smartField.BeginEdit();
                if (smartField != null)
                {
                    CFormEditeSmartField.EditeSmartFieldAndCommit(smartField);
                }
            }
        }
Example #6
0
        ///////////////////////////////////////////////////
        public override CResultAErreur VerifieDonnees(CObjetDonnee objet)
        {
            CResultAErreur result = CResultAErreur.True;

            try
            {
                CSmartField champ = (CSmartField)objet;

                if (champ.Libelle == "")
                {
                    result.EmpileErreur(I.T("The custom field name cannot be empty|20006"));
                }

                if (champ.Definition == null)
                {
                    result.EmpileErreur(I.T("Smart field definition is incomplete|20007"));
                }
            }
            catch (Exception e)
            {
                result.EmpileErreur(new CErreurException(e));
            }
            return(result);
        }
 public CTagMenu(Type typeSource, CDefinitionProprieteDynamique defProp, CSmartField smartField)
 {
     TypeSource = typeSource;
     DefProp    = defProp;
     SmartField = smartField;
 }