Beispiel #1
0
        //---------------------------------------------------
        public void InsertBefore(int nIndex)
        {
            if (!CanAddNew())
            {
                return;
            }
            if (nIndex >= m_listeControlsUtiles.Count - 1)
            {
                return;
            }
            CControleSaisieUneActiviteActeur ctrl = GetControle(nIndex);

            if (ctrl.TypeActivite == null)
            {
                return;
            }

            m_panelControles.SuspendDrawing();
            ctrl = GetNewControle(nIndex);
            ctrl.InitControle(null, nIndex, false);
            ReordonneeTout();
            m_panelControles.ResumeDrawing();
            m_panelControles.Visible = false;
            m_panelControles.Visible = true;
            ctrl.Focus();
        }
Beispiel #2
0
 public bool GoUp(int nIndex, string strNomControle)
 {
     if (nIndex - 1 >= 0)
     {
         CControleSaisieUneActiviteActeur ctrl = GetControle(nIndex - 1);
         return(ctrl.FocusOn(strNomControle));
     }
     return(false);
 }
Beispiel #3
0
 //
 public bool GoDown(int nIndex, string strNomControle)
 {
     if (nIndex + 1 < m_listeControlsUtiles.Count)
     {
         CControleSaisieUneActiviteActeur ctrl = GetControle(nIndex + 1);
         return(ctrl.FocusOn(strNomControle));
     }
     return(false);
 }
Beispiel #4
0
        public void Init(CActeur acteur, DateTime dateDebut, DateTime dateFin)
        {
            CWin32Traducteur.Translate(this);
            m_bIsFilling = true;
            m_panelControles.SuspendDrawing();
            m_acteur = acteur;
            foreach (Control ctrl in m_listeControlsUtiles)
            {
                ctrl.Visible = false;
                ((CControleSaisieUneActiviteActeur)ctrl).Activite = null;
            }

            ///Préinitialise avec les valeurs planifiées
            ///comme ça, quand on clique sur check, la date est préinitialisée
            m_dtDebutIntervention.Value = dateDebut;
            m_dtFinIntervention.Value   = dateFin;

            TimeSpan sp = m_dtFinIntervention.Value - m_dtDebutIntervention.Value;

            if (sp.TotalDays > 31)
            {
                CFormAlerte.Afficher(I.T("Display limited to 31 days|30189"), EFormAlerteType.Exclamation);
                m_dtFinIntervention.Value = m_dtDebutIntervention.Value.AddDays(31);
            }

            m_listeControlesReserve.AddRange(m_listeControlsUtiles);
            m_listeControlsUtiles.Clear();
            CListeObjetsDonnees liste = acteur.Activites;

            liste.Filtre = new CFiltreData(
                CActiviteActeur.c_champDate + ">= @1 and " +
                CActiviteActeur.c_champDate + " < @2",
                m_dtDebutIntervention.Value.Date,
                m_dtFinIntervention.Value.Date.AddDays(1).AddMinutes(-1));
            if (m_gestionnaireModeEdition.ModeEdition)
            {
                liste.PreserveChanges = true;
            }
            int nIndex = 0;

            foreach (CActiviteActeur activite in liste)
            {
                AddActivite(activite, ref nIndex, false);
            }
            if (m_listeControlsUtiles.Count == 0 && m_gestionnaireModeEdition.ModeEdition)
            {
                CControleSaisieUneActiviteActeur ctrl = GetNewControle(0);
                ctrl.InitControle(null, 0, true);
            }
            ReordonneeTout();
            m_bIsFilling = false;
            //RecalcSize();

            m_panelControles.ResumeDrawing();
            Visible = true;
        }
