test_class.declarator: gazePlay
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private GazePlay gazePlay;
test_class.type: GazePlay
test_class.var_name: gazePlay
test_class.declarator: mockStatsContext
test_class.modifier: @Mock(answer = Answers.RETURNS_DEEP_STUBS)
      private
test_class.original_string: @Mock(answer = Answers.RETURNS_DEEP_STUBS)
      private StatsContext mockStatsContext;
test_class.type: StatsContext
test_class.var_name: mockStatsContext
test_class.declarator: mockStats
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private Stats mockStats;
test_class.type: Stats
test_class.var_name: mockStats
test_class.declarator: mockShootStats
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private ShootGamesStats mockShootStats;
test_class.type: ShootGamesStats
test_class.var_name: mockShootStats
test_class.declarator: mockRegion
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private Region mockRegion;
test_class.type: Region
test_class.var_name: mockRegion
test_class.declarator: screenDimensionSupplier
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private ScreenDimensionSupplier screenDimensionSupplier;
test_class.type: ScreenDimensionSupplier
test_class.var_name: screenDimensionSupplier
test_class.declarator: captor
test_class.modifier: @Captor
      private
test_class.original_string: @Captor
      private ArgumentCaptor<Cursor> captor;
test_class.type: ArgumentCaptor<Cursor>
test_class.var_name: captor
test_class.file: gazeplay-core/src/test/java/net/gazeplay/commons/utils/stats/StatDisplayUtilsTest.java
test_class.identifier: StatDisplayUtilsTest
test_case.body: @Test
      void shouldBuildAreaChartWithPoints() {
          final LinkedList<FixationPoint> mockPoints = new LinkedList<>(List.of(
              new FixationPoint(50, 50, 1, 2),
              new FixationPoint(100, 100, 2, 3),
              new FixationPoint(150, 150, 4, 5)
          ));
  
          final AreaChart<Number, Number> areaChart = StatDisplayUtils.buildAreaChart(mockPoints, mockRegion);
  
          assertEquals(2, areaChart.getData().size());
          assertEquals(3, areaChart.getData().get(0).getData().size());
          assertEquals("X coordinate", areaChart.getData().get(0).getName());
          assertEquals(3, areaChart.getData().get(1).getData().size());
          assertEquals("Y coordinate", areaChart.getData().get(1).getName());
      }
test_case.class_method_signature: StatDisplayUtilsTest.shouldBuildAreaChartWithPoints()
test_case.full_signature: @Test void shouldBuildAreaChartWithPoints()
test_case.identifier: shouldBuildAreaChartWithPoints
test_case.invocations: of buildAreaChart assertEquals size getData assertEquals size getData get getData assertEquals getName get getData assertEquals size getData get getData assertEquals getName get getData
test_case.modifiers: @Test
test_case.parameters: ()
test_case.return: void
test_case.signature: void shouldBuildAreaChartWithPoints()
focal_class.file: gazeplay-core/src/main/java/net/gazeplay/commons/utils/stats/StatDisplayUtils.java
focal_class.identifier: StatDisplayUtils
focal_class.class_method_signature: StatDisplayUtils.createHomeButtonInStatsScreen(GazePlay gazePlay, StatsContext statsContext)
focal_class.full_signature: public static HomeButton createHomeButtonInStatsScreen(GazePlay gazePlay, StatsContext statsContext)
focal_class.identifier: createHomeButtonInStatsScreen
focal_class.modifiers: public static
focal_class.parameters: (GazePlay gazePlay, StatsContext statsContext)
focal_class.return: HomeButton
focal_class.signature: HomeButton createHomeButtonInStatsScreen(GazePlay gazePlay, StatsContext statsContext)
focal_class.class_method_signature: StatDisplayUtils.returnToMenu(GazePlay gazePlay, StatsContext statsContext)
focal_class.full_signature: static void returnToMenu(GazePlay gazePlay, StatsContext statsContext)
focal_class.identifier: returnToMenu
focal_class.modifiers: static
focal_class.parameters: (GazePlay gazePlay, StatsContext statsContext)
focal_class.return: void
focal_class.signature: void returnToMenu(GazePlay gazePlay, StatsContext statsContext)
focal_class.class_method_signature: StatDisplayUtils.buildLineChart(Stats stats, final Region root)
focal_class.full_signature: public static LineChart<String, Number> buildLineChart(Stats stats, final Region root)
focal_class.identifier: buildLineChart
focal_class.modifiers: public static
focal_class.parameters: (Stats stats, final Region root)
focal_class.return: LineChart<String, Number>
focal_class.signature: LineChart<String, Number> buildLineChart(Stats stats, final Region root)
focal_class.class_method_signature: StatDisplayUtils.buildAreaChart(LinkedList<FixationPoint> points, final Region root)
focal_class.full_signature: public static AreaChart<Number, Number> buildAreaChart(LinkedList<FixationPoint> points, final Region root)
focal_class.identifier: buildAreaChart
focal_class.modifiers: public static
focal_class.parameters: (LinkedList<FixationPoint> points, final Region root)
focal_class.return: AreaChart<Number, Number>
focal_class.signature: AreaChart<Number, Number> buildAreaChart(LinkedList<FixationPoint> points, final Region root)
focal_class.class_method_signature: StatDisplayUtils.buildGazeMetrics(Stats stats, final Region root)
focal_class.full_signature: public static ImageView buildGazeMetrics(Stats stats, final Region root)
focal_class.identifier: buildGazeMetrics
focal_class.modifiers: public static
focal_class.parameters: (Stats stats, final Region root)
focal_class.return: ImageView
focal_class.signature: ImageView buildGazeMetrics(Stats stats, final Region root)
focal_class.class_method_signature: StatDisplayUtils.resetToOriginalIndexInParent(Node node, int originalIndexInParent)
focal_class.full_signature: private static void resetToOriginalIndexInParent(Node node, int originalIndexInParent)
focal_class.identifier: resetToOriginalIndexInParent
focal_class.modifiers: private static
focal_class.parameters: (Node node, int originalIndexInParent)
focal_class.return: void
focal_class.signature: void resetToOriginalIndexInParent(Node node, int originalIndexInParent)
focal_class.class_method_signature: StatDisplayUtils.getOriginalIndexInParent(Node node)
focal_class.full_signature: private static int getOriginalIndexInParent(Node node)
focal_class.identifier: getOriginalIndexInParent
focal_class.modifiers: private static
focal_class.parameters: (Node node)
focal_class.return: int
focal_class.signature: int getOriginalIndexInParent(Node node)
focal_class.class_method_signature: StatDisplayUtils.createZoomOutAreaChartEventHandler(XYChart<Number, Number> chart,
                                                                            final Region root, int originalIndexInParent)
