changeset 561:995b2dd560b0

Refactor thread view review-thread: http://icedtea.classpath.org/pipermail/thermostat/2012-August/002861.html reviewed-by: omajid
author Mario Torre <neugens.limasoftware@gmail.com>
date Wed, 22 Aug 2012 19:22:52 +0200
parents e7e68d924181
children faa61b45ba32
files thread/client-common/src/main/java/com/redhat/thermostat/thread/client/common/locale/LocaleResources.java thread/client-common/src/main/resources/com/redhat/thermostat/thread/client/common/locale/strings.properties thread/client-swing/src/main/java/com/redhat/thermostat/thread/client/swing/impl/SwingThreadView.java thread/client-swing/src/main/java/com/redhat/thermostat/thread/client/swing/impl/ThreadAliveDaemonTimelinePanel.java thread/client-swing/src/main/java/com/redhat/thermostat/thread/client/swing/impl/ThreadMainPanel.java
diffstat 5 files changed, 74 insertions(+), 87 deletions(-) [+]
line wrap: on
line diff
--- a/thread/client-common/src/main/java/com/redhat/thermostat/thread/client/common/locale/LocaleResources.java	Wed Aug 22 19:22:24 2012 +0200
+++ b/thread/client-common/src/main/java/com/redhat/thermostat/thread/client/common/locale/LocaleResources.java	Wed Aug 22 19:22:52 2012 +0200
@@ -50,7 +50,7 @@
     WAITING,
     
     START_RECORDING,
-    RECORDING,
+    STOP_RECORDING,
     
     VM_CAPABILITIES,
     TABLE,
--- a/thread/client-common/src/main/resources/com/redhat/thermostat/thread/client/common/locale/strings.properties	Wed Aug 22 19:22:24 2012 +0200
+++ b/thread/client-common/src/main/resources/com/redhat/thermostat/thread/client/common/locale/strings.properties	Wed Aug 22 19:22:52 2012 +0200
@@ -10,7 +10,7 @@
 WAITING = Waiting %
 
 START_RECORDING = Start Recording
-RECORDING = Recording probes...
+STOP_RECORDING = Stop Recording
 VM_CAPABILITIES = VM Capabilities
 TABLE = Table
 
--- a/thread/client-swing/src/main/java/com/redhat/thermostat/thread/client/swing/impl/SwingThreadView.java	Wed Aug 22 19:22:24 2012 +0200
+++ b/thread/client-swing/src/main/java/com/redhat/thermostat/thread/client/swing/impl/SwingThreadView.java	Wed Aug 22 19:22:52 2012 +0200
@@ -49,11 +49,9 @@
 import com.redhat.thermostat.client.ui.SwingComponent;
 import com.redhat.thermostat.common.locale.Translate;
 import com.redhat.thermostat.swing.ChartPanel;
-
 import com.redhat.thermostat.thread.client.common.ThreadTableView;
 import com.redhat.thermostat.thread.client.common.ThreadView;
 import com.redhat.thermostat.thread.client.common.VMThreadCapabilitiesView;
-
 import com.redhat.thermostat.thread.client.common.chart.LivingDaemonThreadDifferenceChart;
 import com.redhat.thermostat.thread.client.common.locale.LocaleResources;
 
@@ -78,7 +76,7 @@
                 
                 // TODO: allow controller to define this value based on last
                 // user setting
-                panel.getSplitPane().setDividerLocation(0.30);
+                panel.getSplitPane().setDividerLocation(0.80);
             }
             
             @Override
@@ -87,17 +85,20 @@
             }
         });
         
