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); }
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); }