/// <summary> /// Exports the drawing factory for type with given type name. /// </summary> /// <param name="registeredTypeName">Name of the registered type.</param> /// <param name="drawing">The exported drawing.</param> protected void ExportDrawing(string registeredTypeName, ExportedDrawingFactory drawing) { if (registeredTypeName == "") { Message("Exporting {0} as general drawing", drawing); } else { Message("Exporting {0} for type {1}", drawing, registeredTypeName); } _exportedDrawers[registeredTypeName] = drawing; }
/// <summary> /// Exports <see cref="DataTypeDefinition"/> with drawing registered for same type. /// </summary> /// <typeparam name="TypeDefinition">The type of the data type definion.</typeparam> /// <param name="drawing">The exported drawing.</param> protected void ExportDefinitionWithDrawing <TypeDefinition>(ExportedDrawingFactory drawing) where TypeDefinition : DataTypeDefinition { DataTypeDefinition definition; try { definition = Activator.CreateInstance <TypeDefinition>(); } catch (Exception) { Error("Export of {0} skipped because it cannot be constructed, it must have public parameter less constructor", typeof(TypeDefinition).FullName); return; } ExportDefinition(definition); if (drawing != null) { ExportDrawing(definition.FullName, drawing); } }
/// <summary> /// Exports the general drawing factory that is used for every drawn instance. /// </summary> /// <param name="drawing">The exported drawing.</param> protected void ExportGeneralDrawing(ExportedDrawingFactory drawing) { ExportDrawing("", drawing); }
/// <summary> /// Exports the drawing factory for given type. /// </summary> /// <typeparam name="RegisteredType">The type of the registered type.</typeparam> /// <param name="drawing">The exported drawing.</param> protected void ExportDrawing <RegisteredType>(ExportedDrawingFactory drawing) { ExportDrawing(typeof(RegisteredType).FullName, drawing); }