public FileMenu(ControlEventQueue dispatcher, PresenterModel model, DeckMarshalService marshal, CloseFormDelegate cfd) { this.Text = Strings.File; open_deck_ = new OpenDeckMenuItem(model, marshal); this.MenuItems.Add(open_deck_); this.MenuItems.Add(new CloseDeckMenuItem(dispatcher, model, marshal)); this.MenuItems.Add(new MenuItem("-"));// Text of "-" signifies a separator bar. this.MenuItems.Add(new SaveDeckMenuItem(model, marshal)); this.MenuItems.Add(new SaveDeckAsMenuItem(model, marshal)); this.MenuItems.Add(new SaveAllDecksMenuItem(model, marshal)); this.MenuItems.Add(new SaveAllDecksAsMenuItem(model, marshal)); this.MenuItems.Add(new MenuItem("-")); // Text of "-" signifies a separator bar. this.MenuItems.Add(new ExportDeckAsImageItem(model)); this.MenuItems.Add(new ExportDeckAsHTMLItem(model)); this.MenuItems.Add(new ExportInkMenuItem(model)); this.MenuItems.Add(new MenuItem("-")); this.MenuItems.Add(new PageSetupMenuItem(this, model)); this.MenuItems.Add(new PrintPreviewMenuItem(this, model)); this.MenuItems.Add(new PrintMenuItem(this, model)); this.MenuItems.Add(new MenuItem("-")); this.MenuItems.Add(new ExitMenuItem(cfd)); presenter_model_ = model; presenter_model_.Workspace.CurrentPresentation.ListenAndInitialize(dispatcher, new Property <PresentationModel> .EventHandler(this.HandlePresentationChanged)); presenter_model_.Workspace.CurrentDeckTraversal.ListenAndInitialize(dispatcher, new Property <DeckTraversalModel> .EventHandler(this.HandleDeckChanged)); }
public EditMenu(ControlEventQueue dispatcher, PresenterModel model) { this.Text = Strings.Edit; this.MenuItems.Add(new UndoMenuItem(dispatcher, model)); this.MenuItems.Add(new RedoMenuItem(dispatcher, model)); }
/// <summary> /// Constructor /// </summary> /// <param name="model">The model that this component modifies</param> public MainToolBar(PresenterModel model, ControlEventQueue dispatcher) { // Initialize private variables this.m_EventQueue = dispatcher; this.m_Model = model; // Setup the object UI description this.SuspendLayout(); this.Name = "MainToolBar"; this.GripStyle = ToolStripGripStyle.Hidden; // Create the primary image list for this object this.ImageList = new ImageList(); this.ImageList.ImageSize = new Size(40, 40); this.ImageList.ColorDepth = ColorDepth.Depth32Bit; // Set the default button size this.ImageScalingSize = new Size(40, 40); this.AutoSize = true; // Assign a custom renderer to this object so that rendering appears // in the old style this.Renderer = new CustomRenderer(); this.ResumeLayout(); }
public StudentNavigationTypeMenuItem(ControlEventQueue dispatcher, PresenterModel model) : base(dispatcher, model) { this.Text = Strings.StudentNavigationType; this.m_FullNavigation = new MenuItem(Strings.FullNavigation); this.m_FullNavigation.Click += new EventHandler(m_FullNavigation_Click); this.MenuItems.Add(this.m_FullNavigation); this.m_VisitedSlidesNavigation = new MenuItem(Strings.VisitedSlidesNavigation); this.m_VisitedSlidesNavigation.Click += new EventHandler(m_VisitedSlidesNavigation_Click); this.MenuItems.Add(this.m_VisitedSlidesNavigation); this.m_NoNavigation = new MenuItem(Strings.NoNavigation); this.m_NoNavigation.Click += new EventHandler(m_NoNavigation_Click); this.MenuItems.Add(this.m_NoNavigation); this.m_HandleStudentNavChangedDispatcher = new EventQueue.PropertyEventDispatcher(this.m_EventQueue, new PropertyEventHandler(this.HandleStudentNavChanged)); using (Synchronizer.Lock(this.m_Model.Participant.SyncRoot)) { //Listen to changes in Student Nav Types for the current role, if it is an InstructorModel if (this.m_Role is InstructorModel) { using (Synchronizer.Lock(this.m_Model.Participant.Role.SyncRoot)) { ((InstructorModel)this.m_Role).Changed["StudentNavigationType"].Add(this.m_HandleStudentNavChangedDispatcher.Dispatcher); } } } this.HandleStudentNavChanged(this, null); using (Synchronizer.Lock(this.m_Role)) { if (((InstructorModel)this.m_Role).StudentNavigationType == LinkedDeckTraversalModel.NavigationSelector.Full) { this.m_FullNavigation.Checked = true; } } }
public ConnectionHelper(StartupForm stup, PresenterModel model, ControlEventQueue dispatcher) { this.m_StartupForm = stup; this.m_TabControl = this.m_StartupForm.m_TabControl; this.m_Model = model; this.m_EventQueue = dispatcher; }
public PresentationRadioButton(ControlEventQueue dispatcher, PresentationModel presentation, StartupForm stup, PresentationsPanel parent, int i, ClassroomModel classroom) { this.m_EventQueue = dispatcher; this.m_Presentation = presentation; this.Tag = presentation.Owner; this.m_Startup = stup; this.Parent = parent; this.m_PresentationsPanel = parent; this.m_Classroom = classroom; this.Parent.Controls.Add(this); this.FlatStyle = FlatStyle.System; this.Font = Model.Viewer.ViewerStateModel.StringFont1; this.index = i; this.Location = new Point(10, (2 * this.Font.Height) * (this.index + 1)); this.Size = new Size(this.Parent.Width - 14, 2 * this.Font.Height); //If the role changes we should remove ourself from our parent. this.m_ViewerStateRoleListener = new EventQueue.PropertyEventDispatcher(this.m_Startup.m_EventQueue, new PropertyEventHandler(this.HandleViewerStateRoleChanged)); this.m_Startup.m_Model.ViewerState.Changed["iRole"].Add(this.m_ViewerStateRoleListener.Dispatcher); this.m_HumanNameChangedDispatcher = new EventQueue.PropertyEventDispatcher(this.m_EventQueue, new PropertyEventHandler(this.HandleHumanNameChanged)); this.Presentation.Changed["HumanName"].Add(this.m_HumanNameChangedDispatcher.Dispatcher); this.m_HumanNameChangedDispatcher.Dispatcher(this.Presentation, null); this.CheckedChanged += new EventHandler(HandlePresentationSelectionChanged); this.m_ConnectedChangedDispatcher = new EventQueue.PropertyEventDispatcher(this.m_EventQueue, new PropertyEventHandler(this.HandleConnectedChanged)); this.m_Classroom.Changed["Connected"].Add(this.m_ConnectedChangedDispatcher.Dispatcher); this.HandleConnectedChanged(this.m_Classroom, null); }
public InstructorConnection(StartupForm parent, PresenterModel model, ControlEventQueue dispatcher) : base(parent, model, dispatcher) { this.m_PresentationsPanel = null; this.m_ManualConnectionPanel = new ManualConnectionPanel(this.m_Model, this.m_StartupForm); this.m_ManualConnectionPanel.Location = parent.m_UDPPanel.Location; this.m_ManualConnectionPanel.Size = parent.m_UDPPanel.Size; /*if (!(this.m_StartupForm.Controls.Contains(this.m_TabControl))) { * this.m_StartupForm.Controls.Add(this.m_TabControl); * * }*/ if (!(this.m_StartupForm.Controls.Contains(this.m_StartupForm.m_TabGroupBox))) { this.m_StartupForm.Controls.Add(this.m_StartupForm.m_TabGroupBox); if (!(this.m_StartupForm.m_TabGroupBox.Controls.Contains(this.m_TabControl))) { this.m_StartupForm.m_TabGroupBox.Controls.Add(this.m_TabControl); } } this.m_TabControl.m_AdvancedTab.Controls.Add(this.m_ManualConnectionPanel); if (this.m_TabControl.Controls.Contains(this.m_TabControl.m_UDPTab)) { this.m_TabControl.Controls.Remove(this.m_TabControl.m_UDPTab); } }
public PresentationsPanel(PresenterModel model, StartupForm stup) { if (model == null) { throw new ArgumentNullException("model"); } this.m_EventQueue = new ControlEventQueue(this); this.m_Model = model; this.m_Startup = stup; this.Font = Model.Viewer.ViewerStateModel.StringFont; this.Location = new Point(276, 10); this.Size = new Size(250, 250); this.BorderStyle = BorderStyle.Fixed3D; this.AutoScroll = true; Label label = new Label(); label.FlatStyle = FlatStyle.System; label.Font = Model.Viewer.ViewerStateModel.StringFont2; label.Size = new Size(this.Width + 30, label.Font.Height); label.Location = new Point(10, 5); label.Text = Strings.PresentationsInChosenVenue; this.Controls.Add(label); // Create a handle immediately so the ListViewItems can marshal event handlers to the creator thread. this.CreateHandle(); this.m_ProtocolCollectionHelper = new ProtocolCollectionHelper(this, this.m_Model.Network); }
public FilmStripWidthMenu(ControlEventQueue dispatcher, PresenterModel model) : base(Strings.FilmStripWidth) { this.MenuItems.Add(new WidthMenuItem(dispatcher, model, 1, Strings.OneSlide)); this.MenuItems.Add(new WidthMenuItem(dispatcher, model, 2, Strings.TwoSlides)); this.MenuItems.Add(new WidthMenuItem(dispatcher, model, 3, Strings.ThreeSlides)); }
/// <summary> /// Constructor /// </summary> /// <param name="dispatcher">The event queue</param> /// <param name="model">The model</param> public ForwardNavigationToolBarButton(ControlEventQueue dispatcher, PresenterModel model) : base(dispatcher, model) { this.m_Model = model; this.ToolTipText = Strings.ForwardTooltipNextSlide; this.Initialize(); }
/// <summary> /// Constructor /// </summary> /// <param name="dispatcher">The event queue</param> /// <param name="model">The model</param> public BackwardNavigationToolBarButton(ControlEventQueue dispatcher, PresenterModel model) : base(dispatcher, model) { this.m_Model = model; this.Initialize(); }
/// <summary> /// Constructor /// </summary> /// <param name="dispatcher">The event queue</param> /// <param name="model">The model</param> protected SlideToolBarButton(ControlEventQueue dispatcher, PresenterModel model) { this.m_EventQueue = dispatcher; this.m_Model = model; this.m_Adapter = new WorkspaceModelAdapter(this.m_EventQueue, this, this.m_Model); }
/// <summary> /// Creates a new <see cref="ClassroomMenu"/>. /// </summary> /// <param name="model"> /// The lists of classrooms and presentations are gathered from the /// protocols in the <see cref="PresenterModel.Network"/>. /// </param> public ManualConnectionMenu(ControlEventQueue dispatcher, PresenterModel model, PresentationsMenu pm) { this.m_EventQueue = dispatcher; this.m_Model = model; this.Text = "&Manual Connection"; this.m_ProtocolCollectionHelper = new ProtocolCollectionHelper(this, pm, this.m_Model.Network); }
/// <summary> /// Constructor /// </summary> /// <param name="dispatcher">The event queue</param> /// <param name="model">The model</param> public ForwardNavigationToolBarButton(ControlEventQueue dispatcher, PresenterModel model) : base(dispatcher, model) { this.m_Model = model; //this.ToolTipText = "Go to the next slide."; this.Initialize(); }
public ToggleSlideZoomMenuItem(ControlEventQueue dispatcher, PresenterModel model) { this.m_EventQueue = dispatcher; this.m_Model = model; this.m_ZoomChangedDispatcher = new EventQueue.PropertyEventDispatcher(this.m_EventQueue, new PropertyEventHandler(this.HandleZoomChanged)); this.m_Adapter = new WorkspaceModelAdapter(dispatcher, this, model); this.Text = Strings.ZoomSlide; }
/// <summary> /// Constructor /// </summary> /// <param name="dispatcher">The event queue</param> /// <param name="model">The model</param> protected ParticipantToolBarButton(ControlEventQueue dispatcher, PresenterModel model) { this.m_EventQueue = dispatcher; this.m_Model = model; this.m_RoleChangedDispatcher = new EventQueue.PropertyEventDispatcher(this.m_EventQueue, new PropertyEventHandler(this.HandleRoleChanged)); this.m_Model.Participant.Changed["Role"].Add(this.m_RoleChangedDispatcher.Dispatcher); }
public FilmStripAlignmentMenu(ControlEventQueue dispatcher, PresenterModel model) : base(Strings.FilmStripAlignment) { this.MenuItems.Add(new DockMenuItem(dispatcher, model, DockStyle.Left, Strings.Left)); this.MenuItems.Add(new DockMenuItem(dispatcher, model, DockStyle.Right, Strings.Right)); this.MenuItems.Add(new DockMenuItem(dispatcher, model, DockStyle.Top, Strings.Top)); this.MenuItems.Add(new DockMenuItem(dispatcher, model, DockStyle.Bottom, Strings.Bottom)); }
public ToolBarMenu(ControlEventQueue dispatcher, PresenterModel model) : base(Strings.Toolbar) { this.m_EventQueue = dispatcher; this.m_Model = model; this.MenuItems.Add(new ToolBarMenuItem(dispatcher, model, false, Strings.Default)); this.MenuItems.Add(new ToolBarMenuItem(dispatcher, model, true, Strings.Classmate)); }
/// <summary> /// Constructor /// </summary> /// <param name="dispatcher">The event queue</param> /// <param name="model">The model</param> public QuickPollToolBarButton(ControlEventQueue dispatcher, PresenterModel model) : base(dispatcher, model) { this.m_QuickPollChangedDispatcher = new EventQueue.PropertyEventDispatcher(this.m_EventQueue, new PropertyEventHandler(this.HandleQuickPollChanged)); base.InitializeRole(); this.Enabled = false; this.m_Adapter = new WorkspaceModelAdapter(this.m_EventQueue, this, this.m_Model); }
public InstructorMenuItem(ControlEventQueue dispatcher, PresenterModel model) { this.m_Model = model; this.m_EventQueue = dispatcher; this.m_HandleRoleChangedDispatcher = new EventQueue.PropertyEventDispatcher(this.m_EventQueue, new PropertyEventHandler(this.HandleRoleChanged)); //Save a copy of the role this.m_Role = this.m_Model.Participant.Role; //Listen to changes in Role this.m_Model.Participant.Changed["Role"].Add(this.m_HandleRoleChangedDispatcher.Dispatcher); }
public ToolBarMenuItem(ControlEventQueue dispatcher, PresenterModel model, bool mode, string text) : base(text) { this.m_Model = model; this.m_ClassmateMode = mode; this.m_ToolBarModeListener = new EventQueue.PropertyEventDispatcher(dispatcher, new PropertyEventHandler(this.HandleToolBarModeChanged)); this.m_Model.ViewerState.Changed["ClassmateMode"].Add(this.m_ToolBarModeListener.Dispatcher); this.m_ToolBarModeListener.Dispatcher(this, null); }
public SSWidthMenuItem(ControlEventQueue dispatcher, PresenterModel model, int width, string text) : base(text) { this.m_Model = model; this.m_Width = width; this.m_SSFilmStripWidthListener = new EventQueue.PropertyEventDispatcher(dispatcher, new PropertyEventHandler(this.HandleSSFilmStripWidthChanged)); this.m_Model.ViewerState.Changed["SSFilmStripWidth"].Add(this.m_SSFilmStripWidthListener.Dispatcher); this.m_SSFilmStripWidthListener.Dispatcher(this, null); }
/// <summary> /// Constructor /// </summary> /// <param name="dispatcher">The event queue</param> /// <param name="model">The model</param> public LinkedNavigationToolBarButton(ControlEventQueue dispatcher, PresenterModel model) : base(dispatcher, model) { this.m_Model = model; // Listen for changes to the Role property this.m_RoleChangedDispatcher = new EventQueue.PropertyEventDispatcher(dispatcher, new PropertyEventHandler(this.HandleRoleChanged)); this.m_Model.Participant.Changed["Role"].Add(this.m_RoleChangedDispatcher.Dispatcher); this.m_RoleChangedDispatcher.Dispatcher(this, null); this.Initialize(); }
public DockMenuItem(ControlEventQueue dispatcher, PresenterModel model, DockStyle dock, string text) : base(text) { this.m_Model = model; this.m_DockStyle = dock; this.m_FilmStripAlignmentListener = new EventQueue.PropertyEventDispatcher(dispatcher, new PropertyEventHandler(this.HandleFilmStripAlignmentChanged)); this.m_Model.ViewerState.Changed["FilmStripAlignment"].Add(this.m_FilmStripAlignmentListener.Dispatcher); this.m_FilmStripAlignmentListener.Dispatcher(this, null); }
public ViewMenu(ControlEventQueue dispatcher, PresenterModel model) { this.Text = Strings.View; this.MenuItems.Add(new ToggleSlideZoomMenuItem(dispatcher, model)); this.MenuItems.Add(new FullScreenMenuItem(model)); this.MenuItems.Add(new MenuItem("-")); //Separator this.MenuItems.Add(new FilmStripAlignmentMenu(dispatcher, model)); this.MenuItems.Add(new FilmStripWidthMenu(dispatcher, model)); this.MenuItems.Add(new SSFilmStripWidthMenu(dispatcher, model)); // this.MenuItems.Add(new ToolBarMenu(dispatcher, model)); }
public ViewerMainMenu(ControlEventQueue dispatcher, PresenterModel model, DeckMarshalService marshal, FileMenu.CloseFormDelegate cfd) { this.MenuItems.Add(new FileMenu(dispatcher, model, marshal, cfd)); this.MenuItems.Add(new EditMenu(dispatcher, model)); this.MenuItems.Add(new ViewMenu(dispatcher, model)); //this.MenuItems.Add(new ConnectMenu(dispatcher, model)); this.MenuItems.Add(new InsertMenu(model)); this.MenuItems.Add(new ToolsMenu(model)); this.MenuItems.Add(new DecksMenu(dispatcher, model)); this.MenuItems.Add(new StudentMenu(dispatcher, model)); this.MenuItems.Add(new HelpMenu()); }
public PreviewTraversalModelAdapter(ControlEventQueue dispatcher, SlideViewer viewer, PresenterModel model) { this.m_EventQueue = dispatcher; this.m_Model = model; this.m_Viewer = viewer; this.m_CurrentSlidePreviewDeckTraversalChangedDispatcher = this.m_Model.Workspace.CurrentSlidePreviewDeckTraversal.ListenAndInitialize(dispatcher, delegate(Property <DeckTraversalModel> .EventArgs args) { this.CurrentSlidePreviewDeckTraversal = args.New; }); }
/// <summary> /// Constructor /// </summary> /// <param name="dispatcher">The event queue</param> /// <param name="stylus">The stylus model</param> /// <param name="model">The presenter model</param> public StylusToolBarButton(ControlEventQueue dispatcher, StylusModel stylus, PresenterModel model) { this.m_EventQueue = dispatcher; this.m_Stylus = stylus; this.m_Model = model; this.m_StylusChangedDispatcher = new EventQueue.PropertyEventDispatcher(this.m_EventQueue, new PropertyEventHandler(this.HandleStylusChanged)); this.m_Model.Changed["Stylus"].Add(this.m_StylusChangedDispatcher.Dispatcher); // Initialize the Pushed state. this.m_StylusChangedDispatcher.Dispatcher(null, null); }
public UndoMenuItem(ControlEventQueue dispatcher, PresenterModel model) { this.m_Model = model; this.m_EventQueue = dispatcher; this.Text = Strings.Undo; this.Shortcut = Shortcut.CtrlZ; this.ShowShortcut = true; this.m_Model.Undo.Update += new EventHandler(this.HandleUndoableChanged); this.m_WorkspaceModelAdapter = new WorkspaceModelAdapter(dispatcher, this, this.m_Model); }
/// <summary> /// Constructs this control /// </summary> public SlidePreview(PresenterModel model, Control linked) { this.m_Model = model; this.m_EventQueue = new ControlEventQueue(this); this.m_Linked = linked; this.m_Linked.SizeChanged += new EventHandler(this.OnLinkedControlSizeChanged); this.m_Linked.LocationChanged += new EventHandler(this.OnLinkedControlSizeChanged); this.m_Linked.DockChanged += new EventHandler(this.OnLinkedControlSizeChanged); //this.OnLinkedControlSizeChanged(this, EventArgs.Empty); // Create the control's properties this.SuspendLayout(); this.Name = "SlidePreview"; this.Visible = false; this.BackColor = System.Drawing.Color.Black; this.DockPadding.All = 4; this.m_PreviewSlideViewer = new MainSlideViewer(this.m_Model, false); this.m_PreviewSlideViewer.Dock = DockStyle.Fill; //Set the disposition to always be public using (Synchronizer.Lock(this.m_PreviewSlideViewer.SlideDisplay.SyncRoot)) { this.m_PreviewSlideViewer.SlideDisplay.SheetDisposition = Model.Presentation.SheetDisposition.SecondMonitor; } //Listen to changes in the role this.m_Model.Participant.Changed["Role"].Add(new PropertyEventHandler(this.onRoleChange)); //Set the initial role this.onRoleChange(this, null); this.m_SlidePreviewChangedDispatcher = new EventQueue.PropertyEventDispatcher(this.m_EventQueue, new PropertyEventHandler(this.HandleSlidePreviewChanged)); this.m_Model.ViewerState.Changed["SlidePreviewEnabled"].Add(this.m_SlidePreviewChangedDispatcher.Dispatcher); this.m_Model.ViewerState.Changed["SlidePreviewVisible"].Add(this.m_SlidePreviewChangedDispatcher.Dispatcher); this.m_SlidePreviewSizeChangedDispatcher = new EventQueue.PropertyEventDispatcher(this.m_EventQueue, new PropertyEventHandler(this.HandleSlidePreviewSizeChanged)); this.m_Model.ViewerState.Changed["SlidePreviewWidth"].Add(this.m_SlidePreviewSizeChangedDispatcher.Dispatcher); this.m_Model.ViewerState.Changed["SlidePreviewHeight"].Add(this.m_SlidePreviewSizeChangedDispatcher.Dispatcher); this.Controls.Add(this.m_PreviewSlideViewer); // Initialize the SlidePreview's visibility. this.m_SlidePreviewChangedDispatcher.Dispatcher(this, null); this.m_SlidePreviewSizeChangedDispatcher.Dispatcher(this, null); this.ResumeLayout(); // Create the control immediately, or else event queue will never execute anything (chicken and the egg). this.CreateHandle(); }