protected override object RequestService(Guid serviceGuid) { if (serviceGuid == typeof(Office.IRibbonExtensibility).GUID) { if (ribbon == null) { ribbon = new InstructorModeRibbon(); } return(ribbon); } return(base.RequestService(serviceGuid)); }
//public PPTPaneManager(string[] modes) : this(modes, new PPTLibrary.PPT()) { } public PPTPaneManager(string[] modes, PPTLibrary.PPT ppt, InstructorModeRibbon r) { if (modes == null) modes = DEFAULT_MODES; if (ppt == null) throw new ArgumentNullException("ppt"); this.myPPT = ppt; this.ribbon = r; // Set up the list of modes; should match the ordering of the buttons in the mode button bars. this.myModes = new string[modes.Length + 1]; System.Array.Copy(modes, 0, this.myModes, 1, modes.Length); this.myModes[0] = DEFAULT_MODE; this.ribbon.PresentationModeChanged += new ChangedEventHandler( this.HandlePresentationModeClick ); this.ribbon.ShapeModeChanged += new ChangedEventHandler( this.HandleShapeModeClick ); /* DONE CMPRINCE: Add the appropriate code here to hook up to the button events // Set up the bars. this.myPresentationModeBar = this.myPPT.AddCommandBar(PRESENTATION_MODEBAR_NAME, Core.MsoBarPosition.msoBarTop, true, true); this.myShapeModeBar = this.myPPT.AddCommandBar(SHAPE_MODEBAR_NAME, Core.MsoBarPosition.msoBarTop, true, true); // Add the "base" buttons Core.CommandBarButton button = (Core.CommandBarButton) this.myPPT.AddControl(this.myPresentationModeBar, Core.MsoControlType.msoControlButton, "Projected View"); button.Click += new Core._CommandBarButtonEvents_ClickEventHandler(this.HandlePresentationModeClick); button.TooltipText = "Switch to base mode in which only unrestricted objects are visible."; button.Style = Core.MsoButtonStyle.msoButtonWrapCaption; button = (Core.CommandBarButton) this.myPPT.AddControl(this.myShapeModeBar, Core.MsoControlType.msoControlButton, "Unrestricted"); button.Click += new Core._CommandBarButtonEvents_ClickEventHandler(this.HandleShapeModeClick); button.TooltipText = "Set shape(s) to be unrestricted, making them visible in all modes."; button.Style = Core.MsoButtonStyle.msoButtonWrapCaption; foreach (string mode in modes) { button = (Core.CommandBarButton) this.myPPT.AddControl(this.myPresentationModeBar, Core.MsoControlType.msoControlButton, mode + " View"); button.Click += new Core._CommandBarButtonEvents_ClickEventHandler(this.HandlePresentationModeClick); button.TooltipText = "Toggle '" + mode + " View'.\nOnly unrestricted objects and objects restricted to '" + mode + " View' are visible in '" + mode + " View'."; button.Style = Core.MsoButtonStyle.msoButtonWrapCaption; button = (Core.CommandBarButton) this.myPPT.AddControl(this.myShapeModeBar, Core.MsoControlType.msoControlButton, mode + " Note"); button.Click += new Core._CommandBarButtonEvents_ClickEventHandler(this.HandleShapeModeClick); button.TooltipText = "Toggle restriction of shape(s) to '" + mode + "' mode.\nUnrestricted objects are visible in all modes.\nRestricted objects are visible only in the modes to which they are restricted."; button.Style = Core.MsoButtonStyle.msoButtonWrapCaption; } */ // Hook to relevant PPT events. this.myPPT.App.WindowActivate += new PowerPoint.EApplication_WindowActivateEventHandler(this.HandleWindowActivate); this.myPPT.App.WindowDeactivate += new PowerPoint.EApplication_WindowDeactivateEventHandler(this.HandleWindowDeactivate); this.myPPT.App.WindowSelectionChange += new PowerPoint.EApplication_WindowSelectionChangeEventHandler(this.HandleWindowSelectionChange); // New presentation event doesn't seem to be working in pre-SP2 (or possibly SP1). this.myPPT.App.AfterNewPresentation += new PowerPoint.EApplication_AfterNewPresentationEventHandler(this.HandleAfterNewPresentation); this.myPPT.App.PresentationSave += new PowerPoint.EApplication_PresentationSaveEventHandler(this.HandlePresentationSave); this.myPPT.App.AfterPresentationOpen += new PowerPoint.EApplication_AfterPresentationOpenEventHandler(this.HandleAfterPresentationOpen); this.myPPT.App.PresentationNewSlide += new PowerPoint.EApplication_PresentationNewSlideEventHandler(this.HandlePresentationNewSlide); this.ConfigurePresentationModeBar(); this.ConfigureShapeModeBar(); foreach (PowerPoint.Presentation presentation in this.myPPT.App.Presentations) this.RebuildCache(presentation); }
protected override object RequestService(Guid serviceGuid) { if (serviceGuid == typeof(Office.IRibbonExtensibility).GUID) { if (ribbon == null) ribbon = new InstructorModeRibbon(); return ribbon; } return base.RequestService(serviceGuid); }
//public PPTPaneManager() : this(DEFAULT_MODES) { } public PPTPaneManager(PPTLibrary.PPT ppt, InstructorModeRibbon r) : this(DEFAULT_MODES, ppt, r) { }