Example #1
0
        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            try
            {
                var uiApp = commandData.Application;
                var doc   = uiApp.ActiveUIDocument.Document;
                var m     = new SpeckleWallModel(doc);
                var vm    = new SpeckleWallViewModel(m);
                var view  = new SpeckleWallView
                {
                    DataContext = vm
                };

                var unused = new WindowInteropHelper(view)
                {
                    Owner = Process.GetCurrentProcess().MainWindowHandle
                };

                view.Show();
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
            return(Result.Succeeded);
        }
Example #2
0
        public SpeckleWallViewModel(SpeckleWallModel model)
        {
            Model           = model;
            AvailableInputs = Model.GetAllAvailableInputs();

            CloseFlyout  = new RelayCommand(OnCloseFlyout);
            AddInput     = new RelayCommand(OnAddInput);
            WindowClosed = new RelayCommand <MetroWindow>(OnWindowClosed);

            Inputs = new ObservableCollection <InputViewModel>
            {
                // (Konrad) Forces the Curve input to only use Speckle Stream as source of data.
                new InputViewModel(new InputModel(), new InputWrapper
                {
                    Name             = "Curve",
                    AcceptsLocalData = false,
                    IsRequired       = true
                }),
                //new InputViewModel(new InputModel(), new InputWrapper
                //{
                //    Name = "Level",
                //    AcceptsLocalData = true,
                //    StorageType = LocalDataType.Element
                //}),
                //new InputViewModel(new InputModel(), new InputWrapper
                //{
                //    Name = "Structural",
                //    AcceptsLocalData = true,
                //    StorageType = LocalDataType.Boolean
                //})
            };

            Messenger.Default.Register <InputDeleted>(this, OnInputDeleted);
        }