Ejemplo n.º 1
0
        /// ////////////////////////////////////////////////////////
        protected override CResultAErreur MySerialize(C2iSerializer serializer)
        {
            int            nVersion = GetNumVersion();
            CResultAErreur result   = serializer.TraiteVersion(ref nVersion);

            if (!result)
            {
                return(result);
            }
            result = base.MySerialize(serializer);
            if (!result)
            {
                return(result);
            }

            I2iSerializable objet = m_formulaire;

            result = serializer.TraiteObject(ref objet);
            if (!result)
            {
                return(result);
            }
            m_formulaire = (C2iWndFenetre)objet;

            if (nVersion > 0)
            {
                serializer.TraiteBool(ref m_bCanCancel);
                serializer.TraiteString(ref m_strDescriptif);
            }

            return(result);
        }
Ejemplo n.º 2
0
        //------------------------------------------------------------
        /// <summary>
        /// Récupère la valeur d'un paramètre
        /// </summary>
        /// <param name="strParametre"></param>
        /// <returns></returns>
        /// <remarks>
        /// Chaque fenêtre peut posséder des paramètres.
        /// La valeur par défaut du paramètre peut être défini via une formule,
        /// cependant, en appellant "SetParameterValue" sur le C2iWnd, la valeur
        /// par défaut peut être remplacée par une valeur spécifique.<BR></BR>
        /// Si une fenêtre ne possède pas un paramètre, elle remonte sur les
        /// fenêtre parentes pour tenter de trouver la valeur du paramètre
        /// </remarks>
        public object GetParameter(string strParametre)
        {
            C2iWndFenetre wndFenetre = m_controleWnd != null ? m_controleWnd.WndAssociee as C2iWndFenetre : null;

            if (wndFenetre != null)
            {
                object val = wndFenetre.GetValeurForceeParametre(strParametre);
                if (val != null)
                {
                    return(val);
                }
                strParametre = strParametre.ToUpper();
                foreach (CFormuleNommee f in wndFenetre.Parameters)
                {
                    if (f.Libelle.ToUpper() == strParametre && f.Formule != null)
                    {
                        CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(m_controleWnd.EditedElement);
                        CResultAErreur result             = f.Formule.Eval(ctx);
                        if (result)
                        {
                            return(result.Data);
                        }
                    }
                }
            }

            CEncaspuleurControleWndForFormules ctrl = WndContainer as CEncaspuleurControleWndForFormules;

            if (ctrl != null)
            {
                return(ctrl.GetParameter(strParametre));
            }
            return(null);
        }
Ejemplo n.º 3
0
 // ////////////////////////////////////////////////////////////////////////////////////
 /// <summary>
 /// Création des contrôles windows
 /// </summary>
 /// <param name="controlParent"></param>
 /// <param name="wndParent"></param>
 /// <param name="tooltip"></param>
 /// <returns></returns>
 public virtual CResultAErreur CreateControlePrincipalEtChilds(
     Control controlParent,
     C2iWnd wndParent,
     IFournisseurProprietesDynamiques fournisseur)
 {
     using (CWaitCursor waiter = new CWaitCursor())
     {
         controlParent.SuspendDrawing();
         CResultAErreur result = CResultAErreur.True;
         m_controlesPrincipaux.Clear();
         IControleWndFor2iWnd ctrlPrincipal = CreateControle(wndParent, controlParent, fournisseur);
         if (ctrlPrincipal != null &&
             ctrlPrincipal.Control != null)
         {
             C2iWndFenetre fen = wndParent as C2iWndFenetre;
             if (fen != null && fen.AutoSize)
             {
                 ctrlPrincipal.Control.Dock = DockStyle.Top;
             }
             else
             {
                 ctrlPrincipal.Control.Dock = DockStyle.Fill;
             }
         }
         if (ctrlPrincipal != null)
         {
             m_controlesPrincipaux.Add(ctrlPrincipal);
         }
         controlParent.ResumeDrawing();
         return(result);
     }
 }
