Esempio n. 1
0
        public void PreprareEdition()
        {
            C2iExpressionGraphique expEditee = ObjetEdite as C2iExpressionGraphique;

            if (expEditee != null)
            {
                CContexteAnalyse2iExpression ctx = new CContexteAnalyse2iExpression(((C2iExpressionGraphique)ObjetEdite),
                                                                                    ObjetAnalyse);
                CAnalyseurSyntaxiqueExpression analyseur = new CAnalyseurSyntaxiqueExpression(ctx);
                analyseur.VerifieParametresLorsDeLanalyse = false;
                foreach (I2iObjetGraphique child in expEditee.Childs)
                {
                    CRepresentationExpressionGraphique rep = child as CRepresentationExpressionGraphique;
                    if (rep != null)
                    {
                        if (rep.Formule != null)
                        {
                            if (expEditee.GetUtilisateurs(rep.Id).Count() == 0)
                            {
                                CResultAErreur result = analyseur.AnalyseChaine(rep.Formule.GetString());
                                if (result)
                                {
                                    rep.Formule = result.Data as C2iExpression;
                                }
                                else
                                {
                                    rep.LastErreur = result.Erreur.ToString();
                                }
                            }
                        }
                    }
                }
            }
        }
Esempio n. 2
0
 //--------------------------------------------------------------------
 public void Init(C2iExpressionGraphique representation,
                  CObjetPourSousProprietes objetAnalyse)
 {
     ObjetEdite   = representation;
     ObjetAnalyse = objetAnalyse;
     PreprareEdition();
 }
Esempio n. 3
0
        public CResultAErreur MajChamps()
        {
            CResultAErreur result = m_linkField.FillObjetFromDialog(m_handler);

            if (result)
            {
                m_handler.FormuleDeclenchement  = m_txtFormuleCondition.Formule;
                m_handler.GenericRequestedValue = m_cmbGenericCode.SelectedItem as GenericCode?;
            }
            C2iExpressionGraphique exp = m_editeurPreTraitement.ExpressionGraphique;

            exp.RefreshFormuleFinale();
            m_handler.FormulePreTraitementTrap = exp;
            m_handler.TypeEntiteAssocie        = m_cmbTypeEntite.SelectedValue as CTypeEntiteSnmpPourSupervision;
            m_handler.FormuleIndexEntite       = m_txtFormuleIndexEntite.Formule;
            if (result)
            {
                result = m_handler.VerifieDonnees();
            }
            if (result)
            {
                m_originalHandler.Database.Merge(m_handler.Database, false);// ImporteObjet(m_handler, true, true);
                //CCloner2iSerializable.CopieTo(m_handler, m_originalHandler);
            }

            return(result);
        }
        //------------------------------------
        private void m_chkVisible_CheckedChanged(object sender, EventArgs e)
        {
            C2iExpressionGraphique rep = m_expressionGraphique.RepresentationRacine;

            if (!m_bIsInitializing)
            {
                if (m_chkVisible.Checked)
                {
                    if (rep == null)
                    {
                        m_chkVisible.Checked = false;
                        return;
                    }

                    if (rep != null)
                    {
                        CRepresentationExpressionGraphique exp = null;
                        if (exp == null)
                        {
                            C2iExpression formule = m_txtFormule.Formule;
                            if (formule == null)
                            {
                                formule = new C2iExpressionNull();
                            }
                            exp = new CRepresentationExpressionGraphique();
                            rep.AddChild(exp);
                            exp.Parent = rep;
                            Point pt = m_expressionGraphique.Position;
                            pt.Offset(2 * m_expressionGraphique.Size.Width, m_nNumParametre * (m_expressionGraphique.Size.Height + 10));
                            exp.Position = pt;
                            exp.Formule  = formule;
                        }
                        m_expressionGraphique.SetExterne(m_nNumParametre, exp);
                        UpdateWindow();
                        if (OnChangeDessin != null)
                        {
                            OnChangeDessin(this, null);
                        }
                    }
                }
                else
                {
                    //Not checked
                    CRepresentationExpressionGraphique ext = m_expressionGraphique.GetExterne(m_nNumParametre);
                    if (ext != null)
                    {
                        m_expressionGraphique.SetExterne(m_nNumParametre, null);
                    }
                    UpdateWindow();
                    if (OnChangeDessin != null)
                    {
                        OnChangeDessin(this, null);
                    }
                }
            }
        }
 //--------------------------------------------------------------
 public void Init(C2iExpressionGraphique representation,
                  IFournisseurProprietesDynamiques fournisseur,
                  CObjetPourSousProprietes objetAnalyse)
 {
     representation.InitForAnalyse(fournisseur);
     m_editeur.Init(representation, objetAnalyse);
     m_editeur.ObjetEdite       = representation;
     m_editeur.ObjetAnalyse     = objetAnalyse;
     m_fournisseurProprietes    = fournisseur;
     m_objetAnalyse             = objetAnalyse;
     m_chkActivateDebug.Checked = representation.Debug;
     UpdateVariables();
 }
