From d3f928d6b7b5fa98e101bd1aaedd1fe0993ddb58 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Tue, 23 Jul 2013 14:34:39 +0200 Subject: Support for schemaName and schemaVersion in Event --- .../java/com/c2kernel/gui/tabs/HistoryPane.java | 26 +++++++++++++++++++--- .../java/com/c2kernel/gui/tabs/ViewpointPane.java | 15 +++++++++++++ 2 files changed, 38 insertions(+), 3 deletions(-) (limited to 'src/main/java/com/c2kernel') diff --git a/src/main/java/com/c2kernel/gui/tabs/HistoryPane.java b/src/main/java/com/c2kernel/gui/tabs/HistoryPane.java index fe5c1a4..7a24f37 100644 --- a/src/main/java/com/c2kernel/gui/tabs/HistoryPane.java +++ b/src/main/java/com/c2kernel/gui/tabs/HistoryPane.java @@ -13,6 +13,8 @@ package com.c2kernel.gui.tabs; import java.awt.GridBagConstraints; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; import javax.swing.Box; import javax.swing.JButton; @@ -85,6 +87,18 @@ public class HistoryPane extends EntityTabPane implements ActionListener, Entity c.fill = GridBagConstraints.BOTH; c.gridy++; gridbag.setConstraints(eventScroll, c); add(eventScroll); + + // open viewpoint pane when outcome events are clicked on + eventTable.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + if (e.getClickCount() == 2) { + Event selected = model.getEventForRow(eventTable.getSelectedRow()); + if (selected.getSchemaName()!=null && selected.getViewName()!=null) + parent.runCommand("Data Viewer", selected.getSchemaName()+":"+selected.getViewName()); + } + } + }); } @@ -204,7 +218,7 @@ public class HistoryPane extends EntityTabPane implements ActionListener, Entity */ @Override public int getColumnCount() { - return 7; + return 8; } /** @@ -219,7 +233,8 @@ public class HistoryPane extends EntityTabPane implements ActionListener, Entity case 3: return Language.translate("Date"); case 4: return Language.translate("Agent Name"); case 5: return Language.translate("Agent Role"); - case 6: return Language.translate("View"); + case 6: return Language.translate("Schema"); + case 7: return Language.translate("View"); default: return ""; } } @@ -247,13 +262,18 @@ public class HistoryPane extends EntityTabPane implements ActionListener, Entity case 3: return event[rowIndex].getTimeString(); case 4: return event[rowIndex].getAgentName(); case 5: return event[rowIndex].getAgentRole(); - case 6: return event[rowIndex].getViewName(); + case 6: return event[rowIndex].getSchemaName(); + case 7: return event[rowIndex].getViewName(); default: return ""; } } catch (Exception e) { return null; } } + + public Event getEventForRow(int rowIndex) { + return event[rowIndex]; + } /** * @see javax.swing.table.TableModel#isCellEditable(int, int) diff --git a/src/main/java/com/c2kernel/gui/tabs/ViewpointPane.java b/src/main/java/com/c2kernel/gui/tabs/ViewpointPane.java index ab5a539..4f7db24 100644 --- a/src/main/java/com/c2kernel/gui/tabs/ViewpointPane.java +++ b/src/main/java/com/c2kernel/gui/tabs/ViewpointPane.java @@ -381,6 +381,21 @@ public class ViewpointPane extends EntityTabPane implements ItemListener, Action } @Override + public void runCommand(String command) { + String[] viewElements = command.split(":"); + if (viewElements.length!=2) return; + if (schemaList == null) run(); + schemas.setSelectedItem(viewElements[0]); + for (Viewpoint thisView : viewpointList) { + if (thisView.getName().equals(viewElements[1])) { + switchView(thisView); + return; + } + } + Logger.error("Viewpoint "+command+" not found in this item"); + } + + @Override public void add(C2KLocalObject contents) { if (contents instanceof Viewpoint) addViewpoint((Viewpoint)contents); -- cgit v1.2.3