示例#1
0
        internal ZTextBufferWindow(ZWindowManager manager)
            : base(manager)
        {
            document = new FlowDocument
            {
                FontFamily  = FontsAndColorsService.NormalFontFamily,
                FontSize    = FontsAndColorsService.FontSize,
                PagePadding = new Thickness(8)
            };

            paragraph = new Paragraph();
            document.Blocks.Add(paragraph);

            scrollViewer = new FlowDocumentScrollViewer
            {
                FocusVisualStyle = null,
                Document         = document
            };

            Children.Add(scrollViewer);

            var zero = new FormattedText(
                textToFormat: "0",
                culture: CultureInfo.InstalledUICulture,
                flowDirection: FlowDirection.LeftToRight,
                typeface: new Typeface(FontsAndColorsService.NormalFontFamily, FontStyles.Normal, FontWeights.Normal, FontStretches.Normal),
                emSize: FontsAndColorsService.FontSize,
                foreground: FontsAndColorsService.DefaultForeground);

            fontCharSize = new Size(zero.Width, zero.Height);
        }
示例#2
0
        internal ZBlankWindow(ZWindowManager manager)
            : base(manager)
        {
            var rect = new Rectangle()
            {
                Fill = Brushes.Blue
            };

            this.Children.Add(rect);
        }
示例#3
0
        internal ZWindow(ZWindowManager manager)
        {
            if (manager == null)
            {
                throw new ArgumentNullException("manager");
            }

            this.manager = manager;

            this.UseLayoutRounding   = true;
            this.SnapsToDevicePixels = true;
            TextOptions.SetTextFormattingMode(this, TextFormattingMode.Display);
            TextOptions.SetTextRenderingMode(this, TextRenderingMode.Auto);
        }
示例#4
0
        internal ZTextGridWindow(ZWindowManager manager)
            : base(manager)
        {
            var zero = new FormattedText(
                textToFormat: "0",
                culture: CultureInfo.InstalledUICulture,
                flowDirection: FlowDirection.LeftToRight,
                typeface: FontsAndColorsService.FixedTypeface,
                emSize: FontsAndColorsService.FontSize,
                foreground: Brushes.Black);

            fontCharSize = new Size(zero.Width, zero.Height);

            textGrid = new ZTextGrid();

            this.Children.Add(textGrid);
        }
示例#5
0
        internal ZPairWindow(ZWindowManager manager, ZWindow child1, ZWindow child2, ZWindowPosition child2Position, GridLength child2Size)
            : base(manager)
        {
            if (child1 == null)
            {
                throw new ArgumentNullException("child1");
            }

            if (child2 == null)
            {
                throw new ArgumentNullException("child2");
            }

            this.child1 = child1;
            this.child2 = child2;

            switch (child2Position)
            {
            case ZWindowPosition.Left:
            {
                var col1 = new ColumnDefinition();
                col1.Width = child2Size;
                var col2 = new ColumnDefinition();
                this.ColumnDefinitions.Add(col1);
                this.ColumnDefinitions.Add(col2);
                Grid.SetColumn(child2, 0);
                Grid.SetColumn(child1, 1);
                break;
            }

            case ZWindowPosition.Right:
            {
                var col1 = new ColumnDefinition();
                var col2 = new ColumnDefinition();
                col2.Width = child2Size;
                this.ColumnDefinitions.Add(col1);
                this.ColumnDefinitions.Add(col2);
                Grid.SetColumn(child1, 0);
                Grid.SetColumn(child2, 1);
                break;
            }

            case ZWindowPosition.Above:
            {
                var row1 = new RowDefinition();
                row1.Height = child2Size;
                var row2 = new RowDefinition();
                this.RowDefinitions.Add(row1);
                this.RowDefinitions.Add(row2);
                Grid.SetRow(child2, 0);
                Grid.SetRow(child1, 1);
                break;
            }

            case ZWindowPosition.Below:
            {
                var row1 = new RowDefinition();
                var row2 = new RowDefinition();
                row2.Height = child2Size;
                this.RowDefinitions.Add(row1);
                this.RowDefinitions.Add(row2);
                Grid.SetRow(child1, 0);
                Grid.SetRow(child2, 1);
                break;
            }

            default:
                throw new ArgumentException("Invalid ZWindowPosition: " + child2Position, "child2Position");
            }

            child1.SetWindowParent(this);
            child2.SetWindowParent(this);

            this.Children.Add(child1);
            this.Children.Add(child2);
        }