Esempio n. 6
0
        //-----------------------------------------------
        private void m_btnGraphic_Click(object sender, EventArgs e)
        {
            C2iExpression exp = m_txtFormule.Formule;

            if (m_expressionGraphique != null)
            {
                exp = m_expressionGraphique;
            }
            exp = CFormEditionExpressionGraphique.EditeFormule(exp, m_fournisseur, m_objetAnalyse);
            m_expressionGraphique = exp as C2iExpressionGraphique;

            Formule = exp;
        }
Esempio n. 7
0
        private void m_menuSetAsStartPoint_Click(object sender, EventArgs e)
        {
            C2iExpressionGraphique rep = ObjetEdite as C2iExpressionGraphique;

            if (rep != null && Selection.Count == 1)
            {
                CRepresentationExpressionGraphique gr = Selection[0] as CRepresentationExpressionGraphique;

                /*while (gr.Prev != null)
                 *  gr = gr.Prev;*/
                rep.StartPoint = gr;
                OnChangeFormules();
            }
        }
Esempio n. 8
0
        //------------------------------------------------------------
        private CDefinitionProprieteDynamiqueVariableFormule AssureVariableTrap(C2iExpressionGraphique formule)
        {
            if (formule == null)
            {
                return(null);
            }
            CDefinitionProprieteDynamiqueVariableFormule def = formule.Variables.FirstOrDefault(v => v.Nom == c_strNomVariableTrap);

            if (def == null)
            {
                def = new CDefinitionProprieteDynamiqueVariableFormule("Trap",
                                                                       new CTypeResultatExpression(typeof(CTrapInstance), false), true);
                formule.AddVariable(def);
            }
            return(def);
        }
