/// <summary>
        /// Creates an instance of the class as new language
        /// </summary>
        /// <param name="parent">parent collection</param>
        /// <param name="template">role model</param>
        internal ToolLanguage(ToolLanguages parent, ToolLanguage template)
        {
            _parent     = parent;
            _name       = "New Language";
            _nameGlobal = "New Language";
            _lcid       = 0;
            Initialize();

            foreach (var item in template.Application.Components[0].ControlResources)
            {
                Application.Components[0].ControlResources[item.Value].Value2 = item.Value2;
            }

            foreach (var item in template.Application.Components[1].ControlResources)
            {
                Application.Components[1].ControlResources[item.Value].Value2 = item.Value2;
            }

            for (int i = 0; i < template.Components.Count; i++)
            {
                LocalizableCompoment templateComponent = template.Components[i];
                LocalizableCompoment ownComponent      = Components[i];
                foreach (var item in templateComponent.ControlResources)
                {
                    ownComponent.ControlResources[item.Value].Value2 = item.Value2;
                }
            }

            IsNew = true;
        }
 internal void DisableComponents()
 {
     foreach (var item in treeGridView1.Nodes)
     {
         LocalizableCompoment comp = item.Tag as LocalizableCompoment;
         EnableInput(comp.Design, false);
     }
 }
        private void ShowStringEditor(LocalizableCompoment component, NotifyPropertyChanged item)
        {
            if (null != component && null != item)
            {
                if (item is LocalizableRTFString)
                {
                    textBoxRichString.RichText = item.Value2;
                    textBoxRichString.Enabled  = true;
                    textBoxRichString.Visible  = true;
                }
                else if (item is LocalizableWideString)
                {
                    textBoxWideString.Text    = item.Value2;
                    textBoxWideString.Enabled = true;
                    textBoxWideString.Visible = true;
                }
                else
                {
                    textBoxString.Text    = item.Value2;
                    textBoxString.Enabled = true;
                    textBoxString.Visible = true;
                }

                _currentComponent = component;
                _currentItem      = item;
            }
            else
            {
                _currentComponent          = null;
                _currentItem               = null;
                textBoxString.Enabled      = false;
                textBoxWideString.Enabled  = false;
                textBoxRichString.Enabled  = false;
                textBoxString.Visible      = false;
                textBoxWideString.Visible  = false;
                textBoxRichString.Visible  = false;
                textBoxString.Text         = String.Empty;
                textBoxWideString.Text     = String.Empty;
                textBoxRichString.RichText = String.Empty;
            }
        }
        private void ReadApplicationComponent(string componentName, XElement element)
        {
            LocalizableCompoment component = null;
            bool isSystem = Convert.ToBoolean(element.Attribute("IsSystem").Value);

            if (isSystem)
            {
                component = Application.Components[componentName];
            }
            else
            {
                component = Components[componentName];
            }

            foreach (var item in component.ControlResources)
            {
                XElement el = element.Elements("Pair").Where(e => e.Element("Name").Value == item.Value).FirstOrDefault();
                if (null != el)
                {
                    item.Value2 = System.Xml.XmlConvert.DecodeName(el.Element("Value").Value);
                }
            }
        }