Ejemplo n.º 4
0
        //-------------------------------------------------------------------------
        protected override CResultAErreur InitChamps()
        {
            CResultAErreur result = base.InitChamps();

            AffecterTitre(I.T("Form @1|10000", Formulaire.Libelle));
            if (result)
            {
                //CUtilASauvegardeProfilDesigner.InitialiserProfil( new CContexteSauvegardeProfilDesigner(m_panelEditionFormulaire));

                ArrayList lst = new ArrayList(CRoleChampCustom.Roles);
                foreach (CRoleChampCustom role in lst.ToArray(typeof(CRoleChampCustom)))
                {
                    if (role.CodeRole == sc2i.custom.CRoleFormulaireSurImpressionWin32.c_roleChampCustom)
                    {
                        lst.Remove(role);
                    }
                }
                if (Formulaire.Role != null && Formulaire.Role.CodeRole ==
                    sc2i.custom.CRoleFormulaireSurImpressionWin32.c_roleChampCustom)
                {
                    m_panelLibelle.Visible = false;
                }
                else
                {
                    m_panelLibelle.Visible = true;
                }
                m_cmbRoleFormulaire.ListDonnees   = lst;
                m_cmbRoleFormulaire.SelectedValue = Formulaire.Role;

                C2iWndFenetre fenetre = Formulaire.Formulaire;
                fenetre.ImageFond = m_imageFond;
                m_panelEditionFormulaire.ObjetEdite            = fenetre;
                m_panelEditionFormulaire.FournisseurProprietes = m_fournisseurProprietes;


                RedefinitRoleAssocie();
                m_panelEditionFormulaire.TypeEdite = m_typeAssocie;
                if (m_imageFond != null)
                {
                    Formulaire.Formulaire.ImageFond = m_imageFond;
                }

                CListeObjetsDonnees listeRestrictions = new CListeObjetsDonnees(Formulaire.ContexteDonnee, typeof(CRestrictionChampCustom));
                m_wndListeMasquer.Remplir(listeRestrictions);
                foreach (ListViewItem item in m_wndListeMasquer.Items)
                {
                    CRestrictionChampCustom rest = (CRestrictionChampCustom)item.Tag;
                    if ((Formulaire.RestrictionsMasquer & (int)Math.Pow(2, rest.ValeurFlag)) != 0)
                    {
                        item.Checked = true;
                    }
                    else
                    {
                        item.Checked = false;
                    }
                }
            }
            return(result);
        }
Ejemplo n.º 5
0
        //---------------------------------------------------------------
        public bool EditeZoneMultiple(C2iWndFenetre fenetre, Type typeEdite, IFournisseurProprietesDynamiques fournisseur)
        {
            m_formulaire            = fenetre;
            m_fournisseurProprietes = fournisseur;
            m_typeEdite             = typeEdite;
            DialogResult result = ShowDialog();

            return(true);
        }
Ejemplo n.º 6
0
        //-----------------------------------------------------------------------------------
        public bool EditeZoneMultiple(
            C2iWndFenetre sousFormulaire,
            Type typeEdite,
            IFournisseurProprietesDynamiques fournisseur)
        {
            CFormEditionZoneMultiple form = new CFormEditionZoneMultiple();
            bool bResult = form.EditeZoneMultiple(sousFormulaire, typeEdite, fournisseur);

            form.Dispose();
            return(bResult);
        }
        public void FillInventaireNonRecursifTest5()
        {
            // Test Inventaire d'un objet
            CFiltreDynamique filtreDyn = new CFiltreDynamique();

            m_helper.FillInventaireNonRecursifTestHelper <C2iExpression>(filtreDyn);
            // Asserts
            Assert.AreEqual(3, m_helper.ListeResultInventaire.Count);     // 3 Expressions constante false
            Assert.AreEqual(1, m_helper.ListeResultHorsInventaire.Count); // 1 Formulaire C2iWndFenetre qui utilise des C2iExpression

            m_helper.FillInventaireNonRecursifTestHelper <CFiltreData>(filtreDyn);
            Assert.AreEqual(0, m_helper.ListeResultInventaire.Count);     //
            Assert.AreEqual(0, m_helper.ListeResultHorsInventaire.Count); //

            C2iWndFenetre fenetre = filtreDyn.FormulaireEdition as C2iWndFenetre;

            m_helper.FillInventaireNonRecursifTestHelper <C2iExpression>(fenetre);
            Assert.AreEqual(0, m_helper.ListeResultInventaire.Count);
            Assert.AreEqual(18, m_helper.ListeResultHorsInventaire.Count);


            m_helper.FillInventaireNonRecursifTestHelper <CFormuleNommee>(fenetre);
            Assert.AreEqual(3, m_helper.ListeResultInventaire.Count);
            Assert.AreEqual(0, m_helper.ListeResultHorsInventaire.Count);
            m_helper.FillInventaireNonRecursifTestHelper <C2iExpression>(fenetre);
            Assert.AreEqual(0, m_helper.ListeResultInventaire.Count);
            Assert.AreEqual(24, m_helper.ListeResultHorsInventaire.Count); // 18 + 3 Formules Nommees + 3 Def Methode Dynamique

            // Ajout de variables
            CVariableDynamiqueSaisie varX = new CVariableDynamiqueSaisie();

            varX.Nom = "varX";
            filtreDyn.AddVariable(varX);
            CVariableDynamiqueSaisie varY = new CVariableDynamiqueSaisie();

            varX.Nom = "varY";
            filtreDyn.AddVariable(varY);
            m_helper.FillInventaireNonRecursifTestHelper <IVariableDynamique>(filtreDyn);
            Assert.AreEqual(2, m_helper.ListeResultInventaire.Count);
            Assert.AreEqual(1, m_helper.ListeResultHorsInventaire.Count);
            m_helper.FillInventaireNonRecursifTestHelper <C2iExpression>(filtreDyn);
            Assert.AreEqual(3, m_helper.ListeResultInventaire.Count);
            Assert.AreEqual(5, m_helper.ListeResultHorsInventaire.Count);
        }
