private IAppender[] ReadAppenders(IAppenderFactory appenderFactory, ILayoutFactory layoutFactory, int n) { IAppender[] appenders = new IAppender[n]; for (int i = 0; i < n; i++) { string[] appenderParts = this.reader.ReadLine().Split(); string appenderType = appenderParts[0]; string layoutType = appenderParts[1]; ReportLevel reportLevel = appenderParts.Length == 3 ? Enum.Parse <ReportLevel>(appenderParts[2], true) : ReportLevel.Info; try { ILayout layout = this.layoutFactory.CreateLayout(layoutType); IAppender appender = this.appenderFactory.CreateAppender(appenderType, layout, reportLevel); appenders[i] = appender; } catch (ArgumentException ex) { Console.WriteLine(ex.Message); } } return(appenders); }
public void RegisterLayoutFactory(ILayoutFactory lf) { if (!_factories.Contains(lf)) { _factories.Add(lf); } }
public DynamicLayout(Type implementationType, ILayoutFactory <TLayout> factory, IEnumerable <ILayoutProperty <TLayout, TSchema> > properties) { _factory = factory; ImplementationType = implementationType; _properties = properties.ToArray(); }
public CommandInterpreter() { this.appenders = new List <IAppender>(); this.loggers = new List <ILogger>(); this.layoutFactory = new LayoutFactory(); this.appenderFactory = new AppenderFactory(); }
public Engine(IAppenderFactory appenderFactory, ILayoutFactory layoutFactory, IReader reader, IWriter writer) { this.appenderFactory = appenderFactory; this.layoutFactory = layoutFactory; this.reader = reader; this.writer = writer; }
public AppenderFactory( ILayoutFactory layoutFactory, ILogFileFactory logFileFactory) { this.layoutFactory = layoutFactory; this.logFileFactory = logFileFactory; }
private static void LoadUnPinnedToolDataNodes(ILayoutFactory iLayoutFactory, Dictionary <string, UserControl> viewsMap, WindowLocation windowLocation, XmlElement xmlParentElement) { foreach (var xmlChildNode in xmlParentElement.ChildNodes) { if (xmlChildNode is XmlElement) { if ((xmlChildNode as XmlElement).Name == "UnpinnedToolData") { XmlElement xmlUnpinnedToolData = xmlChildNode as XmlElement; string guid = GetStringAttribute(xmlUnpinnedToolData, "Sibling"); bool isHorizontal = GetBooleanAttribute(xmlUnpinnedToolData, "IsHorizontal"); bool isFirst = GetBooleanAttribute(xmlUnpinnedToolData, "IsFirst"); foreach (var xmlUnpinnedToolDataChildNode in xmlUnpinnedToolData.ChildNodes) { if (xmlUnpinnedToolDataChildNode is XmlElement) { if ((xmlUnpinnedToolDataChildNode as XmlElement).Name == "ToolPaneGroup") { ToolPaneGroup toolPaneGroup = iLayoutFactory.MakeToolPaneGroup(); XmlElement xmlToolPaneGroup = xmlUnpinnedToolDataChildNode as XmlElement; LoadTools(viewsMap, xmlToolPaneGroup, toolPaneGroup.IViewContainer); iLayoutFactory.MakeUnpinnedToolPaneGroup(windowLocation, toolPaneGroup, guid, isHorizontal, isFirst); } } } } } } }
private bool Load(XmlDocument xmlDocument) { if (xmlDocument.ChildNodes.Count == 0) { return(false); } List <UserControl> documentViews = LoadViewsFromTemplates(DocumentTemplates, DocumentsSource); List <UserControl> toolViews = LoadViewsFromTemplates(ToolTemplates, ToolsSource); List <UserControl> views = new List <UserControl>(); Dictionary <string, UserControl> viewsMap = new Dictionary <string, UserControl>(); foreach (var item in documentViews) { viewsMap.Add(ILayoutFactory.MakeDocumentKey(item.Name, ((item.DataContext) as IViewModel).URL), item); } foreach (var item in toolViews) { viewsMap.Add(item.Name, item); } // Now load the views into the dock manager => one or more views might not be visible! Serialisation.LayoutReader.LoadNode(this, viewsMap, this, this, xmlDocument.DocumentElement, true); // Remove any view without a view model ValidateToolPanes(); ValidateDocumentPanes(); IFloatingPaneManager.CancelSelection(); return(true); }
public FloatingPaneManager( IFloatingPaneHost iFloatingPaneManagerOwner, ILayoutFactory iLayoutFactory) { IFloatingPaneHost = iFloatingPaneManagerOwner; ILayoutFactory = iLayoutFactory; FloatingToolPaneGroups = new List <IFloatingPane>(); FloatingDocumentPaneGroups = new List <IFloatingPane>(); }
public Controller(ILayoutFactory layoutFactory, IDesktop desktop, IWindowManager windowManager, IDesktopManager desktopManager) { Desktop = desktop; WindowManager = windowManager; DesktopManager = desktopManager; LayoutFactory = layoutFactory; SetDefaultLayouts(); }
public Engine( ILogger logger, ILayoutFactory layoutFactory, IAppenderFactory appenderFactory, IReportLevelFactory reportLevelFactory) { this.layoutFactory = layoutFactory; this.appenderFactory = appenderFactory; this.reportLevelFactory = reportLevelFactory; this.logger = logger; }
public LayoutService( ILayoutFactory factory, ILayoutRepository repo ) { factory.CheckArgumentIsNull(); _factory = factory; repo.CheckArgumentIsNull(); _repo = repo; }
public Engine(IReader reader, ILayoutFactory layoutFactory, IAppenderFactory appenderFactory, ICommandInterpreter commandInterpreter, ILoggerReport loggerReport) { this.reader = reader; this.layoutFactory = layoutFactory; this.appenderFactory = appenderFactory; this.commandInterpreter = commandInterpreter; this.loggerReport = loggerReport; }
static void Main(string[] args) { apeenderFactory = new AppendarFactory(); layoutFactory = new LayoutFactory(); int n = int.Parse(Console.ReadLine()); IAppender[] appenders = ReadAppenders(n); ILogger logger = new Loggerrr(appenders); while (true) { string line = Console.ReadLine(); if (line == "END") { break; } string[] parts = line.Split('|', StringSplitOptions.RemoveEmptyEntries); ReportLevel reportLevel = Enum.Parse <ReportLevel>(parts[0], true); string date = parts[1]; string message = parts[2]; switch (reportLevel) { case ReportLevel.Info: logger.Info(date, message); break; case ReportLevel.Critical: logger.Critical(date, message); break; case ReportLevel.Warning: logger.Warning(date, message); break; case ReportLevel.Error: logger.Error(date, message); break; case ReportLevel.Fatal: logger.Fatal(date, message); break; } } Console.WriteLine(logger); }
static void Main(string[] args) { layoutFactory = new LayoutFactory(); apenderFactory = new AppenderFactory(); int n = int.Parse(Console.ReadLine()); List <IAppender> appenders = ReadAppender(n); Logger logger = new Logger(appenders.ToArray()); LogErrors(logger); Console.WriteLine(logger); }
private static void LoadDocuments(ILayoutFactory iLayoutFactory, Dictionary <string, UserControl> viewsMap, XmlElement xmlDocumentPaneGroup, IViewContainer iViewContainer) { foreach (var xmlChild in xmlDocumentPaneGroup.ChildNodes) { if (xmlChild is XmlElement) { if ((xmlChild as XmlElement).Name == "Document") { XmlElement xmlToolElement = xmlChild as XmlElement; string contentId = GetStringAttribute(xmlToolElement, "ContentId"); string url = GetStringAttribute(xmlToolElement, "Url"); string key = iLayoutFactory.MakeDocumentKey(contentId, url); if (viewsMap.ContainsKey(key)) { iViewContainer.AddUserControl(viewsMap[key]); viewsMap.Remove(contentId); } } } } }
public CommandInterpreter() { appenders = new List <IAppender>(); layoutFactory = new LayoutFactory(); appenderFactory = new AppenderFactory(); }
public CommandInterpreter(ILayoutFactory layoutFactory, IAppenderFactory appenderFactory) { this.appenders = new List <IAppender>(); this.layoutFactory = layoutFactory; this.appenderFactory = appenderFactory; }
public DynamicLayout(ILayoutFactory <TLayout> factory, IEnumerable <ILayoutProperty <TLayout, TSchema> > properties) { _factory = factory; _properties = properties.ToArray(); }
public LayoutParser(ILayoutFactory <TLayout> factory, IEnumerable <IParser <TSchema, LayoutMatch <TLayout> > > parsers) { _factory = factory; _parsers = parsers.ToArray(); }
public static void LoadNode(ILayoutFactory iLayoutFactory, Dictionary <string, UserControl> viewsMap, FrameworkElement rootFrameworkElement, FrameworkElement parentFrameworkElement, XmlNode xmlParentElement, bool isParentHorizontal) { int row = 0; int rowIncrement = isParentHorizontal ? 2 : 0; int column = 0; int columnIncrement = isParentHorizontal ? 0 : 2; foreach (var xmlChildNode in xmlParentElement.ChildNodes) { if (xmlChildNode is XmlElement) { if ((xmlChildNode as XmlElement).Name == "SplitterPane") { XmlElement xmlSplitterPane = xmlChildNode as XmlElement; XmlAttribute xmlAttribute = xmlSplitterPane.Attributes.GetNamedItem("Orientation") as XmlAttribute; System.Diagnostics.Trace.Assert(xmlAttribute != null, "SplitterPane element does not have an orientation attribute"); bool isChildHorizontal = xmlAttribute.Value == "Horizontal"; SplitterPane newGrid = iLayoutFactory.MakeSplitterPane(isChildHorizontal); newGrid.Tag = GetGuid(xmlSplitterPane); if (parentFrameworkElement == rootFrameworkElement) { iLayoutFactory.SetRootPane(newGrid, out row, out column); } else { System.Windows.Markup.IAddChild parentElement = (System.Windows.Markup.IAddChild)parentFrameworkElement; parentElement.AddChild(newGrid); Grid.SetRow(newGrid, row); Grid.SetColumn(newGrid, column); } SetWidthOrHeight(xmlSplitterPane, parentFrameworkElement, isParentHorizontal, row, column); row += rowIncrement; column += columnIncrement; LoadNode(iLayoutFactory, viewsMap, rootFrameworkElement, newGrid, xmlSplitterPane, isChildHorizontal); } else if ((xmlChildNode as XmlElement).Name == "DocumentPanel") { DocumentPanel documentPanel = iLayoutFactory.MakeDocumentPanel(); if (parentFrameworkElement == rootFrameworkElement) { iLayoutFactory.SetRootPane(documentPanel, out row, out column); } else { System.Windows.Markup.IAddChild parentElement = (System.Windows.Markup.IAddChild)parentFrameworkElement; parentElement.AddChild(documentPanel); Grid.SetRow(documentPanel, row); Grid.SetColumn(documentPanel, column); } XmlElement xmlDocumentPanel = xmlChildNode as XmlElement; SetWidthOrHeight(xmlDocumentPanel, parentFrameworkElement, isParentHorizontal, row, column); row += rowIncrement; column += columnIncrement; LoadNode(iLayoutFactory, viewsMap, rootFrameworkElement, documentPanel, xmlDocumentPanel, true); } else if ((xmlChildNode as XmlElement).Name == "DocumentPaneGroup") { DocumentPaneGroup documentPaneGroup = iLayoutFactory.MakeDocumentPaneGroup(); System.Windows.Markup.IAddChild parentElement = (System.Windows.Markup.IAddChild)parentFrameworkElement; parentElement.AddChild(documentPaneGroup); XmlElement xmlDocumentGroup = xmlChildNode as XmlElement; documentPaneGroup.Tag = GetGuid(xmlDocumentGroup);; SetWidthOrHeight(xmlDocumentGroup, parentFrameworkElement, isParentHorizontal, row, column); LoadDocuments(iLayoutFactory, viewsMap, xmlDocumentGroup, documentPaneGroup.IViewContainer); Grid.SetRow(documentPaneGroup, row); Grid.SetColumn(documentPaneGroup, column); row += rowIncrement; column += columnIncrement; } else if ((xmlChildNode as XmlElement).Name == "ToolPaneGroup") { ToolPaneGroup toolPaneGroup = iLayoutFactory.MakeToolPaneGroup(); System.Windows.Markup.IAddChild parentElement = (System.Windows.Markup.IAddChild)parentFrameworkElement; parentElement.AddChild(toolPaneGroup); XmlElement xmlToolPaneGroup = xmlChildNode as XmlElement; toolPaneGroup.Tag = GetGuid(xmlToolPaneGroup); SetWidthOrHeight(xmlToolPaneGroup, parentFrameworkElement, isParentHorizontal, row, column); LoadTools(viewsMap, xmlToolPaneGroup, toolPaneGroup.IViewContainer); Grid.SetRow(toolPaneGroup, row); Grid.SetColumn(toolPaneGroup, column); row += rowIncrement; column += columnIncrement; } else if ((xmlChildNode as XmlElement).Name == "FloatingToolPaneGroup") { FloatingToolPaneGroup floatingToolPaneGroup = iLayoutFactory.MakeFloatingToolPaneGroup(); XmlElement xmlfloatingTool = xmlChildNode as XmlElement; floatingToolPaneGroup.Tag = GetGuid(xmlfloatingTool); SetLocationAndSize(xmlfloatingTool, floatingToolPaneGroup); LoadTools(viewsMap, xmlfloatingTool, floatingToolPaneGroup.IViewContainer); } else if ((xmlChildNode as XmlElement).Name == "FloatingDocumentPaneGroup") { FloatingDocumentPaneGroup floatingDocumentPaneGroup = iLayoutFactory.MakeFloatingDocumentPaneGroup(); XmlElement xmlfloatingDocument = xmlChildNode as XmlElement; floatingDocumentPaneGroup.Tag = GetGuid(xmlfloatingDocument); SetLocationAndSize(xmlfloatingDocument, floatingDocumentPaneGroup); LoadDocuments(iLayoutFactory, viewsMap, xmlfloatingDocument, floatingDocumentPaneGroup.IViewContainer); } else if ((xmlChildNode as XmlElement).Name == "LeftSide") { XmlElement xmlLeftSide = xmlChildNode as XmlElement; LoadUnPinnedToolDataNodes(iLayoutFactory, viewsMap, WindowLocation.LeftSide, xmlLeftSide); } else if ((xmlChildNode as XmlElement).Name == "TopSide") { XmlElement xmlTopSide = xmlChildNode as XmlElement; LoadUnPinnedToolDataNodes(iLayoutFactory, viewsMap, WindowLocation.TopSide, xmlTopSide); } else if ((xmlChildNode as XmlElement).Name == "RightSide") { XmlElement xmlRightSide = xmlChildNode as XmlElement; LoadUnPinnedToolDataNodes(iLayoutFactory, viewsMap, WindowLocation.RightSide, xmlRightSide); } else if ((xmlChildNode as XmlElement).Name == "BottomSide") { XmlElement xmlBottomSide = xmlChildNode as XmlElement; LoadUnPinnedToolDataNodes(iLayoutFactory, viewsMap, WindowLocation.BottomSide, xmlBottomSide); } } if (parentFrameworkElement != rootFrameworkElement) { if ((row > 2) || (column > 2)) { // we can only have two child elements (plus a splitter) in each grid break; } } } }
public Engine(IReader reader, IAppenderFactory appenderFactory, ILayoutFactory layoutFactory) { this.reader = reader; this.appenderFactory = appenderFactory; this.layoutFactory = layoutFactory; }
public RouteResultController(IHslRouteSolver hslRouteSolver, ILayoutFactory layoutFactory) { _hslRouteSolver = hslRouteSolver; _layoutFactory = layoutFactory; }
public AppenderFactory() { this.layoutFactory = new LayoutFactory(); }
public Controller(ILayoutFactory layoutFactory) : this(layoutFactory, new Desktop(), new WindowManager(), new DesktopManager()) { }
public CommandInterpreter() { this.collection = new List <IAppender>(); this.appenderFactory = new AppenderFactory(); this.layoutFactory = new LayoutFactory(); }
public void RegisterLayoutFactory(ILayoutFactory lf) { if (!_factories.Contains(lf)) { _factories.Add(lf); } }
public DockPaneManager(IDockPaneHost iDockPaneHost, ILayoutFactory iLayoutFactory) { ILayoutFactory = iLayoutFactory; IDockPaneHost = iDockPaneHost; }