Пример #1
0
        /// <summary>
        /// Конструктор
        /// </summary>
        /// <param name="element"><see cref="CADLinkType"/> or <see cref="ImportInstance"/></param>
        /// <param name="uiApplication">Revit uiApp</param>
        /// <param name="dwgImportManagerVm">Link to main view model</param>
        /// <param name="deleteElementEvent"></param>
        /// <param name="changeViewEvent"></param>
        public DwgImportsItem(
            Element element,
            UIApplication uiApplication,
            DWGImportManagerVM dwgImportManagerVm,
            DeleteElementEvent deleteElementEvent,
            ChangeViewEvent changeViewEvent)
        {
            _deleteElementEvent = deleteElementEvent;
            _changeViewEvent    = changeViewEvent;
            _uiApplication      = uiApplication;
            DwgImportManagerVm  = dwgImportManagerVm;
            ViewSpecific        = element.ViewSpecific;
            OwnerViewId         = element.OwnerViewId;
            Category            = element.Category;
            Id = element.Id;

            Name = GetName(element);

            if (element is ImportInstance importInstance)
            {
                IsLinked = importInstance.IsLinked;
            }

            // commands
            CopyIdToClipboard          = new RelayCommandWithoutParameter(CopyIdToClipboardAction);
            CopyOwnerViewIdToClipboard = new RelayCommandWithoutParameter(CopyOwnerViewIdToClipboardAction);
            ShowItem   = new RelayCommandWithoutParameter(ShowItemAction);
            DeleteItem = new RelayCommandWithoutParameter(DeleteItemAction);
        }
        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            try
            {
#if !DEBUG
                Statistic.SendCommandStarting(new ModPlusConnector());
#endif

                _uiApplication   = commandData.Application;
                _currentDocument = _uiApplication.ActiveUIDocument.Document;

                _deleteElementEvent      = new DeleteElementEvent();
                _removeEvents            = new RemoveEvents();
                _changeViewEvent         = new ChangeViewEvent();
                _deleteManyElementsEvent = new DeleteManyElementsEvent();

                SearchImportsAndBind(false);

                return(Result.Succeeded);
            }
            catch (OperationCanceledException)
            {
                return(Result.Cancelled);
            }
            catch (Exception exception)
            {
                message = exception.Message;
                return(Result.Failed);
            }
        }
Пример #3
0
 public void Handle(ChangeViewEvent message)
 {
     if (message.PreviousView != PrevView.DataView)
     {
         UpdateData();
         IncomeSubCategoryDisplay  = new BindableCollection <Category>(Income.AllIncomeCategories);
         ExpenseSubCategoryDisplay = new BindableCollection <Category>(Expense.AllExpenseCategories);
     }
 }
 public DWGImportManagerVM(
     UIApplication uiApplication,
     List <Element> elements,
     DeleteElementEvent deleteElementEvent,
     ChangeViewEvent changeViewEvent,
     DeleteManyElementsEvent deleteManyElementsEvent)
 {
     _deleteElementEvent                = deleteElementEvent;
     _changeViewEvent                   = changeViewEvent;
     _deleteManyElementsEvent           = deleteManyElementsEvent;
     _uiApplication                     = uiApplication;
     DwgImportsItems                    = new ObservableCollection <DwgImportsItem>();
     DwgImportsItems.CollectionChanged += (sender, args) => OnPropertyChanged(nameof(SelectedItemsCount));
     FillDwgImportsItems(elements);
 }
 //-------------------------------------------------------------------------
 public void RaiseChangeViewEvent(ChangeViewEventEventArgs e)
 {
     ChangeViewEvent?.Invoke(this, e);
 }