Ejemplo n.º 8
0
        public CGroupeChamps(DataSet ds, CFormulaire formulaire, CTodoTimosWebApp todo, bool bIsInfosSecondaires, bool bIsEditable)
        {
            DataTable dt = ds.Tables[c_nomTable];

            if (dt == null)
            {
                return;
            }

            DataRow row                = dt.NewRow();
            int     nIdFormulaire      = -1;
            string  strTitreFormulaire = "";
            int     nOrdreAffichage    = 0;

            if (formulaire != null)
            {
                m_formulaire  = formulaire;
                nIdFormulaire = formulaire.Id;
                C2iWndFenetre fenetre = formulaire.Formulaire;
                if (fenetre != null && fenetre.Text != "")
                {
                    strTitreFormulaire = fenetre.Text;
                }
                else
                {
                    strTitreFormulaire = formulaire.Libelle;
                }
                nOrdreAffichage = formulaire.NumeroOrdre;
            }
            row[c_champId]                     = nIdFormulaire;
            row[c_champTitre]                  = strTitreFormulaire;
            row[c_champOrdreAffichage]         = nOrdreAffichage;
            row[c_champIsInfosSecondaires]     = bIsInfosSecondaires;
            row[c_champCanAddCaracteristiques] = false;
            row[c_champTitreCaracteristiques]  = "";
            row[c_champIsEditable]             = bIsEditable;

            m_row = row;
            dt.Rows.Add(row);
            m_todo = todo;
            m_bIsInfosSecondaires = bIsInfosSecondaires;
        }
Ejemplo n.º 9
0
        //---------------------------------
        public CResultAErreur Serialize(C2iSerializer serializer)
        {
            int            nVersion = GetNumVersion();
            CResultAErreur result   = serializer.TraiteVersion(ref nVersion);

            if (!result)
            {
                return(result);
            }


            serializer.AttacheObjet(typeof(IElementAVariablesDynamiquesBase), this);

            result = serializer.TraiteArrayListOf2iSerializable(m_listeVariables);
            if (!result)
            {
                return(result);
            }

            result = serializer.TraiteArrayListOf2iSerializable(m_listeDefinitionsJeux, this);
            if (!result)
            {
                return(result);
            }


            I2iSerializable objet = m_formulaireEdition;

            result = serializer.TraiteObject(ref objet);
            if (!result)
            {
                return(result);
            }
            m_formulaireEdition = (C2iWndFenetre)objet;


            serializer.TraiteInt(ref m_nNextIdVariable);

            serializer.DetacheObjet(typeof(IElementAVariablesDynamiquesBase), this);
            return(result);
        }
        private void m_btnLoad_Click(object sender, EventArgs e)
        {
            OpenFileDialog dlg = new OpenFileDialog();

            dlg.Filter = I.T("Form|*.form|All files|*.*|20017");
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                C2iWndFenetre fenetre = new C2iWndFenetre();

                CResultAErreur result = CSerializerObjetInFile.ReadFromFile(fenetre, "FORM", dlg.FileName);
                if (!result)
                {
                    CFormAlerte.Afficher(result.Erreur);
                    return;
                }
                else
                {
                    Init(TypeEdite, EntiteEditee, fenetre, FournisseurProprietes);
                }
            }
        }
