Author: milamber Date: Sat Mar 5 13:49:07 2016 New Revision: 1733718 URL: http://svn.apache.org/viewvc?rev=1733718&view=rev Log: Use DPI scaling of interface for high resolution devices (HiDPI support for Windows/Linux)
See https://github.com/apache/jmeter/pull/159 This closes #159 Bugzilla Id: 58426 Added: jmeter/trunk/src/core/org/apache/jmeter/images/icon_old.properties (with props) jmeter/trunk/src/core/org/apache/jmeter/images/status/ jmeter/trunk/src/core/org/apache/jmeter/images/status/22x22/ jmeter/trunk/src/core/org/apache/jmeter/images/status/32x32/ jmeter/trunk/src/core/org/apache/jmeter/images/status/48x48/ jmeter/trunk/src/core/org/apache/jmeter/images/tree/ jmeter/trunk/src/core/org/apache/jmeter/images/tree/19x19/ jmeter/trunk/src/core/org/apache/jmeter/images/tree/24x24/ jmeter/trunk/src/core/org/apache/jmeter/images/tree/32x32/ jmeter/trunk/src/core/org/apache/jmeter/images/tree/48x48/ jmeter/trunk/src/core/org/apache/jmeter/images/vrt/ jmeter/trunk/src/core/org/apache/jmeter/images/vrt/19x19/ jmeter/trunk/src/core/org/apache/jmeter/images/vrt/24x24/ jmeter/trunk/src/core/org/apache/jmeter/images/vrt/32x32/ jmeter/trunk/src/core/org/apache/jmeter/images/vrt/48x48/ Modified: jmeter/trunk/bin/jmeter.properties jmeter/trunk/src/components/org/apache/jmeter/modifiers/gui/UserParametersGui.java jmeter/trunk/src/components/org/apache/jmeter/visualizers/PropertyControlGui.java jmeter/trunk/src/components/org/apache/jmeter/visualizers/SamplerResultTab.java jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatGraphVisualizer.java jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatVisualizer.java jmeter/trunk/src/components/org/apache/jmeter/visualizers/SummaryReport.java jmeter/trunk/src/components/org/apache/jmeter/visualizers/TableVisualizer.java jmeter/trunk/src/components/org/apache/jmeter/visualizers/TreeNodeRenderer.java jmeter/trunk/src/components/org/apache/jmeter/visualizers/ViewResultsFullVisualizer.java jmeter/trunk/src/core/org/apache/jmeter/JMeter.java jmeter/trunk/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java jmeter/trunk/src/core/org/apache/jmeter/config/gui/SimpleConfigGui.java jmeter/trunk/src/core/org/apache/jmeter/gui/AbstractJMeterGuiComponent.java jmeter/trunk/src/core/org/apache/jmeter/gui/MainFrame.java jmeter/trunk/src/core/org/apache/jmeter/gui/util/FileListPanel.java jmeter/trunk/src/core/org/apache/jmeter/gui/util/JMeterToolBar.java jmeter/trunk/src/core/org/apache/jmeter/images/icon.properties jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TableEditor.java jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/AuthPanel.java jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/CookiePanel.java jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/DNSCachePanel.java jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPFileArgsPanel.java jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HeaderPanel.java jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/gui/ProxyControlGui.java jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/visualizers/RequestViewHTTP.java jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/control/gui/JMSPropertiesPanel.java jmeter/trunk/src/protocol/ldap/org/apache/jmeter/protocol/ldap/config/gui/LDAPArgumentsPanel.java jmeter/trunk/xdocs/changes.xml Modified: jmeter/trunk/bin/jmeter.properties URL: http://svn.apache.org/viewvc/jmeter/trunk/bin/jmeter.properties?rev=1733718&r1=1733717&r2=1733718&view=diff ============================================================================== --- jmeter/trunk/bin/jmeter.properties (original) +++ jmeter/trunk/bin/jmeter.properties Sat Mar 5 13:49:07 2016 @@ -151,12 +151,29 @@ jmeter.laf.mac=System #jmeter.toolbar=new,open,close,save,save_as_testplan,|,cut,copy,paste,|,expand,collapse,toggle,|,test_start,test_stop,test_shutdown,|,test_start_remote_all,test_stop_remote_all,test_shutdown_remote_all,|,test_clear,test_clear_all,|,search,search_reset,|,function_helper,help # Toolbar icons default size: 22x22. Available sizes are: 22x22, 32x32, 48x48 #jmeter.toolbar.icons.size=22x22 +# Suggest value for HiDPI mode: +#jmeter.toolbar.icons.size=48x48 # Icon definitions # default: #jmeter.icons=org/apache/jmeter/images/icon.properties # alternate: #jmeter.icons=org/apache/jmeter/images/icon_1.properties +# Historical icon set (deprecated) +#jmeter.icons=org/apache/jmeter/images/icon_old.properties + +# Tree icons default size: 19x19. Available sizes are: 19x19, 24x24, 32x32, 48x48 +# Useful for HiDPI display (see below) +#jmeter.tree.icons.size=19x19 +# Suggest value for HiDPI screen like 3200x1800: +#jmeter.tree.icons.size=32x32 + +# HiDPI mode (default: false) +# Enable to activate a 'pseudo'-hidpi mode. Allow to increase some UI elements +# which not correctly manage by JVM with high resolution screen in Linux or Windows +#jmeter.hidpi.mode=false +# HiDPI scale factor (default: 1.0, suggest value in HiDPI: 2.0) +#jmeter.hidpi.scale.factor=1.0 #Components to not display in JMeter GUI (GUI class name or static label) # These elements are deprecated and will be removed in next version: MongoDB Script, MongoDB Source Config, Distribution Graph, Spline Visualizer Modified: jmeter/trunk/src/components/org/apache/jmeter/modifiers/gui/UserParametersGui.java URL: http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/modifiers/gui/UserParametersGui.java?rev=1733718&r1=1733717&r2=1733718&view=diff ============================================================================== --- jmeter/trunk/src/components/org/apache/jmeter/modifiers/gui/UserParametersGui.java (original) +++ jmeter/trunk/src/components/org/apache/jmeter/modifiers/gui/UserParametersGui.java Sat Mar 5 13:49:07 2016 @@ -206,6 +206,10 @@ public class UserParametersGui extends A // paramTable.setCellSelectionEnabled(true); // paramTable.setPreferredScrollableViewportSize(new Dimension(100, // 70)); + // HiDPI mode management + if (HIDPI_MODE) { + paramTable.setRowHeight((int) Math.round(paramTable.getRowHeight() * HIDPI_SCALE_FACTOR)); + } paramPanel = new JPanel(new BorderLayout()); paramPanel.add(tableLabel, BorderLayout.NORTH); Modified: jmeter/trunk/src/components/org/apache/jmeter/visualizers/PropertyControlGui.java URL: http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/visualizers/PropertyControlGui.java?rev=1733718&r1=1733717&r2=1733718&view=diff ============================================================================== --- jmeter/trunk/src/components/org/apache/jmeter/visualizers/PropertyControlGui.java (original) +++ jmeter/trunk/src/components/org/apache/jmeter/visualizers/PropertyControlGui.java Sat Mar 5 13:49:07 2016 @@ -160,6 +160,10 @@ public class PropertyControlGui extends table = new JTable(tableModel); table.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer()); table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + // HiDPI mode management + if (HIDPI_MODE) { + table.setRowHeight((int) Math.round(table.getRowHeight() * HIDPI_SCALE_FACTOR)); + } return makeScrollPane(table); } Modified: jmeter/trunk/src/components/org/apache/jmeter/visualizers/SamplerResultTab.java URL: http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/visualizers/SamplerResultTab.java?rev=1733718&r1=1733717&r2=1733718&view=diff ============================================================================== --- jmeter/trunk/src/components/org/apache/jmeter/visualizers/SamplerResultTab.java (original) +++ jmeter/trunk/src/components/org/apache/jmeter/visualizers/SamplerResultTab.java Sat Mar 5 13:49:07 2016 @@ -64,6 +64,11 @@ import org.apache.jorphan.reflect.Functo */ public abstract class SamplerResultTab implements ResultRenderer { + // HiDPI mode + private static final boolean HIDPI_MODE = JMeterUtils.getPropDefault("jmeter.hidpi.mode", false); // $NON-NLS-1$ + // HiDPI mode + private static final double HIDPI_SCALE_FACTOR = Double.valueOf(JMeterUtils.getPropDefault("jmeter.hidpi.scale.factor", "1.0")); // $NON-NLS-1$ $NON-NLS-2$ + // N.B. these are not multi-threaded, so don't make it static private final DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss z"); // ISO format $NON-NLS-1$ @@ -403,7 +408,11 @@ public abstract class SamplerResultTab i paneRaw.setBorder(BorderFactory.createEmptyBorder(2, 2, 2, 2)); // Set up the 1st table Result with empty headers - tableResult = new JTable(resultModel); + tableResult = new JTable(resultModel); + // HiDPI mode management + if (HIDPI_MODE) { + tableResult.setRowHeight((int) Math.round(tableResult.getRowHeight() * HIDPI_SCALE_FACTOR)); + } tableResult.setToolTipText(JMeterUtils.getResString("textbox_tooltip_cell")); // $NON-NLS-1$ tableResult.addMouseListener(new TextBoxDoubleClick(tableResult)); setFirstColumnPreferredSize(tableResult); @@ -411,6 +420,10 @@ public abstract class SamplerResultTab i // Set up the 2nd table tableResHeaders = new JTable(resHeadersModel); + // HiDPI mode management + if (HIDPI_MODE) { + tableResHeaders.setRowHeight((int) Math.round(tableResHeaders.getRowHeight() * HIDPI_SCALE_FACTOR)); + } tableResHeaders.setToolTipText(JMeterUtils.getResString("textbox_tooltip_cell")); // $NON-NLS-1$ tableResHeaders.addMouseListener(new TextBoxDoubleClick(tableResHeaders)); setFirstColumnPreferredSize(tableResHeaders); @@ -420,6 +433,10 @@ public abstract class SamplerResultTab i // Set up the 3rd table tableResFields = new JTable(resFieldsModel); + // HiDPI mode management + if (HIDPI_MODE) { + tableResFields.setRowHeight((int) Math.round(tableResFields.getRowHeight() * HIDPI_SCALE_FACTOR)); + } tableResFields.setToolTipText(JMeterUtils.getResString("textbox_tooltip_cell")); // $NON-NLS-1$ tableResFields.addMouseListener(new TextBoxDoubleClick(tableResFields)); setFirstColumnPreferredSize(tableResFields); Modified: jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatGraphVisualizer.java URL: http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatGraphVisualizer.java?rev=1733718&r1=1733717&r2=1733718&view=diff ============================================================================== --- jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatGraphVisualizer.java (original) +++ jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatGraphVisualizer.java Sat Mar 5 13:49:07 2016 @@ -413,6 +413,10 @@ public class StatGraphVisualizer extends mainPanel.add(makeTitlePanel()); myJTable = new JTable(model); + // HiDPI mode management + if (HIDPI_MODE) { + myJTable.setRowHeight((int) Math.round(myJTable.getRowHeight() * HIDPI_SCALE_FACTOR)); + } // Fix centering of titles myJTable.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer(COLUMNS_MSG_PARAMETERS)); myJTable.setPreferredScrollableViewportSize(new Dimension(500, 70)); Modified: jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatVisualizer.java URL: http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatVisualizer.java?rev=1733718&r1=1733717&r2=1733718&view=diff ============================================================================== --- jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatVisualizer.java (original) +++ jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatVisualizer.java Sat Mar 5 13:49:07 2016 @@ -173,6 +173,10 @@ public class StatVisualizer extends Abst // SortFilterModel mySortedModel = // new SortFilterModel(myStatTableModel); myJTable = new JTable(model); + // HiDPI mode management + if (HIDPI_MODE) { + myJTable.setRowHeight((int) Math.round(myJTable.getRowHeight() * HIDPI_SCALE_FACTOR)); + } myJTable.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer(StatGraphVisualizer.COLUMNS_MSG_PARAMETERS)); myJTable.setPreferredScrollableViewportSize(new Dimension(500, 70)); RendererUtils.applyRenderers(myJTable, StatGraphVisualizer.RENDERERS); Modified: jmeter/trunk/src/components/org/apache/jmeter/visualizers/SummaryReport.java URL: http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/visualizers/SummaryReport.java?rev=1733718&r1=1733717&r2=1733718&view=diff ============================================================================== --- jmeter/trunk/src/components/org/apache/jmeter/visualizers/SummaryReport.java (original) +++ jmeter/trunk/src/components/org/apache/jmeter/visualizers/SummaryReport.java Sat Mar 5 13:49:07 2016 @@ -234,6 +234,10 @@ public class SummaryReport extends Abstr mainPanel.add(makeTitlePanel()); myJTable = new JTable(model); + // HiDPI mode management + if (HIDPI_MODE) { + myJTable.setRowHeight((int) Math.round(myJTable.getRowHeight() * HIDPI_SCALE_FACTOR)); + } myJTable.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer()); myJTable.setPreferredScrollableViewportSize(new Dimension(500, 70)); RendererUtils.applyRenderers(myJTable, RENDERERS); Modified: jmeter/trunk/src/components/org/apache/jmeter/visualizers/TableVisualizer.java URL: http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/visualizers/TableVisualizer.java?rev=1733718&r1=1733717&r2=1733718&view=diff ============================================================================== --- jmeter/trunk/src/components/org/apache/jmeter/visualizers/TableVisualizer.java (original) +++ jmeter/trunk/src/components/org/apache/jmeter/visualizers/TableVisualizer.java Sat Mar 5 13:49:07 2016 @@ -36,6 +36,7 @@ import javax.swing.border.Border; import javax.swing.border.EmptyBorder; import javax.swing.table.TableCellRenderer; +import org.apache.jmeter.JMeter; import org.apache.jmeter.gui.util.HeaderAsPropertyRenderer; import org.apache.jmeter.gui.util.HorizontalPanel; import org.apache.jmeter.samplers.Clearable; @@ -61,16 +62,18 @@ public class TableVisualizer extends Abs private static final long serialVersionUID = 240L; + private static final String iconSize = JMeterUtils.getPropDefault(JMeter.TREE_ICON_SIZE, JMeter.DEFAULT_TREE_ICON_SIZE); + // Note: the resource string won't respond to locale-changes, // however this does not matter as it is only used when pasting to the clipboard private static final ImageIcon imageSuccess = JMeterUtils.getImage( JMeterUtils.getPropDefault("viewResultsTree.success", //$NON-NLS-1$ - "icon_success_sml.gif"), //$NON-NLS-1$ + "vrt/" + iconSize + "/security-high-2.png"), //$NON-NLS-1$ $NON-NLS-2$ JMeterUtils.getResString("table_visualizer_success")); //$NON-NLS-1$ private static final ImageIcon imageFailure = JMeterUtils.getImage( JMeterUtils.getPropDefault("viewResultsTree.failure", //$NON-NLS-1$ - "icon_warning_sml.gif"), //$NON-NLS-1$ + "vrt/" + iconSize + "/security-low-2.png"), //$NON-NLS-1$ $NON-NLS-2$ JMeterUtils.getResString("table_visualizer_warning")); //$NON-NLS-1$ private static final String[] COLUMNS = new String[] { @@ -234,6 +237,10 @@ public class TableVisualizer extends Abs // Set up the table itself table = new JTable(model); + // HiDPI mode management + if (HIDPI_MODE) { + table.setRowHeight((int) Math.round(table.getRowHeight() * HIDPI_SCALE_FACTOR)); + } table.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer()); // table.getTableHeader().setReorderingAllowed(false); RendererUtils.applyRenderers(table, RENDERERS); Modified: jmeter/trunk/src/components/org/apache/jmeter/visualizers/TreeNodeRenderer.java URL: http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/visualizers/TreeNodeRenderer.java?rev=1733718&r1=1733717&r2=1733718&view=diff ============================================================================== --- jmeter/trunk/src/components/org/apache/jmeter/visualizers/TreeNodeRenderer.java (original) +++ jmeter/trunk/src/components/org/apache/jmeter/visualizers/TreeNodeRenderer.java Sat Mar 5 13:49:07 2016 @@ -26,6 +26,7 @@ import javax.swing.JTree; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeCellRenderer; +import org.apache.jmeter.JMeter; import org.apache.jmeter.samplers.SampleResult; import org.apache.jmeter.util.JMeterUtils; @@ -36,14 +37,16 @@ public class TreeNodeRenderer extends De private static final long serialVersionUID = 240L; + private static final String iconSize = JMeterUtils.getPropDefault(JMeter.TREE_ICON_SIZE, JMeter.DEFAULT_TREE_ICON_SIZE); + // Same ViewResultsTree private static final ImageIcon imageSuccess = JMeterUtils.getImage( JMeterUtils.getPropDefault("viewResultsTree.success", //$NON-NLS-1$ - "icon_success_sml.gif")); //$NON-NLS-1$ + "vrt/" + iconSize + "/security-high-2.png")); //$NON-NLS-1$ $NON-NLS-2$ private static final ImageIcon imageFailure = JMeterUtils.getImage( JMeterUtils.getPropDefault("viewResultsTree.failure", //$NON-NLS-1$ - "icon_warning_sml.gif")); //$NON-NLS-1$ + "vrt/" + iconSize + "/security-low-2.png")); //$NON-NLS-1$ $NON-NLS-2$ public TreeNodeRenderer() { super(); Modified: jmeter/trunk/src/components/org/apache/jmeter/visualizers/ViewResultsFullVisualizer.java URL: http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/visualizers/ViewResultsFullVisualizer.java?rev=1733718&r1=1733717&r2=1733718&view=diff ============================================================================== --- jmeter/trunk/src/components/org/apache/jmeter/visualizers/ViewResultsFullVisualizer.java (original) +++ jmeter/trunk/src/components/org/apache/jmeter/visualizers/ViewResultsFullVisualizer.java Sat Mar 5 13:49:07 2016 @@ -56,6 +56,7 @@ import javax.swing.tree.TreePath; import javax.swing.tree.TreeSelectionModel; import org.apache.commons.lang3.StringUtils; +import org.apache.jmeter.JMeter; import org.apache.jmeter.assertions.AssertionResult; import org.apache.jmeter.gui.util.VerticalPanel; import org.apache.jmeter.samplers.Clearable; @@ -104,13 +105,15 @@ implements ActionListener, TreeSelection protected static final String COMBO_CHANGE_COMMAND = "change_combo"; // $NON-NLS-1$ + private static final String iconSize = JMeterUtils.getPropDefault(JMeter.TREE_ICON_SIZE, JMeter.DEFAULT_TREE_ICON_SIZE); + private static final ImageIcon imageSuccess = JMeterUtils.getImage( JMeterUtils.getPropDefault("viewResultsTree.success", //$NON-NLS-1$ - "icon_success_sml.gif")); //$NON-NLS-1$ + "vrt/" + iconSize + "/security-high-2.png")); //$NON-NLS-1$ $NON-NLS-2$ private static final ImageIcon imageFailure = JMeterUtils.getImage( JMeterUtils.getPropDefault("viewResultsTree.failure", //$NON-NLS-1$ - "icon_warning_sml.gif")); //$NON-NLS-1$ + "vrt/" + iconSize + "/security-low-2.png")); //$NON-NLS-1$ $NON-NLS-2$ // Maximum size that we will display // Default limited to 10 megabytes Modified: jmeter/trunk/src/core/org/apache/jmeter/JMeter.java URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/JMeter.java?rev=1733718&r1=1733717&r2=1733718&view=diff ============================================================================== --- jmeter/trunk/src/core/org/apache/jmeter/JMeter.java (original) +++ jmeter/trunk/src/core/org/apache/jmeter/JMeter.java Sat Mar 5 13:49:07 2016 @@ -114,6 +114,13 @@ public class JMeter implements JMeterPlu public static final String JMETER_REPORT_OUTPUT_DIR_PROPERTY = "jmeter.reportgenerator.outputdir"; //$NON-NLS-1$ + // Icons size in the JMeter tree + public static final String TREE_ICON_SIZE = "jmeter.tree.icons.size"; //$NON-NLS-1$ + + public static final String DEFAULT_TREE_ICON_SIZE = "19x19"; //$NON-NLS-1$ + + protected static final String KEY_SIZE = "<SIZE>"; //$NON-NLS-1$ + // If the -t flag is to "LAST", then the last loaded file (if any) is used private static final String USE_LAST_JMX = "LAST"; // If the -j or -l flag is set to LAST or LAST.log|LAST.jtl, then the last loaded file name is used to @@ -1179,6 +1186,7 @@ public class JMeter implements JMeterPlu @Override public String[][] getIconMappings() { final String defaultIconProp = "org/apache/jmeter/images/icon.properties"; //$NON-NLS-1$ + final String iconSize = JMeterUtils.getPropDefault(TREE_ICON_SIZE, DEFAULT_TREE_ICON_SIZE); String iconProp = JMeterUtils.getPropDefault("jmeter.icons", defaultIconProp);//$NON-NLS-1$ Properties p = JMeterUtils.loadProperties(iconProp); if (p == null && !iconProp.equals(defaultIconProp)) { @@ -1198,9 +1206,9 @@ public class JMeter implements JMeterPlu String key = (String) pe.nextElement(); String[] icons = JOrphanUtils.split(p.getProperty(key), " ");//$NON-NLS-1$ iconlist[i][0] = key; - iconlist[i][1] = icons[0]; + iconlist[i][1] = icons[0].replace(KEY_SIZE, iconSize); if (icons.length > 1) { - iconlist[i][2] = icons[1]; + iconlist[i][2] = icons[1].replace(KEY_SIZE, iconSize); } i++; } Modified: jmeter/trunk/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java?rev=1733718&r1=1733717&r2=1733718&view=diff ============================================================================== --- jmeter/trunk/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java (original) +++ jmeter/trunk/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java Sat Mar 5 13:49:07 2016 @@ -63,6 +63,11 @@ public class ArgumentsPanel extends Abst private static final long serialVersionUID = 240L; + // HiDPI mode + private static final boolean HIDPI_MODE = JMeterUtils.getPropDefault("jmeter.hidpi.mode", false); // $NON-NLS-1$ + // HiDPI mode + private static final double HIDPI_SCALE_FACTOR = Double.valueOf(JMeterUtils.getPropDefault("jmeter.hidpi.scale.factor", "1.0")); // $NON-NLS-1$ $NON-NLS-2$ + /** The title label for this component. */ private JLabel tableLabel; @@ -644,6 +649,10 @@ public class ArgumentsPanel extends Abst if (this.background != null) { table.setBackground(this.background); } + // HiDPI mode management + if (HIDPI_MODE) { + table.setRowHeight((int) Math.round(table.getRowHeight() * HIDPI_SCALE_FACTOR)); + } return makeScrollPane(table); } Modified: jmeter/trunk/src/core/org/apache/jmeter/config/gui/SimpleConfigGui.java URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/config/gui/SimpleConfigGui.java?rev=1733718&r1=1733717&r2=1733718&view=diff ============================================================================== --- jmeter/trunk/src/core/org/apache/jmeter/config/gui/SimpleConfigGui.java (original) +++ jmeter/trunk/src/core/org/apache/jmeter/config/gui/SimpleConfigGui.java Sat Mar 5 13:49:07 2016 @@ -203,6 +203,10 @@ public class SimpleConfigGui extends Abs new Class[] { String.class, String.class }); table = new JTable(tableModel); + // HiDPI mode management + if (HIDPI_MODE) { + table.setRowHeight((int) Math.round(table.getRowHeight() * HIDPI_SCALE_FACTOR)); + } table.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer()); table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); return makeScrollPane(table); Modified: jmeter/trunk/src/core/org/apache/jmeter/gui/AbstractJMeterGuiComponent.java URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/gui/AbstractJMeterGuiComponent.java?rev=1733718&r1=1733717&r2=1733718&view=diff ============================================================================== --- jmeter/trunk/src/core/org/apache/jmeter/gui/AbstractJMeterGuiComponent.java (original) +++ jmeter/trunk/src/core/org/apache/jmeter/gui/AbstractJMeterGuiComponent.java Sat Mar 5 13:49:07 2016 @@ -59,6 +59,11 @@ public abstract class AbstractJMeterGuiC /** Logging */ private static final Logger log = LoggingManager.getLoggerForClass(); + + // HiDPI mode + public static final boolean HIDPI_MODE = JMeterUtils.getPropDefault("jmeter.hidpi.mode", false); // $NON-NLS-1$ + // HiDPI mode + public static final double HIDPI_SCALE_FACTOR = Double.valueOf(JMeterUtils.getPropDefault("jmeter.hidpi.scale.factor", "1.0")); // $NON-NLS-1$ $NON-NLS-2$ /** Flag indicating whether or not this component is enabled. */ private boolean enabled = true; Modified: jmeter/trunk/src/core/org/apache/jmeter/gui/MainFrame.java URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/gui/MainFrame.java?rev=1733718&r1=1733717&r2=1733718&view=diff ============================================================================== --- jmeter/trunk/src/core/org/apache/jmeter/gui/MainFrame.java (original) +++ jmeter/trunk/src/core/org/apache/jmeter/gui/MainFrame.java Sat Mar 5 13:49:07 2016 @@ -151,14 +151,16 @@ public class MainFrame extends JFrame im /** The test tree. */ private JTree tree; + private final String iconSize = JMeterUtils.getPropDefault(JMeterToolBar.TOOLBAR_ICON_SIZE, JMeterToolBar.DEFAULT_TOOLBAR_ICON_SIZE); + /** An image which is displayed when a test is running. */ - private final ImageIcon runningIcon = JMeterUtils.getImage("thread.enabled.gif");// $NON-NLS-1$ + private final ImageIcon runningIcon = JMeterUtils.getImage("status/" + iconSize +"/user-online-2.png");// $NON-NLS-1$ /** An image which is displayed when a test is not currently running. */ - private final ImageIcon stoppedIcon = JMeterUtils.getImage("thread.disabled.gif");// $NON-NLS-1$ - + private final ImageIcon stoppedIcon = JMeterUtils.getImage("status/" + iconSize +"/user-offline-2.png");// $NON-NLS-1$ + /** An image which is displayed to indicate FATAL, ERROR or WARNING. */ - private final ImageIcon warningIcon = JMeterUtils.getImage("warning.png");// $NON-NLS-1$ + private final ImageIcon warningIcon = JMeterUtils.getImage("status/" + iconSize +"/pictogram-din-w000-general.png");// $NON-NLS-1$ /** The button used to display the running/stopped image. */ private JButton runningIndicator; @@ -212,8 +214,9 @@ public class MainFrame extends JFrame im // TODO: Make the running indicator its own class instead of a JButton runningIndicator = new JButton(stoppedIcon); + runningIndicator.setFocusable(false); + runningIndicator.setBorderPainted(false); runningIndicator.setMargin(new Insets(0, 0, 0, 0)); - runningIndicator.setBorder(BorderFactory.createEmptyBorder()); testTimeDuration = new JLabel("00:00:00"); //$NON-NLS-1$ Modified: jmeter/trunk/src/core/org/apache/jmeter/gui/util/FileListPanel.java URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/gui/util/FileListPanel.java?rev=1733718&r1=1733717&r2=1733718&view=diff ============================================================================== --- jmeter/trunk/src/core/org/apache/jmeter/gui/util/FileListPanel.java (original) +++ jmeter/trunk/src/core/org/apache/jmeter/gui/util/FileListPanel.java Sat Mar 5 13:49:07 2016 @@ -47,6 +47,11 @@ public class FileListPanel extends JPane private static final long serialVersionUID = 1L; + // HiDPI mode + private static final boolean HIDPI_MODE = JMeterUtils.getPropDefault("jmeter.hidpi.mode", false); // $NON-NLS-1$ + // HiDPI mode + private static final double HIDPI_SCALE_FACTOR = Double.valueOf(JMeterUtils.getPropDefault("jmeter.hidpi.scale.factor", "1.0")); // $NON-NLS-1$ $NON-NLS-2$ + private JTable files = null; private transient ObjectTableModel tableModel = null; @@ -115,6 +120,10 @@ public class FileListPanel extends JPane this.initializeTableModel(); files = new JTable(tableModel); + // HiDPI mode management + if (HIDPI_MODE) { + files.setRowHeight((int) Math.round(files.getRowHeight() * HIDPI_SCALE_FACTOR)); + } files.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); files.revalidate(); Modified: jmeter/trunk/src/core/org/apache/jmeter/gui/util/JMeterToolBar.java URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/gui/util/JMeterToolBar.java?rev=1733718&r1=1733717&r2=1733718&view=diff ============================================================================== --- jmeter/trunk/src/core/org/apache/jmeter/gui/util/JMeterToolBar.java (original) +++ jmeter/trunk/src/core/org/apache/jmeter/gui/util/JMeterToolBar.java Sat Mar 5 13:49:07 2016 @@ -62,11 +62,11 @@ public class JMeterToolBar extends JTool protected static final String USER_DEFINED_TOOLBAR_PROPERTY_FILE = "jmeter.toolbar.icons"; //$NON-NLS-1$ - protected static final String TOOLBAR_ICON_SIZE = "jmeter.toolbar.icons.size"; //$NON-NLS-1$ + public static final String TOOLBAR_ICON_SIZE = "jmeter.toolbar.icons.size"; //$NON-NLS-1$ - protected static final String DEFAULT_TOOLBAR_ICON_SIZE = "22x22"; //$NON-NLS-1$ + public static final String DEFAULT_TOOLBAR_ICON_SIZE = "22x22"; //$NON-NLS-1$ - private static final String TOOLBAR_LIST = "jmeter.toolbar"; + protected static final String TOOLBAR_LIST = "jmeter.toolbar"; /** * Create the default JMeter toolbar Modified: jmeter/trunk/src/core/org/apache/jmeter/images/icon.properties URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/images/icon.properties?rev=1733718&r1=1733717&r2=1733718&view=diff ============================================================================== --- jmeter/trunk/src/core/org/apache/jmeter/images/icon.properties (original) +++ jmeter/trunk/src/core/org/apache/jmeter/images/icon.properties Sat Mar 5 13:49:07 2016 @@ -16,14 +16,15 @@ # Icon definition file. # Key: (super) class names # Value: icon, optionally followed by space and then the disabled icon name -org.apache.jmeter.control.gui.TestPlanGui=org/apache/jmeter/images/beaker.gif -org.apache.jmeter.timers.gui.AbstractTimerGui=org/apache/jmeter/images/timer.gif -org.apache.jmeter.threads.gui.AbstractThreadGroupGui=org/apache/jmeter/images/thread.gif -org.apache.jmeter.visualizers.gui.AbstractListenerGui=org/apache/jmeter/images/meter.png -org.apache.jmeter.config.gui.AbstractConfigGui=org/apache/jmeter/images/testtubes.png -org.apache.jmeter.processor.gui.AbstractPreProcessorGui=org/apache/jmeter/images/leafnode.gif -org.apache.jmeter.processor.gui.AbstractPostProcessorGui=org/apache/jmeter/images/leafnodeflip.gif -org.apache.jmeter.control.gui.AbstractControllerGui=org/apache/jmeter/images/knob.gif -org.apache.jmeter.samplers.gui.AbstractSamplerGui=org/apache/jmeter/images/pipet.png -org.apache.jmeter.assertions.gui.AbstractAssertionGui=org/apache/jmeter/images/question.gif -org.apache.jmeter.control.gui.WorkBenchGui=org/apache/jmeter/images/clipboard.gif \ No newline at end of file +# Special keyword "<SIZE>" for the different size of the same icon (Available sizes are: 19x19, 24x24, 32x32, 48x48, default 19x19) +org.apache.jmeter.control.gui.TestPlanGui=org/apache/jmeter/images/tree/<SIZE>/applications-science-3.png +org.apache.jmeter.timers.gui.AbstractTimerGui=org/apache/jmeter/images/tree/<SIZE>/appointment-new-3.png +org.apache.jmeter.threads.gui.AbstractThreadGroupGui=org/apache/jmeter/images/tree/<SIZE>/system-run-5.png +org.apache.jmeter.visualizers.gui.AbstractListenerGui=org/apache/jmeter/images/tree/<SIZE>/office-chart-area.png +org.apache.jmeter.config.gui.AbstractConfigGui=org/apache/jmeter/images/tree/<SIZE>/preferences-system-4.png +org.apache.jmeter.processor.gui.AbstractPreProcessorGui=org/apache/jmeter/images/tree/<SIZE>/document-import-2.png +org.apache.jmeter.processor.gui.AbstractPostProcessorGui=org/apache/jmeter/images/tree/<SIZE>/document-export-4.png +org.apache.jmeter.control.gui.AbstractControllerGui=org/apache/jmeter/images/tree/<SIZE>/view-list-tree-4.png +org.apache.jmeter.samplers.gui.AbstractSamplerGui=org/apache/jmeter/images/tree/<SIZE>/color-picker-grey.png +org.apache.jmeter.assertions.gui.AbstractAssertionGui=org/apache/jmeter/images/tree/<SIZE>/document-preview.png +org.apache.jmeter.control.gui.WorkBenchGui=org/apache/jmeter/images/tree/<SIZE>/view-pim-tasks.png Added: jmeter/trunk/src/core/org/apache/jmeter/images/icon_old.properties URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/images/icon_old.properties?rev=1733718&view=auto ============================================================================== --- jmeter/trunk/src/core/org/apache/jmeter/images/icon_old.properties (added) +++ jmeter/trunk/src/core/org/apache/jmeter/images/icon_old.properties Sat Mar 5 13:49:07 2016 @@ -0,0 +1,30 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Icon definition file. +# Key: (super) class names +# Value: icon, optionally followed by space and then the disabled icon name +# Special keyword "<SIZE>" for the different size of the same icon (Available sizes are: 19x19, 24x24, 32x32, 48x48, default 19x19) +org.apache.jmeter.control.gui.TestPlanGui=org/apache/jmeter/images/beaker.gif +org.apache.jmeter.timers.gui.AbstractTimerGui=org/apache/jmeter/images/timer.gif +org.apache.jmeter.threads.gui.AbstractThreadGroupGui=org/apache/jmeter/images/thread.gif +org.apache.jmeter.visualizers.gui.AbstractListenerGui=org/apache/jmeter/images/meter.png +org.apache.jmeter.config.gui.AbstractConfigGui=org/apache/jmeter/images/testtubes.png +org.apache.jmeter.processor.gui.AbstractPreProcessorGui=org/apache/jmeter/images/leafnode.gif +org.apache.jmeter.processor.gui.AbstractPostProcessorGui=org/apache/jmeter/images/leafnodeflip.gif +org.apache.jmeter.control.gui.AbstractControllerGui=org/apache/jmeter/images/knob.gif +org.apache.jmeter.samplers.gui.AbstractSamplerGui=org/apache/jmeter/images/pipet.png +org.apache.jmeter.assertions.gui.AbstractAssertionGui=org/apache/jmeter/images/question.gif +org.apache.jmeter.control.gui.WorkBenchGui=org/apache/jmeter/images/clipboard.gif \ No newline at end of file Propchange: jmeter/trunk/src/core/org/apache/jmeter/images/icon_old.properties ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jmeter/trunk/src/core/org/apache/jmeter/images/icon_old.properties ------------------------------------------------------------------------------ svn:mime-type = text/plain Modified: jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TableEditor.java URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TableEditor.java?rev=1733718&r1=1733717&r2=1733718&view=diff ============================================================================== --- jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TableEditor.java (original) +++ jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TableEditor.java Sat Mar 5 13:49:07 2016 @@ -61,6 +61,11 @@ import org.apache.log.Logger; public class TableEditor extends PropertyEditorSupport implements FocusListener,TestBeanPropertyEditor,TableModelListener, ClearGui { private static final Logger log = LoggingManager.getLoggerForClass(); + // HiDPI mode + public static final boolean HIDPI_MODE = JMeterUtils.getPropDefault("jmeter.hidpi.mode", false); // $NON-NLS-1$ + // HiDPI mode + public static final double HIDPI_SCALE_FACTOR = Double.valueOf(JMeterUtils.getPropDefault("jmeter.hidpi.scale.factor", "1.0")); // $NON-NLS-1$ $NON-NLS-2$ + /** * attribute name for class name of a table row; * value must be java.lang.String, or a class which supports set and get/is methods for the property name. @@ -215,6 +220,10 @@ public class TableEditor extends Propert } model.addTableModelListener(this); table = new JTable(model); + // HiDPI mode management + if (HIDPI_MODE) { + table.setRowHeight((int) Math.round(table.getRowHeight() * HIDPI_SCALE_FACTOR)); + } table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); table.addFocusListener(this); } Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/AuthPanel.java URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/AuthPanel.java?rev=1733718&r1=1733717&r2=1733718&view=diff ============================================================================== --- jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/AuthPanel.java (original) +++ jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/AuthPanel.java Sat Mar 5 13:49:07 2016 @@ -269,6 +269,10 @@ public class AuthPanel extends AbstractC public JPanel createAuthTablePanel() { // create the JTable that holds auth per row authTable = new JTable(tableModel); + // HiDPI mode management + if (HIDPI_MODE) { + authTable.setRowHeight((int) Math.round(authTable.getRowHeight() * HIDPI_SCALE_FACTOR)); + } authTable.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer()); authTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); authTable.setPreferredScrollableViewportSize(new Dimension(100, 70)); Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/CookiePanel.java URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/CookiePanel.java?rev=1733718&r1=1733717&r2=1733718&view=diff ============================================================================== --- jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/CookiePanel.java (original) +++ jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/CookiePanel.java Sat Mar 5 13:49:07 2016 @@ -368,6 +368,10 @@ public class CookiePanel extends Abstrac public JPanel createCookieTablePanel() { // create the JTable that holds one cookie per row cookieTable = new JTable(tableModel); + // HiDPI mode management + if (HIDPI_MODE) { + cookieTable.setRowHeight((int) Math.round(cookieTable.getRowHeight() * HIDPI_SCALE_FACTOR)); + } cookieTable.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer()); cookieTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); cookieTable.setPreferredScrollableViewportSize(new Dimension(100, 70)); Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/DNSCachePanel.java URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/DNSCachePanel.java?rev=1733718&r1=1733717&r2=1733718&view=diff ============================================================================== --- jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/DNSCachePanel.java (original) +++ jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/DNSCachePanel.java Sat Mar 5 13:49:07 2016 @@ -199,6 +199,10 @@ public class DNSCachePanel extends Abstr public JPanel createDnsServersTablePanel() { // create the JTable that holds header per row dnsServersTable = new JTable(dnsServersTableModel); + // HiDPI mode management + if (HIDPI_MODE) { + dnsServersTable.setRowHeight((int) Math.round(dnsServersTable.getRowHeight() * HIDPI_SCALE_FACTOR)); + } dnsServersTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); dnsServersTable.setPreferredScrollableViewportSize(new Dimension(400, 100)); Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPFileArgsPanel.java URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPFileArgsPanel.java?rev=1733718&r1=1733717&r2=1733718&view=diff ============================================================================== --- jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPFileArgsPanel.java (original) +++ jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPFileArgsPanel.java Sat Mar 5 13:49:07 2016 @@ -61,6 +61,11 @@ public class HTTPFileArgsPanel extends J private static final long serialVersionUID = 240L; + // HiDPI mode + private static final boolean HIDPI_MODE = JMeterUtils.getPropDefault("jmeter.hidpi.mode", false); // $NON-NLS-1$ + // HiDPI mode + private static final double HIDPI_SCALE_FACTOR = Double.valueOf(JMeterUtils.getPropDefault("jmeter.hidpi.scale.factor", "1.0")); // $NON-NLS-1$ $NON-NLS-2$ + /** The title label for this component. */ @Deprecated private JLabel tableLabel; @@ -344,6 +349,10 @@ public class HTTPFileArgsPanel extends J private Component makeMainPanel() { initializeTableModel(); table = new JTable(tableModel); + // HiDPI mode management + if (HIDPI_MODE) { + table.setRowHeight((int) Math.round(table.getRowHeight() * HIDPI_SCALE_FACTOR)); + } table.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer()); table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); return makeScrollPane(table); Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HeaderPanel.java URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HeaderPanel.java?rev=1733718&r1=1733717&r2=1733718&view=diff ============================================================================== --- jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HeaderPanel.java (original) +++ jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HeaderPanel.java Sat Mar 5 13:49:07 2016 @@ -279,6 +279,10 @@ public class HeaderPanel extends Abstrac public JPanel createHeaderTablePanel() { // create the JTable that holds header per row headerTable = new JTable(tableModel); + // HiDPI mode management + if (HIDPI_MODE) { + headerTable.setRowHeight((int) Math.round(headerTable.getRowHeight() * HIDPI_SCALE_FACTOR)); + } headerTable.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer()); headerTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); headerTable.setPreferredScrollableViewportSize(new Dimension(100, 70)); Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/gui/ProxyControlGui.java URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/gui/ProxyControlGui.java?rev=1733718&r1=1733717&r2=1733718&view=diff ============================================================================== --- jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/gui/ProxyControlGui.java (original) +++ jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/gui/ProxyControlGui.java Sat Mar 5 13:49:07 2016 @@ -861,6 +861,10 @@ public class ProxyControlGui extends Log private JPanel createIncludePanel() { includeModel = new PowerTableModel(new String[] { INCLUDE_COL }, new Class[] { String.class }); includeTable = new JTable(includeModel); + // HiDPI mode management + if (HIDPI_MODE) { + includeTable.setRowHeight((int) Math.round(includeTable.getRowHeight() * HIDPI_SCALE_FACTOR)); + } includeTable.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer()); includeTable.setPreferredScrollableViewportSize(new Dimension(100, 30)); @@ -877,6 +881,10 @@ public class ProxyControlGui extends Log private JPanel createExcludePanel() { excludeModel = new PowerTableModel(new String[] { EXCLUDE_COL }, new Class[] { String.class }); excludeTable = new JTable(excludeModel); + // HiDPI mode management + if (HIDPI_MODE) { + excludeTable.setRowHeight((int) Math.round(excludeTable.getRowHeight() * HIDPI_SCALE_FACTOR)); + } excludeTable.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer()); excludeTable.setPreferredScrollableViewportSize(new Dimension(100, 30)); Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/visualizers/RequestViewHTTP.java URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/visualizers/RequestViewHTTP.java?rev=1733718&r1=1733717&r2=1733718&view=diff ============================================================================== --- jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/visualizers/RequestViewHTTP.java (original) +++ jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/visualizers/RequestViewHTTP.java Sat Mar 5 13:49:07 2016 @@ -65,6 +65,11 @@ public class RequestViewHTTP implements private static final Logger log = LoggingManager.getLoggerForClass(); + // HiDPI mode + private static final boolean HIDPI_MODE = JMeterUtils.getPropDefault("jmeter.hidpi.mode", false); // $NON-NLS-1$ + // HiDPI mode + private static final double HIDPI_SCALE_FACTOR = Double.valueOf(JMeterUtils.getPropDefault("jmeter.hidpi.scale.factor", "1.0")); // $NON-NLS-1$ $NON-NLS-2$ + private static final String KEY_LABEL = "view_results_table_request_tab_http"; //$NON-NLS-1$ private static final String CHARSET_DECODE = "ISO-8859-1"; //$NON-NLS-1$ @@ -370,6 +375,10 @@ public class RequestViewHTTP implements private Component createRequestPane() { // Set up the 1st table Result with empty headers tableRequest = new JTable(requestModel); + // HiDPI mode management + if (HIDPI_MODE) { + tableRequest.setRowHeight((int) Math.round(tableRequest.getRowHeight() * HIDPI_SCALE_FACTOR)); + } tableRequest.setToolTipText(JMeterUtils.getResString("textbox_tooltip_cell")); // $NON-NLS-1$ tableRequest.addMouseListener(new TextBoxDoubleClick(tableRequest)); @@ -378,6 +387,10 @@ public class RequestViewHTTP implements // Set up the 2nd table tableParams = new JTable(paramsModel); + // HiDPI mode management + if (HIDPI_MODE) { + tableParams.setRowHeight((int) Math.round(tableParams.getRowHeight() * HIDPI_SCALE_FACTOR)); + } tableParams.setToolTipText(JMeterUtils.getResString("textbox_tooltip_cell")); // $NON-NLS-1$ tableParams.addMouseListener(new TextBoxDoubleClick(tableParams)); TableColumn column = tableParams.getColumnModel().getColumn(0); @@ -387,6 +400,10 @@ public class RequestViewHTTP implements // Set up the 3rd table tableHeaders = new JTable(headersModel); + // HiDPI mode management + if (HIDPI_MODE) { + tableHeaders.setRowHeight((int) Math.round(tableHeaders.getRowHeight() * HIDPI_SCALE_FACTOR)); + } tableHeaders.setToolTipText(JMeterUtils.getResString("textbox_tooltip_cell")); // $NON-NLS-1$ tableHeaders.addMouseListener(new TextBoxDoubleClick(tableHeaders)); setFirstColumnPreferredAndMaxWidth(tableHeaders); Modified: jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/control/gui/JMSPropertiesPanel.java URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/control/gui/JMSPropertiesPanel.java?rev=1733718&r1=1733717&r2=1733718&view=diff ============================================================================== --- jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/control/gui/JMSPropertiesPanel.java (original) +++ jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/control/gui/JMSPropertiesPanel.java Sat Mar 5 13:49:07 2016 @@ -54,6 +54,11 @@ public class JMSPropertiesPanel extends private static final Logger log = LoggingManager.getLoggerForClass(); + // HiDPI mode + private static final boolean HIDPI_MODE = JMeterUtils.getPropDefault("jmeter.hidpi.mode", false); // $NON-NLS-1$ + // HiDPI mode + private static final double HIDPI_SCALE_FACTOR = Double.valueOf(JMeterUtils.getPropDefault("jmeter.hidpi.scale.factor", "1.0")); // $NON-NLS-1$ $NON-NLS-2$ + private static final String ADD_COMMAND = "Add"; //$NON-NLS-1$ private static final String DELETE_COMMAND = "Delete"; //$NON-NLS-1$ @@ -190,6 +195,10 @@ public class JMSPropertiesPanel extends public JPanel createPropertiesPanel() { // create the JTable that holds JMSProperty per row jmsPropertiesTable = new JTable(tableModel); + // HiDPI mode management + if (HIDPI_MODE) { + jmsPropertiesTable.setRowHeight((int) Math.round(jmsPropertiesTable.getRowHeight() * HIDPI_SCALE_FACTOR)); + } jmsPropertiesTable.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer()); jmsPropertiesTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); jmsPropertiesTable.setPreferredScrollableViewportSize(new Dimension(100, 70)); Modified: jmeter/trunk/src/protocol/ldap/org/apache/jmeter/protocol/ldap/config/gui/LDAPArgumentsPanel.java URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/ldap/org/apache/jmeter/protocol/ldap/config/gui/LDAPArgumentsPanel.java?rev=1733718&r1=1733717&r2=1733718&view=diff ============================================================================== --- jmeter/trunk/src/protocol/ldap/org/apache/jmeter/protocol/ldap/config/gui/LDAPArgumentsPanel.java (original) +++ jmeter/trunk/src/protocol/ldap/org/apache/jmeter/protocol/ldap/config/gui/LDAPArgumentsPanel.java Sat Mar 5 13:49:07 2016 @@ -290,6 +290,10 @@ public class LDAPArgumentsPanel extends private Component makeMainPanel() { initializeTableModel(); table = new JTable(tableModel); + // HiDPI mode management + if (HIDPI_MODE) { + table.setRowHeight((int) Math.round(table.getRowHeight() * HIDPI_SCALE_FACTOR)); + } table.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer()); table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); return makeScrollPane(table); Modified: jmeter/trunk/xdocs/changes.xml URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1733718&r1=1733717&r2=1733718&view=diff ============================================================================== --- jmeter/trunk/xdocs/changes.xml (original) +++ jmeter/trunk/xdocs/changes.xml Sat Mar 5 13:49:07 2016 @@ -250,6 +250,7 @@ Summary <li><bug>59093</bug>Option parsing error message can be 'lost'</li> <li><bug>58715</bug>Feature request: Bundle groovy-all with JMeter</li> <li><bug>59095</bug>Remove UserParameterXMLParser that was deprecated 8 years ago. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)</li> +<li><bug>58426</bug>Use DPI scaling of interface for high resolution devices (HiDPI support for Windows/Linux) - <i>BETA</i> see hidpi properties in bin/jmeter.properties</li> </ul> <ch_section>Non-functional changes</ch_section> <ul>