Beispiel #5
0
        //---------------------------------------------------
        public bool RemoveActivite(CControleSaisieUneActiviteActeur controle)
        {
            CResultAErreur result = CResultAErreur.True;

            if (controle.Activite != null)
            {
                result = controle.Activite.CanDelete();
                if (!result)
                {
                    CFormAlerte.Afficher(result.Erreur);
                    return(false);
                }
            }
            int nIndex = controle.Index;

            CControleSaisieUneActiviteActeur ctrlSuivant = null;

            if (nIndex + 1 < m_listeControlsUtiles.Count)
            {
                ctrlSuivant = (CControleSaisieUneActiviteActeur)m_listeControlsUtiles[nIndex + 1];
            }
            if (controle.Activite != null)
            {
                result = controle.Activite.Delete();
                if (!result)
                {
                    return(false);
                }
            }

            m_listeControlsUtiles.Remove(controle);
            m_listeControlesReserve.Add(controle);
            nIndex = controle.Index;
            for (int nChange = nIndex; nChange < m_listeControlsUtiles.Count; nChange++)
            {
                ((CControleSaisieUneActiviteActeur)m_listeControlsUtiles[nChange]).Index = nIndex;
                nIndex++;
            }

            controle.Activite = null;
            controle.Hide();

            //s'il n'y a plus de contrôle, il faut en ajouter 1 !!!
            if (m_listeControlsUtiles.Count == 0 && m_gestionnaireModeEdition.ModeEdition)
            {
                CControleSaisieUneActiviteActeur ctrl = GetNewControle(0);
                ctrl.InitControle(null, 0, true);
            }
            RecalcSize();

            return(true);
        }
Beispiel #6
0
        //-----------------------------------------
        private void AddActivite(CActiviteActeur activite, ref int nIndex, bool bRecalcSize)
        {
            bool bEntete = m_panelControles.Controls.Count == 0;
            CControleSaisieUneActiviteActeur ctrl = GetNewControle(nIndex);

            ctrl.Visible = true;
            ctrl.InitControle(activite, nIndex, bEntete);
            nIndex++;
            if (bRecalcSize)
            {
                RecalcSize();
            }
        }
Beispiel #7
0
        //-----------------------------------------
        private CControleSaisieUneActiviteActeur GetNewControle(int nIndex)
        {
            CControleSaisieUneActiviteActeur ctrl = null;

            if (m_listeControlesReserve.Count == 0)
            {
                ctrl = new CControleSaisieUneActiviteActeur(this);
            }
            else
            {
                ctrl          = (CControleSaisieUneActiviteActeur)m_listeControlesReserve[0];
                ctrl.Activite = null;
            }

            ctrl.Parent   = m_panelControles;
            ctrl.Visible  = true;
            ctrl.Dock     = DockStyle.Top;
            ctrl.TabIndex = nIndex;
            m_listeControlesReserve.Remove(ctrl);
            if (nIndex < m_listeControlsUtiles.Count)
            {
                m_listeControlsUtiles.Insert(nIndex, ctrl);
            }
            else
            {
                m_listeControlsUtiles.Add(ctrl);
            }
            //Décale tous les controles suivants
            for (int nCtrl = nIndex + 1; nCtrl < m_listeControlsUtiles.Count; nCtrl++)
            {
                CControleSaisieUneActiviteActeur ctrlApres = (CControleSaisieUneActiviteActeur)m_listeControlsUtiles[nCtrl];
                ctrlApres.Index = nCtrl;
            }
            ReordonneeTout();
            ctrl.LockEdition = !m_gestionnaireModeEdition.ModeEdition;
            ctrl.BackColor   = m_panelControles.BackColor;
            if (nIndex == 0)
            {
                ctrl.DateActivite = m_dtDebutIntervention.Value;
            }
            else
            {
                ctrl.DateActivite = GetControle(nIndex - 1).DateActivite;
            }

            ctrl.SizeChanged += new EventHandler(ctrlActivite_SizeChanged);

            return(ctrl);
        }
Beispiel #8
0
        //---------------------------------------------------
        public void InsertAfter(int nIndex)
        {
            if (!CanAddNew())
            {
                return;
            }
            CControleSaisieUneActiviteActeur ctrl = GetControle(nIndex);

            if (ctrl.TypeActivite == null)
            {
                return;
            }

            m_panelControles.SuspendDrawing();
            ctrl = GetNewControle(nIndex + 1);
            ctrl.InitControle(null, nIndex + 1, false);
            ReordonneeTout();
            m_panelControles.ResumeDrawing();
            m_panelControles.Visible = false;
            m_panelControles.Visible = true;
            ctrl.Focus();
            RecalcSize();
        }