Ejemplo n.º 11
0
        protected override void  MyCreateControle(
            CCreateur2iFormulaireV2 createur,
            C2iWnd wnd,
            Control parent,
            IFournisseurProprietesDynamiques fournisseurProprietes)
        {
            C2iWndFenetre fenetre = wnd as C2iWndFenetre;

            if (fenetre == null)
            {
                return;
            }
            CCreateur2iFormulaireV2.AffecteProprietesCommunes(fenetre, m_panel);
            m_panel.AutoScroll = true;
            if (fenetre.AutoSize)
            {
                m_panel.AutoSize     = true;
                m_panel.AutoSizeMode = AutoSizeMode.GrowAndShrink;
            }
            parent.Controls.Add(m_panel);
            m_errorProvider.ContainerControl = m_panel.FindForm();
        }
Ejemplo n.º 12
0
        public void UpdateOnglets()
        {
            if (!LockEdition)
            {
                //valide les modifs car on va tout supprimer
                MAJ_Champs();
            }
            m_bIsInitializing = true;
            Hashtable tablePagesToHide = new Hashtable();

            foreach (Crownwood.Magic.Controls.TabPage page in TabPages)
            {
                m_tablePagesInit[page] = false;
                tablePagesToHide[page] = true;
            }

            if (m_elementEdite == null)
            {
                return;
            }

            /* YK : On obtient la session de l'objet en cours d'édition au lieur de la session par défaut */
            CSessionClient session = null;
            IObjetDonneeAIdNumeriqueAuto objetDonnee = m_elementEdite as IObjetDonneeAIdNumeriqueAuto;

            if (objetDonnee != null)
            {
                session = CSessionClient.GetSessionForIdSession(objetDonnee.ContexteDonnee.IdSession);
            }
            else
            {
                session = CSessionClient.GetSessionUnique();
            }

            ArrayList lstFormulaires = new ArrayList(m_elementEdite.GetFormulaires());

            lstFormulaires.Sort(new CSorterFormulaires());
            //Lit les champs liés et leurs valeurs
            StringBuilder bl = new StringBuilder();

            foreach (CFormulaire formulaire in lstFormulaires)
            {
                bl.Append(formulaire.Id);
                bl.Append(",");
            }
            if (bl.Length > 0)
            {
                bl.Remove(bl.Length - 1, 1);
                CListeObjetsDonnees lst = new CListeObjetsDonnees(((CFormulaire)lstFormulaires[0]).ContexteDonnee, typeof(CFormulaire));
                lst.Filtre = new CFiltreData(CFormulaire.c_champId + " in (" + bl.ToString() + ")");
                lst.AssureLectureFaite();
                lst.ReadDependances("RelationsChamps", "RelationsChamps.Champ", "RelationsChamps.Champ.ListeValeurs");
            }


            foreach (CFormulaire formulaire in lstFormulaires)
            {
                CRestrictionUtilisateurSurType restriction = new CRestrictionUtilisateurSurType(m_elementEdite.GetType());
                if (session.GetInfoUtilisateur() != null)
                {
                    int?nIdVersion = null;
                    IObjetAContexteDonnee objetAContexte = m_elementEdite as IObjetAContexteDonnee;
                    if (objetAContexte != null)
                    {
                        nIdVersion = objetAContexte.ContexteDonnee.IdVersionDeTravail;
                    }
                    restriction = session.GetInfoUtilisateur().GetRestrictionsSurObjet(m_elementEdite, nIdVersion);
                }

                ERestriction restrictionFormulaire = restriction.GetRestriction(formulaire.CleRestriction);

                if ((restrictionFormulaire & ERestriction.Hide) != ERestriction.Hide)
                {
                    Crownwood.Magic.Controls.TabPage page     = (Crownwood.Magic.Controls.TabPage)m_tableIdFormulaireToTabPage[formulaire.Id];
                    CCreateur2iFormulaire            createur = null;

                    if (page == null)
                    {
                        C2iWndFenetre wnd = formulaire.Formulaire;
                        if (wnd != null)
                        {
                            page = new Crownwood.Magic.Controls.TabPage(wnd.Text);
                            page.SuspendLayout();
                            if (wnd.Text == "")
                            {
                                page.Title = formulaire.Libelle;
                            }
                            TabPages.Add(page);
                            m_tableCreateurs[page]   = null;
                            m_tablePageTo2iWnd[page] = wnd;
                            m_tableIdFormulaireToTabPage[formulaire.Id] = page;
                        }
                    }
                    else
                    {
                        createur = (CCreateur2iFormulaire)m_tableCreateurs[page];
                    }

                    if (page != null)
                    {
                        m_tablePageToRestriction[page] = restrictionFormulaire;
                        if (!TabPages.Contains(page))
                        {
                            TabPages.Add(page);
                        }
                        tablePagesToHide.Remove(page);
                    }
                }
            }

            /*CChampCustom[] champs = ElementEdite.GetChampsHorsFormulaire();
             * if ( champs.Length != 0 )
             * {
             *      UpdatePageChamps( nRest );
             *      if ( m_pageGrid != null )
             *              tablePagesToHide.Remove(m_pageGrid);
             * }*/
            foreach (Crownwood.Magic.Controls.TabPage pageToDel in tablePagesToHide.Keys)
            {
                TabPages.Remove(pageToDel);
            }

            if (TabPages.Count == 1)
            {
                this.HideTabsMode = Crownwood.Magic.Controls.TabControl.HideTabsModes.HideAlways;
            }
            else
            {
                this.HideTabsMode = Crownwood.Magic.Controls.TabControl.HideTabsModes.ShowAlways;
            }
            if (SelectedTab != null)
            {
                InitPageWithObjetCourant(SelectedTab);
            }
            m_bIsInitializing = false;
        }
