Пример #1
0
        public MultiValuedItemConfigViewModel(AppViewModel appDefinition, MultiValuedConfigViewModel parent
                                              , XmlNode definitionNode, string parentXPath, XmlNode configNode = null)
        {
            commonInit(appDefinition, parent, definitionNode, parentXPath);

            m_parent    = parent;
            m_className = definitionNode.Attributes[XMLConfig.classAttribute].Value;

            switch (m_className)
            {
            case XMLConfig.integerNodeTag: children.Add(new IntegerValueConfigViewModel(appDefinition, this, definitionNode, m_xPath, configNode)); break;

            case XMLConfig.boolNodeTag: children.Add(new BoolValueConfigViewModel(appDefinition, this, definitionNode, m_xPath, configNode)); break;

            case XMLConfig.doubleNodeTag: children.Add(new DoubleValueConfigViewModel(appDefinition, this, definitionNode, m_xPath, configNode)); break;

            case XMLConfig.stringNodeTag: children.Add(new StringValueConfigViewModel(appDefinition, this, definitionNode, m_xPath, configNode)); break;

            case XMLConfig.filePathNodeTag: children.Add(new FilePathValueConfigViewModel(appDefinition, this, definitionNode, m_xPath, configNode)); break;

            case XMLConfig.dirPathNodeTag: children.Add(new DirPathValueConfigViewModel(appDefinition, this, definitionNode, m_xPath, configNode)); break;

            default:
                XmlNode classDefinition = appDefinition.getClassDefinition(m_className);
                if (classDefinition != null)
                {
                    childrenInit(appDefinition, appDefinition.getClassDefinition(m_className), m_xPath, configNode);
                }
                break;
            }
        }
        public BranchConfigViewModel(AppViewModel appDefinition, ConfigNodeViewModel parent
            , XmlNode definitionNode, string parentXPath, XmlNode configNode= null, bool initChildren= true)
        {
            commonInit(appDefinition,parent, definitionNode,parentXPath);

            m_className = definitionNode.Attributes[XMLConfig.classAttribute].Value;
            if (definitionNode.Attributes.GetNamedItem(XMLConfig.windowAttribute) != null)
                m_window = definitionNode.Attributes[XMLConfig.windowAttribute].Value;
            else m_window = "";
            if (definitionNode.Attributes.GetNamedItem(XMLConfig.optionalAttribute) != null)
                bIsOptional = definitionNode.Attributes[XMLConfig.optionalAttribute].Value == "true";
            else bIsOptional = false;

            if (configNode != null)
            {
                configNode = configNode[name];
                if (configNode != null && bIsOptional)
                    bIsUsed = true;
            }
            else if (bIsOptional)
                bIsUsed = true;

            if (initChildren)
                childrenInit(appDefinition, appDefinition.getClassDefinition(m_className), m_xPath, configNode);
        }
        public ChoiceElementConfigViewModel(AppViewModel appDefinition, ConfigNodeViewModel parent, XmlNode definitionNode
            , string parentXPath, XmlNode configNode= null)
        {
            commonInit(appDefinition,parent,definitionNode,parentXPath);

            m_className = definitionNode.Attributes[XMLConfig.classAttribute].Value;
            if (definitionNode.Attributes.GetNamedItem(XMLConfig.windowAttribute) != null)
                m_window = definitionNode.Attributes[XMLConfig.windowAttribute].Value;
            else m_window = "";
            if (definitionNode.Attributes.GetNamedItem(XMLConfig.optionalAttribute) != null)
                m_bOptional = definitionNode.Attributes[XMLConfig.optionalAttribute].Value == "true";
            else m_bOptional = false;
            if (definitionNode.Attributes.GetNamedItem(XMLConfig.loadXMLFileAttribute) != null)
                m_loadXML = definitionNode.Attributes[XMLConfig.loadXMLFileAttribute].Value;
            else m_loadXML = "";

            if (m_loadXML != "")
            {
                m_appViewModel.loadAuxDefinitions(m_loadXML);
            }

            if (configNode != null)
                configNode = configNode[name];
            //we allow an undefined class ("", most likely) and we just ignore children
            childrenInit(appDefinition, appDefinition.getClassDefinition(m_className,true)
                , m_xPath, configNode);
        }
        public MultiValuedItemConfigViewModel(AppViewModel appDefinition,MultiValuedConfigViewModel parent
            ,XmlNode definitionNode, string parentXPath, XmlNode configNode=null)
        {
            commonInit(appDefinition,parent,definitionNode,parentXPath);

            m_parent = parent;
            m_className = definitionNode.Attributes[XMLConfig.classAttribute].Value;

            switch (m_className)
            {
                case XMLConfig.integerNodeTag: children.Add(new IntegerValueConfigViewModel(appDefinition, this,definitionNode, m_xPath, configNode));break;
                case XMLConfig.doubleNodeTag: children.Add(new DoubleValueConfigViewModel(appDefinition, this,definitionNode, m_xPath, configNode));break ;
                case XMLConfig.stringNodeTag: children.Add(new StringValueConfigViewModel(appDefinition, this, definitionNode, m_xPath, configNode));break ;
                case XMLConfig.filePathNodeTag: children.Add(new FilePathValueConfigViewModel(appDefinition, this,definitionNode, m_xPath, configNode));break ;
                case XMLConfig.dirPathNodeTag: children.Add(new DirPathValueConfigViewModel(appDefinition, this,definitionNode, m_xPath, configNode));break ;
                default:
                    XmlNode classDefinition = appDefinition.getClassDefinition(m_className);
                    if (classDefinition != null)
                        childrenInit(appDefinition, appDefinition.getClassDefinition(m_className), m_xPath, configNode);
                    break;
            }
        }
