mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 12:48:00 +00:00
Make ItemManager derive from JPanel instead
This commit is contained in:
@@ -36,7 +36,6 @@ import javax.swing.JLabel;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JScrollBar;
|
||||
import javax.swing.JScrollPane;
|
||||
import javax.swing.JViewport;
|
||||
import javax.swing.ScrollPaneConstants;
|
||||
import javax.swing.Timer;
|
||||
|
||||
@@ -97,28 +96,6 @@ public class FScrollPanel extends JScrollPane {
|
||||
useArrowButtons = useArrowButtons0;
|
||||
getViewport().setOpaque(false);
|
||||
innerPanel.setOpaque(false);
|
||||
initialize();
|
||||
}
|
||||
|
||||
/**
|
||||
* An extension of JScrollPane that can be used as a panel and supports using arrow buttons to scroll instead of scrollbars
|
||||
*
|
||||
* @param viewport   Viewport for panel
|
||||
* @param useArrowButtons0   True to use arrow buttons to scroll, false to use scrollbars
|
||||
* @param vertical0   Vertical scroll bar policy
|
||||
* @param horizontal0   Horizontal scroll bar policy
|
||||
*/
|
||||
protected FScrollPanel(final JViewport viewport, boolean useArrowButtons0, final int vertical0, final int horizontal0) {
|
||||
super(vertical0, horizontal0);
|
||||
|
||||
innerPanel = null;
|
||||
useArrowButtons = useArrowButtons0;
|
||||
this.setViewport(viewport);
|
||||
initialize();
|
||||
}
|
||||
|
||||
private void initialize()
|
||||
{
|
||||
setOpaque(false);
|
||||
setBorder(null);
|
||||
getHorizontalScrollBar().setUnitIncrement(16);
|
||||
|
||||
@@ -54,7 +54,7 @@ import forge.util.Aggregates;
|
||||
* @param <T>
|
||||
* the generic type
|
||||
*/
|
||||
public final class ItemManager<T extends InventoryItem> extends JViewport {
|
||||
public final class ItemManager<T extends InventoryItem> extends JPanel {
|
||||
private static final long serialVersionUID = 3164349984277267922L;
|
||||
private ItemPool<T> pool;
|
||||
private final ItemManagerModel<T> model;
|
||||
@@ -66,7 +66,6 @@ public final class ItemManager<T extends InventoryItem> extends JViewport {
|
||||
|
||||
private final ItemTable<T> table;
|
||||
private final JScrollPane tableScroller;
|
||||
private final JPanel pnlContents = new JPanel();
|
||||
private final JTextField txtSearch = new FTextField.Builder().ghostText("Search").build();
|
||||
|
||||
/**
|
||||
@@ -93,12 +92,10 @@ public final class ItemManager<T extends InventoryItem> extends JViewport {
|
||||
|
||||
//build display
|
||||
this.setOpaque(false);
|
||||
this.pnlContents.setOpaque(false);
|
||||
this.pnlContents.setLayout(null);
|
||||
this.pnlContents.add(this.txtSearch);
|
||||
this.pnlContents.add(this.tableScroller);
|
||||
this.setView(this.pnlContents);
|
||||
this.pnlContents.addComponentListener(new ComponentAdapter() {
|
||||
this.setLayout(null);
|
||||
this.add(this.txtSearch);
|
||||
this.add(this.tableScroller);
|
||||
this.addComponentListener(new ComponentAdapter() {
|
||||
@Override
|
||||
public void componentResized(ComponentEvent e) {
|
||||
ItemManager.this.updateLayout();
|
||||
@@ -110,8 +107,8 @@ public final class ItemManager<T extends InventoryItem> extends JViewport {
|
||||
{
|
||||
int x = 0;
|
||||
int y = 0;
|
||||
int width = this.pnlContents.getWidth();
|
||||
int height = this.pnlContents.getHeight();
|
||||
int width = this.getWidth();
|
||||
int height = this.getHeight();
|
||||
|
||||
//position toolbar components
|
||||
int toolbarHeight = FTextField.HEIGHT + 3;
|
||||
|
||||
@@ -19,7 +19,6 @@ package forge.gui.toolbox.itemmanager;
|
||||
|
||||
import javax.swing.JScrollPane;
|
||||
|
||||
import forge.gui.toolbox.FScrollPanel;
|
||||
import forge.item.InventoryItem;
|
||||
|
||||
|
||||
@@ -28,13 +27,17 @@ import forge.item.InventoryItem;
|
||||
*
|
||||
*/
|
||||
@SuppressWarnings("serial")
|
||||
public final class ItemManagerContainer extends FScrollPanel {
|
||||
public final class ItemManagerContainer extends JScrollPane {
|
||||
public ItemManagerContainer() {
|
||||
this(null);
|
||||
}
|
||||
|
||||
public ItemManagerContainer(ItemManager<? extends InventoryItem> itemManager) {
|
||||
super(itemManager, true, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
|
||||
super(itemManager, JScrollPane.VERTICAL_SCROLLBAR_NEVER, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
|
||||
|
||||
setBorder(null);
|
||||
setOpaque(false);
|
||||
getViewport().setOpaque(false);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -44,6 +47,6 @@ public final class ItemManagerContainer extends FScrollPanel {
|
||||
* @return ItemPoolView
|
||||
*/
|
||||
public void setItemManager(ItemManager<? extends InventoryItem> itemManager) {
|
||||
this.setViewport(itemManager);
|
||||
this.getViewport().setView(itemManager);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user