Changes from initial prototype to the final design

Differences between Visual Basic prototype and Amulet/C++ implementation

Data Input Window

Visual BasicAmulet/C++Motivation for Change
  • Use GRID control (grid32.ocx) to display a series of rows and columns. The intersection of a row and column is a cell.
  • Each cell is an Am_Text_Input_Widget
  • No GRID control in Amulet
  • Send all the data to chart window, when users press “Next” button
  • Link the Am_VALUE to Chart Window's
     Bar Chart (Am_Rectangle ) 
     or
     Scatter Chart (Am_Arc)
  • Users suggested displaying the chart at the same time the data entry fields are present.
  • Amulet allows dynamic linking by constraints
  • There is no way to use the “TAB” to move around the cells in GRID control.
  • By setting the Am_Tab_To_Next_Widget_Interactor to use “TAB” to move around the cells
  • Amulet allows tabbing
  • Separate window to select number of lines and points and input legend information
  • Information for each bar or line is entered on a separate window
  • Ask user for Legend information sooner
  • Ask user for number of bars or data sets and points when he enters legend data.
  • Information for all bars or lines is entered in one window
  • Seems more logical. Gives us a cart name to use while inputting data
  • This was done to simplify the interface
  • Each set of data points is entered on a separate window
  • All data points are entered in the same window
  • This was done to simplify the interface
  • Button read Data Entry
  • Button read Update Finish
  • Button reads Next
  • Button reads Next
  • Consistency

Chart Window

Visual BasicAmulet/C++Motivation for Change
  • Use GRAPH control (graph32.ocx) to display the bar char or scatter chart.
  • For Bar Chart,

each row of Data Input Window defines an Am_Rectangle.

The Am_WIDTH has a formula to set itself according to the Am_VALUE of Am_Text_Input_Widget

  • For Scatter chart,

each cell of Data Input Window defines an Am_Arc.

The Am_LEFT and Am_TOP have formula to set themselves according to the Am_VALUE of Am_Text_Input_Widget

  • No graph control in Amulet
  • At run time, get all the data from Data Input Window and generate the chart.
  • At run time, the chart updated dynamically and automatically according to the users input data in Data Input Window
  • Bars in bar chart are dynamically created as user inputs data.
  • Points in scatter chart are dynamically created as user inputs data
  • Need to go back and forth between Data Input Window and Char Window to modify data and view the result
  • Data Input Window and Char Window are displayed on the screen at the same time.
  • Ask user for Legend information sooner
  • Users suggested displaying the chart at the same time the data entry fields are present
    • Amulet allows dynamic linking by constraints
  • There is no way you can program any event on the Graph control. There is no mouse actions on the chart
  • Each Am_Rectangle or Am_Arc has a Am_One_Shot_Interactor which handles the change of color.
  • It is more direct to select bar or point to change its color than to go back and modify a field.
  • Easy to define interactor objects and attach them to graphical objects