void ReleaseDesignerOutlets()
        {
            if (UiServersView != null)
            {
                UiServersView.Dispose();
                UiServersView = null;
            }

            if (UiScrollViewer != null)
            {
                UiScrollViewer.Dispose();
                UiScrollViewer = null;
            }
        }
Beispiel #2
0
        public UiEncodingWindow()
        {
            #region Construct

            WindowStartupLocation = WindowStartupLocation.CenterScreen;
            ResizeMode = ResizeMode.CanMinimize;
            Width = 1024;
            Height = 768;

            UiGrid root = UiGridFactory.Create(4, 1);
            {
                root.RowDefinitions[0].Height = GridLength.Auto;
                root.RowDefinitions[2].Height = GridLength.Auto;
                root.RowDefinitions[3].Height = GridLength.Auto;

                _comboBox = UiComboBoxFactory.Create();
                {
                    _comboBox.HorizontalAlignment = HorizontalAlignment.Stretch;
                    _comboBox.Margin = new Thickness(3);
                    _comboBox.DisplayMemberPath = "DisplayName";
                    _comboBox.SelectionChanged += OnComboBoxItemChanged;
                    root.AddUiElement(_comboBox, 0, 0);
                }

                _glControlViewer = UiScrollViewerFactory.Create();
                {
                    _glControlViewer.HorizontalAlignment = HorizontalAlignment.Left;
                    _glControlViewer.VerticalAlignment = VerticalAlignment.Top;
                    _glControlViewer.HorizontalScrollBarVisibility = ScrollBarVisibility.Visible;
                    _glControlViewer.VerticalScrollBarVisibility = ScrollBarVisibility.Visible;

                    _glEditControl = new UiScrollableGlControl();
                    {
                        _glEditControl.ClipToBounds = true;
                        _glEditControl.Control.Load += OnGLControlElementLoaded;
                        _glEditControl.Control.Resize += OnGLControlElementResize;
                        _glEditControl.Control.MouseDown += OnGLControlElementMouseDown;
                        _glEditControl.Control.MouseUp += OnGLControlElementMouseUp;
                        _glEditControl.Control.MouseMove += OnGLControlElementMouseMove;

                        _glControlViewer.Content = _glEditControl;
                    }

                    root.AddUiElement(_glControlViewer, 1, 0);
                }

                UiGrid previewGroup = UiGridFactory.Create(2, 2);
                {
                    previewGroup.RowDefinitions[0].Height = GridLength.Auto;
                    previewGroup.ColumnDefinitions[1].Width = GridLength.Auto;

                    _glPreviewViewer = UiScrollViewerFactory.Create();
                    {
                        _glPreviewViewer.Height = 200;
                        _glPreviewViewer.HorizontalAlignment = HorizontalAlignment.Left;
                        _glPreviewViewer.VerticalAlignment = VerticalAlignment.Top;
                        _glPreviewViewer.HorizontalScrollBarVisibility = ScrollBarVisibility.Visible;
                        _glPreviewViewer.VerticalScrollBarVisibility = ScrollBarVisibility.Visible;

                        _glPreviewControl = new UiScrollableGlControl();
                        {
                            _glPreviewControl.ClipToBounds = true;
                            _glPreviewControl.Control.Load += OnGLControlElementLoaded;
                            _glPreviewControl.Control.Resize += OnGLControlElementResize;

                            _glPreviewViewer.Content = _glPreviewControl;
                        }

                        previewGroup.AddUiElement(_glPreviewViewer, 0, 0, 2);

                        UiEncodingLabeledNumber scale = new UiEncodingLabeledNumber("Масштаб:", 200, 100, 400, OnScaleValueChanged);
                        {
                            scale.Value = 100;
                            previewGroup.AddUiElement(scale, 0, 1);
                        }

                        UiTextBox textBox = UiTextBoxFactory.Create();
                        {
                            textBox.Text = _previewText;
                            textBox.TextChanged += OnPreviewTextChanged;
                            previewGroup.AddUiElement(textBox, 1, 1);
                        }
                    }

                    root.AddUiElement(previewGroup, 2, 0);
                }

                _charactersControl = new UiEncodingCharactersControl();
                {
                    root.AddUiElement(_charactersControl, 3, 0);
                }

                UiButton button = UiButtonFactory.Create("OK");
                {
                    button.Width = 70;
                    button.Margin = new Thickness(3);
                    button.HorizontalAlignment = HorizontalAlignment.Right;
                    button.Click += (s, a) => DialogResult = true;
                    root.AddUiElement(button, 3, 0);
                }
            }
            Content = root;

            Thread movingThread = new Thread(MovingThread);
            movingThread.Start();

            Closing += (s, e) => movingThread.Abort();

            #endregion
        }