Пример #1
0
 //------------------------------------------------
 public void Init(CDossierSuivi sousDossier)
 {
     if (m_createur == null)
     {
         m_createur = new CCreateur2iFormulaireObjetDonnee(sousDossier.ContexteDonnee.IdSession);
     }
     m_dossier = sousDossier;
     if (sousDossier.TypeDossier.FormulaireResume == null)
     {
         m_formulaireAffiche       = null;
         m_panelFormulaire.Visible = false;
         return;
     }
     m_panelFormulaire.Visible = true;
     if (m_formulaireAffiche == null || m_formulaireAffiche != sousDossier.TypeDossier.FormulaireResume)
     {
         m_formulaireAffiche = sousDossier.TypeDossier.FormulaireResume;
         foreach (Control ctrl in m_panelFormulaire.Controls)
         {
             ctrl.Visible = false;
             ctrl.Dispose();
         }
         m_panelFormulaire.Controls.Clear();
         m_createur.CreateControlePrincipalEtChilds(m_panelFormulaire, m_formulaireAffiche.Formulaire,
                                                    new CFournisseurGeneriqueProprietesDynamiques());
     }
     m_createur.ElementEdite = sousDossier;
 }
        private static void AsyncBrancheSurFenetre(Form frm)
        {
            if (!(frm is IFormNavigable))
            {
                return;
            }
            if (!(((IFormNavigable)frm).Navigateur is CFormMain))
            {
                return;
            }

            try
            {
                CListeObjetsDonnees listeFormulaires = new CListeObjetsDonnees(CSc2iWin32DataClient.ContexteCourant, typeof(CFormulaire));
                listeFormulaires.Filtre = new CFiltreData(CFormulaire.c_champLibelle + " like @1",
                                                          GetIdentifiantForm(frm, "") + "%");

                foreach (CFormulaire formulaire in listeFormulaires)
                {
                    C2iWnd wnd       = formulaire.Formulaire;
                    string strIdForm = GetIdentifiantForm(frm, "");
                    string strOnglet = "";
                    if (formulaire.Libelle != strIdForm)
                    {
                        strOnglet = formulaire.Libelle.Substring(strIdForm.Length);
                    }

                    Control parent = frm;
                    if (strOnglet != "")
                    {
                        parent = GetTabPage(frm, strOnglet);
                        if (parent == null && frm is CFormListeStandardTimos)
                        {
                            CFormListeStandardTimos frmCaf = (CFormListeStandardTimos)frm;
                            if (strOnglet == c_idHaut)
                            {
                                frmCaf.PanelHaut.Visible = true;
                                frmCaf.PanelHaut.Height  = wnd.Size.Height;
                                parent = frmCaf.PanelHaut;
                            }
                            else if (strOnglet == c_idBas)
                            {
                                frmCaf.PanelBas.Visible = true;
                                frmCaf.PanelBas.Height  = wnd.Size.Height;
                                parent = frmCaf.PanelBas;
                            }
                            else if (strOnglet == c_idGauche)
                            {
                                frmCaf.PanelGauche.Visible = true;
                                frmCaf.PanelGauche.Width   = wnd.Size.Width;
                                parent = frmCaf.PanelGauche;
                            }
                            else if (strOnglet == c_idDroite)
                            {
                                frmCaf.PanelDroit.Visible = true;
                                frmCaf.PanelDroit.Width   = wnd.Size.Width;
                                parent = frmCaf.PanelDroit;
                            }
                            if (parent != null)
                            {
                                parent.BackColor = wnd.BackColor;
                            }
                        }
                    }


                    object elementEdite           = null;
                    CFormEditionStdTimos frmTimos = frm as CFormEditionStdTimos;
                    if (frmTimos != null)
                    {
                        elementEdite  = frmTimos.GetObjetEdite();
                        frm.Disposed += new EventHandler(frm_Disposed);
                        frmTimos.ObjetEditeChanged        += new EventHandler(CCustomiseurFenetresStandard_ObjetEditeChanged);
                        frmTimos.BeforeValideModification += new ObjetDonneeCancelEventHandler(frmTimos_BeforeValideModification);
                        frmTimos.OnChangeModeEdition      += new EventHandler(frmTimos_OnChangeModeEdition);
                        frmTimos.OnInitChamps             += new ResultEventHandler(frmTimos_OnInitChamps);
                    }
                    if (parent != null)
                    {
                        CCreateur2iFormulaireV2 createur = null;
                        if (elementEdite is CObjetDonnee)
                        {
                            createur = new CCreateur2iFormulaireObjetDonnee(((CObjetDonnee)elementEdite).ContexteDonnee.IdSession);
                        }
                        else
                        {
                            createur = new CCreateur2iFormulaireV2();
                        }

                        ArrayList lstCreateurs = (ArrayList)m_tableFormToCreateur[frm];
                        if (lstCreateurs == null)
                        {
                            lstCreateurs = new ArrayList();
                            m_tableFormToCreateur[frm] = lstCreateurs;
                        }
                        lstCreateurs.Add(createur);
                        createur.CreateControlesEnSurimpression(parent, wnd, new CFournisseurPropDynStd(true));
                        createur.ElementEdite = elementEdite;
                        if (frmTimos != null)
                        {
                            createur.LockEdition = !frmTimos.ModeEdition;
                        }
                    }
                }
                if (CTimosApp.SessionClient.GetInfoUtilisateur().GetDonneeDroit(
                        CDroitDeBase.c_droitBasePersonnalisation) != null)
                {
                    CBoutonCustomiseFenetre imageBox = new CBoutonCustomiseFenetre();
                    imageBox.Name = c_strCleImageBox;
                    imageBox.PoseDansControle(frm);
                    imageBox.BringToFront();
                    imageBox.Click  += new EventHandler(imageBox_Click);
                    imageBox.Visible = true;
                }
            }
            catch
            {
            }
        }