public void Initialiser(CDecoupage decoupage) { m_bInitialise = false; m_bSkipEveChangement = true; if (m_cmbPeriodicite.Items.Count == 0) { InitComboPeriodicite(); } m_decoupage = decoupage; if (m_decoupage == null || !m_decoupage.Valide) { DateTime dtStart = DateTime.Now.Date; DateTime dtEnd = dtStart.AddYears(1); m_decoupage = new CDecoupage(dtStart, dtEnd, 3, EEchelleTemps.Mois, true, EEchelleTemps.Jour); if (ChangementDecoupage != null) { ChangementDecoupage(Decoupage); } } MAJAffichageSansNotificationModification(); m_bInitialise = true; m_bSkipEveChangement = false; }
public void Refresh() { m_mappageNumeroLigneContrat = null; m_bEnEditionCalcule = false; m_cacheContratListeOpAAfficher = null; m_intersLigne = null; m_intersEnEdition = null; m_decoupageObj = null; m_cacheDessin = null; foreach (CDessinTrancheSite cell in DessinsCellules) { cell.Refresh(); } }
public CDessinEditeurPreventive( CContexteDonnee context, CDecoupage decoupage, CContrat_ListeOperations relEnCour, List <CSite> sitesAffiches, List <CContrat_ListeOperations> listesOpAffichees) { m_context = context; m_intersSelec = new List <CInterventionPourEditeurPreventive>(); m_dessinsSites = new List <CDessinSite>(); m_dessinTranches = new List <CDessinTranche>(); m_mappageSiteListeInter = new Dictionary <int, List <CInterventionPourEditeurPreventive> >(); m_mappageSiteEtDessin = new Dictionary <int, CDessinSite>(); //m_dessinsSiteToRefresh = new List<CDessinSite>(); //Angle m_angle = new CDessinAngle(this); MAJStructure(decoupage, relEnCour, sitesAffiches, listesOpAffichees); }
public void MAJStructure( CDecoupage decoupage, CContrat_ListeOperations relEnCour, List <CSite> sitesAffiches, List <CContrat_ListeOperations> listesOpAffichees) { m_bValide = false; m_interOver = null; m_listeOpOver = null; m_intersSelec.Clear(); m_contratLstOp = relEnCour; if (listesOpAffichees.Contains(relEnCour)) { listesOpAffichees.Remove(relEnCour); } m_sites = sitesAffiches; m_contratLstOpsAffichees = listesOpAffichees; //Decoupage m_decoupage = decoupage; if (!m_decoupage.Valide) { return; } //Tranches m_dessinTranches.Clear(); if (m_decoupage.NbTranche == 0) { return; } for (int t = 1; t <= m_decoupage.NbTranche; t++) { EPositionDessinTranche?pos = null; if (m_decoupage.NbTranche == 1) { pos = EPositionDessinTranche.Unique; } else if (t == 1) { pos = EPositionDessinTranche.Debut; } else if (t == m_decoupage.NbTranche) { pos = EPositionDessinTranche.Fin; } else { pos = EPositionDessinTranche.Intermediaire; } m_dessinTranches.Add(new CDessinTranche(this, m_decoupage[t - 1], (EPositionDessinTranche)pos)); } //Sites ChargerIntersDesSites(); m_bValide = true; }
public void Draw(Graphics g, Rectangle rect) { if (m_cacheDessin == null && !m_bRefreshInters) { Initialiser(); } else if (rect.Size == CacheDessin.Size && !m_bRefreshInters) { g.DrawImageUnscaled(CacheDessin, rect.Location); return; } Rectangle rcImage = rect; rcImage.Offset(new Point(-rcImage.Left, -rcImage.Top)); Image img = new Bitmap(rect.Size.Width, rect.Size.Height); Graphics gTmp = Graphics.FromImage(img); SolidBrush brushAzure = new SolidBrush(Color.Azure); SolidBrush brushGray = new SolidBrush(Color.Gray); SolidBrush brushRoyaleBlue = new SolidBrush(Color.RoyalBlue); Pen crayonBleu = new Pen(brushRoyaleBlue); crayonBleu.Width = 2; //Pour toutes les lignes for (int nL = 1; nL <= NombreLigne; nL++) { //Recupération du rectangle int posY = nL == 1 ? 0 : (nL - 1) * (rcImage.Height / NombreLigne); Rectangle rectLigneN = new Rectangle(0, posY, rcImage.Width, rcImage.Height / NombreLigne); //BACKGROUND bool bConcerne = DessinSite.MappageNumeroLigneContrat[nL].AssocieAuSite(DessinSite.Site); if (bConcerne) { gTmp.FillRectangle(brushAzure, rectLigneN); } else { gTmp.FillRectangle(brushGray, rectLigneN); } if (nL == 1 && DessinSite.EnEdition && bConcerne) { List <CTranche> tranches = DessinSite.DecoupageObjectifElementEnEdition.GetTranchesConcernees(DateDebut, DateFin); foreach (CTranche t in tranches) { SolidBrush brush = new SolidBrush(DessinSite.GetColorOfTranche(t)); DateTime dtStartDecoup = t.DateDebut < DateDebut ? DateDebut : t.DateDebut; DateTime dtEndDecoup = t.DateFin > DateFin ? DateFin : t.DateFin; decimal fWithTranche = (( ((decimal)dtEndDecoup.Ticks - (decimal)dtStartDecoup.Ticks) * (decimal)rectLigneN.Width) / ((decimal)DateFin.Ticks - (decimal)DateDebut.Ticks)); int nWithTranche = Convert.ToInt32(fWithTranche) + 1; int posX = GetX(dtStartDecoup, rectLigneN.Width); Rectangle rTranche = new Rectangle(posX, 0, nWithTranche, rectLigneN.Height); gTmp.FillRectangle(brush, rTranche); brush.Dispose(); } } //DESSIN DES INTERS List <CDessinListeOperations> dessinsInters = GetDessinsInterOfLigne(nL); foreach (CDessinListeOperations dessin in dessinsInters) { dessin.Draw(gTmp, rectLigneN); } if (nL > 1) { CDessinEditeurPreventive.DessinerLigne(ECoteRectangle.Haut, System.Drawing.Drawing2D.DashStyle.Dot, Color.Wheat, 1, rectLigneN, gTmp); } } //LIGNES OBJECTIF if (DessinSite.ContratListesOperationsEnCour != null) { CDecoupage decoupEle = DessinSite.DecoupageObjectifElementEnEdition; List <DateTime> datesDecoupage = decoupEle.GetDatesConcernees(DateDebut, DateFin); foreach (DateTime dt in datesDecoupage) { //Dessiner la ligne //System.Drawing.Drawing2D.DashStyle styleLigne = System.Drawing.Drawing2D.DashStyle.Solid; //if (nCptDecoup == 0 || nCptDecoup == datesDecoupage.Count - 1) // styleLigne = System.Drawing.Drawing2D.DashStyle.DashDotDot; //crayonBleu.DashStyle = styleLigne; int posXLigne = GetX(dt, rcImage.Width); if (posXLigne == rcImage.Width) { posXLigne--; } if (posXLigne == 0) { posXLigne++; } gTmp.DrawLine(crayonBleu, new Point(posXLigne, 0), new Point(posXLigne, rcImage.Height)); } } //BORDS DROIT ET GAUCHE switch (DessinTranche.PositionTranche) { case EPositionDessinTranche.Debut: CDessinEditeurPreventive.DessinerLigne(ECoteRectangle.Gauche, System.Drawing.Drawing2D.DashStyle.Solid, Color.Black, 1, rcImage, gTmp); break; case EPositionDessinTranche.Fin: CDessinEditeurPreventive.DessinerLigne(ECoteRectangle.Droite, System.Drawing.Drawing2D.DashStyle.Solid, Color.Black, 1, rcImage, gTmp); goto case EPositionDessinTranche.Intermediaire; case EPositionDessinTranche.Intermediaire: CDessinEditeurPreventive.DessinerLigne(ECoteRectangle.Gauche, System.Drawing.Drawing2D.DashStyle.Dash, Color.Black, 1, rcImage, gTmp); break; case EPositionDessinTranche.Unique: CDessinEditeurPreventive.DessinerLigne(ECoteRectangle.Gauche, System.Drawing.Drawing2D.DashStyle.Solid, Color.Black, 1, rcImage, gTmp); CDessinEditeurPreventive.DessinerLigne(ECoteRectangle.Droite, System.Drawing.Drawing2D.DashStyle.Solid, Color.Black, 1, rcImage, gTmp); break; } CDessinEditeurPreventive.DessinerLigne(ECoteRectangle.Bas, System.Drawing.Drawing2D.DashStyle.Solid, Color.Black, 1, rcImage, gTmp); g.DrawImageUnscaled(img, rect.Location); m_cacheDessin = img; m_bRefreshInters = false; brushAzure.Dispose(); brushGray.Dispose(); brushRoyaleBlue.Dispose(); crayonBleu.Dispose(); }