Esempio n. 9
0
        private void InitChamps()
        {
            m_linkField.FillDialogFromObjet(m_handler);
            m_cmbGenericCode.Items.Clear();
            m_cmbGenericCode.Items.Add(I.T("Any|20059"));

            foreach (GenericCode code in Enum.GetValues(typeof(GenericCode)))
            {
                m_cmbGenericCode.Items.Add(code);
            }
            if (m_handler.GenericRequestedValue == null)
            {
                m_cmbGenericCode.SelectedIndex = 0;
            }
            else
            {
                m_cmbGenericCode.SelectedItem = m_handler.GenericRequestedValue.Value;
            }
            m_txtFormuleCondition.Init(m_handler,
                                       typeof(CTrapInstance));
            m_txtFormuleCondition.Formule = m_handler.FormuleDeclenchement;

            C2iExpression formulePreTraitement = m_handler.FormulePreTraitementTrap;

            if (!(formulePreTraitement is C2iExpressionGraphique))
            {
                C2iExpressionGraphique graf = new C2iExpressionGraphique();
                graf.InitFromFormule(formulePreTraitement);
                formulePreTraitement = graf;
            }

            m_editeurPreTraitement.Init(formulePreTraitement as C2iExpressionGraphique,
                                        m_handler,
                                        new CObjetPourSousProprietes(m_handler.TypeAgent));

            FillListeTrapFields();
            FillListeFieldsSupplementaires();


            FillListeCreateurs();

            m_cmbTypeEntite.ListDonnees   = m_handler.TypeAgent.TypesEntites;
            m_cmbTypeEntite.SelectedValue = m_handler.TypeEntiteAssocie;

            m_txtFormuleIndexEntite.Init(m_handler, typeof(CTrapInstance));
            m_txtFormuleIndexEntite.Formule = m_handler.FormuleIndexEntite;
        }
        private void m_btnLoad_Click(object sender, EventArgs e)
        {
            OpenFileDialog dlg = new OpenFileDialog();

            dlg.Filter = I.T("Graphical formula|*.grafexp|All files|*.*|20004");
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                C2iExpressionGraphique rep    = new C2iExpressionGraphique();
                CResultAErreur         result = CSerializerObjetInFile.ReadFromFile(rep, C2iExpressionGraphique.c_cleFichier, dlg.FileName);
                if (!result)
                {
                    CFormAfficheErreur.Show(result.Erreur);
                }
                else
                {
                    this.Init(rep, m_fournisseurProprietes, m_objetAnalyse);
                }
            }
        }
        private void m_btnPaste_Click(object sender, EventArgs e)
        {
            I2iSerializable objet  = null;
            CResultAErreur  result = CSerializerObjetInClipBoard.Paste(ref objet, C2iExpressionGraphique.c_cleFichier);

            if (!result)
            {
                CFormAlerte.Afficher(result);
                return;
            }
            C2iExpressionGraphique rep = objet as C2iExpressionGraphique;

            if (rep != null)
            {
                if (CFormAlerte.Afficher(I.T("Formula will be replaced. Continue ?|20005"),
                                         EFormAlerteType.Question) == DialogResult.No)
                {
                    return;
                }
                Init(rep, m_fournisseurProprietes, m_objetAnalyse);
            }
        }
        //-----------------------------------------------------
        private void m_btnOk_Click(object sender, EventArgs e)
        {
            C2iExpressionGraphique exp    = m_editeur.ExpressionGraphique;
            CResultAErreur         result = exp.RefreshFormuleFinale();

            if (!result)
            {
                CFormAlerte.Afficher(result.Erreur);
                return;
            }
            C2iExpression formule = exp.FormuleFinale;

            result = formule.VerifieParametres();
            if (!result)
            {
                CFormAlerte.Afficher(result.Erreur);
                return;
            }
            m_expression = exp;
            DialogResult = DialogResult.OK;
            Close();
        }
Esempio n. 13
0
        //-------------------------------------------------------
        private void InitChamps()
        {
            m_txtLibelle.Text             = m_createur.Libelle;
            m_txtCode.Text                = m_createur.Code;
            m_cmbTypeAlarme.ListDonnees   = m_baseTypesAlarmes.TypesAlarmes;
            m_cmbTypeAlarme.SelectedValue = m_createur.TypeAlarme;

            m_txtFormuleCondition.Init(m_createur, typeof(CTrapInstance));
            m_txtFormuleCondition.Formule = m_createur.FormuleCondition;

            C2iExpression formuleConversion = m_createur.FormuleActions;

            if (!(formuleConversion is C2iExpressionGraphique))
            {
                C2iExpressionGraphique graf = new C2iExpressionGraphique();
                graf.InitFromFormule(formuleConversion);
                formuleConversion = graf;
            }
            m_editeurActionConversion.Init(formuleConversion as C2iExpressionGraphique,
                                           m_createur,
                                           new CObjetPourSousProprietes(m_createur.TrapHandler.TypeAgent));
        }
        public static C2iExpression EditeFormule(C2iExpression formule, IFournisseurProprietesDynamiques fournisseur,
                                                 CObjetPourSousProprietes objetAnalyse)
        {
            CFormEditionExpressionGraphique form = new CFormEditionExpressionGraphique();
            C2iExpressionGraphique          graf = formule as C2iExpressionGraphique;

            if (graf == null)
            {
                graf = new C2iExpressionGraphique();
                graf.InitFromFormule(formule);
            }
            form.m_expression   = graf;
            form.m_fournisseur  = fournisseur;
            form.m_objetAnalyse = objetAnalyse;
            form.m_editeur.Init(graf, fournisseur, objetAnalyse);
            C2iExpression retour = formule;

            if (form.ShowDialog() == DialogResult.OK)
            {
                retour = form.m_expression;
            }
            form.Dispose();
            return(retour);
        }