Ejemplo n.º 13
0
        //-------------------------------------------------------------------------------
        private static void EditeFormulaire(Form frm, string strOnglet)
        {
            Control ctrl = frm;

            //Chope l'image du formulaire
            if (strOnglet != "")
            {
                ctrl = GetTabPage(frm, strOnglet);
            }
            bool bAvecImage = true;

            if (strOnglet != "" && ctrl == null)
            {
                if (strOnglet == c_idBas || strOnglet == c_idHaut || strOnglet == c_idGauche ||
                    strOnglet == c_idGauche)
                {
                    ctrl       = frm;
                    bAvecImage = false;
                }
            }
            if (ctrl == null)
            {
                CFormAlerte.Afficher(I.T("Impossible to find page @1|30075", strOnglet), EFormAlerteType.Erreur);
                return;
            }


            Bitmap bmp = null;

            if (bAvecImage)
            {
                bmp = CScreenCopieur.GetWindowImage(ctrl);
            }
            CFormulaire formulaire = new CFormulaire(CSc2iWin32DataClient.ContexteCourant);

            if (!formulaire.ReadIfExists(new CFiltreData(
                                             CFormulaire.c_champLibelle + "=@1",
                                             GetIdentifiantForm(frm, strOnglet))))
            {
                formulaire.CreateNew();
                formulaire.Role    = CRoleChampCustom.GetRole(CRoleFormulaireSurImpressionWin32.c_roleChampCustom);
                formulaire.Libelle = GetIdentifiantForm(frm, strOnglet);
                C2iWndFenetre wnd = formulaire.Formulaire;
                wnd.BackColor         = ctrl.BackColor;
                formulaire.Formulaire = wnd;
            }
            Type tp = null;

            if (frm is CFormEditionStdTimos)
            {
                try
                {
                    tp = ((CFormEditionStdTimos)frm).GetObjetEdite().GetType();
                }
                catch
                {
                }
            }
            if (frm is CFormListeStandardTimos)
            {
                try
                {
                    tp = ((CFormListeStandardTimos)frm).ListeObjets.TypeObjets;
                }
                catch {}
            }

            /* if (formulaire.IsNew())
             *   formulaire.TypeElementEdite = tp;*/
            List <IControleFormulaireExterne> lstControles = CEncapsuleurControleToControleFormulaireExterne.GetControlesFormulaireExterne(ctrl);

            CTimosApp.Navigateur.AffichePage(new CFormEditionFormulaireAvance(formulaire, bmp, lstControles, tp));
        }
Ejemplo n.º 14
0
 public CMapDatabaseGenerator()
 {
     m_formulaireEdition      = new C2iWndFenetre();
     m_formulaireEdition.Size = new Size(350, 100);
     m_strLayerId             = Guid.NewGuid().ToString();
 }
