예제 #1
0
        public void Render(IUIContainer container)
        {
            _stackPanel = container.GetInterface<IStackPanel>();

            if (!_stackPanel.DisplaySummary)
            {
                if (_fileInfo.Extension == ".jpg")
                {
                    var image = new Image {Source = new BitmapImage(new Uri(_fileInfo.FullName))};
                    _stackPanel.AddChild(image);
                }
                else
                {
                    if (_bodyBlock.Parent != null)
                        ((StackPanel)_bodyBlock.Parent).Children.Remove(_bodyBlock);
                    _stackPanel.AddChild(_bodyBlock);
                }
            }
            else
            {
                if (_block.Parent != null)
                    ((StackPanel)_block.Parent).Children.Remove(_block);
                _stackPanel.AddChild(_block);
            }
        }
        public void Render(IUIContainer container)
        {
            _stackPanel = container.GetInterface<IStackPanel>();

            if (!_stackPanel.DisplaySummary)
            {
                if (_hasChildren == null) return;

                var scrollViewer = new ScrollViewer();
                var newStackPanel = new StackPanel();
                scrollViewer.Content = newStackPanel;
                scrollViewer.HorizontalScrollBarVisibility = ScrollBarVisibility.Auto;

                var newStackPanelWrapper = new StackPanelWrapper(newStackPanel, scrollViewer, true);

                foreach (var child in _hasChildren.UIElements)
                {
                    if (child == null) continue;

                    child.Render(newStackPanelWrapper);
                }

                _stackPanel.AddChild(scrollViewer);

                var grid = (Grid) ((StackPanel) scrollViewer.Parent).Parent;
                var parent = (Window)grid.Parent;
                parent.SizeChanged += ParentSizeChanged;
            }
            else
            {
                if (_block.Parent != null)
                    ((StackPanel)_block.Parent).Children.Remove(_block);
                _stackPanel.AddChild(_block);
            }
        }
        public void Render(IUIContainer container)
        {
            _stackPanel = container.GetInterface<IStackPanel>();
            var block = _stackPanel.DisplaySummary ? _summaryBlock : _bodyBlock;

            if (block.Parent != null)
                ((StackPanel)block.Parent).Children.Remove(block);
            _stackPanel.AddChild(block);
        }
예제 #4
0
        public void Initialize()
        {
            Repository = new MockRepository();
            var textFactory = Repository.DynamicMock<ITextFactory>();
            var stackPanelFactory = Repository.DynamicMock<IStackPanelFactory>();
            var text = Repository.DynamicMock<IText>();
            var textCursor = Repository.DynamicMock<IVIMTextCursor>();
            stackPanel = Repository.DynamicMultiMock<IStackPanel>();
            var panelChildren = new List<IUIElement>();

            Services.Register<ITextFactory>(textFactory);
            Services.Register<IStackPanelFactory>(stackPanelFactory);
            Services.Register<IVIMTextCursor>(textCursor);

            textFactory.Expect(factory => factory.Create()).Return(text).Repeat.Any();
            stackPanelFactory.Expect(factory => factory.Create()).Return(stackPanel);
            stackPanel.Expect(a => a.Children).Return(panelChildren).Repeat.Any();
            textCursor.Expect(a => a.TextPosition).Return(new VIMTextDataPosition{Column = 0, Line = 0});
        }
        public void Setup()
        {
            repository = new MockRepository();
            var textFactory = repository.DynamicMock<ITextFactory>();
            var stackPanelFactory = repository.DynamicMock<IStackPanelFactory>();
            var text = repository.DynamicMock<IText>();
            stackPanel = repository.DynamicMultiMock<IStackPanel>();
            var panelChildren = new List<IUIElement>();

            Services.Register<ITextFactory>(textFactory);
            Services.Register<IStackPanelFactory>(stackPanelFactory);

            textFactory.Expect(factory => factory.Create()).Return(text).Repeat.Any();
            stackPanelFactory.Expect(factory => factory.Create()).Return(stackPanel);
            stackPanel.Expect(a => a.Children).Return(panelChildren).Repeat.Any();
        }
예제 #6
0
 public GeneratorStackPanel(IStackPanel panel)
     : base(panel)
 {
     Orientation = panel.Orientation;
 }