/* * RomRaider Open-Source Tuning, Logging and Reflashing * Copyright (C) 2006-2012 RomRaider.com * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package com.romraider.logger.ecu.ui.tab.dyno; import static java.awt.BorderLayout.CENTER; import static java.awt.BorderLayout.WEST; import static javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER; import static javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS; import java.awt.BorderLayout; import java.util.List; import javax.swing.JPanel; import javax.swing.JScrollPane; import com.romraider.editor.ecu.ECUEditor; import com.romraider.logger.ecu.definition.EcuParameter; import com.romraider.logger.ecu.definition.EcuSwitch; import com.romraider.logger.ecu.definition.ExternalData; import com.romraider.logger.ecu.ui.DataRegistrationBroker; public final class DynoTabImpl extends JPanel implements DynoTab { private static final long serialVersionUID = 2787020251963102201L; private final DynoChartPanel chartPanel = new DynoChartPanel("Engine Speed (RPM)", "Calculated Wheel Power", "Calculated Engine Torque"); private final DynoControlPanel controlPanel; public DynoTabImpl(DataRegistrationBroker broker, ECUEditor ecuEditor) { super(new BorderLayout(2, 2)); controlPanel = new DynoControlPanel(this, broker, ecuEditor, chartPanel); JScrollPane scrollPane = new JScrollPane(controlPanel, VERTICAL_SCROLLBAR_ALWAYS, HORIZONTAL_SCROLLBAR_NEVER); add(scrollPane, WEST); add(chartPanel, CENTER); } @Override public double calcRpm(double vs) { return controlPanel.calcRpm(vs); } @Override public void updateEnv(double iat, double pressure) { controlPanel.updateEnv(iat, pressure); } @Override public boolean isValidET(long now, double vs) { return controlPanel.isValidET(now, vs); } @Override public boolean isRecordET() { return controlPanel.isRecordET(); } @Override public boolean isRecordData() { return controlPanel.isRecordData(); } @Override public boolean isManual() { return controlPanel.isManual(); } @Override public boolean getEnv() { return controlPanel.getEnv(); } @Override public boolean isValidData(double rpm, double ta) { return controlPanel.isValidData(rpm, ta); } @Override public void addData(double rpm, double hp, double tq) { chartPanel.addData(rpm, hp, tq); } @Override public void addRawData(double time, double rpm) { chartPanel.addRawData(time, rpm); } @Override public void addData(double rpm, double hp) { } @Override public int getSampleCount() { return chartPanel.getSampleCount(); } @Override public void setEcuParams(List<EcuParameter> params) { controlPanel.setEcuParams(params); } @Override public void setEcuSwitches(List<EcuSwitch> switches) { controlPanel.setEcuSwitches(switches); } @Override public void setExternalDatas(List<ExternalData> external) { controlPanel.setExternalDatas(external); } @Override public JPanel getPanel() { return this; } }