From e7175f207958618596422d8991d6e9496650e411 Mon Sep 17 00:00:00 2001 From: rusefillc Date: Sun, 2 Jan 2022 00:36:58 -0500 Subject: [PATCH] list of live datas --- .../src/main/java/com/rusefi/ConsoleUI.java | 2 +- .../{FormulasPane.java => LiveDataPane.java} | 39 ++++++++++++------- 2 files changed, 25 insertions(+), 16 deletions(-) rename java_console/ui/src/main/java/com/rusefi/ui/{FormulasPane.java => LiveDataPane.java} (70%) diff --git a/java_console/ui/src/main/java/com/rusefi/ConsoleUI.java b/java_console/ui/src/main/java/com/rusefi/ConsoleUI.java index 1ff0cbf48e..50ff6e0d50 100644 --- a/java_console/ui/src/main/java/com/rusefi/ConsoleUI.java +++ b/java_console/ui/src/main/java/com/rusefi/ConsoleUI.java @@ -135,7 +135,7 @@ public class ConsoleUI { if (!linkManager.isLogViewer()) tabbedPane.addTab("Settings", tabbedPane.settingsTab.createPane()); if (!linkManager.isLogViewer()) { - tabbedPane.addTab("Formulas/Live Data", new FormulasPane(uiContext).getContent()); + tabbedPane.addTab("Live Data", new LiveDataPane(uiContext).getContent()); tabbedPane.addTab("Sensors Live Data", new SensorsLiveDataPane(uiContext).getContent()); } diff --git a/java_console/ui/src/main/java/com/rusefi/ui/FormulasPane.java b/java_console/ui/src/main/java/com/rusefi/ui/LiveDataPane.java similarity index 70% rename from java_console/ui/src/main/java/com/rusefi/ui/FormulasPane.java rename to java_console/ui/src/main/java/com/rusefi/ui/LiveDataPane.java index 4fc2b00c9d..a52c4d8571 100644 --- a/java_console/ui/src/main/java/com/rusefi/ui/FormulasPane.java +++ b/java_console/ui/src/main/java/com/rusefi/ui/LiveDataPane.java @@ -1,6 +1,5 @@ package com.rusefi.ui; -import com.opensr5.Logger; import com.rusefi.core.Sensor; import com.rusefi.livedata.LiveDataParserPanel; import com.rusefi.livedata.LiveDataView; @@ -15,31 +14,41 @@ import java.awt.event.ActionListener; /** - * todo: it was a nice prototype of jlatexmath usage but it's time to remove it soon! - * Lua nad live_data_e seems much more promising at the moment - * * Andrey Belomutskiy, (c) 2013-2020 */ -public class FormulasPane { +public class LiveDataPane { /** * this is the panel we expose to the outside world */ private final JPanel content = new JPanel(new BorderLayout()); - private final JPanel formulaProxy = new JPanel(new BorderLayout()); private boolean isPaused; - public FormulasPane(UIContext uiContext) { + public LiveDataPane(UIContext uiContext) { + JPanel vertical = new JPanel(new VerticalFlowLayout()); - for (LiveDataView view : LiveDataView.values()) - vertical.add(LiveDataParserPanel.createLiveDataParserContent(uiContext, view)); - vertical.add(formulaProxy); - JScrollPane scroll = new JScrollPane(vertical, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); + + JPanel leftList = new JPanel(new VerticalFlowLayout()); + for (LiveDataView view : LiveDataView.values()) { + JPanel liveDataParserContent = LiveDataParserPanel.createLiveDataParserContent(uiContext, view); + + JButton shortCut = new JButton(view.getFileName()); + shortCut.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + scroll.getVerticalScrollBar().setValue(liveDataParserContent.getLocation().y); + } + }); + leftList.add(shortCut); + + vertical.add(liveDataParserContent); + } + + content.add(leftList, BorderLayout.WEST); content.add(scroll, BorderLayout.CENTER); - formulaProxy.add(new JLabel("Waiting for data..."), BorderLayout.CENTER); - +/* JButton saveImage = UiUtils.createSaveImageButton(); saveImage.addActionListener(new ActionListener() { @Override @@ -49,6 +58,7 @@ public class FormulasPane { UiUtils.saveImageWithPrompt(fileName, formulaProxy, formulaProxy); } }); +*/ final JButton pauseButton = UiUtils.createPauseButton(); pauseButton.addActionListener(new ActionListener() { @@ -59,8 +69,7 @@ public class FormulasPane { } }); JPanel topButtonsPanel = new JPanel(new FlowLayout()); - topButtonsPanel.add(saveImage); - topButtonsPanel.add(pauseButton); +// todo: implement this topButtonsPanel.add(pauseButton); content.add(topButtonsPanel, BorderLayout.NORTH); JPanel bottomPanel = new JPanel(new FlowLayout());