/// <summary> /// Loads the layout information for the specified panel (rootWidget). The Layout /// element in the XML config file contains the parent child relationship /// between widgets starting with the form at the root. Creates /// the root widget and all the child widgets. This gives the flexibility /// to group control in any manner, different from the parent-child /// relationship in the Form design. /// </summary> /// <param name="configFile">Full name of the xml file</param> /// <param name="rootWidget">The panel to load layout for</param> /// <returns>true on success</returns> public bool Load(String configFile, Widget rootWidget) { bool retVal = true; Log.Debug("configFile: " + configFile + ", rootWidget.name is " + rootWidget.Name); ConfigFile = configFile; var xmlDoc = new XmlDocument(); if (File.Exists(configFile)) { _rootControl = rootWidget.UIControl; xmlDoc.Load(configFile); XmlNode node = xmlDoc.SelectSingleNode("/ACAT/Layout"); if (node != null) { // retreive color attributes for the layout getLayoutColors(node); RootWidget = rootWidget; RootWidget.SetLayout(this); // load all the children and recursively their children. loadChildren(RootWidget, node); } else { retVal = false; Log.Error("Could not find layout element in xml file " + configFile + ", panel: " + rootWidget.Name); } } else { Log.Error("Could not find config file " + configFile); retVal = false; } return(retVal); }
/// <summary> /// Using reflection, create widget with the specified Type for the /// .NET Form control (eg a Button or a Label) /// </summary> /// <param name="classType">Class type of the widget</param> /// <param name="uiControl">The form control</param> /// <returns>created widget object</returns> public Widget CreateWidget(Type classType, Control uiControl) { Widget widget = null; try { Log.Debug("creating widget " + classType); widget = (Widget)Activator.CreateInstance(classType, uiControl); Log.IsNull("Widget created ", widget); if (widget != null) { widget.SetLayout(this); } } catch (Exception ex) { Log.Exception(ex); } return(widget); }
/// <summary> /// Loads the layout information for the specified panel (rootWidget). The Layout /// element in the XML config file contains the parent child relationship /// between widgets starting with the form at the root. Creates /// the root widget and all the child widgets. This gives the flexibility /// to group control in any manner, different from the parent-child /// relationship in the Form design. /// </summary> /// <param name="configFile">Full name of the xml file</param> /// <param name="rootWidget">The panel to load layout for</param> /// <returns>true on success</returns> public bool Load(String configFile, Widget rootWidget) { bool retVal = true; Log.Debug("configFile: " + configFile + ", rootWidget.name is " + rootWidget.Name); ConfigFile = configFile; var xmlDoc = new XmlDocument(); if (File.Exists(configFile)) { _rootControl = rootWidget.UIControl; xmlDoc.Load(configFile); XmlNode node = xmlDoc.SelectSingleNode("/ACAT/Layout"); if (node != null) { // retreive color attributes for the layout getLayoutColors(node); RootWidget = rootWidget; RootWidget.SetLayout(this); // load all the children and recursively their children. loadChildren(RootWidget, node); } else { retVal = false; Log.Error("Could not find layout element in xml file " + configFile + ", panel: " + rootWidget.Name); } } else { Log.Error("Could not find config file " + configFile); retVal = false; } return retVal; }