Ejemplo n.º 15
0
        //---------------------------------------------------------------------------------------
        public CActionWeb(DataSet ds, CProcessInDb processDb, bool bIsGlobale)
        {
            DataTable dt = ds.Tables[c_nomTable];

            if (dt == null)
            {
                return;
            }

            DataRow row = dt.NewRow();

            int    nId             = -1;
            string strLibelle      = "";
            string strInstructions = "";
            bool   bHasForm        = false;

            // Forecer toutes les valeurs par défaut à chaine vide
            foreach (DataColumn col in dt.Columns)
            {
                if (col.DataType == typeof(string))
                {
                    if (col.ColumnName.Contains("Label"))
                    {
                        row[col] = "hidden";
                    }
                    else
                    {
                        row[col] = "";
                    }
                }
            }

            if (processDb != null)
            {
                nId             = processDb.Id;
                strLibelle      = processDb.Libelle;
                strInstructions = processDb.Description;

                int nIndexTextVar = 1;
                int nIndexIntVar  = 1;
                int nIndexDateVar = 1;
                int nIndexBoolVar = 1;

                // Remplissage des variables
                CProcess process = processDb.Process;
                if (process != null)
                {
                    CActionFormulaire actionFormulaire = null;
                    foreach (CAction action in process.ListeActions)
                    {
                        if (action is CActionFormulaire)
                        {
                            // On trouve le premier bloc Formulaire
                            actionFormulaire = (CActionFormulaire)action;
                            break;
                        }
                    }


                    if (actionFormulaire != null)
                    {
                        bHasForm = true;
                        C2iWndFenetre fenetre   = actionFormulaire.Formulaire;
                        ArrayList     lstChilds = fenetre.AllChilds();

                        List <C2iWndVariable> lstWndVariables = new List <C2iWndVariable>();
                        foreach (object objWnd in lstChilds)
                        {
                            if (objWnd is C2iWndVariable)
                            {
                                lstWndVariables.Add((C2iWndVariable)objWnd);
                            }
                        }
                        lstWndVariables = lstWndVariables.OrderBy(v => v.WebNumOrder).ToList();

                        foreach (C2iWndVariable wndVariable in lstWndVariables)
                        {
                            CVariableDynamique variable = wndVariable.Variable as CVariableDynamique;
                            if (wndVariable.WebLabel != "" && variable != null && variable is CVariableDynamiqueSaisie)
                            {
                                CVariableDynamiqueSaisie variableSaisie = (CVariableDynamiqueSaisie)variable;
                                bool          bIsChoixParmis            = variableSaisie.IsChoixParmis();
                                StringBuilder sbValeurs = new StringBuilder();
                                if (bIsChoixParmis)
                                {
                                    foreach (CValeurVariableDynamiqueSaisie val in variableSaisie.Valeurs)
                                    {
                                        sbValeurs.Append(val.Value + "#" + val.Display + "#");
                                    }
                                    sbValeurs.Remove(sbValeurs.Length - 1, 1);
                                }
                                //string valeurs = sbValeurs.ToString();

                                switch (variableSaisie.TypeDonnee2i.TypeDonnee)
                                {
                                case TypeDonnee.tEntier:
                                    if (nIndexIntVar <= 3)
                                    {
                                        row["IdVarInt" + nIndexIntVar]      = variable.IdVariable;
                                        row["LabelVarInt" + nIndexIntVar]   = wndVariable.WebLabel;
                                        row["ValeursVarInt" + nIndexIntVar] = sbValeurs.ToString();
                                        nIndexIntVar++;
                                    }
                                    break;

                                case TypeDonnee.tDouble:
                                    if (nIndexTextVar <= 9)
                                    {
                                        row["IdVarText" + nIndexTextVar]      = variable.IdVariable;
                                        row["LabelVarText" + nIndexTextVar]   = wndVariable.WebLabel;
                                        row["ValeursVarText" + nIndexTextVar] = sbValeurs.ToString();
                                        nIndexTextVar++;
                                    }
                                    break;

                                case TypeDonnee.tString:
                                    if (nIndexTextVar <= 9)
                                    {
                                        row["IdVarText" + nIndexTextVar]      = variable.IdVariable;
                                        row["LabelVarText" + nIndexTextVar]   = wndVariable.WebLabel;
                                        row["ValeursVarText" + nIndexTextVar] = sbValeurs.ToString();
                                        nIndexTextVar++;
                                    }
                                    break;

                                case TypeDonnee.tDate:
                                    if (nIndexDateVar <= 3)
                                    {
                                        row["IdVarDate" + nIndexDateVar]    = variable.IdVariable;
                                        row["LabelVarDate" + nIndexDateVar] = wndVariable.WebLabel;
                                        nIndexDateVar++;
                                    }
                                    break;

                                case TypeDonnee.tBool:
                                    if (nIndexBoolVar <= 3)
                                    {
                                        row["IdVarBool" + nIndexBoolVar]    = variable.IdVariable;
                                        row["LabelVarBool" + nIndexBoolVar] = wndVariable.WebLabel;
                                        nIndexBoolVar++;
                                    }
                                    break;

                                case TypeDonnee.tObjetDonneeAIdNumeriqueAuto:
                                    break;

                                default:
                                    break;
                                }
                            }
                        }
                    }
                    else
                    {
                        // C'est un process sans formulaire
                        bHasForm = false;
                    }
                }
            }

            row[c_champId]           = nId;
            row[c_champLibelle]      = strLibelle;
            row[c_champInstructions] = strInstructions;
            row[c_champIsGlobale]    = bIsGlobale;
            row[c_champHasForm]      = bHasForm;

            m_row = row;
            dt.Rows.Add(row);
        }
