public WordRibbonFactory( AddInBase addinBase, IViewLocationStrategy viewLocationStrategy, params Assembly[] assemblies) : base(addinBase, UseIfEmpty(assemblies, Assembly.GetCallingAssembly()), new WordViewContextProvider(), viewLocationStrategy, WordRibbonType.WordDocument.GetEnumDescription()) { }
public PowerPointRibbonFactory( AddInBase addInBase, IViewLocationStrategy viewLocationStrategy, params Assembly[] assemblies) : base(addInBase, UseIfEmpty(assemblies, Assembly.GetCallingAssembly()), new PowerPointViewContextProvider(), viewLocationStrategy, PowerPointRibbonType.PowerPointPresentation.GetEnumDescription()) { }
public OutlookRibbonFactory( AddInBase addinBase, IViewLocationStrategy viewLocationStrategy, params Assembly[] assemblies) : base(addinBase, UseIfEmpty(assemblies, Assembly.GetCallingAssembly()), new OutlookViewContextProvider(), viewLocationStrategy, null) { }
/// <summary> /// Initializes a new instance of the <see cref="WordRibbonFactory"/> class. /// </summary> /// <param name="viewModelFactory">A view model factory</param> /// <param name="customTaskPaneCollection">A delayed resolution instance of the custom task pane collection of your addin 'new Lazy(()=>CustomTaskPaneCollection)'</param> /// <param name="viewLocationStrategy">The view location strategy, null for default strategy.</param> /// <param name="vstoFactory">The VSTO factory (Globals.Factory)</param> /// <param name="assemblies">Assemblies to scan for view models</param> public WordRibbonFactory( IViewModelFactory viewModelFactory, Func<CustomTaskPaneCollection> customTaskPaneCollection, IViewLocationStrategy viewLocationStrategy, Factory vstoFactory, params Assembly[] assemblies) : base(new RibbonFactoryController<WordRibbonType>(assemblies, new WordViewContextProvider(), viewModelFactory, customTaskPaneCollection, vstoFactory, viewLocationStrategy)) { }
public TestRibbonFactory( AddInBase addInBase, IViewProvider viewProvider, IViewContextProvider contextProvider, IViewLocationStrategy viewLocationStrategy, string fallbackRibbonType, params Assembly[] assemblies) : base(addInBase, UseIfEmpty(assemblies, Assembly.GetCallingAssembly()), contextProvider, viewLocationStrategy, fallbackRibbonType) { this.viewProvider = viewProvider; }
protected RibbonFactory( AddInBase addinBase, Assembly[] assemblies, IViewContextProvider contextProvider, IViewLocationStrategy viewLocationStrategy, [CanBeNull] string fallbackRibbonType) { if (assemblies.Length == 0) throw new InvalidOperationException("You must specify at least one assembly to scan for viewmodels"); context = new VstoContribContext(assemblies, addinBase, fallbackRibbonType, viewLocationStrategy); ribbonFactoryController = new RibbonFactoryController(contextProvider, context); addinBase.Startup += AddinBaseOnStartup; addinBase.Shutdown += AddinBaseOnShutdown; }
protected RibbonFactory( AddInBase addinBase, Assembly[] assemblies, IViewContextProvider contextProvider, IViewLocationStrategy viewLocationStrategy, [CanBeNull] string fallbackRibbonType) { if (assemblies.Length == 0) { throw new InvalidOperationException("You must specify at least one assembly to scan for viewmodels"); } context = new VstoContribContext(assemblies, addinBase, fallbackRibbonType, viewLocationStrategy); ribbonFactoryController = new RibbonFactoryController(contextProvider, context); addinBase.Startup += AddinBaseOnStartup; addinBase.Shutdown += AddinBaseOnShutdown; }
public VstoContribContext(Assembly[] assemblies, AddInBase addinBase, string fallbackRibbonType, IViewLocationStrategy viewLocationStrategy = null) { FallbackRibbonType = fallbackRibbonType; Assemblies = assemblies; AddinBase = addinBase; addinType = addinBase.GetType(); var globalsType = Type.GetType(addinType.AssemblyQualifiedName.Replace("." + addinType.Name, ".Globals")); var factory = globalsType.GetProperty("Factory", BindingFlags.Static | BindingFlags.NonPublic) .GetValue(null, null); VstoFactory = (Factory)factory; ViewLocationStrategy = viewLocationStrategy ?? new DefaultViewLocationStrategy(); ViewModelFactory = new DefaultViewModelFactory(); RibbonXmlFromTypeLookup = new Dictionary <string, string>(); TagToCallbackTargetLookup = new Dictionary <string, CallbackTarget>(); ErrorHandlers = new List <IErrorHandler>(); }
public ExcelRibbonFactory(AddInBase addinBase, IViewLocationStrategy viewLocationStrategy, params Assembly[] assemblies) : base(addinBase, UseIfEmpty(assemblies, Assembly.GetCallingAssembly()), new ExcelViewContextProvider(), viewLocationStrategy, ExcelRibbonType.ExcelWorkbook.GetEnumDescription()) { }