--- old/application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/pages/ChartAndTableUI.java 2019-10-22 09:27:16.587080225 -0400 +++ new/application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/pages/ChartAndTableUI.java 2019-10-22 09:27:16.424077896 -0400 @@ -1,6 +1,7 @@ /* - * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. - * + * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2019, Red Hat Inc. All rights reserved. + * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * The contents of this file are subject to the terms of either the Universal Permissive License @@ -10,17 +11,17 @@ * * Redistribution and use in source and binary forms, with or without modification, are permitted * provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, this list of conditions * and the following disclaimer. - * + * * 2. Redistributions in binary form must reproduce the above copyright notice, this list of * conditions and the following disclaimer in the documentation and/or other materials provided with * the distribution. - * + * * 3. Neither the name of the copyright holder nor the names of its contributors may be used to * endorse or promote products derived from this software without specific prior written permission. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR @@ -84,16 +85,17 @@ private static final String TABLE = "table"; //$NON-NLS-1$ private static final String CHART = "chart"; //$NON-NLS-1$ private static final String SELECTED = "selected"; //$NON-NLS-1$ - private final IItemFilter pageFilter; - private final StreamModel model; + private static final int X_OFFSET = 180; + private IItemFilter pageFilter; + protected StreamModel model; protected CheckboxTableViewer chartLegend; - protected final Form form; - protected final Composite chartContainer; - protected final ChartCanvas chartCanvas; - protected final FilterComponent tableFilterComponent; - protected final ItemHistogram table; - protected final SashForm sash; - private final IPageContainer pageContainer; + protected Form form; + protected Composite chartContainer; + protected ChartCanvas chartCanvas; + protected FilterComponent tableFilterComponent; + protected ItemHistogram table; + protected SashForm sash; + private IPageContainer pageContainer; protected List allChartSeriesActions; private IItemCollection selectionItems; private IRange timeRange; @@ -103,6 +105,12 @@ ChartAndTableUI(IItemFilter pageFilter, StreamModel model, Composite parent, FormToolkit toolkit, IPageContainer pageContainer, IState state, String sectionTitle, IItemFilter tableFilter, Image icon, FlavorSelectorState flavorSelectorState) { + init(pageFilter, model, parent, toolkit, pageContainer, state, sectionTitle, tableFilter, icon, flavorSelectorState); + } + + protected void init(IItemFilter pageFilter, StreamModel model, Composite parent, FormToolkit toolkit, + IPageContainer pageContainer, IState state, String sectionTitle, IItemFilter tableFilter, Image icon, + FlavorSelectorState flavorSelectorState) { this.pageFilter = pageFilter; this.model = model; this.pageContainer = pageContainer; @@ -139,7 +147,7 @@ PersistableSashForm.loadState(sash, state.getChild(SASH)); DataPageToolkit.createChartTimestampTooltip(chartCanvas); - chart = new XYChart(pageContainer.getRecordingRange(), RendererToolkit.empty(), 180); + chart = new XYChart(pageContainer.getRecordingRange(), RendererToolkit.empty(), X_OFFSET); DataPageToolkit.setChart(chartCanvas, chart, pageContainer::showSelection); SelectionStoreActionToolkit.addSelectionStoreRangeActions(pageContainer.getSelectionStore(), chart, JfrAttributes.LIFETIME, NLS.bind(Messages.ChartAndTableUI_TIMELINE_SELECTION, form.getText()),