Пример #1
0
        /// <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);
        }
Пример #2
0
        /// <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);
        }
Пример #3
0
        /// <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;
        }