5.6. Main View (main-view.rsl)
object MainView is
components: ViewWindow* and DrawingTools;
description: (* This is the window through which all of the drawing and viewing
of the lecture takes place.*);
end MainView;
object ViewWindow is
components: LectureView and Permissions and ViewSelector;
operations: ChangeSlide, ZoomPoint;
description: (* A Lecture view is all the necessary information to render one of
the tabs in the MainView. *);
end ViewWindow;
operation ZoomPoint is
inputs: LectureView and PointToZoom;
outputs: LectureView;
description: (* Changes which point is zoomed in the LectureView *);
end ZoomPoint;
object PointToZoom is integer;
operation ChangeSlide is
inputs: LectureView and NewIndex and Permissions;
outputs: LectureView;
description: (* Changes which slide the LectureView represents *);
end ChangeSlide;
object NewIndex is integer;
object ViewSelector is
components: WhiteboardView or SlidesView;
description: (* This is simply an enumeration *);
end ViewSelector;
object WhiteboardView;
object SlidesView;
object Permissions is
description: (* Information about what permissions a User has. These can be:
Read - Read the data from the slide deck
Write - Change the contents of the slide deck
Change - Manipulate the slide deck *);
end Permissions;
object LectureView is
components: (LectureTextXML and LectureDrawList) and Whiteboard and
SlideIndex and DetailLevel and TopicLevel and ZoomedPoint;
operations: GetRenderedSlide;
description: (* This contains all the information about a particular Lecture that
would be loaded or saved to a file *);
end LectureView;
operation GetRenderedSlide is
inputs: LectureTextXML, LectureDrawList, SlideIndex, DetailLevel, TopicLevel, ZoomedPoint;
outputs: RenderedSlide;
description: (* Does a transformation on the raw lecture XML to produce a
Rendered Slide *);
end GetRenderedSlide;
object LectureDrawList is
components: DrawSurface*;
description: (* This is a list of all the drawings that have been added to the lecture
in "Slides" mode. *);
end LectureDrawList;
object SlideIndex is integer;
object DetailLevel is integer;
object TopicLevel is integer;
object RenderedSlide is
components: Render and DrawSurface;
description: (* The LectureTextXML is eClasses XML markup for lectures.
DrawSurface is defined in drawing.rsl *);
end RenderedSlide;
object Render is
description: (* This is a bitmap representation of something *);
end Render;
object Whiteboard is
components: DrawSurface;
description: (* DrawSurface is defined in drawing.rsl *);
end Whiteboard;
Prev: schedule.rsl
| Next: markup.rsl
| Up: spec
| Top: index