Пример #5
0
        public ChoiceElementConfigViewModel(AppViewModel appDefinition, ConfigNodeViewModel parent, XmlNode definitionNode
                                            , string parentXPath, XmlNode configNode = null)
        {
            commonInit(appDefinition, parent, definitionNode, parentXPath);

            m_className = definitionNode.Attributes[XMLConfig.classAttribute].Value;
            if (definitionNode.Attributes.GetNamedItem(XMLConfig.windowAttribute) != null)
            {
                m_window = definitionNode.Attributes[XMLConfig.windowAttribute].Value;
            }
            else
            {
                m_window = "";
            }
            if (definitionNode.Attributes.GetNamedItem(XMLConfig.optionalAttribute) != null)
            {
                m_bOptional = definitionNode.Attributes[XMLConfig.optionalAttribute].Value == "true";
            }
            else
            {
                m_bOptional = false;
            }
            if (definitionNode.Attributes.GetNamedItem(XMLConfig.badgerMetadataAttribute) != null)
            {
                //BadgerMetadata="World=Wind-turbine"
                string metadata = definitionNode.Attributes[XMLConfig.badgerMetadataAttribute].Value;
                if (metadata.StartsWith("World="))
                {
                    m_selectWorld = metadata.Remove(0, "World=".Length);
                }

                m_appViewModel.selectWorld(m_selectWorld);
            }


            if (configNode != null)
            {
                configNode = configNode[name];
            }
            //we allow an undefined class ("", most likely) and we just ignore children
            childrenInit(appDefinition, appDefinition.getClassDefinition(m_className, true)
                         , m_xPath, configNode);
        }
Пример #6
0
        public BranchConfigViewModel(AppViewModel appDefinition, ConfigNodeViewModel parent
                                     , XmlNode definitionNode, string parentXPath, XmlNode configNode = null, bool initChildren = true)
        {
            commonInit(appDefinition, parent, definitionNode, parentXPath);

            m_className = definitionNode.Attributes[XMLConfig.classAttribute].Value;
            if (definitionNode.Attributes.GetNamedItem(XMLConfig.windowAttribute) != null)
            {
                m_window = definitionNode.Attributes[XMLConfig.windowAttribute].Value;
            }
            else
            {
                m_window = "";
            }
            if (definitionNode.Attributes.GetNamedItem(XMLConfig.optionalAttribute) != null)
            {
                bIsOptional = bool.Parse(definitionNode.Attributes[XMLConfig.optionalAttribute].Value);
            }
            else
            {
                bIsOptional = false;
            }

            if (configNode != null)
            {
                configNode = configNode[name];
                if (configNode != null && bIsOptional)
                {
                    bIsUsed = true;
                }
            }
            else if (bIsOptional)
            {
                bIsUsed = true;
            }

            if (initChildren)
            {
                childrenInit(appDefinition, appDefinition.getClassDefinition(m_className), m_xPath, configNode);
            }
        }