Fix for toolbar, fix for large table scrollbar, added table icon to window

This commit is contained in:
Robin 2021-11-07 11:40:56 +01:00
parent 34508c4cfa
commit 57c3d23d82
10 changed files with 65 additions and 56 deletions

View File

@ -172,7 +172,6 @@ public class ECUEditor extends AbstractFrame {
toolBar = new ECUEditorToolBar(rb.getString("EDTOOLS"));
tableToolBar = new TableToolBar();
tableToolBar.updateTableToolBar();
CustomToolbarLayout toolBarLayout = new CustomToolbarLayout(
FlowLayout.LEFT, 0, 0);
@ -404,16 +403,14 @@ public class ECUEditor extends AbstractFrame {
// frame not added. Draw table and add the frame.
TableView v = frame.getTableView();
if(v!=null)v.drawTable();
if(v!=null) v.drawTable();
rightPanel.add(frame);
frame.pack();
rightPanel.add(frame);
rightPanel.repaint();
}
public void removeDisplayTable(TableFrame frame) {
frame.setVisible(false);
this.getTableToolBar().updateTableToolBar();
rightPanel.remove(frame);
rightPanel.validate();
refreshUI();
@ -518,7 +515,6 @@ public class ECUEditor extends AbstractFrame {
{
getToolBar().updateButtons();
getEditorMenuBar().updateMenu();
getTableToolBar().updateTableToolBar();
imageList.updateUI();
imageList.repaint();
rightPanel.updateUI();

View File

@ -88,8 +88,6 @@ public class MDIDesktopPane extends JDesktopPane {
Component retval = super.add(frame);
frame.setLocation(p.x, p.y);
checkDesktopSize();
if (frame.isResizable()) {
w = getWidth() - (getWidth() / 3);
h = getHeight() - (getHeight() / 3);
@ -104,9 +102,9 @@ public class MDIDesktopPane extends JDesktopPane {
moveToFront(frame);
frame.setVisible(true);
frame.pack();
if(frame instanceof TableFrame) {
getEditor().getTableToolBar().updateTableToolBar();
((TableFrame) frame).RegisterTable();
}
@ -115,14 +113,19 @@ public class MDIDesktopPane extends JDesktopPane {
} catch (PropertyVetoException e) {
frame.toBack();
}
checkDesktopSize();
return retval;
}
@Override
public void remove(Component c) {
super.remove(c);
getEditor().getTableToolBar().updateTableToolBar();
if(c instanceof TableFrame) {
((TableFrame) c).DeregisterTable();
}
checkDesktopSize();
}
@ -182,7 +185,7 @@ public class MDIDesktopPane extends JDesktopPane {
setAllSize(new Dimension(width, height));
}
private void checkDesktopSize() {
public void checkDesktopSize() {
if (getParent() != null && isVisible()) {
manager.resizeDesktop();
}

View File

@ -53,7 +53,24 @@ public class RomCellRenderer implements TreeCellRenderer {
carInfo.setHorizontalAlignment(JLabel.CENTER);
}
public static ImageIcon getIconForTable(Table t) {
ImageIcon icon = null;
// display icon
if (t.getType() == Table.TableType.TABLE_1D) {
icon = new ImageIcon(RomCellRenderer.class.getResource("/graphics/1d.gif"));
} else if (t.getType() == Table.TableType.TABLE_2D) {
icon = new ImageIcon(RomCellRenderer.class.getResource("/graphics/2d.gif"));
}else if (t.getType() == Table.TableType.TABLE_3D) {
icon = new ImageIcon(RomCellRenderer.class.getResource("/graphics/3d.gif"));
} else if (t.getType() == Table.TableType.SWITCH) {
icon = new ImageIcon(RomCellRenderer.class.getResource("/graphics/switch.gif"));
}
return icon;
}
@Override
public Component getTreeCellRendererComponent(JTree tree, Object value,
boolean selected, boolean expanded, boolean leaf, int row,
@ -104,19 +121,8 @@ public class RomCellRenderer implements TreeCellRenderer {
renderer.setBorder(createLineBorder(Color.WHITE));
JLabel tableName = new JLabel("");
renderer.setBackground(Color.WHITE);
// display icon
if (table.getType() == Table.TableType.TABLE_1D) {
tableName = new JLabel(table.getName() + " ", new ImageIcon(getClass().getResource("/graphics/1d.gif")), JLabel.LEFT);
} else if (table.getType() == Table.TableType.TABLE_2D) {
tableName = new JLabel(table.getName() + " ", new ImageIcon(getClass().getResource("/graphics/2d.gif")), JLabel.LEFT);
//}else if (table.getType() == Table.TableType.TABLE_2D_SWITCHABLE) {
// tableName = new JLabel(table.getName() + " ", new ImageIcon(getClass().getResource("/graphics/2d_masked.gif")), JLabel.LEFT);
}else if (table.getType() == Table.TableType.TABLE_3D) {
tableName = new JLabel(table.getName() + " ", new ImageIcon(getClass().getResource("/graphics/3d.gif")), JLabel.LEFT);
} else if (table.getType() == Table.TableType.SWITCH) {
tableName = new JLabel(table.getName() + " ", new ImageIcon(getClass().getResource("/graphics/switch.gif")), JLabel.LEFT);
}
tableName = new JLabel (table.getName() + " ", getIconForTable(table), JLabel.LEFT);
// set color
renderer.add(tableName);

View File

@ -26,7 +26,10 @@ import java.awt.event.ActionListener;
import java.text.MessageFormat;
import java.util.ResourceBundle;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JOptionPane;
import javax.swing.JRadioButtonMenuItem;
@ -43,6 +46,23 @@ import com.romraider.maps.TableView;
import com.romraider.maps.UserLevelException;
import com.romraider.util.ResourceUtil;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridLayout;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTree;
import javax.swing.tree.DefaultTreeCellRenderer;
import javax.swing.tree.TreeCellRenderer;
import com.romraider.maps.Rom;
import com.romraider.maps.Table;
public class TableFrame extends JInternalFrame implements InternalFrameListener, ActionListener {
private static final long serialVersionUID = -2651279694660392351L;
@ -55,11 +75,14 @@ public class TableFrame extends JInternalFrame implements InternalFrameListener,
super(title, true, true);
this.tableView = tableView;
Table t = tableView.getTable();
Icon icon = RomCellRenderer.getIconForTable(t);
setFrameIcon(icon);
t.setTableFrame(this);
add(tableView);
tableView.repaint();
setFrameIcon(null);
setBorder(createBevelBorder(0));
if (System.getProperty("os.name").startsWith("Mac OS"))
putClientProperty("JInternalFrame.isPalette", true);
@ -67,13 +90,17 @@ public class TableFrame extends JInternalFrame implements InternalFrameListener,
tableMenuBar = new TableMenuBar(this);
setJMenuBar(tableMenuBar);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
addInternalFrameListener(this);
addInternalFrameListener(this);
}
public void RegisterTable() {
TableUpdateHandler.getInstance().registerTable(this.getTable());
}
public void DeregisterTable() {
TableUpdateHandler.getInstance().deregisterTable(this.getTable());
}
private void updateToolbar(Table t) {
ECUEditor parent = getEditor();
parent.getTableToolBar().updateTableToolBar(t);
@ -92,12 +119,11 @@ public class TableFrame extends JInternalFrame implements InternalFrameListener,
}
@Override
public void internalFrameClosing(InternalFrameEvent e) {
TableUpdateHandler.getInstance().deregisterTable(this.getTable());
}
public void internalFrameClosing(InternalFrameEvent e) {}
@Override
public void internalFrameOpened(InternalFrameEvent e) {}
@Override
public void internalFrameClosed(InternalFrameEvent e) {}
@Override

View File

@ -267,6 +267,7 @@ public class TableToolBar extends JToolBar implements MouseListener, ItemListene
setValue.getInputMap().put(enter, "enterAction");
this.setEnabled(true);
toggleTableToolBar(null);
}
public void updateIcons() {
@ -288,20 +289,6 @@ public class TableToolBar extends JToolBar implements MouseListener, ItemListene
return imageIcon;
}
public Table getTable() {
JInternalFrame frame = ECUEditorManager.getECUEditor().getRightPanel().getSelectedFrame();
if(null == frame) {
return null;
}
if( !(frame instanceof TableFrame) ) {
return null;
}
return ((TableFrame)frame).getTable();
}
@Override
public void setBorder(Border border) {
if(SettingsManager.getSettings().isShowTableToolbarBorder()) {
@ -310,15 +297,7 @@ public class TableToolBar extends JToolBar implements MouseListener, ItemListene
super.setBorder(BorderFactory.createEmptyBorder());
}
}
public void updateTableToolBar() {
Table t = getTable();
if(t != null)
this.updateTableToolBar(t);
}
private void saveFineCourseValuesInTable(Table t) {
if(t == null || t.getCurrentScale() == null) return;
@ -346,7 +325,6 @@ public class TableToolBar extends JToolBar implements MouseListener, ItemListene
if(incCoarse!=0 && incFine != 0) {
t.updateIncrementDecrementValues(incFine,incCoarse);
}
}
public void updateTableToolBar(Table selectedTable) {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 304 B

After

Width:  |  Height:  |  Size: 307 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 604 B

After

Width:  |  Height:  |  Size: 613 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 591 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 641 B

After

Width:  |  Height:  |  Size: 650 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 193 B

After

Width:  |  Height:  |  Size: 197 B