Ejemplo n.º 16
0
        public void InitPanel(C2iWnd formulaire, object elementEdite)
        {
            if (elementEdite == null)
            {
                return;
            }

            C2iWndFenetre fenetre   = formulaire as C2iWndFenetre;
            bool          bAutoSize = false;

            if (fenetre != null)
            {
                bAutoSize = fenetre.AutoSize;
            }

            m_createur = null;
            C2iWnd wnd = formulaire;

            //Supprime le panel stockant les controls
            if (m_panelFormulaire != null)
            {
                m_panelFormulaire.Visible = false;
                m_panelFormulaire.Dispose();
                m_panelFormulaire = null;
            }
            if (wnd != null)
            {
                m_panelFormulaire        = new Panel();
                m_panelFormulaire.Parent = this;
                if (bAutoSize)
                {
                    m_panelFormulaire.Dock = DockStyle.Top;
                    AutoSizeMode           = AutoSizeMode.GrowAndShrink;
                    AutoSize = true;
                    m_panelFormulaire.AutoSizeMode = AutoSizeMode;
                    m_panelFormulaire.AutoSize     = AutoSize;
                }
                else
                {
                    m_panelFormulaire.Dock     = DockStyle.Top;
                    m_panelFormulaire.AutoSize = false;
                    m_panelFormulaire.Height   = formulaire.Size.Height;
                }
                m_panelFormulaire.BackColor = wnd.BackColor;
                m_panelFormulaire.ForeColor = wnd.ForeColor;
                m_panelFormulaire.Visible   = true;
                m_panelFormulaire.Font      = wnd.Font;

                foreach (GetCreateurForObjectDelegate del in m_listGetCreateurs)
                {
                    del(elementEdite, ref m_createur);
                    if (m_createur != null)
                    {
                        break;
                    }
                }
                if (m_createur == null)
                {
/*
 *              if (objetDonnee != null)
 *                  m_createur = new CCreateur2iFormulaireObjetDonnee(objetDonnee.ContexteDonnee.IdSession);
 *              else*/
                    m_createur = new CCreateur2iFormulaireV2();
                }

                IFournisseurProprietesDynamiques fournisseur = m_createur.FournisseurProprietes;
                if (elementEdite is IFournisseurProprietesDynamiques)
                {
                    fournisseur = (IFournisseurProprietesDynamiques)elementEdite;
                }
                if (fournisseur == null)
                {
                    fournisseur = new CFournisseurGeneriqueProprietesDynamiques();
                }
                m_createur.ControleValeursAvantValidation = true;
                m_createur.CreateControlePrincipalEtChilds(m_panelFormulaire, wnd, fournisseur);
                m_createur.ElementEdite = elementEdite;
                m_createur.LockEdition  = m_bLockEdition;
            }
        }