-        panel.getLiveRecording().setText(t.localize(LocaleResources.START_RECORDING));
-        panel.getLiveRecording().addItemListener(new ItemListener() {
+        timelinePanel = new ThreadAliveDaemonTimelinePanel();
+
+        timelinePanel.setToggleText(t.localize(LocaleResources.START_RECORDING) + ":");
+        timelinePanel.getRecordButton().addItemListener(new ItemListener()
+        {
             @Override
             public void itemStateChanged(ItemEvent e) {
                 ThreadAction action = null;
                 if (e.getStateChange() == ItemEvent.SELECTED) {
                     action = ThreadAction.START_LIVE_RECORDING;
-                    panel.getLiveRecording().setText(t.localize(LocaleResources.RECORDING));
+                    timelinePanel.setToggleText(t.localize(LocaleResources.STOP_RECORDING) + ":");
                 } else {
                     action = ThreadAction.STOP_LIVE_RECORDING;
-                    panel.getLiveRecording().setText(t.localize(LocaleResources.START_RECORDING));
+                    timelinePanel.setToggleText(t.localize(LocaleResources.START_RECORDING) + ":");
                 }
                 final ThreadAction toNotify = action;
                 SwingWorker<Void, Void> worker = new SwingWorker<Void, Void>() {
@@ -111,7 +112,6 @@
             }
         });
 
-        timelinePanel = new ThreadAliveDaemonTimelinePanel();
         panel.getSplitPane().setTopComponent(timelinePanel);
         
         vmCapsView = new SwingVMThreadCapabilitiesView();
@@ -134,7 +134,7 @@
         SwingUtilities.invokeLater(new Runnable() {
             @Override
             public void run() {
-                panel.getLiveRecording().setSelected(recording);
+                timelinePanel.getRecordButton().setSelected(recording);
             }
         });
     }
--- a/thread/client-swing/src/main/java/com/redhat/thermostat/thread/client/swing/impl/ThreadAliveDaemonTimelinePanel.java	Wed Aug 22 19:22:24 2012 +0200
+++ b/thread/client-swing/src/main/java/com/redhat/thermostat/thread/client/swing/impl/ThreadAliveDaemonTimelinePanel.java	Wed Aug 22 19:22:52 2012 +0200
@@ -37,15 +37,17 @@
 package com.redhat.thermostat.thread.client.swing.impl;
 
 import javax.swing.BoxLayout;
-import javax.swing.JPanel;
 import javax.swing.GroupLayout;
 import javax.swing.GroupLayout.Alignment;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JToggleButton;
 import javax.swing.LayoutStyle.ComponentPlacement;
-import javax.swing.JLabel;
 import javax.swing.SwingConstants;
 
 import com.redhat.thermostat.common.locale.Translate;
 import com.redhat.thermostat.thread.client.common.locale.LocaleResources;
+import com.redhat.thermostat.swing.ToggleButton;
 
 @SuppressWarnings("serial")
 class ThreadAliveDaemonTimelinePanel extends JPanel {
@@ -56,6 +58,10 @@
     private JLabel daemonThreads;
     private JPanel timelinePanel;
 
+    private ToggleButton toggleButton;
+    
+    private JLabel lblNewLabel; 
+    
     /**
      * Create the panel.
      */
@@ -70,22 +76,16 @@
         
         GroupLayout groupLayout = new GroupLayout(this);
         groupLayout.setHorizontalGroup(
+            groupLayout.createParallelGroup(Alignment.TRAILING)
+                .addComponent(runningPanel, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 577, Short.MAX_VALUE)
+                .addComponent(timelinePanel, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 577, Short.MAX_VALUE)
+        );
+        groupLayout.setVerticalGroup(
             groupLayout.createParallelGroup(Alignment.LEADING)
                 .addGroup(groupLayout.createSequentialGroup()
-                    .addContainerGap()
-                    .addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
-                        .addComponent(runningPanel, GroupLayout.DEFAULT_SIZE, 426, Short.MAX_VALUE)
-                        .addComponent(timelinePanel, GroupLayout.DEFAULT_SIZE, 426, Short.MAX_VALUE))
-                    .addContainerGap())
-        );
-        groupLayout.setVerticalGroup(
-            groupLayout.createParallelGroup(Alignment.TRAILING)
-                .addGroup(Alignment.LEADING, groupLayout.createSequentialGroup()
-                    .addContainerGap()
-                    .addComponent(runningPanel, GroupLayout.PREFERRED_SIZE, 55, GroupLayout.PREFERRED_SIZE)
+                    .addComponent(runningPanel, GroupLayout.PREFERRED_SIZE, 41, GroupLayout.PREFERRED_SIZE)
                     .addPreferredGap(ComponentPlacement.RELATED)
-                    .addComponent(timelinePanel, GroupLayout.DEFAULT_SIZE, 233, Short.MAX_VALUE)
-                    .addGap(3))
+                    .addComponent(timelinePanel, GroupLayout.DEFAULT_SIZE, 254, Short.MAX_VALUE))
         );
         
         JLabel liveThreadsLabel = new JLabel(t.localize(LocaleResources.LIVE_THREADS) + ":");
@@ -97,31 +97,57 @@
         
         daemonThreads = new JLabel("-");
         daemonThreads.setHorizontalAlignment(SwingConstants.RIGHT);
+        
+        JPanel panel = new JPanel();
         GroupLayout gl_runningPanel = new GroupLayout(runningPanel);
         gl_runningPanel.setHorizontalGroup(
             gl_runningPanel.createParallelGroup(Alignment.LEADING)
                 .addGroup(gl_runningPanel.createSequentialGroup()
-                    .addGroup(gl_runningPanel.createParallelGroup(Alignment.TRAILING, false)
-                        .addComponent(liveThreadsLabel, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
-                        .addComponent(daemonThreadsLabel, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
-                    .addPreferredGap(ComponentPlacement.RELATED)
+                    .addGroup(gl_runningPanel.createParallelGroup(Alignment.LEADING)
+                        .addComponent(daemonThreadsLabel)
+                        .addComponent(liveThreadsLabel))
+                    .addGap(24)
                     .addGroup(gl_runningPanel.createParallelGroup(Alignment.LEADING, false)
                         .addComponent(daemonThreads, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                         .addComponent(liveThreads, GroupLayout.DEFAULT_SIZE, 85, Short.MAX_VALUE))
-                    .addContainerGap(221, Short.MAX_VALUE))
+                    .addPreferredGap(ComponentPlacement.RELATED)
+                    .addComponent(panel, GroupLayout.DEFAULT_SIZE, 331, Short.MAX_VALUE))
         );
         gl_runningPanel.setVerticalGroup(
-            gl_runningPanel.createParallelGroup(Alignment.LEADING)
+            gl_runningPanel.createParallelGroup(Alignment.TRAILING)
                 .addGroup(gl_runningPanel.createSequentialGroup()
                     .addGroup(gl_runningPanel.createParallelGroup(Alignment.BASELINE)
                         .addComponent(liveThreadsLabel)
                         .addComponent(liveThreads))
                     .addPreferredGap(ComponentPlacement.RELATED)
                     .addGroup(gl_runningPanel.createParallelGroup(Alignment.BASELINE)
-                        .addComponent(daemonThreadsLabel)
-                        .addComponent(daemonThreads))
-                    .addContainerGap(15, Short.MAX_VALUE))
+                        .addComponent(daemonThreads)
+                        .addComponent(daemonThreadsLabel))
+                    .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                .addComponent(panel, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 48, Short.MAX_VALUE)
         );
+        
+        toggleButton = new ToggleButton();
+        
+        lblNewLabel = new JLabel("New label");
+        GroupLayout gl_panel = new GroupLayout(panel);
+        gl_panel.setHorizontalGroup(
+            gl_panel.createParallelGroup(Alignment.TRAILING)
+                .addGroup(gl_panel.createSequentialGroup()
+                    .addContainerGap(209, Short.MAX_VALUE)
+                    .addComponent(lblNewLabel)
+                    .addPreferredGap(ComponentPlacement.RELATED)
+                    .addComponent(toggleButton, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
+        );
+        gl_panel.setVerticalGroup(
+            gl_panel.createParallelGroup(Alignment.LEADING)
+                .addGroup(gl_panel.createSequentialGroup()
+                    .addGroup(gl_panel.createParallelGroup(Alignment.TRAILING, false)
+                        .addComponent(lblNewLabel, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                        .addComponent(toggleButton, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                    .addContainerGap(24, Short.MAX_VALUE))
+        );
+        panel.setLayout(gl_panel);
         runningPanel.setLayout(gl_runningPanel);
         setLayout(groupLayout);
 
@@ -138,4 +164,12 @@
     public JPanel getTimelinePanel() {
         return timelinePanel;
     }
+    
+    public ToggleButton getRecordButton() {
+        return toggleButton;
+    }
+    
+    public void setToggleText(String text) {
+        lblNewLabel.setText(text);
+    }
 }
--- a/thread/client-swing/src/main/java/com/redhat/thermostat/thread/client/swing/impl/ThreadMainPanel.java	Wed Aug 22 19:22:24 2012 +0200
+++ b/thread/client-swing/src/main/java/com/redhat/thermostat/thread/client/swing/impl/ThreadMainPanel.java	Wed Aug 22 19:22:52 2012 +0200
@@ -39,13 +39,8 @@
 import javax.swing.BoxLayout;
 import javax.swing.GroupLayout;
 import javax.swing.GroupLayout.Alignment;
-import javax.swing.JButton;
-import javax.swing.JList;
 import javax.swing.JPanel;
-import javax.swing.JScrollPane;
 import javax.swing.JSplitPane;
-import javax.swing.JToggleButton;
-import javax.swing.LayoutStyle.ComponentPlacement;
 
 import com.redhat.thermostat.common.locale.Translate;
 import com.redhat.thermostat.swing.HeaderPanel;
@@ -55,9 +50,6 @@
 class ThreadMainPanel extends JPanel {
 
     private static final Translate t = LocaleResources.createLocalizer();
-    
-    private JToggleButton liveRecording;
-    private JButton snapshot;
     private JSplitPane splitPane;
     
     public ThreadMainPanel() {
@@ -69,8 +61,6 @@
         JPanel content = new JPanel();
         headerPanel.setContent(content);
         
-        JPanel controlPanel = new JPanel();
-        
         splitPane = new JSplitPane();
         splitPane.setOrientation(JSplitPane.VERTICAL_SPLIT);
         splitPane.setOneTouchExpandable(true);
@@ -78,61 +68,24 @@
         GroupLayout gl_content = new GroupLayout(content);
         gl_content.setHorizontalGroup(
             gl_content.createParallelGroup(Alignment.TRAILING)
-                .addGroup(gl_content.createSequentialGroup()
+                .addGroup(Alignment.LEADING, gl_content.createSequentialGroup()
                     .addContainerGap()
-                    .addComponent(splitPane, GroupLayout.DEFAULT_SIZE, 363, Short.MAX_VALUE)
-                    .addPreferredGap(ComponentPlacement.RELATED)
-                    .addComponent(controlPanel, GroupLayout.PREFERRED_SIZE, 260, GroupLayout.PREFERRED_SIZE)
+                    .addComponent(splitPane, GroupLayout.DEFAULT_SIZE, 426, Short.MAX_VALUE)
                     .addContainerGap())
         );
         gl_content.setVerticalGroup(
-            gl_content.createParallelGroup(Alignment.LEADING)
-                .addGroup(Alignment.TRAILING, gl_content.createSequentialGroup()
+            gl_content.createParallelGroup(Alignment.TRAILING)
+                .addGroup(Alignment.LEADING, gl_content.createSequentialGroup()
                     .addContainerGap()
-                    .addGroup(gl_content.createParallelGroup(Alignment.TRAILING)
-                        .addComponent(splitPane, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 313, Short.MAX_VALUE)
-                        .addComponent(controlPanel, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 323, Short.MAX_VALUE))
+                    .addComponent(splitPane, GroupLayout.DEFAULT_SIZE, 240, Short.MAX_VALUE)
                     .addContainerGap())
         );
         
-        snapshot = new JButton(t.localize(LocaleResources.THREAD_DUMP));
-        
-        liveRecording = new JToggleButton();
-        
-        JScrollPane scrollPane = new JScrollPane();
-        GroupLayout gl_controlPanel = new GroupLayout(controlPanel);
-        gl_controlPanel.setHorizontalGroup(
-            gl_controlPanel.createParallelGroup(Alignment.LEADING)
-                .addComponent(liveRecording, GroupLayout.DEFAULT_SIZE, 191, Short.MAX_VALUE)
-                .addComponent(snapshot, GroupLayout.DEFAULT_SIZE, 191, Short.MAX_VALUE)
-                .addComponent(scrollPane, GroupLayout.DEFAULT_SIZE, 191, Short.MAX_VALUE)
-        );
-        gl_controlPanel.setVerticalGroup(
-            gl_controlPanel.createParallelGroup(Alignment.LEADING)
-                .addGroup(gl_controlPanel.createSequentialGroup()
-                    .addComponent(liveRecording)
-                    .addPreferredGap(ComponentPlacement.RELATED)
-                    .addComponent(snapshot)
-                    .addPreferredGap(ComponentPlacement.RELATED)
-                    .addComponent(scrollPane, GroupLayout.DEFAULT_SIZE, 251, Short.MAX_VALUE))
-        );
-        
-        JList<String> list = new JList<>();
-        scrollPane.setViewportView(list);
-        controlPanel.setLayout(gl_controlPanel);
-        
         content.setLayout(gl_content);
         
         add(headerPanel);
     }
     
-    JToggleButton getLiveRecording() {
-        return liveRecording;
-    }
-    
-    JButton getSnapshot() {
-        return snapshot;
-    }
     public JSplitPane getSplitPane() {
         return splitPane;
     }