示例#5
0
        /// <summary>
        /// Initialize the language
        /// </summary>
        internal virtual void Initialize()
        {
            Application = new ToolLanguageApplication(this);
            Components = new LocalizableCompoments();

            string space = " - ";
            LocalizableCompoment comp = null;
            comp =  new LocalizableCompoment(this, "Welcome", typeof(ToolboxControls.Welcome.WelcomeControl));
            Components.Add(comp);
            foreach (var item in (comp.Design as ILocalizationDesign).Childs)
            {
                comp = new LocalizableCompoment(this, typeof(ToolboxControls.Welcome.WelcomeControl).FullName, "Welcome" + space + item.NameLocalization, item.TypeLocalization);
                Components.Add(comp);
            }

            comp = new LocalizableCompoment(this, "Office Compatibility", typeof(ToolboxControls.OfficeCompatibility.OfficeCompatibilityControl));
            Components.Add(comp);
            foreach (var item in (comp.Design as ILocalizationDesign).Childs)
            {
                comp = new LocalizableCompoment(this, typeof(ToolboxControls.OfficeCompatibility.OfficeCompatibilityControl).FullName, "Office Compatibility" + space + item.NameLocalization, item.TypeLocalization);
                Components.Add(comp);
            }

            comp = new LocalizableCompoment(this, "Application Observer", typeof(ToolboxControls.ApplicationObserver.ApplicationObserverControl));
            Components.Add(comp);
            foreach (var item in (comp.Design as ILocalizationDesign).Childs)
            {
                comp = new LocalizableCompoment(this, typeof(ToolboxControls.ApplicationObserver.ApplicationObserverControl).FullName, "Application Observer" + space + item.NameLocalization, item.TypeLocalization);
                Components.Add(comp);
            }

            comp = new LocalizableCompoment(this, "Registry Editor", typeof(ToolboxControls.RegistryEditor.RegistryEditorControl));
            Components.Add(comp);
            foreach (var item in (comp.Design as ILocalizationDesign).Childs)
            {
                comp = new LocalizableCompoment(this, typeof(ToolboxControls.RegistryEditor.RegistryEditorControl).FullName, "Registry Editor" + space + item.NameLocalization, item.TypeLocalization);
                Components.Add(comp);
            }

            comp = new LocalizableCompoment(this, "Addin Guard", typeof(ToolboxControls.AddinGuard.AddinGuardControl));
            Components.Add(comp);
            foreach (var item in (comp.Design as ILocalizationDesign).Childs)
            {
                comp = new LocalizableCompoment(this, typeof(ToolboxControls.AddinGuard.AddinGuardControl).FullName, "Addin Guard" + space + item.NameLocalization, item.TypeLocalization);
                Components.Add(comp);
            }

            comp = new LocalizableCompoment(this, "Office UI", typeof(ToolboxControls.OfficeUI.OfficeUIControl));
            Components.Add(comp);
            foreach (var item in (comp.Design as ILocalizationDesign).Childs)
            {
                comp = new LocalizableCompoment(this, typeof(ToolboxControls.OfficeUI.OfficeUIControl).FullName, "Office UI" + space + item.NameLocalization, item.TypeLocalization);
                Components.Add(comp);
            }

            comp = new LocalizableCompoment(this, "Outlook Security", typeof(ToolboxControls.OutlookSecurity.OutlookSecurityControl));
            Components.Add(comp);
            foreach (var item in (comp.Design as ILocalizationDesign).Childs)
            {
                comp = new LocalizableCompoment(this, typeof(ToolboxControls.OutlookSecurity.OutlookSecurityControl).FullName, "Outlook Security" + space + item.NameLocalization, item.TypeLocalization);
                Components.Add(comp);
            }
            comp = new LocalizableCompoment(this, "Project Wizard", typeof(ToolboxControls.ProjectWizard.ProjectWizardControl));
            Components.Add(comp);
            foreach (var item in (comp.Design as ILocalizationDesign).Childs)
            {
                comp = new LocalizableCompoment(this, typeof(ToolboxControls.ProjectWizard.ProjectWizardControl).FullName, "Project Wizard" + space + item.NameLocalization, item.TypeLocalization);
                Components.Add(comp);
            }

            comp = new LocalizableCompoment(this, "About", typeof(ToolboxControls.About.AboutControl));
            Components.Add(comp);
            foreach (var item in (comp.Design as ILocalizationDesign).Childs)
            {
                comp = new LocalizableCompoment(this, typeof(ToolboxControls.About.AboutControl).FullName, "About" + space + item.NameLocalization, item.TypeLocalization);
                Components.Add(comp);
            }
        }
        /// <summary>
        /// Initialize the language
        /// </summary>
        internal virtual void Initialize()
        {
            Application = new ToolLanguageApplication(this);
            Components  = new LocalizableCompoments();

            string space = " - ";
            LocalizableCompoment comp = null;

            comp = new LocalizableCompoment(this, "Welcome", typeof(ToolboxControls.Welcome.WelcomeControl));
            Components.Add(comp);
            foreach (var item in (comp.Design as ILocalizationDesign).Childs)
            {
                comp = new LocalizableCompoment(this, typeof(ToolboxControls.Welcome.WelcomeControl).FullName, "Welcome" + space + item.NameLocalization, item.TypeLocalization);
                Components.Add(comp);
            }

            comp = new LocalizableCompoment(this, "Office Compatibility", typeof(ToolboxControls.OfficeCompatibility.OfficeCompatibilityControl));
            Components.Add(comp);
            foreach (var item in (comp.Design as ILocalizationDesign).Childs)
            {
                comp = new LocalizableCompoment(this, typeof(ToolboxControls.OfficeCompatibility.OfficeCompatibilityControl).FullName, "Office Compatibility" + space + item.NameLocalization, item.TypeLocalization);
                Components.Add(comp);
            }

            comp = new LocalizableCompoment(this, "Application Observer", typeof(ToolboxControls.ApplicationObserver.ApplicationObserverControl));
            Components.Add(comp);
            foreach (var item in (comp.Design as ILocalizationDesign).Childs)
            {
                comp = new LocalizableCompoment(this, typeof(ToolboxControls.ApplicationObserver.ApplicationObserverControl).FullName, "Application Observer" + space + item.NameLocalization, item.TypeLocalization);
                Components.Add(comp);
            }

            comp = new LocalizableCompoment(this, "Registry Editor", typeof(ToolboxControls.RegistryEditor.RegistryEditorControl));
            Components.Add(comp);
            foreach (var item in (comp.Design as ILocalizationDesign).Childs)
            {
                comp = new LocalizableCompoment(this, typeof(ToolboxControls.RegistryEditor.RegistryEditorControl).FullName, "Registry Editor" + space + item.NameLocalization, item.TypeLocalization);
                Components.Add(comp);
            }

            comp = new LocalizableCompoment(this, "Addin Guard", typeof(ToolboxControls.AddinGuard.AddinGuardControl));
            Components.Add(comp);
            foreach (var item in (comp.Design as ILocalizationDesign).Childs)
            {
                comp = new LocalizableCompoment(this, typeof(ToolboxControls.AddinGuard.AddinGuardControl).FullName, "Addin Guard" + space + item.NameLocalization, item.TypeLocalization);
                Components.Add(comp);
            }

            comp = new LocalizableCompoment(this, "Office UI", typeof(ToolboxControls.OfficeUI.OfficeUIControl));
            Components.Add(comp);
            foreach (var item in (comp.Design as ILocalizationDesign).Childs)
            {
                comp = new LocalizableCompoment(this, typeof(ToolboxControls.OfficeUI.OfficeUIControl).FullName, "Office UI" + space + item.NameLocalization, item.TypeLocalization);
                Components.Add(comp);
            }

            comp = new LocalizableCompoment(this, "Outlook Security", typeof(ToolboxControls.OutlookSecurity.OutlookSecurityControl));
            Components.Add(comp);
            foreach (var item in (comp.Design as ILocalizationDesign).Childs)
            {
                comp = new LocalizableCompoment(this, typeof(ToolboxControls.OutlookSecurity.OutlookSecurityControl).FullName, "Outlook Security" + space + item.NameLocalization, item.TypeLocalization);
                Components.Add(comp);
            }
            comp = new LocalizableCompoment(this, "Project Wizard", typeof(ToolboxControls.ProjectWizard.ProjectWizardControl));
            Components.Add(comp);
            foreach (var item in (comp.Design as ILocalizationDesign).Childs)
            {
                comp = new LocalizableCompoment(this, typeof(ToolboxControls.ProjectWizard.ProjectWizardControl).FullName, "Project Wizard" + space + item.NameLocalization, item.TypeLocalization);
                Components.Add(comp);
            }

            comp = new LocalizableCompoment(this, "About", typeof(ToolboxControls.About.AboutControl));
            Components.Add(comp);
            foreach (var item in (comp.Design as ILocalizationDesign).Childs)
            {
                comp = new LocalizableCompoment(this, typeof(ToolboxControls.About.AboutControl).FullName, "About" + space + item.NameLocalization, item.TypeLocalization);
                Components.Add(comp);
            }
        }
        private void ShowStringEditor(LocalizableCompoment component, NotifyPropertyChanged item)
        {
            if (null != component && null != item)
            {
                if (item is LocalizableRTFString)
                {
                    textBoxRichString.RichText = item.Value2;
                    textBoxRichString.Enabled = true;
                    textBoxRichString.Visible = true;
                }
                else if (item is LocalizableWideString)
                {
                    textBoxWideString.Text = item.Value2;
                    textBoxWideString.Enabled = true;
                    textBoxWideString.Visible = true;
                }
                else
                {
                    textBoxString.Text = item.Value2;
                    textBoxString.Enabled = true;
                    textBoxString.Visible = true;
                }

                _currentComponent = component;
                _currentItem = item;
            }
            else
            {
                _currentComponent = null;
                _currentItem = null;
                textBoxString.Enabled = false;
                textBoxWideString.Enabled = false;
                textBoxRichString.Enabled = false;
                textBoxString.Visible = false;
                textBoxWideString.Visible = false;
                textBoxRichString.Visible = false;
                textBoxString.Text = String.Empty;
                textBoxWideString.Text = String.Empty;
                textBoxRichString.RichText = String.Empty;
            }
        }