Ejemplo n.º 17
0
        public void UpdateOnglets()
        {
            this.SuspendDrawing();
            try
            {
                /*if (!LockEdition)
                 * {
                 *  //valide les modifs car on va tout supprimer
                 *  MAJ_Champs();
                 * }*/
                Crownwood.Magic.Controls.TabPage pageSelect = this.SelectedTab;
                m_bIsInitializing = true;
                Hashtable tablePagesToHide = new Hashtable();
                ArrayList pages            = new ArrayList(TabPages);
                foreach (Crownwood.Magic.Controls.TabPage page in pages)
                {
                    m_tablePagesInit[page] = false;
                    tablePagesToHide[page] = true;
                    TabPages.Remove(page);
                }

                if (m_elementEdite == null)
                {
                    return;
                }

                /* YK : On obtient la session de l'objet en cours d'édition au lieur de la session par défaut */
                CSessionClient           session     = null;
                IObjetDonneeAIdNumerique objetDonnee = m_elementEdite as IObjetDonneeAIdNumerique;
                if (objetDonnee != null)
                {
                    session = CSessionClient.GetSessionForIdSession(objetDonnee.ContexteDonnee.IdSession);
                }
                else
                {
                    session = CSessionClient.GetSessionUnique();
                }

                ArrayList lstFormulaires = new ArrayList(m_listeFormulaires);
                lstFormulaires.Sort(new CSorterFormulaires());
                //Lit les champs liés et leurs valeurs
                StringBuilder bl = new StringBuilder();
                foreach (CFormulaire formulaire in lstFormulaires)
                {
                    bl.Append(formulaire.Id);
                    bl.Append(",");
                }
                if (bl.Length > 0)
                {
                    bl.Remove(bl.Length - 1, 1);
                    CListeObjetsDonnees lst = new CListeObjetsDonnees(((CFormulaire)lstFormulaires[0]).ContexteDonnee, typeof(CFormulaire));
                    lst.Filtre = new CFiltreData(CFormulaire.c_champId + " in (" + bl.ToString() + ")");
                    lst.AssureLectureFaite();
                    lst.ReadDependances("RelationsChamps", "RelationsChamps.Champ", "RelationsChamps.Champ.ListeValeurs");
                }


                foreach (CFormulaire formulaire in lstFormulaires)
                {
                    Crownwood.Magic.Controls.TabPage page = null;
                    m_tableIdFormulaireToTabPage.TryGetValue(formulaire.Id, out page);
                    CCreateur2iFormulaireObjetDonnee createur = null;

                    if (page == null)
                    {
                        C2iWndFenetre wnd = formulaire.Formulaire;
                        if (wnd != null)
                        {
                            page      = new Crownwood.Magic.Controls.TabPage(wnd.Text);
                            page.Name = formulaire.IdUniversel;
                            if (wnd.Text == "")
                            {
                                page.Title = formulaire.Libelle;
                            }
                            TabPages.Add(page);
                            if (m_tableCreateurs.ContainsKey(page))
                            {
                                m_tableCreateurs.Remove(page);
                            }
                            m_tablePageTo2iWnd[page] = wnd;
                            m_tableIdFormulaireToTabPage[formulaire.Id] = page;
                            m_tablePageToIdFormulaire[page]             = formulaire.Id;
                        }
                    }
                    else
                    {
                        m_tableCreateurs.TryGetValue(page, out createur);
                    }

                    if (page != null)
                    {
                        if (!TabPages.Contains(page))
                        {
                            TabPages.Add(page);
                        }
                        tablePagesToHide.Remove(page);
                    }
                }


                /*CChampCustom[] champs = ElementEdite.GetChampsHorsFormulaire();
                 * if ( champs.Length != 0 )
                 * {
                 *  UpdatePageChamps( nRest );
                 *  if ( m_pageGrid != null )
                 *      tablePagesToHide.Remove(m_pageGrid);
                 * }*/
                foreach (Crownwood.Magic.Controls.TabPage pageToDel in tablePagesToHide.Keys)
                {
                    if (TabPages.Contains(pageToDel))
                    {
                        TabPages.Remove(pageToDel);
                    }
                }

                if (TabPages.Count == 1)
                {
                    this.HideTabsMode = Crownwood.Magic.Controls.TabControl.HideTabsModes.HideAlways;
                }
                else
                {
                    this.HideTabsMode = Crownwood.Magic.Controls.TabControl.HideTabsModes.ShowAlways;
                }
                if (TabPages.Contains(pageSelect))
                {
                    SelectedTab = pageSelect;
                }
                if (SelectedTab != null)
                {
                    InitPageWithObjetCourant(SelectedTab);
                }
            }
            finally
            {
                this.ResumeDrawing();
            }
            m_bIsInitializing = false;
        }