public Result OnStartup(UIControlledApplication a) { //add the UI button on start up AddButtons(a); //Register sheet updater with Revit RenameViewUpdater updater = new RenameViewUpdater(a.ActiveAddInId); UpdaterRegistry.RegisterUpdater(updater); UpdaterRegistry.SetIsUpdaterOptional(updater.GetUpdaterId(), true); //filter by Class ElementClassFilter sheet = new ElementClassFilter(typeof(ViewSheet)); ElementClassFilter viewPort = new ElementClassFilter(typeof(Viewport)); ElementClassFilter view = new ElementClassFilter(typeof(View)); ElementCategoryFilter viewPortFilter = new ElementCategoryFilter(BuiltInCategory.OST_Viewports); ElementCategoryFilter viewFilter = new ElementCategoryFilter(BuiltInCategory.OST_Views); LogicalOrFilter filter = new LogicalOrFilter(viewPortFilter, viewFilter); //Paramter to send to the trigger ElementId sheetId = new ElementId(BuiltInParameter.SHEET_NUMBER); ElementId viewPortNumberId = new ElementId(BuiltInParameter.VIEWPORT_DETAIL_NUMBER); ElementId viewPortNameId = new ElementId(BuiltInParameter.VIEWPORT_VIEW_NAME); ElementId titleOnSheetId = new ElementId(BuiltInParameter.VIEW_DESCRIPTION); ElementId viewPortSheetNumber = new ElementId(BuiltInParameter.VIEWPORT_SHEET_NUMBER); //Set trigger to send to execute when modified UpdaterRegistry.AddTrigger(updater.GetUpdaterId(), sheet, Element.GetChangeTypeParameter(sheetId)); UpdaterRegistry.AddTrigger(updater.GetUpdaterId(), viewPort, Element.GetChangeTypeParameter(viewPortNumberId)); UpdaterRegistry.AddTrigger(updater.GetUpdaterId(), view, Element.GetChangeTypeParameter(viewPortNameId)); UpdaterRegistry.AddTrigger(updater.GetUpdaterId(), view, Element.GetChangeTypeParameter(titleOnSheetId)); //Set trigger to send when added UpdaterRegistry.AddTrigger(updater.GetUpdaterId(), filter, Element.GetChangeTypeElementAddition()); return Result.Succeeded; }
public Result OnShutdown(UIControlledApplication a) { RenameViewUpdater updater = new RenameViewUpdater(a.ActiveAddInId); UpdaterRegistry.UnregisterUpdater(updater.GetUpdaterId()); return Result.Succeeded; }