public override bool RemoveCapability(ICapability capability) { bool ret = base.RemoveCapability(capability); if(ret) { // Remove the ObjectReceived event handler. // This form is going away, but the Capability may be replayed in which case we'd receive this event into a disposed form! presentationCapability.ObjectReceived -= new CapabilityObjectReceivedEventHandler(ObjectReceived); presentationCapability = null; } return ret; }
public override void AddCapability(ICapability capability) { base.AddCapability (capability); if(presentationCapability == null) { presentationCapability = (PresentationCapability)capability; presentationCapability.ObjectReceived += new CapabilityObjectReceivedEventHandler(ObjectReceived); // Init StatusBar statusBar.SetBusyStatusMessage(Strings.Loading); // Init ThumbnailsListView this.thumbnailsView.ImageSelected += new System.EventHandler(this.thumbnailsView_SelectedImageChanged); this.thumbnailsView.ImageMouseEnter += new EventHandler(thumbnailsView_ImageMouseEnter); this.thumbnailsView.ImageMouseLeave +=new EventHandler(thumbnailsView_ImageMouseLeave); Size pbSize = new Size(thumbnailsView.ClientRectangle.Width - 55, 0); pbSize.Height = (int)( ((float)pbSize.Width)*(3F/4F) ); // Create blank RTDocument this.rtDocument = new RTDocument(); rtDocument.Identifier = new Guid(constWhiteboardGuid); rtDocument.Metadata.Title = Strings.WhiteboardSession; rtDocument.Metadata.Creator = Conference.LocalParticipant.Name; // Add a blank page Page pg = new Page(); pg.Identifier = new Guid(constWhiteboardGuid); TOCNode tn = new TOCNode(); tn.Title = Strings.Whiteboard1; tn.Resource = pg; tn.ResourceIdentifier = pg.Identifier; tn.Identifier = new Guid(constWhiteboardGuid); rtDocument.Organization.TableOfContents.Add(tn); rtDocument.Resources.Pages.Add(pg.Identifier, pg); // Wrap the RTD with a helper & init vars rtDocumentHelper = new RTDocumentHelper( presentationCapability, rtDocument ); rtDocumentHelper.CurrentOrganizationNodeIdentifier = tn.Identifier; statusBar.SetMaxPage( 1, rtDocument.Organization.TableOfContents.Count ); thumbnailsView.InsertThumbnail(null, tn.Title, 0, tn.Identifier); thumbnailsView.SelectedIndex = 0; this.pageShowing = pg.Identifier; } }