focal_class.full_signature: private static EventHandler<Event> createZoomOutAreaChartEventHandler(XYChart<Number, Number> chart,
                                                                            final Region root, int originalIndexInParent)
focal_class.identifier: createZoomOutAreaChartEventHandler
focal_class.modifiers: private static
focal_class.parameters: (XYChart<Number, Number> chart,
                                                                            final Region root, int originalIndexInParent)
focal_class.return: EventHandler<Event>
focal_class.signature: EventHandler<Event> createZoomOutAreaChartEventHandler(XYChart<Number, Number> chart,
                                                                            final Region root, int originalIndexInParent)
focal_class.class_method_signature: StatDisplayUtils.createZoomOutLineChartEventHandler(XYChart<String, Number> chart,
                                                                            final Region root, int originalIndexInParent)
focal_class.full_signature: private static EventHandler<Event> createZoomOutLineChartEventHandler(XYChart<String, Number> chart,
                                                                            final Region root, int originalIndexInParent)
focal_class.identifier: createZoomOutLineChartEventHandler
focal_class.modifiers: private static
focal_class.parameters: (XYChart<String, Number> chart,
                                                                            final Region root, int originalIndexInParent)
focal_class.return: EventHandler<Event>
focal_class.signature: EventHandler<Event> createZoomOutLineChartEventHandler(XYChart<String, Number> chart,
                                                                            final Region root, int originalIndexInParent)
focal_class.class_method_signature: StatDisplayUtils.createZoomInAreaChartEventHandler(XYChart<Number, Number> chart,
                                                                           final Region root)
focal_class.full_signature: private static EventHandler<Event> createZoomInAreaChartEventHandler(XYChart<Number, Number> chart,
                                                                           final Region root)
focal_class.identifier: createZoomInAreaChartEventHandler
focal_class.modifiers: private static
focal_class.parameters: (XYChart<Number, Number> chart,
                                                                           final Region root)
focal_class.return: EventHandler<Event>
focal_class.signature: EventHandler<Event> createZoomInAreaChartEventHandler(XYChart<Number, Number> chart,
                                                                           final Region root)
focal_class.class_method_signature: StatDisplayUtils.createZoomInLineChartEventHandler(XYChart<String, Number> chart,
                                                                           final Region root)
focal_class.full_signature: private static EventHandler<Event> createZoomInLineChartEventHandler(XYChart<String, Number> chart,
                                                                           final Region root)
focal_class.identifier: createZoomInLineChartEventHandler
focal_class.modifiers: private static
focal_class.parameters: (XYChart<String, Number> chart,
                                                                           final Region root)
focal_class.return: EventHandler<Event>
focal_class.signature: EventHandler<Event> createZoomInLineChartEventHandler(XYChart<String, Number> chart,
                                                                           final Region root)
focal_class.class_method_signature: StatDisplayUtils.createZoomOutGazeMetricsEventHandler(ImageView gazeMetrics, final Region root,
                                                                              int originalIndexInParent)
focal_class.full_signature: private static EventHandler<Event> createZoomOutGazeMetricsEventHandler(ImageView gazeMetrics, final Region root,
                                                                              int originalIndexInParent)
focal_class.identifier: createZoomOutGazeMetricsEventHandler
focal_class.modifiers: private static
focal_class.parameters: (ImageView gazeMetrics, final Region root,
                                                                              int originalIndexInParent)
