//----------------------------------------------- public override void Draw( Rectangle rct, IFournisseurXGantt fournisseurX, System.Drawing.Graphics g) { base.Draw(rct, fournisseurX, g); if (ProjetAssocie != null && ProjetAssocie.HasChilds() && !ProjetAssocie.DateDebutAuto && ProjetAssocie.DateDebutPlanifieeCalculee != null && ProjetAssocie.DateFinPlanifieeCalculee != null) { Brush brFondBarre; if (CouleurFondBarre1 == CouleurFondBarre2) { brFondBarre = new SolidBrush(Color.FromArgb(128, CouleurFondBarre1)); } else { brFondBarre = new HatchBrush(HatchStyle.Percent50, Color.FromArgb(128, CouleurFondBarre1), Color.FromArgb(128, CouleurFondBarre2)); } Rectangle rctTmp = new Rectangle( fournisseurX.GetX(ProjetAssocie.DateDebutPlanifieeCalculee.Value), rct.Top + 4, fournisseurX.GetX(ProjetAssocie.DateFinPlanifieeCalculee.Value) - fournisseurX.GetX(ProjetAssocie.DateDebutPlanifieeCalculee.Value), 4); g.FillRectangle(brFondBarre, rctTmp); brFondBarre.Dispose(); } }
//----------------------------------------------- public override void CalcAvancementSurFils(bool bRecursif) { if (ElementsFils.Count() == 0) { SetPctAvancementSansCalculDeParent(ProjetAssocie.CalcProgressDepuisFormule()); } else { base.CalcAvancementSurFils(bRecursif); } }
//----------------------------------------------- public override void Move( TimeSpan spDeplacement, TimeSpan?duree, EModeDeplacementProjet mode, bool bForceForThisElement) { if (!MoveAutorise) { return; } ProjetAssocie.Move(spDeplacement, duree, mode, bForceForThisElement); if (ElementParent != null) { ElementParent.DatesAreDirty = true; } }