mirror of https://github.com/rusefi/RomRaider.git
UI Settings:
Click Behavior - Click behavior open/close: click to open the table. If the table is open the next click will close the table. - Click behavior open/focus: click to open the table. If the table is open the next click will focus the table. Open Table At [0,0] - If checked all newly opened tables will open at the point [0,0] - If not checked all newly opened tables will cascade from the current selected frame location. If no table is selected the tables will cascade from the frame at index [0]. - Moved adding the Rom node to the UI behind applying the table colors.
This commit is contained in:
parent
b46b79b6a9
commit
76260cf3cf
|
@ -167,6 +167,7 @@ public class Settings implements Serializable {
|
||||||
private Color axisColor = new Color(255, 255, 255);
|
private Color axisColor = new Color(255, 255, 255);
|
||||||
private Color warningColor = new Color(255, 0, 0);
|
private Color warningColor = new Color(255, 0, 0);
|
||||||
private int tableClickCount = 1; // number of clicks to open table
|
private int tableClickCount = 1; // number of clicks to open table
|
||||||
|
private int tableClickBehavior = 0; // TableTreeNode click behavior. 0=open/close frame, 1=open/focus frame
|
||||||
|
|
||||||
private String loggerPort;
|
private String loggerPort;
|
||||||
private String loggerPortDefault;
|
private String loggerPortDefault;
|
||||||
|
@ -208,6 +209,7 @@ public class Settings implements Serializable {
|
||||||
|
|
||||||
private boolean openExpanded = true;
|
private boolean openExpanded = true;
|
||||||
private boolean showTableToolbarBorder = false;
|
private boolean showTableToolbarBorder = false;
|
||||||
|
private boolean alwaysOpenTableAtZero = false;
|
||||||
|
|
||||||
private static Map<String, IntfKitSensor> phidgetSensors;
|
private static Map<String, IntfKitSensor> phidgetSensors;
|
||||||
|
|
||||||
|
@ -396,6 +398,16 @@ public class Settings implements Serializable {
|
||||||
this.tableClickCount = tableClickCount;
|
this.tableClickCount = tableClickCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getTableClickBehavior() {
|
||||||
|
return tableClickBehavior;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTableClickBehavior(int clickBehavior) {
|
||||||
|
// 0 = open/close
|
||||||
|
// 1 = open/focus
|
||||||
|
this.tableClickBehavior = clickBehavior;
|
||||||
|
}
|
||||||
|
|
||||||
public String getRecentVersion() {
|
public String getRecentVersion() {
|
||||||
return recentVersion;
|
return recentVersion;
|
||||||
}
|
}
|
||||||
|
@ -766,6 +778,14 @@ public class Settings implements Serializable {
|
||||||
this.showTableToolbarBorder = showBorder;
|
this.showTableToolbarBorder = showBorder;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isAlwaysOpenTableAtZero() {
|
||||||
|
return alwaysOpenTableAtZero;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAlwaysOpenTableAtZero(boolean openAtZero) {
|
||||||
|
this.alwaysOpenTableAtZero = openAtZero;
|
||||||
|
}
|
||||||
|
|
||||||
public static final Map<String, IntfKitSensor> getPhidgetSensors() {
|
public static final Map<String, IntfKitSensor> getPhidgetSensors() {
|
||||||
return Settings.phidgetSensors;
|
return Settings.phidgetSensors;
|
||||||
}
|
}
|
||||||
|
|
|
@ -55,6 +55,7 @@ import java.util.Vector;
|
||||||
|
|
||||||
import javax.swing.ImageIcon;
|
import javax.swing.ImageIcon;
|
||||||
import javax.swing.JCheckBox;
|
import javax.swing.JCheckBox;
|
||||||
|
import javax.swing.JInternalFrame;
|
||||||
import javax.swing.JLabel;
|
import javax.swing.JLabel;
|
||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
import javax.swing.JScrollPane;
|
import javax.swing.JScrollPane;
|
||||||
|
@ -279,6 +280,7 @@ public class ECUEditor extends AbstractFrame {
|
||||||
|
|
||||||
public void addRom(Rom input) {
|
public void addRom(Rom input) {
|
||||||
input.refreshDisplayedTables();
|
input.refreshDisplayedTables();
|
||||||
|
input.applyTableColorSettings();
|
||||||
|
|
||||||
// add to ecu image list pane
|
// add to ecu image list pane
|
||||||
getImageRoot().add(input);
|
getImageRoot().add(input);
|
||||||
|
@ -320,20 +322,48 @@ public class ECUEditor extends AbstractFrame {
|
||||||
infoPanel.add(check);
|
infoPanel.add(check);
|
||||||
showMessageDialog(this, infoPanel, "ECU Revision is Obsolete", INFORMATION_MESSAGE);
|
showMessageDialog(this, infoPanel, "ECU Revision is Obsolete", INFORMATION_MESSAGE);
|
||||||
}
|
}
|
||||||
input.applyTableColorSettings();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void displayTable(TableFrame frame) {
|
public void displayTable(TableFrame frame) {
|
||||||
try {
|
try {
|
||||||
|
// check if frame has been added.
|
||||||
|
for(JInternalFrame curFrame : getRightPanel().getAllFrames()) {
|
||||||
|
if(curFrame.equals(frame)) {
|
||||||
|
// table is already open.
|
||||||
|
if(1 == getSettings().getTableClickBehavior()) { // open/focus frame
|
||||||
|
// table is already open, so set focus on the frame.
|
||||||
|
boolean selected = true;
|
||||||
|
frame.toFront();
|
||||||
|
try {
|
||||||
|
frame.setSelected(true);
|
||||||
|
} catch (PropertyVetoException e) {
|
||||||
|
frame.toBack();
|
||||||
|
selected = false;
|
||||||
|
}
|
||||||
|
if(selected) {
|
||||||
|
frame.requestFocusInWindow();
|
||||||
|
}
|
||||||
|
} else { // default to open/close frame
|
||||||
|
// table is already open, so close the frame.
|
||||||
|
rightPanel.remove(frame);
|
||||||
|
frame.setVisible(false);
|
||||||
|
try {
|
||||||
|
frame.setClosed(true);
|
||||||
|
} catch (PropertyVetoException e) {
|
||||||
|
; // Do nothing.
|
||||||
|
}
|
||||||
|
frame.dispose();
|
||||||
|
}
|
||||||
|
frame.pack();
|
||||||
|
rightPanel.repaint();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// frame not added. add the frame.
|
||||||
rightPanel.add(frame);
|
rightPanel.add(frame);
|
||||||
} catch (IllegalArgumentException ex) {
|
} catch (IllegalArgumentException ex) {
|
||||||
// table is already open, so set focus
|
;// Do nothing.
|
||||||
frame.toFront();
|
|
||||||
try {
|
|
||||||
frame.setSelected(true);
|
|
||||||
} catch (PropertyVetoException e) {
|
|
||||||
}
|
|
||||||
frame.requestFocusInWindow();
|
|
||||||
}
|
}
|
||||||
frame.pack();
|
frame.pack();
|
||||||
rightPanel.repaint();
|
rightPanel.repaint();
|
||||||
|
|
|
@ -59,30 +59,36 @@ public class MDIDesktopPane extends JDesktopPane {
|
||||||
}
|
}
|
||||||
|
|
||||||
public Component add(JInternalFrame frame) {
|
public Component add(JInternalFrame frame) {
|
||||||
JInternalFrame[] array = getAllFrames();
|
|
||||||
Point p;
|
Point p;
|
||||||
int w;
|
int w;
|
||||||
int h;
|
int h;
|
||||||
|
|
||||||
// check if frame has been added.
|
// get frame location.
|
||||||
for(JInternalFrame curFrame : array) {
|
if(getEditor().getSettings().isAlwaysOpenTableAtZero()) {
|
||||||
if(curFrame.equals(frame)) {
|
p = new Point(0, 0);
|
||||||
throw new IllegalArgumentException("The frame has been added.");
|
} else {
|
||||||
|
if (getAllFrames().length > 0) {
|
||||||
|
JInternalFrame selectedFrame = getSelectedFrame();
|
||||||
|
if(null == selectedFrame) {
|
||||||
|
// if none selected get the location at index 0.
|
||||||
|
p = getAllFrames()[0].getLocation();
|
||||||
|
} else {
|
||||||
|
// get the selected frame location and open off of that location.
|
||||||
|
p = selectedFrame.getLocation();
|
||||||
|
}
|
||||||
|
|
||||||
|
p.x = p.x + Settings.FRAME_OFFSET;
|
||||||
|
p.y = p.y + Settings.FRAME_OFFSET;
|
||||||
|
} else {
|
||||||
|
p = new Point(0, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Component retval = super.add(frame);
|
Component retval = super.add(frame);
|
||||||
|
frame.setLocation(p.x, p.y);
|
||||||
|
|
||||||
checkDesktopSize();
|
checkDesktopSize();
|
||||||
|
|
||||||
if (array.length > 0) {
|
|
||||||
p = array[0].getLocation();
|
|
||||||
p.x = p.x + Settings.FRAME_OFFSET;
|
|
||||||
p.y = p.y + Settings.FRAME_OFFSET;
|
|
||||||
} else {
|
|
||||||
p = new Point(0, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
frame.setLocation(p.x, p.y);
|
|
||||||
if (frame.isResizable()) {
|
if (frame.isResizable()) {
|
||||||
w = getWidth() - (getWidth() / 3);
|
w = getWidth() - (getWidth() / 3);
|
||||||
h = getHeight() - (getHeight() / 3);
|
h = getHeight() - (getHeight() / 3);
|
||||||
|
@ -114,9 +120,7 @@ public class MDIDesktopPane extends JDesktopPane {
|
||||||
@Override
|
@Override
|
||||||
public void remove(Component c) {
|
public void remove(Component c) {
|
||||||
super.remove(c);
|
super.remove(c);
|
||||||
|
|
||||||
getEditor().getTableToolBar().updateTableToolBar();
|
getEditor().getTableToolBar().updateTableToolBar();
|
||||||
|
|
||||||
checkDesktopSize();
|
checkDesktopSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -30,6 +30,7 @@ import java.io.File;
|
||||||
import java.util.StringTokenizer;
|
import java.util.StringTokenizer;
|
||||||
|
|
||||||
import javax.swing.ButtonGroup;
|
import javax.swing.ButtonGroup;
|
||||||
|
import javax.swing.DefaultComboBoxModel;
|
||||||
import javax.swing.GroupLayout;
|
import javax.swing.GroupLayout;
|
||||||
import javax.swing.GroupLayout.Alignment;
|
import javax.swing.GroupLayout.Alignment;
|
||||||
import javax.swing.JCheckBox;
|
import javax.swing.JCheckBox;
|
||||||
|
@ -40,6 +41,7 @@ import javax.swing.JPanel;
|
||||||
import javax.swing.JRadioButton;
|
import javax.swing.JRadioButton;
|
||||||
import javax.swing.JTextField;
|
import javax.swing.JTextField;
|
||||||
import javax.swing.LayoutStyle.ComponentPlacement;
|
import javax.swing.LayoutStyle.ComponentPlacement;
|
||||||
|
import javax.swing.UIManager;
|
||||||
import javax.swing.border.TitledBorder;
|
import javax.swing.border.TitledBorder;
|
||||||
|
|
||||||
import ZoeloeSoft.projects.JFontChooser.JFontChooser;
|
import ZoeloeSoft.projects.JFontChooser.JFontChooser;
|
||||||
|
@ -75,6 +77,7 @@ public class SettingsForm extends JFrame implements MouseListener {
|
||||||
btnRemoveAssocs.addMouseListener(this);
|
btnRemoveAssocs.addMouseListener(this);
|
||||||
|
|
||||||
tableClickCount.setBackground(Color.WHITE);
|
tableClickCount.setBackground(Color.WHITE);
|
||||||
|
tableClickBehavior.setBackground(Color.WHITE);
|
||||||
|
|
||||||
// disable file association buttons if user is not in Windows
|
// disable file association buttons if user is not in Windows
|
||||||
StringTokenizer osName = new StringTokenizer(System.getProperties().getProperty("os.name"));
|
StringTokenizer osName = new StringTokenizer(System.getProperties().getProperty("os.name"));
|
||||||
|
@ -114,6 +117,12 @@ public class SettingsForm extends JFrame implements MouseListener {
|
||||||
tableClickCount.setSelectedIndex(1);
|
tableClickCount.setSelectedIndex(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(1 == settings.getTableClickBehavior()) { // open/focus
|
||||||
|
tableClickBehavior.setSelectedIndex(1);
|
||||||
|
} else { // open/close
|
||||||
|
tableClickBehavior.setSelectedIndex(0);
|
||||||
|
}
|
||||||
|
|
||||||
valueLimitWarning.setSelected(settings.isValueLimitWarning());
|
valueLimitWarning.setSelected(settings.isValueLimitWarning());
|
||||||
warningColor.setBackground(settings.getWarningColor());
|
warningColor.setBackground(settings.getWarningColor());
|
||||||
|
|
||||||
|
@ -130,6 +139,7 @@ public class SettingsForm extends JFrame implements MouseListener {
|
||||||
|
|
||||||
chckbxShowTableToolbar.setSelected(settings.isShowTableToolbarBorder());
|
chckbxShowTableToolbar.setSelected(settings.isShowTableToolbarBorder());
|
||||||
chckbxOpenRomNode.setSelected(settings.isOpenExpanded());
|
chckbxOpenRomNode.setSelected(settings.isOpenExpanded());
|
||||||
|
chckbxOpenTablesAt.setSelected(settings.isAlwaysOpenTableAtZero());
|
||||||
}
|
}
|
||||||
|
|
||||||
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
|
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
|
||||||
|
@ -176,13 +186,11 @@ public class SettingsForm extends JFrame implements MouseListener {
|
||||||
extensionBin = new javax.swing.JCheckBox();
|
extensionBin = new javax.swing.JCheckBox();
|
||||||
btnAddAssocs = new javax.swing.JButton();
|
btnAddAssocs = new javax.swing.JButton();
|
||||||
btnRemoveAssocs = new javax.swing.JButton();
|
btnRemoveAssocs = new javax.swing.JButton();
|
||||||
jLabel1 = new javax.swing.JLabel();
|
|
||||||
tableClickCount = new javax.swing.JComboBox();
|
|
||||||
editorIconsPanel = new javax.swing.JPanel();
|
editorIconsPanel = new javax.swing.JPanel();
|
||||||
tableIconsPanel = new javax.swing.JPanel();;
|
tableIconsPanel = new javax.swing.JPanel();
|
||||||
|
tableClickBehavior = new javax.swing.JComboBox();
|
||||||
chckbxShowTableToolbar = new JCheckBox("Show table toolbar border");
|
labelTableClick = new javax.swing.JLabel();
|
||||||
chckbxOpenRomNode = new JCheckBox("Open rom node expanded");
|
tableClickCount = new javax.swing.JComboBox();
|
||||||
|
|
||||||
clipboardButtonGroup = new ButtonGroup();
|
clipboardButtonGroup = new ButtonGroup();
|
||||||
rdbtnDefault = new JRadioButton("RomRaider Default");
|
rdbtnDefault = new JRadioButton("RomRaider Default");
|
||||||
|
@ -399,10 +407,6 @@ public class SettingsForm extends JFrame implements MouseListener {
|
||||||
.add(extensionBin)))
|
.add(extensionBin)))
|
||||||
);
|
);
|
||||||
|
|
||||||
jLabel1.setText("click to open tables");
|
|
||||||
|
|
||||||
tableClickCount.setModel(new javax.swing.DefaultComboBoxModel(new String[]{"Single", "Double"}));
|
|
||||||
|
|
||||||
initTabs();
|
initTabs();
|
||||||
|
|
||||||
settingsTabbedPane.addTab("General", jPanelDefault);
|
settingsTabbedPane.addTab("General", jPanelDefault);
|
||||||
|
@ -448,52 +452,100 @@ public class SettingsForm extends JFrame implements MouseListener {
|
||||||
}// </editor-fold>//GEN-END:initComponents
|
}// </editor-fold>//GEN-END:initComponents
|
||||||
|
|
||||||
private void initTabs() {
|
private void initTabs() {
|
||||||
|
|
||||||
|
JPanel panelUISettings = new JPanel();
|
||||||
|
panelUISettings.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "UI Settings", TitledBorder.LEADING, TitledBorder.TOP, null, null));
|
||||||
// Init Default Tab Panel
|
// Init Default Tab Panel
|
||||||
GroupLayout jPanelDefaultLayout = new GroupLayout(jPanelDefault);
|
GroupLayout jPanelDefaultLayout = new GroupLayout(jPanelDefault);
|
||||||
jPanelDefaultLayout.setHorizontalGroup(
|
jPanelDefaultLayout.setHorizontalGroup(
|
||||||
jPanelDefaultLayout.createParallelGroup(Alignment.LEADING)
|
jPanelDefaultLayout.createParallelGroup(Alignment.LEADING)
|
||||||
.addGroup(jPanelDefaultLayout.createSequentialGroup()
|
.addGroup(jPanelDefaultLayout.createSequentialGroup()
|
||||||
|
.addContainerGap()
|
||||||
.addGroup(jPanelDefaultLayout.createParallelGroup(Alignment.LEADING)
|
.addGroup(jPanelDefaultLayout.createParallelGroup(Alignment.LEADING)
|
||||||
.addGroup(jPanelDefaultLayout.createSequentialGroup()
|
.addComponent(panelUISettings, GroupLayout.DEFAULT_SIZE, 407, Short.MAX_VALUE)
|
||||||
.addContainerGap()
|
.addComponent(obsoleteWarning)
|
||||||
.addGroup(jPanelDefaultLayout.createParallelGroup(Alignment.LEADING)
|
.addComponent(calcConflictWarning)
|
||||||
.addComponent(calcConflictWarning)
|
.addComponent(debug))
|
||||||
.addComponent(obsoleteWarning)
|
.addContainerGap())
|
||||||
.addGroup(jPanelDefaultLayout.createSequentialGroup()
|
|
||||||
.addComponent(tableClickCount, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
|
|
||||||
.addPreferredGap(ComponentPlacement.RELATED)
|
|
||||||
.addComponent(jLabel1)))
|
|
||||||
.addPreferredGap(ComponentPlacement.RELATED, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
|
||||||
.addGroup(jPanelDefaultLayout.createSequentialGroup()
|
|
||||||
.addContainerGap()
|
|
||||||
.addComponent(chckbxOpenRomNode))
|
|
||||||
.addGroup(jPanelDefaultLayout.createSequentialGroup()
|
|
||||||
.addContainerGap()
|
|
||||||
.addComponent(chckbxShowTableToolbar))
|
|
||||||
.addGroup(jPanelDefaultLayout.createSequentialGroup()
|
|
||||||
.addContainerGap()
|
|
||||||
.addComponent(debug)))
|
|
||||||
.addContainerGap())
|
|
||||||
);
|
);
|
||||||
jPanelDefaultLayout.setVerticalGroup(
|
jPanelDefaultLayout.setVerticalGroup(
|
||||||
jPanelDefaultLayout.createParallelGroup(Alignment.LEADING)
|
jPanelDefaultLayout.createParallelGroup(Alignment.LEADING)
|
||||||
.addGroup(jPanelDefaultLayout.createSequentialGroup()
|
.addGroup(jPanelDefaultLayout.createSequentialGroup()
|
||||||
.addContainerGap()
|
.addContainerGap()
|
||||||
.addGroup(jPanelDefaultLayout.createParallelGroup(Alignment.BASELINE)
|
.addComponent(obsoleteWarning)
|
||||||
.addComponent(jLabel1)
|
.addPreferredGap(ComponentPlacement.RELATED)
|
||||||
|
.addComponent(calcConflictWarning)
|
||||||
|
.addPreferredGap(ComponentPlacement.RELATED)
|
||||||
|
.addComponent(debug)
|
||||||
|
.addPreferredGap(ComponentPlacement.RELATED)
|
||||||
|
.addComponent(panelUISettings, GroupLayout.PREFERRED_SIZE, 173, GroupLayout.PREFERRED_SIZE)
|
||||||
|
.addContainerGap(267, Short.MAX_VALUE))
|
||||||
|
);
|
||||||
|
chckbxOpenRomNode = new JCheckBox("Open rom node expanded");
|
||||||
|
|
||||||
|
chckbxShowTableToolbar = new JCheckBox("Show table toolbar border");
|
||||||
|
|
||||||
|
panelTreeSettings = new JPanel();
|
||||||
|
panelTreeSettings.setBorder(new TitledBorder(null, "Rom Tree Settings", TitledBorder.LEADING, TitledBorder.TOP, null, null));
|
||||||
|
|
||||||
|
chckbxOpenTablesAt = new JCheckBox("Always open tables at [0,0]");
|
||||||
|
GroupLayout gl_panelUISettings = new GroupLayout(panelUISettings);
|
||||||
|
gl_panelUISettings.setHorizontalGroup(
|
||||||
|
gl_panelUISettings.createParallelGroup(Alignment.LEADING)
|
||||||
|
.addGroup(gl_panelUISettings.createSequentialGroup()
|
||||||
|
.addGroup(gl_panelUISettings.createParallelGroup(Alignment.LEADING)
|
||||||
|
.addComponent(chckbxOpenRomNode)
|
||||||
|
.addComponent(chckbxShowTableToolbar))
|
||||||
|
.addContainerGap(244, Short.MAX_VALUE))
|
||||||
|
.addComponent(panelTreeSettings, GroupLayout.DEFAULT_SIZE, 395, Short.MAX_VALUE)
|
||||||
|
.addGroup(gl_panelUISettings.createSequentialGroup()
|
||||||
|
.addComponent(chckbxOpenTablesAt)
|
||||||
|
.addContainerGap())
|
||||||
|
);
|
||||||
|
gl_panelUISettings.setVerticalGroup(
|
||||||
|
gl_panelUISettings.createParallelGroup(Alignment.LEADING)
|
||||||
|
.addGroup(gl_panelUISettings.createSequentialGroup()
|
||||||
|
.addComponent(chckbxOpenRomNode)
|
||||||
|
.addPreferredGap(ComponentPlacement.RELATED)
|
||||||
|
.addComponent(chckbxShowTableToolbar)
|
||||||
|
.addPreferredGap(ComponentPlacement.RELATED)
|
||||||
|
.addComponent(chckbxOpenTablesAt)
|
||||||
|
.addPreferredGap(ComponentPlacement.RELATED, 12, Short.MAX_VALUE)
|
||||||
|
.addComponent(panelTreeSettings, GroupLayout.PREFERRED_SIZE, 69, GroupLayout.PREFERRED_SIZE))
|
||||||
|
);
|
||||||
|
|
||||||
|
labelTableClick.setText("Click to open tables");
|
||||||
|
tableClickCount.setModel(new javax.swing.DefaultComboBoxModel(new String[]{"Single", "Double"}));
|
||||||
|
tableClickBehavior.setModel(new DefaultComboBoxModel(new String[] {"open/close", "open/focus"}));
|
||||||
|
|
||||||
|
lblClickBehavior = new JLabel("Table click behavior");
|
||||||
|
GroupLayout gl_panelTreeSettings = new GroupLayout(panelTreeSettings);
|
||||||
|
gl_panelTreeSettings.setHorizontalGroup(
|
||||||
|
gl_panelTreeSettings.createParallelGroup(Alignment.LEADING)
|
||||||
|
.addGroup(gl_panelTreeSettings.createSequentialGroup()
|
||||||
|
.addGroup(gl_panelTreeSettings.createParallelGroup(Alignment.LEADING)
|
||||||
|
.addComponent(tableClickCount, 0, 72, Short.MAX_VALUE)
|
||||||
|
.addComponent(tableClickBehavior, 0, 86, Short.MAX_VALUE))
|
||||||
|
.addPreferredGap(ComponentPlacement.RELATED)
|
||||||
|
.addGroup(gl_panelTreeSettings.createParallelGroup(Alignment.LEADING)
|
||||||
|
.addComponent(labelTableClick)
|
||||||
|
.addComponent(lblClickBehavior))
|
||||||
|
.addGap(200))
|
||||||
|
);
|
||||||
|
gl_panelTreeSettings.setVerticalGroup(
|
||||||
|
gl_panelTreeSettings.createParallelGroup(Alignment.LEADING)
|
||||||
|
.addGroup(gl_panelTreeSettings.createSequentialGroup()
|
||||||
|
.addGroup(gl_panelTreeSettings.createParallelGroup(Alignment.BASELINE)
|
||||||
|
.addComponent(labelTableClick)
|
||||||
.addComponent(tableClickCount, GroupLayout.PREFERRED_SIZE, 18, GroupLayout.PREFERRED_SIZE))
|
.addComponent(tableClickCount, GroupLayout.PREFERRED_SIZE, 18, GroupLayout.PREFERRED_SIZE))
|
||||||
.addPreferredGap(ComponentPlacement.RELATED)
|
.addPreferredGap(ComponentPlacement.RELATED)
|
||||||
.addComponent(obsoleteWarning)
|
.addGroup(gl_panelTreeSettings.createParallelGroup(Alignment.BASELINE)
|
||||||
.addPreferredGap(ComponentPlacement.RELATED)
|
.addComponent(lblClickBehavior)
|
||||||
.addComponent(calcConflictWarning)
|
.addComponent(tableClickBehavior, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
|
||||||
.addPreferredGap(ComponentPlacement.RELATED)
|
.addContainerGap(23, Short.MAX_VALUE))
|
||||||
.addComponent(chckbxOpenRomNode)
|
|
||||||
.addPreferredGap(ComponentPlacement.RELATED)
|
|
||||||
.addComponent(chckbxShowTableToolbar)
|
|
||||||
.addPreferredGap(ComponentPlacement.RELATED)
|
|
||||||
.addComponent(debug)
|
|
||||||
.addContainerGap(378, Short.MAX_VALUE))
|
|
||||||
);
|
);
|
||||||
|
panelTreeSettings.setLayout(gl_panelTreeSettings);
|
||||||
|
panelUISettings.setLayout(gl_panelUISettings);
|
||||||
jPanelDefault.setLayout(jPanelDefaultLayout);
|
jPanelDefault.setLayout(jPanelDefaultLayout);
|
||||||
|
|
||||||
// Init Table Display Tab
|
// Init Table Display Tab
|
||||||
|
@ -787,6 +839,7 @@ public class SettingsForm extends JFrame implements MouseListener {
|
||||||
getSettings().setSaveDebugTables(saveDebugTables.isSelected());
|
getSettings().setSaveDebugTables(saveDebugTables.isSelected());
|
||||||
getSettings().setDebug(debug.isSelected());
|
getSettings().setDebug(debug.isSelected());
|
||||||
getSettings().setOpenExpanded(chckbxOpenRomNode.isSelected());
|
getSettings().setOpenExpanded(chckbxOpenRomNode.isSelected());
|
||||||
|
getSettings().setAlwaysOpenTableAtZero(chckbxOpenTablesAt.isSelected());
|
||||||
getSettings().setShowTableToolbarBorder(chckbxShowTableToolbar.isSelected());
|
getSettings().setShowTableToolbarBorder(chckbxShowTableToolbar.isSelected());
|
||||||
|
|
||||||
getSettings().setMaxColor(maxColor.getBackground());
|
getSettings().setMaxColor(maxColor.getBackground());
|
||||||
|
@ -807,6 +860,12 @@ public class SettingsForm extends JFrame implements MouseListener {
|
||||||
getSettings().setTableClickCount(2);
|
getSettings().setTableClickCount(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(1 == tableClickBehavior.getSelectedIndex()) { // open/close frame
|
||||||
|
getSettings().setTableClickBehavior(1);
|
||||||
|
} else { // open/focus frame
|
||||||
|
getSettings().setTableClickBehavior(0);
|
||||||
|
}
|
||||||
|
|
||||||
getSettings().setValueLimitWarning(valueLimitWarning.isSelected());
|
getSettings().setValueLimitWarning(valueLimitWarning.isSelected());
|
||||||
getSettings().setWarningColor(warningColor.getBackground());
|
getSettings().setWarningColor(warningColor.getBackground());
|
||||||
|
|
||||||
|
@ -887,7 +946,8 @@ public class SettingsForm extends JFrame implements MouseListener {
|
||||||
private javax.swing.JCheckBox extensionHex;
|
private javax.swing.JCheckBox extensionHex;
|
||||||
private javax.swing.JLabel highlightColor;
|
private javax.swing.JLabel highlightColor;
|
||||||
private javax.swing.JLabel increaseColor;
|
private javax.swing.JLabel increaseColor;
|
||||||
private javax.swing.JLabel jLabel1;
|
private javax.swing.JLabel labelTableClick;
|
||||||
|
private javax.swing.JLabel lblClickBehavior;
|
||||||
private javax.swing.JTabbedPane settingsTabbedPane;
|
private javax.swing.JTabbedPane settingsTabbedPane;
|
||||||
private javax.swing.JPanel jPanelDefault;
|
private javax.swing.JPanel jPanelDefault;
|
||||||
private javax.swing.JPanel jPanelClipboard;
|
private javax.swing.JPanel jPanelClipboard;
|
||||||
|
@ -924,4 +984,7 @@ public class SettingsForm extends JFrame implements MouseListener {
|
||||||
private JTextField textFieldEditorIconScale;
|
private JTextField textFieldEditorIconScale;
|
||||||
private javax.swing.JCheckBox chckbxShowTableToolbar;
|
private javax.swing.JCheckBox chckbxShowTableToolbar;
|
||||||
private javax.swing.JCheckBox chckbxOpenRomNode;
|
private javax.swing.JCheckBox chckbxOpenRomNode;
|
||||||
|
private JPanel panelTreeSettings;
|
||||||
|
private javax.swing.JComboBox tableClickBehavior;
|
||||||
|
private javax.swing.JCheckBox chckbxOpenTablesAt;
|
||||||
}
|
}
|
|
@ -153,6 +153,11 @@ public final class DOMSettingsBuilder {
|
||||||
tableClickCount.setAttribute("value", String.valueOf(settings.getTableClickCount()));
|
tableClickCount.setAttribute("value", String.valueOf(settings.getTableClickCount()));
|
||||||
options.appendChild(tableClickCount);
|
options.appendChild(tableClickCount);
|
||||||
|
|
||||||
|
// table click behavior
|
||||||
|
IIOMetadataNode tableClickBehavior = new IIOMetadataNode("tableclickbehavior");
|
||||||
|
tableClickBehavior.setAttribute("value", String.valueOf(settings.getTableClickBehavior()));
|
||||||
|
options.appendChild(tableClickBehavior);
|
||||||
|
|
||||||
// last version used
|
// last version used
|
||||||
IIOMetadataNode version = new IIOMetadataNode("version");
|
IIOMetadataNode version = new IIOMetadataNode("version");
|
||||||
version.setAttribute("value", versionNumber);
|
version.setAttribute("value", versionNumber);
|
||||||
|
@ -183,6 +188,11 @@ public final class DOMSettingsBuilder {
|
||||||
openRomExpanded.setAttribute("value", String.valueOf(settings.isOpenExpanded()));
|
openRomExpanded.setAttribute("value", String.valueOf(settings.isOpenExpanded()));
|
||||||
options.appendChild(openRomExpanded);
|
options.appendChild(openRomExpanded);
|
||||||
|
|
||||||
|
// show table toolbar border
|
||||||
|
IIOMetadataNode alwaysOpenTableAtZero = new IIOMetadataNode("alwaysopentableatzero");
|
||||||
|
alwaysOpenTableAtZero.setAttribute("value", String.valueOf(settings.isAlwaysOpenTableAtZero()));
|
||||||
|
options.appendChild(alwaysOpenTableAtZero);
|
||||||
|
|
||||||
return options;
|
return options;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -142,6 +142,9 @@ public final class DOMSettingsUnmarshaller {
|
||||||
} else if (n.getNodeType() == ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("tableclickcount")) {
|
} else if (n.getNodeType() == ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("tableclickcount")) {
|
||||||
settings.setTableClickCount(unmarshallAttribute(n, "value", 2));
|
settings.setTableClickCount(unmarshallAttribute(n, "value", 2));
|
||||||
|
|
||||||
|
} else if (n.getNodeType() == ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("tableclickbehavior")) {
|
||||||
|
settings.setTableClickBehavior(unmarshallAttribute(n, "value", 0));
|
||||||
|
|
||||||
} else if (n.getNodeType() == ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("version")) {
|
} else if (n.getNodeType() == ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("version")) {
|
||||||
settings.setRecentVersion(unmarshallAttribute(n, "value", ""));
|
settings.setRecentVersion(unmarshallAttribute(n, "value", ""));
|
||||||
|
|
||||||
|
@ -160,6 +163,9 @@ public final class DOMSettingsUnmarshaller {
|
||||||
} else if (n.getNodeType() == ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("openromexpanded")) {
|
} else if (n.getNodeType() == ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("openromexpanded")) {
|
||||||
settings.setOpenExpanded(Boolean.parseBoolean(unmarshallAttribute(n, "value", "true")));
|
settings.setOpenExpanded(Boolean.parseBoolean(unmarshallAttribute(n, "value", "true")));
|
||||||
|
|
||||||
|
} else if (n.getNodeType() == ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("alwaysopentableatzero")) {
|
||||||
|
settings.setAlwaysOpenTableAtZero(Boolean.parseBoolean(unmarshallAttribute(n, "value", "false")));
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return settings;
|
return settings;
|
||||||
|
|
Loading…
Reference in New Issue