Esempio n. 1
0
        private void AssureCreationControlesFils()
        {
            if (m_slidingPanel == null)
            {
                return;
            }
            if (m_bControlesFilsCrees)
            {
                return;
            }
            m_controlesFils = m_createur.CreateChilds(m_slidingPanel, m_panelComposants, m_fournisseur);
            foreach (IControleWndFor2iWnd ctrl in Childs)
            {
                ctrl.WndContainer = this;
                if (m_slidingPanel.AdjustToContent && ctrl.Control != null)
                {
                    ctrl.Control.SizeChanged += new EventHandler(Control_SizeChanged);
                }
                if (m_gestionnaireReadOnly != null && ctrl.Control != null)
                {
                    m_gestionnaireReadOnly.AddControl(ctrl.Control);
                }
            }


            m_bControlesFilsCrees = true;
            OnChangeParentModeEdition(!m_createur.LockEdition);
            foreach (IControleWndFor2iWnd ctrl in Childs)
            {
                m_createur.UpdateVisibilityEtEnable(ctrl, EditedElement);
            }
        }
Esempio n. 2
0
 //---------------------------------------------------
 public void AppliqueRestrictions(
     CRestrictionUtilisateurSurType restrictionSurObjetEdite,
     CListeRestrictionsUtilisateurSurType listeRestrictions,
     IGestionnaireReadOnlySysteme gestionnaireReadOnly)
 {
     if (m_controlePrincipal != null)
     {
         if (gestionnaireReadOnly != null)
         {
             gestionnaireReadOnly.AddControl(m_controlePrincipal);
         }
         m_controlePrincipal.AppliqueRestriction(
             restrictionSurObjetEdite,
             listeRestrictions,
             gestionnaireReadOnly);
     }
 }
Esempio n. 3
0
        //-------------------------------------------------------------------------
        private bool AffichePage(int nNumPage, bool bMajChampsAvantAffichage)
        {
            if (m_gestionnaireModeEdition.ModeEdition && bMajChampsAvantAffichage)
            {
                CResultAErreur result = MajChamps(true);
                if (!result)
                {
                    CFormAlerte.Afficher(result.Erreur);
                    return(false);
                }
            }
            this.SuspendDrawing();
            m_nPageEnCours = nNumPage;
            //m_panelSousFormulaires.SuspendDrawing();
            List <CPanelChildElement> reserveControles = new List <CPanelChildElement>();
            ArrayList lstControles = new ArrayList(m_panelSousFormulaires.Controls);

            foreach (Control ctrl in lstControles)
            {
                CPanelChildElement sousForm = ctrl as CPanelChildElement;
                if (sousForm != null)
                {
                    reserveControles.Add(sousForm);
                }
            }
            CPanelChildElement.DeleteElementDelegate delegueSuppression = null;
            if (m_elementEdite is IAllocateurSupprimeurElements &&
                m_zoneMultiple.HasDeleteButton && !m_bPreventDeleteFromRestriction)
            {
                delegueSuppression = new CPanelChildElement.DeleteElementDelegate(OnDeleteElement);
            }

            Hashtable tableDejaMis = new Hashtable();

            m_lblPageSurNbPages.Text = (m_nPageEnCours + 1).ToString() + "/" + m_nbPages.ToString();
            for (int i = m_nPageEnCours * m_nbParPage; i < (m_nPageEnCours * m_nbParPage) + m_nbParPage; i++)
            {
                if (i < m_lstObjets.Count)
                {
                    object data = m_lstObjets[i];
                    try
                    {
                        if (!tableDejaMis.ContainsKey(data))
                        {
                            tableDejaMis[data] = true;
                            CPanelChildElement panel = null;
                            if (reserveControles.Count != 0)
                            {
                                panel = reserveControles[reserveControles.Count - 1];
                                reserveControles.RemoveAt(reserveControles.Count - 1);
                            }
                            else
                            {
                                panel              = new CPanelChildElement();
                                panel.SizeChanged += new EventHandler(panelChild_SizeChanged);
                                if (m_gestionnaireReadOnly != null)
                                {
                                    m_gestionnaireReadOnly.AddControl(panel);
                                }
                            }
                            panel.Init(this, m_zoneMultiple.FormulaireFils, m_createur);
                            m_panelSousFormulaires.Controls.Add(panel);
                            if (m_zoneMultiple.Orientation == EOrientaion.Horizontal)
                            {
                                panel.Dock = DockStyle.Left;
                            }
                            else
                            {
                                panel.Dock = DockStyle.Top;
                            }

                            panel.Visible     = true;
                            panel.LockEdition = !m_gestionnaireModeEdition.ModeEdition;
                            panel.OnChangeParentModeEdition(m_gestionnaireModeEdition.ModeEdition);
                            panel.SetElementEdite(data);
                            panel.BringToFront();
                            panel.DelegueSuppression = delegueSuppression;
                        }
                    }
                    catch { }
                }
            }
            //m_panelSousFormulaires.ResumeDrawing();

            //Supprime les contrôles qui ne servent plus
            foreach (Control ctrl in reserveControles.ToArray())
            {
                ctrl.Visible = false;
                m_panelSousFormulaires.Controls.Remove(ctrl);
                ctrl.Dispose();
            }
            if (m_listeRestrictionsAppliquées != null && EditedElement != null)
            {
                AppliqueRestriction(
                    m_restrictionSurObjetEditeParent,
                    m_listeRestrictionsAppliquées,
                    m_gestionnaireReadOnly);
            }
            RecalcAutoSize();
            this.ResumeDrawing();
            return(true);
        }