//---------------------------------------------------------------- public CResultAErreur Serialize(C2iSerializer serializer) { int nVersion = GetNumVersion(); CResultAErreur result = serializer.TraiteVersion(ref nVersion); if (!result) { return(result); } int nNbKeys = m_dicSymbolesParType.Count(); serializer.TraiteInt(ref nNbKeys); switch (serializer.Mode) { case ModeSerialisation.Ecriture: foreach (KeyValuePair <Type, CParametreRepresentationSymbole> kv in m_dicSymbolesParType) { Type tp = kv.Key; CParametreRepresentationSymbole parametre = kv.Value; serializer.TraiteType(ref tp); result = serializer.TraiteObject <CParametreRepresentationSymbole>(ref parametre); if (!result) { return(result); } } break; case ModeSerialisation.Lecture: Dictionary <Type, CParametreRepresentationSymbole> dic = new Dictionary <Type, CParametreRepresentationSymbole>(); for (int nParametre = 0; nParametre < nNbKeys; nParametre++) { Type tp = null; CParametreRepresentationSymbole parametre = null; serializer.TraiteType(ref tp); result = serializer.TraiteObject <CParametreRepresentationSymbole>(ref parametre); if (!result) { return(result); } if (parametre != null) { dic[tp] = parametre; } } m_dicSymbolesParType = dic; break; } return(result); }
//---------------------------------------------------------------- public CParametreRepresentationSymbole this[Type tp] { get { CParametreRepresentationSymbole tmp = null; m_dicSymbolesParType.TryGetValue(tp, out tmp); return(tmp); } set { if (value == null && m_dicSymbolesParType.ContainsKey(tp)) { m_dicSymbolesParType.Remove(tp); } else { m_dicSymbolesParType[tp] = value; } } }
public bool AfterDrawElement(CContextDessinObjetGraphique ctx, C2iObjetGraphique objetGraphique) { C2iObjetDeSchema objetDessine = objetGraphique as C2iObjetDeSchema; if (objetDessine == null || objetDessine.ElementDeSchema == null) { return(true); } IElementDeSchemaReseau elementDeSchema = objetDessine.ElementDeSchema.ElementAssocie; if (elementDeSchema == null) { return(true); } Type tp = elementDeSchema.GetType(); CParametreRepresentationSymbole parametre = this[tp]; if (parametre == null) { return(true); } parametre.Draw(ctx, elementDeSchema, objetGraphique); return(true); }