Esempio n. 1
0
        internal void Localise(GuiPresenter presenter, Control targetControl)
        {
            if (_LocalPath != null)
            {
                targetControl.Text = presenter.GetString(_LocalPath);
            }

            if (_Locals.Count != 0)
            {
                if (targetControl is TabControl)
                {
                    foreach (LocalDef MyLocal in _Locals)
                    {
                        ((TabControl)targetControl).TabPages[MyLocal.Name].Text = presenter.GetString(MyLocal.LocalPath);
                    }
                }
                else if (targetControl is ListView)
                {
                    foreach (LocalDef MyLocal in _Locals)
                    {
                        ((ListView)targetControl).Columns[MyLocal.Index].Text = presenter.GetString(MyLocal.LocalPath);
                    }
                }
            }

            if (targetControl is ToolStrip)
            {
                // TODO: Localise Toolstrip
            }
        }
Esempio n. 2
0
        //****************************************

        private void OnAttach(object sender, EventArgs e)
        {
            _Presenter = (GuiPresenter)_TargetElement.TryFindResource("Proximity.Gui.Presentation.GuiPresenter");

            // No Presenter yet, the attach event wasn't for us
            if (_Presenter == null)
            {
                return;
            }

            //****************************************

            Value = _Presenter.GetString(_Path);

            ((WpfToolkit)GuiService.Toolkit).Attach -= OnAttach;
        }
        //****************************************

        internal void ApplyTo(GuiPresenter presenter, ContainerControl targetControl)
        {               //****************************************
            Control[] MyControls;
            Control   MyControl;

            //****************************************

            if (!_HasScanned)
            {
                _LocalPath = targetControl.Text;

                // First application, scan the view for localisation codes
                WalkControls(targetControl);

                _HasScanned = true;
            }

            //****************************************

            if (_LocalPath != null)
            {
                targetControl.Text = presenter.GetString(_LocalPath);
            }

            foreach (ControlDef MyControlDef in _Controls)
            {
                MyControls = targetControl.Controls.Find(MyControlDef.Name, true);

                if (MyControls.Length == 0)
                {
                    continue;
                }

                MyControl = MyControls[0];

                MyControlDef.ApplyTo(presenter, MyControl);
                MyControlDef.Localise(presenter, MyControl);
            }
        }
Esempio n. 4
0
 private void OnCultureChanged(object sender, EventArgs e)
 {
     Value = _Presenter.GetString(_Path);
 }