Orange Group
Plotter
Responsibilities Collaborators
- Generate and manage layout
- Interact with user (menus, buttons, hot icons, etc.)
- Controller Interfaces
- VData
- PlotView
- Spreadsheet
VData
Responsibilities Collaborators
- Set Data
- Extract Data
- Store Data
- Modify Data
- Provide Data for Display
- Spreadsheet
- Constraints
- Locus
- Axis
- Label
- PlotView
- Menu
Spreadsheet
Responsibilities Collaborators
- Read data from file to show
- Read data from user interface
- Save data
- Set the look and feel of UI
- Notify PlotView, Axis, Scale, etc. when data has changed
- Notify Plotter when resized
- VData
- Integrity Constraints
PlotView
Responsibilities Collaborators
- Draw Axes
- Draw Label
- Draw Locus Curvee with ??
- Draw Grid
- Draw Plot Title
- Draw Legend
- Perform Calculations
- Plot Area
- Show Values on Mouse Over
- Axis
- Label
- Locus
- Grid
- Label
- Legend
- Constraints
- Axis
- Plotter
- VData
Legend
Responsibilities Collaborators
- Request/Set Icons and Text for Label objects it contains
- Draw itself
- Listen for changes in the plots (when allowed to be dynamic)
- Labels
- PlotView
- VData
Grid
Responsibilities Collaborators
- Generate grid
- Turn Grid on/off
- PlotView
- Axis
Label
Responsibilities Collaborators
- Draw label
- Get Position
- Set Position
- VData
- PlotView
Constraints
Responsibilities Collaborators
- Constraint to check equality of x & y coordinates
- Default constraints (used to set default values
- Maximum constraints (can be used to specify maximum value, an attribute can take)
- Minimum constraints (can be used to specify maximum value, an attribute can take)
- VData
- PlotView
Axis
Responsibilities Collaborators
- Determine the origin based on data
- Set a scale - default linear, option to set to log / semi-log
- Draw the axis
- Draw the ticks on the axes using the scale (minor ticks?)
- print values / numbers corresponding to tick marks
- redraw on resize, update, etc.
- Set ticks, colots
- VData
- PlotView
- Plotter
- Menu
Locus
Responsibilities Collaborators
- Get type of line, style, color, etc.
- Get a scale
- Fit a line to the data
- Draw a line
- get an icon type
- redraw yourself
- Modify Plot
- VData
- Axis
- Plotter
- Icon
- PlotView
- Spreadsheet View
White Group
Origin
Responsibilities Collaborators
- Decide the optimum origin co-ordinates
- Decide the pixel position on screen for origin
VData
PlotView
Controller
Responsibilities Collaborators
- Provide for 'File' activities
- Open a new file
- Retrieve from an existing file
- Save data in the current file
- Save As in a different file
- Provide for 'Edit' activities
- Enter/Modify data
- Enter Origin co-ordinates
- Enter Label
- Set Constraints (Advanced)
- Provide for 'View' activities
- Grid On/Off
- Update plot
- Select background color
- Select line/curve to be fitted
- 2 axis/3-axis Plot
- Range of data to be viewed
System Utility
VData, System Utility
VData, System Utility
VData, System UtilityVData
Origin
Label
ConstraintsPlotView
PlotView
PlotView,VData
Locus
PlotView
PlotView
SpreadSheetView
Responsiblities Collaborators Display Details
Change/Set size of display
change details shownVData, Label
Plotter
Menu/Controller
Plotter Extends JApplet
Responsiblities Collaborators Display
Resize responsePlotView, Controller/Menu, SpreadSheetView
PlotView, SpreadSheetView
Locus Class
Responsibilities Collaborators 1) Get VData - includes getting x/y choices
2) GetOrientation
3) DeterminePixelCoordinates
4) DrawIconAtDataPoint
RemoveIconAtDataPoint
ChangeIconType
5) DrawSpline
6) TraceController (Plotter), VData
Axis
none
Icon, PlotView
Icon, PlotView
Icon
none
none
Constraints
Responsibilities Collaborators
- Make sure that the no of coordinates on both axes are same.
- Must provide default values for constraints.
- Must be able to read the type of constraint(e.g. min, max).
- Read the data providied with a particular constraint.
- AXIS
- VDATA
- PLOTVIEW
Axis
Responsibilities Collaborators
- Get origin position
- Obtain range of X & Y axis
- Get plot view size
- Get the number of axis to be plotted
- Decide the scale
- Draw the axis lines
- put labels of the axis
- Draw the ticks and subticks based on scale decided
- print values on the axis for the tick marks
- Resize
- Update changes if SSV or Vdata changes
- Implement any constraints
- Origin/Menu
- Vdata
- Plotview
- Menu
- None
- None
- Label
- None
- None
- Plotter
- Vdata
- Constraints
PlotView
Responsibilities Collaborators
- Include Origin,Axis
- Include Label,Locus
- Place axis at origin
- Draw Grid
- Obtain Plotview size
- Plot Area
- Show Values on Mouse Over
- Resize
- Origin,Axis
- Label,Locus
- Locus
- Locus
- Label
- Plotter
- VData
- None