//--------------------------------------------------- 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(); }
public bool GoUp(int nIndex, string strNomControle) { if (nIndex - 1 >= 0) { CControleSaisieUneActiviteActeur ctrl = GetControle(nIndex - 1); return(ctrl.FocusOn(strNomControle)); } return(false); }
// public bool GoDown(int nIndex, string strNomControle) { if (nIndex + 1 < m_listeControlsUtiles.Count) { CControleSaisieUneActiviteActeur ctrl = GetControle(nIndex + 1); return(ctrl.FocusOn(strNomControle)); } return(false); }
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; }
//--------------------------------------------------- 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); }
//----------------------------------------- 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(); } }
//----------------------------------------- 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); }
//--------------------------------------------------- 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(); }