/// <summary> /// Construct the service /// </summary> /// <param name="sender">The event queue</param> /// <param name="presentation">The presentation</param> /// <param name="deck">The deck</param> /// <param name="slide">The slide</param> public SlideWebService(SendingQueue sender, PresentationModel presentation, DeckModel deck, SlideModel slide) { this.m_Sender = sender; this.m_Presentation = presentation; this.m_Deck = deck; this.m_Slide = slide; this.m_ChangeDispatcher = new EventQueue.PropertyEventDispatcher(this.m_Sender, new PropertyEventHandler(this.HandleChange)); this.m_Slide.Changed["Bounds"].Add(this.m_ChangeDispatcher.Dispatcher); this.m_Slide.Changed["Zoom"].Add(this.m_ChangeDispatcher.Dispatcher); this.m_Slide.Changed["BackgroundColor"].Add(this.m_ChangeDispatcher.Dispatcher); this.m_Slide.Changed["BackgroundTemplate"].Add(this.m_ChangeDispatcher.Dispatcher); this.m_ContentSheetsCollectionHelper = new SheetsCollectionHelper(this, "ContentSheets", SheetMessage.SheetCollection.ContentSheets); this.m_AnnotationSheetsCollectionHelper = new SheetsCollectionHelper(this, "AnnotationSheets", SheetMessage.SheetCollection.AnnotationSheets); }
public SlideUndoService(EventQueue dispatcher, UndoModel undo, DeckModel deck, SlideModel slide) { this.m_EventQueue = dispatcher; this.m_Undo = undo; this.m_Deck = deck; this.m_Slide = slide; this.m_SlideChangedDispatcher = new EventQueue.PropertyEventDispatcher(this.m_EventQueue, new PropertyEventHandler(this.HandleSlideChanged)); this.m_Slide.Changed["Title"].Add(this.m_SlideChangedDispatcher.Dispatcher); this.m_Slide.Changed["Bounds"].Add(this.m_SlideChangedDispatcher.Dispatcher); this.m_Slide.Changed["ContentSheets"].Add(this.m_SlideChangedDispatcher.Dispatcher); this.m_Slide.Changed["AnnotationSheets"].Add(this.m_SlideChangedDispatcher.Dispatcher); this.m_ContentSheetsCollectionHelper = new SheetsCollectionHelper(this, "ContentSheets"); this.m_AnnotationSheetsCollectionHelper = new SheetsCollectionHelper(this, "AnnotationSheets"); }
/// <summary> /// Construct a slide match between two slides /// </summary> /// <param name="sender">The event queue for async calls</param> /// <param name="srcSlide">The source slide</param> /// <param name="destSlide">The destination slide</param> public SlideMatch( EventQueue sender, SlideModel srcSlide, SlideModel destSlide ) { this.m_Sender = sender; this.m_SrcSlide = srcSlide; this.m_DestSlide = destSlide; // Listen for changes this.m_ChangeDispatcher = new EventQueue.PropertyEventDispatcher(this.m_Sender, new PropertyEventHandler(this.HandleChange)); this.m_Sender.Post(delegate() { this.m_ChangeDispatcher.Dispatcher(this, null); }); this.m_SrcSlide.Changed["Bounds"].Add(this.m_ChangeDispatcher.Dispatcher); this.m_SrcSlide.Changed["Zoom"].Add(this.m_ChangeDispatcher.Dispatcher); this.m_SrcSlide.Changed["SubmissionSlideGuid"].Add( this.m_ChangeDispatcher.Dispatcher ); this.m_SrcSlide.Changed["SubmissionStyle"].Add( this.m_ChangeDispatcher.Dispatcher ); // Listen for changes to the sheets // NOTE: Content sheets cannot change, so we don't need to listen to changes in them // this.m_ContentSheetsCollectionHelper = new SheetsCollectionHelper(this, "ContentSheets"); this.m_AnnotationSheetsCollectionHelper = new SheetsCollectionHelper(this, "AnnotationSheets"); }
/// <summary> /// Construct a slide match between two slides /// </summary> /// <param name="sender">The event queue for async calls</param> /// <param name="srcSlide">The source slide</param> /// <param name="destSlide">The destination slide</param> public SlideMatch(EventQueue sender, SlideModel srcSlide, SlideModel destSlide) { this.m_Sender = sender; this.m_SrcSlide = srcSlide; this.m_DestSlide = destSlide; // Listen for changes this.m_ChangeDispatcher = new EventQueue.PropertyEventDispatcher(this.m_Sender, new PropertyEventHandler(this.HandleChange)); this.m_Sender.Post(delegate() { this.m_ChangeDispatcher.Dispatcher(this, null); }); this.m_SrcSlide.Changed["Bounds"].Add(this.m_ChangeDispatcher.Dispatcher); this.m_SrcSlide.Changed["Zoom"].Add(this.m_ChangeDispatcher.Dispatcher); this.m_SrcSlide.Changed["SubmissionSlideGuid"].Add(this.m_ChangeDispatcher.Dispatcher); this.m_SrcSlide.Changed["SubmissionStyle"].Add(this.m_ChangeDispatcher.Dispatcher); // Listen for changes to the sheets // NOTE: Content sheets cannot change, so we don't need to listen to changes in them // this.m_ContentSheetsCollectionHelper = new SheetsCollectionHelper(this, "ContentSheets"); this.m_AnnotationSheetsCollectionHelper = new SheetsCollectionHelper(this, "AnnotationSheets"); }