public EditManager(IAdapterFactoryCatalog <IEditHandler> factoryCatalog) { this.factoryCatalog = factoryCatalog; Application.Idle += ApplicationIdle; var service = BundleRuntime.Instance.GetFirstOrDefaultService <ICommandBusService>(); service.SubscribeCommandEvent(CommandNames.Copy, (sender, e) => UIInvoke(Copy, sender, e)); service.SubscribeCommandEvent(CommandNames.Cut, (sender, e) => UIInvoke(Cut, sender, e)); service.SubscribeCommandEvent(CommandNames.Delete, (sender, e) => UIInvoke(Delete, sender, e)); service.SubscribeCommandEvent(CommandNames.Paste, (sender, e) => UIInvoke(Paste, sender, e)); service.SubscribeCommandEvent(CommandNames.Redo, (sender, e) => UIInvoke(Redo, sender, e)); service.SubscribeCommandEvent(CommandNames.SelectAll, (sender, e) => UIInvoke(SelectAll, sender, e)); service.SubscribeCommandEvent(CommandNames.Undo, (sender, e) => UIInvoke(Undo, sender, e)); }
/// <summary> /// 添加自定义服务,请参考 <see cref="CabApplication{TWorkItem}.AddServices"/> /// </summary> protected override void AddServices() { base.AddServices(); editFactoryCatalog = RootWorkItem.Services.AddNew <AdapterFactoryCatalog <IEditHandler>, IAdapterFactoryCatalog <IEditHandler> >(); printFactoryCatalog = RootWorkItem.Services.AddNew <AdapterFactoryCatalog <IPrintHandler>, IAdapterFactoryCatalog <IPrintHandler> >(); documentFactoryCatalog = RootWorkItem.Services.AddNew <AdapterFactoryCatalog <IDocumentHandler>, IAdapterFactoryCatalog <IDocumentHandler> >(); RootWorkItem.Services.Add <IDb4oDatabaseService>(new Db4oDatabaseService(dbPath)); // Db4o数据库服务 //RootWorkItem.Services.AddOnDemand<AdapterFactoryCatalog<IDataListHandler>, IAdapterFactoryCatalog<IDataListHandler>>(); RootWorkItem.Services.AddOnDemand <AdapterFactoryCatalog <IDataListView>, IAdapterFactoryCatalog <IDataListView> >(); RootWorkItem.Services.AddOnDemand <ImageService, IImageService>(); RootWorkItem.Services.AddOnDemand <StringService, IStringService>(); RootWorkItem.Services.AddOnDemand <PropertyService, IPropertyService>(); RootWorkItem.Services.AddOnDemand <SettingService, ISettingService>(); RootWorkItem.Services.AddOnDemand <EntityTranslatorService, IEntityTranslatorService>(); RootWorkItem.Services.AddOnDemand <WorkspaceLocatorService, IWorkspaceLocatorService>(); RootWorkItem.Services.AddOnDemand <UIExtensionService, IUIExtensionService>(); AddCustomWorkItem(); // 加载自定义的工作项 RegisterFactoryCatalog(); }