focal_class.return: EventHandler<Event>
focal_class.signature: EventHandler<Event> createZoomOutGazeMetricsEventHandler(ImageView gazeMetrics, final Region root,
                                                                              int originalIndexInParent)
focal_class.class_method_signature: StatDisplayUtils.createZoomInGazeMetricsEventHandler(ImageView gazeMetrics, final Region root)
focal_class.full_signature: private static EventHandler<Event> createZoomInGazeMetricsEventHandler(ImageView gazeMetrics, final Region root)
focal_class.identifier: createZoomInGazeMetricsEventHandler
focal_class.modifiers: private static
focal_class.parameters: (ImageView gazeMetrics, final Region root)
focal_class.return: EventHandler<Event>
focal_class.signature: EventHandler<Event> createZoomInGazeMetricsEventHandler(ImageView gazeMetrics, final Region root)
focal_class.class_method_signature: StatDisplayUtils.zoomOutAndReset(Node node)
focal_class.full_signature: private static void zoomOutAndReset(Node node)
focal_class.identifier: zoomOutAndReset
focal_class.modifiers: private static
focal_class.parameters: (Node node)
focal_class.return: void
focal_class.signature: void zoomOutAndReset(Node node)
focal_class.class_method_signature: StatDisplayUtils.zoomInAndCenter(Node node, double initialWidth, double initialHeight, boolean preserveRatio)
focal_class.full_signature: private static void zoomInAndCenter(Node node, double initialWidth, double initialHeight, boolean preserveRatio)
focal_class.identifier: zoomInAndCenter
focal_class.modifiers: private static
focal_class.parameters: (Node node, double initialWidth, double initialHeight, boolean preserveRatio)
focal_class.return: void
focal_class.signature: void zoomInAndCenter(Node node, double initialWidth, double initialHeight, boolean preserveRatio)
focal_class.class_method_signature: StatDisplayUtils.convert(long totalTime)
focal_class.full_signature: public static String convert(long totalTime)
focal_class.identifier: convert
focal_class.modifiers: public static
focal_class.parameters: (long totalTime)
focal_class.return: String
focal_class.signature: String convert(long totalTime)
focal_method.body: public static AreaChart<Number, Number> buildAreaChart(LinkedList<FixationPoint> points, final Region root) {
  
          final NumberAxis xAxis = new NumberAxis();
          final NumberAxis yAxis = new NumberAxis();
  
          xAxis.setTickLabelsVisible(false);
          yAxis.setLabel("Coordinates");
  
          AreaChart<Number, Number> colorBands = new AreaChart<>(xAxis, yAxis);
          colorBands.setTitle("Color Bands");
  
          colorBands.setCreateSymbols(true);
          colorBands.setLegendVisible(true);
  
          if (points.size() > 0) {
  
              Series<Number, Number> xEyeCoordinates = new Series<>();
              xEyeCoordinates.setName("X coordinate");
  
              Series<Number, Number> yEyeCoordinates = new Series<>();
              yEyeCoordinates.setName("Y coordinate");
  
              for (FixationPoint p : points) {
                  xEyeCoordinates.getData().add(new Data<>(p.getTimeGaze(), p.getY()));
                  yEyeCoordinates.getData().add(new Data<>(p.getTimeGaze(), p.getX()));
              }
  
              colorBands.getData().addAll(xEyeCoordinates, yEyeCoordinates);
  
              EventHandler<Event> openAreaChartEvent = createZoomInAreaChartEventHandler(colorBands, root);
  
              colorBands.addEventHandler(MouseEvent.MOUSE_CLICKED, openAreaChartEvent);
  
              root.widthProperty().addListener(
                  (observable, oldValue, newValue) -> colorBands.setMaxWidth(newValue.doubleValue() * 0.4));
              root.heightProperty().addListener(
                  (observable, oldValue, newValue) -> colorBands.setMaxHeight(newValue.doubleValue() * 0.4));
              colorBands.setMaxWidth(root.getWidth() * 0.4);
              colorBands.setMaxHeight(root.getHeight() * 0.4);
  
              return colorBands;
          } else
              return null;
      }
focal_method.class_method_signature: StatDisplayUtils.buildAreaChart(LinkedList<FixationPoint> points, final Region root)
focal_method.full_signature: public static AreaChart<Number, Number> buildAreaChart(LinkedList<FixationPoint> points, final Region root)
focal_method.identifier: buildAreaChart
focal_method.invocations: setTickLabelsVisible setLabel setTitle setCreateSymbols setLegendVisible size setName setName add getData getTimeGaze getY add getData getTimeGaze getX addAll getData createZoomInAreaChartEventHandler addEventHandler addListener widthProperty setMaxWidth doubleValue addListener heightProperty setMaxHeight doubleValue setMaxWidth getWidth setMaxHeight getHeight
focal_method.modifiers: public static
focal_method.parameters: (LinkedList<FixationPoint> points, final Region root)
focal_method.return: AreaChart<Number, Number>
focal_method.signature: AreaChart<Number, Number> buildAreaChart(LinkedList<FixationPoint> points, final Region root)