From e37afdda1956f01237cb0fa2f8c8470bdb7403cf Mon Sep 17 00:00:00 2001 From: Tomas Slusny Date: Sat, 12 May 2018 12:32:36 +0200 Subject: [PATCH 1/3] Change default PluginPanel layout to DynamicGrid This serves as better default for new plugin panels, as it is not forcing same heihgt for all elements, what is undesired behaviour in most of the cases. The current implementations of plugin panels remains unchanged. Signed-off-by: Tomas Slusny --- .../src/main/java/net/runelite/client/ui/PluginPanel.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/ui/PluginPanel.java b/runelite-client/src/main/java/net/runelite/client/ui/PluginPanel.java index 44835b771e..73e9a92f8b 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/PluginPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/PluginPanel.java @@ -26,7 +26,6 @@ package net.runelite.client.ui; import java.awt.BorderLayout; import java.awt.Dimension; -import java.awt.GridLayout; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.ScrollPaneConstants; @@ -59,7 +58,7 @@ public abstract class PluginPanel extends JPanel if (wrap) { setBorder(BORDER_PADDING); - setLayout(new GridLayout(0, 1, 0, 3)); + setLayout(new DynamicGridLayout(0, 1, 0, 3)); setBackground(ColorScheme.DARK_GRAY_COLOR); final JPanel northPanel = new JPanel(); From 4a8ca1d1e58970c921d9eef6fb47e9e797dbbfaf Mon Sep 17 00:00:00 2001 From: Tomas Slusny Date: Sat, 12 May 2018 12:39:30 +0200 Subject: [PATCH 2/3] Change config TextField to TextArea For better readability of text configurations, change TextField to TextArea that can span multiple lines. Signed-off-by: Tomas Slusny --- .../client/plugins/config/ConfigPanel.java | 25 ++++++++----------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPanel.java index 6bd408f108..80ac7afd5f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPanel.java @@ -44,6 +44,7 @@ import java.util.Map; import java.util.TreeMap; import java.util.concurrent.ScheduledExecutorService; import javax.imageio.ImageIO; +import javax.swing.BorderFactory; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JCheckBox; @@ -57,7 +58,7 @@ import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JSpinner; -import javax.swing.JTextField; +import javax.swing.JTextArea; import javax.swing.SpinnerModel; import javax.swing.SpinnerNumberModel; import javax.swing.SwingConstants; @@ -86,7 +87,6 @@ import net.runelite.client.util.SwingUtil; @Slf4j public class ConfigPanel extends PluginPanel { - private static final int TEXT_FIELD_WIDTH = 7; private static final int SPINNER_FIELD_WIDTH = 6; private static final ImageIcon CONFIG_ICON; @@ -402,9 +402,9 @@ public class ConfigPanel extends PluginPanel configManager.setConfiguration(cd.getGroup().keyName(), cid.getItem().keyName(), "" + spinner.getValue()); } - if (component instanceof JTextField) + if (component instanceof JTextArea) { - JTextField textField = (JTextField) component; + JTextArea textField = (JTextArea) component; configManager.setConfiguration(cd.getGroup().keyName(), cid.getItem().keyName(), textField.getText()); } @@ -426,10 +426,10 @@ public class ConfigPanel extends PluginPanel scrollBarPosition = getScrollPane().getVerticalScrollBar().getValue(); removeAll(); String name = cd.getGroup().name() + " Configuration"; - JLabel title = new JLabel(name); + JLabel title = new JLabel(name, SwingConstants.CENTER); title.setForeground(Color.WHITE); title.setToolTipText(cd.getGroup().description()); - add(title, SwingConstants.CENTER); + add(title); for (ConfigItemDescriptor cid : cd.getItems()) { @@ -472,7 +472,10 @@ public class ConfigPanel extends PluginPanel if (cid.getType() == String.class) { - JTextField textField = new JTextField("", TEXT_FIELD_WIDTH); + JTextArea textField = new JTextArea(); + textField.setLineWrap(true); + textField.setWrapStyleWord(true); + textField.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); textField.setText(configManager.getConfiguration(cd.getGroup().keyName(), cid.getItem().keyName())); textField.addFocusListener(new FocusAdapter() @@ -485,14 +488,8 @@ public class ConfigPanel extends PluginPanel } }); - textField.addActionListener(e -> - { - changeConfiguration(config, textField, cd, cid); - textField.setToolTipText(textField.getText()); - }); - textField.setToolTipText(textField.getText()); - item.add(textField, BorderLayout.EAST); + item.add(textField, BorderLayout.SOUTH); } if (cid.getType() == Color.class) From 64324a0f70be3f275b8190871151cc25655f742a Mon Sep 17 00:00:00 2001 From: Tomas Slusny Date: Sat, 19 May 2018 19:17:28 +0200 Subject: [PATCH 3/3] Move highlighted/hidden to top Move the text areas for highlighted and hidden items to top of ground items config. Signed-off-by: Tomas Slusny --- .../grounditems/GroundItemsConfig.java | 180 +++++++++--------- 1 file changed, 90 insertions(+), 90 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/grounditems/GroundItemsConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/grounditems/GroundItemsConfig.java index f4c153a011..4c8ae5710d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/grounditems/GroundItemsConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/grounditems/GroundItemsConfig.java @@ -40,99 +40,11 @@ import net.runelite.client.plugins.grounditems.config.MenuHighlightMode; ) public interface GroundItemsConfig extends Config { - @ConfigItem( - keyName = "showHighlightedOnly", - name = "Show Highlighted items only", - description = "Configures whether or not to draw items only on your highlighted list", - position = 1 - ) - default boolean showHighlightedOnly() - { - return false; - } - - @ConfigItem( - keyName = "showGEPrice", - name = "Show Grand Exchange Prices", - description = "Configures whether or not to draw GE prices alongside ground items", - position = 2 - ) - default boolean showGEPrice() - { - return true; - } - - @ConfigItem( - keyName = "showHAValue", - name = "Show High Alchemy Values", - description = "Configures whether or not to draw High Alchemy values alongside ground items", - position = 3 - ) - default boolean showHAValue() - { - return false; - } - - @ConfigItem( - keyName = "showMenuItemQuantities", - name = "Show Menu Item Quantities", - description = "Configures whether or not to show the item quantities in the menu", - position = 4 - ) - default boolean showMenuItemQuantities() - { - return true; - } - - @ConfigItem( - keyName = "itemHighlightMode", - name = "Item Highlight Mode", - description = "Configures how ground items will be highlighted", - position = 5 - ) - default ItemHighlightMode itemHighlightMode() - { - return ItemHighlightMode.BOTH; - } - - @ConfigItem( - keyName = "menuHighlightMode", - name = "Menu Highlight Mode", - description = "Configures what to highlight in right-click menu", - position = 6 - ) - default MenuHighlightMode menuHighlightMode() - { - return MenuHighlightMode.NAME; - } - - @ConfigItem( - keyName = "hideUnderGeValue", - name = "Hide < GE Value", - description = "Configures hidden ground items under GE value", - position = 7 - ) - default int getHideUnderGeValue() - { - return 0; - } - - @ConfigItem( - keyName = "hideUnderHaValue", - name = "Hide < HA Value", - description = "Configures hidden ground items under High Alch value", - position = 8 - ) - default int getHideUnderHAValue() - { - return 0; - } - @ConfigItem( keyName = "highlightedItems", name = "Highlighted Items", description = "Configures specifically highlighted ground items. Format: (item), (item)", - position = 9 + position = 1 ) default String getHighlightItems() { @@ -150,7 +62,7 @@ public interface GroundItemsConfig extends Config keyName = "hiddenItems", name = "Hidden Items", description = "Configures hidden ground items. Format: (item), (item)", - position = 10 + position = 2 ) default String getHiddenItems() { @@ -164,6 +76,94 @@ public interface GroundItemsConfig extends Config ) void setHiddenItems(String key); + @ConfigItem( + keyName = "showHighlightedOnly", + name = "Show Highlighted items only", + description = "Configures whether or not to draw items only on your highlighted list", + position = 3 + ) + default boolean showHighlightedOnly() + { + return false; + } + + @ConfigItem( + keyName = "showGEPrice", + name = "Show Grand Exchange Prices", + description = "Configures whether or not to draw GE prices alongside ground items", + position = 4 + ) + default boolean showGEPrice() + { + return true; + } + + @ConfigItem( + keyName = "showHAValue", + name = "Show High Alchemy Values", + description = "Configures whether or not to draw High Alchemy values alongside ground items", + position = 5 + ) + default boolean showHAValue() + { + return false; + } + + @ConfigItem( + keyName = "showMenuItemQuantities", + name = "Show Menu Item Quantities", + description = "Configures whether or not to show the item quantities in the menu", + position = 6 + ) + default boolean showMenuItemQuantities() + { + return true; + } + + @ConfigItem( + keyName = "itemHighlightMode", + name = "Item Highlight Mode", + description = "Configures how ground items will be highlighted", + position = 7 + ) + default ItemHighlightMode itemHighlightMode() + { + return ItemHighlightMode.BOTH; + } + + @ConfigItem( + keyName = "menuHighlightMode", + name = "Menu Highlight Mode", + description = "Configures what to highlight in right-click menu", + position = 8 + ) + default MenuHighlightMode menuHighlightMode() + { + return MenuHighlightMode.NAME; + } + + @ConfigItem( + keyName = "hideUnderGeValue", + name = "Hide < GE Value", + description = "Configures hidden ground items under GE value", + position = 9 + ) + default int getHideUnderGeValue() + { + return 0; + } + + @ConfigItem( + keyName = "hideUnderHaValue", + name = "Hide < HA Value", + description = "Configures hidden ground items under High Alch value", + position = 10 + ) + default int getHideUnderHAValue() + { + return 0; + } + @ConfigItem( keyName = "defaultColor", name = "Default items color",