Example #1
0
 public DrawAdorner(Canvas itemsPanel,
                    Point?selectionStartPoint,
                    IDesignerViewModel designerPanel,
                    IDrawableItem drawableItem) : base(itemsPanel)
 {
     _itemsPanel          = itemsPanel;
     _drawableInstance    = drawableItem;
     _selectionStartPoint = selectionStartPoint;
     _designerPanel       = designerPanel;
 }
        private static void OnDesignerLoaded(object sender, RoutedEventArgs e)
        {
            var itemsPresenter = (sender as Designer).GetVisualChild <ItemsPresenter>();

            _itemsPanel = VisualTreeHelper.GetChild(itemsPresenter, 0) as Canvas;

            var dataContext = (sender as Designer).DataContext;

            _designerViewModel = dataContext as IDesignerViewModel ??
                                 throw new ArgumentException("datacontext must implement IDesignerViewModel interface");
        }
        private static void OnDesignerLoaded(object sender, RoutedEventArgs e)
        {
            var designer = sender as Designer;

            _designerVewModel = designer.DataContext is IDesignerViewModel
                ? designer.DataContext as IDesignerViewModel
                : throw new ArgumentException("Designers datacontext must be IDesignerViewModel");
            var itemsPresenter = designer.GetVisualChild <ItemsPresenter>();
            var itemsControl   = designer.GetVisualChild <ItemsControl>();

            _itemsPanel = VisualTreeHelper.GetChild(itemsPresenter, 0) as Canvas;
        }
Example #4
0
        public XamlViewModel(IDesignerViewModel designerViewModel)
        {
            _designerViewModel = designerViewModel;
            _designerViewModel.SurfaceChanged += SurfaceChanged;

            Document              = new TextDocument();
            Document.TextChanged += Document_TextChanged;

            _modelTimer.Interval = TimeSpan.FromSeconds(1);
            _modelTimer.Tick    += (sender, e) => UpdateModel();

            _textTimer.Interval = TimeSpan.FromSeconds(1);
            _textTimer.Tick    += (sender, e) => UpdateText();

            ErrorText         = string.Empty;
            ErrorVisibility   = Visibility.Visible;
            TextBoxVisibility = Visibility.Visible;
        }
Example #5
0
        public WDUCLViewModel()
        {
            _isReadOnly     = true;
            AllowClosePanel = true;
            Errors          = new ObservableCollection <DesignerErrorDefinition>();

            //STUB: не делаем Flush
            //узнаем об изменении модели здесь
            _designerViewModel = IoC.Instance.Resolve <IDesignerViewModel>();
            _designerViewModel.SurfaceChanged += delegate
            {
                ((IDesignerSurface)_designerViewModel.CurrentSurface).Designer.ModelChanged += delegate
                {
                    var xml = GetXamlValue(Source);
                    SetXamlValue(Source, " ");
                    SetXamlValue(Source, xml);
                };
            };
            _xamlViewModel = new XamlViewModel(_designerViewModel);
            _xamlViewModel.Document.TextChanged += delegate
            {
                SetXamlValue(Source, _xamlViewModel.Document.Text);
            };

            if (Commands == null)
            {
                Commands = new List <ICommand>();
            }

            NewCommand            = new DelegateCustomCommand(New, CanNew);
            OpenCommand           = new DelegateCustomCommand(Open, CanOpen);
            SaveToFileCommand     = new DelegateCustomCommand(SaveToFile, CanSaveToFile);
            CompileCommand        = new DelegateCustomCommand(Compile, CanCompile);
            RunCommand            = new DelegateCustomCommand(Run, CanRun);
            FullScreenModeCommand = new DelegateCustomCommand(FullScreenModeChange);

            Commands.AddRange(new[] { NewCommand, OpenCommand, SaveToFileCommand, SaveCommand, CompileCommand, RunCommand, FullScreenModeCommand });

            RiseCommandsCanExecuteChanged();
        }
Example #6
0
 public PropertyInspectorView(IDesignerViewModel designerViewModel)
 {
     InitializeComponent();
     this.DataContext = designerViewModel;
 }
Example #7
0
 public DesignerView(IDesignerViewModel designerViewModel)
 {
     InitializeComponent();
     this.DataContext = designerViewModel;
 }