Repository: cayenne Updated Branches: refs/heads/master 965cafc79 -> 0a9131ee0
Modeler: minor UI improvements Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/0a9131ee Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/0a9131ee Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/0a9131ee Branch: refs/heads/master Commit: 0a9131ee0d6089240cd1d61294129e55c7be40f9 Parents: 965cafc Author: Nikita Timofeev <stari...@gmail.com> Authored: Fri May 12 13:20:19 2017 +0300 Committer: Nikita Timofeev <stari...@gmail.com> Committed: Fri May 12 13:20:19 2017 +0300 ---------------------------------------------------------------------- .../cayenne/modeler/dialog/FindDialogView.java | 4 ++++ .../cayenne/modeler/dialog/LogConsole.java | 3 ++- .../modeler/dialog/codegen/ClassesTabPanel.java | 3 +++ .../dialog/codegen/CodeGeneratorController.java | 10 +++----- .../dialog/codegen/CodeGeneratorDialog.java | 4 ++++ .../dialog/db/gen/DBGeneratorOptionsView.java | 12 ++++++++-- .../dialog/db/merge/MergerOptionsView.java | 12 ++++++++-- .../cayenne/modeler/util/ModelerLogger.java | 20 ++++++++-------- .../cayenne/swing/ImageRendererColumn.java | 24 ++++++++++---------- 9 files changed, 58 insertions(+), 34 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cayenne/blob/0a9131ee/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/FindDialogView.java ---------------------------------------------------------------------- diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/FindDialogView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/FindDialogView.java index 753685b..45b1b93 100755 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/FindDialogView.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/FindDialogView.java @@ -21,6 +21,7 @@ package org.apache.cayenne.modeler.dialog; import org.apache.cayenne.modeler.action.FindAction; import org.apache.cayenne.modeler.util.CellRenderers; import org.apache.cayenne.swing.ImageRendererColumn; +import org.apache.cayenne.swing.components.TopBorder; import javax.swing.*; import javax.swing.table.DefaultTableModel; @@ -49,6 +50,7 @@ public class FindDialogView extends JDialog { super((Frame) null, "Search results", true); JPanel panel = new JPanel(); + panel.setBorder(BorderFactory.createEmptyBorder()); panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); DefaultTableModel tableModel = new DefaultTableModel() { @@ -72,6 +74,7 @@ public class FindDialogView extends JDialog { JPanel okPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT)); okButton = new JButton("OK"); + okPanel.setBorder(TopBorder.create()); okPanel.add(okButton); JComponent contentPane = (JComponent) getContentPane(); @@ -79,6 +82,7 @@ public class FindDialogView extends JDialog { JScrollPane scrollPane = new JScrollPane(table, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); + scrollPane.setBorder(BorderFactory.createEmptyBorder()); contentPane.add(scrollPane); contentPane.add(okPanel, BorderLayout.SOUTH); contentPane.setPreferredSize(new Dimension(400, 325)); http://git-wip-us.apache.org/repos/asf/cayenne/blob/0a9131ee/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/LogConsole.java ---------------------------------------------------------------------- diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/LogConsole.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/LogConsole.java index 57bee1c..cba9988 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/LogConsole.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/LogConsole.java @@ -97,7 +97,8 @@ public class LogConsole extends CayenneController { INFO_STYLE = new SimpleAttributeSet(); StyleConstants.setForeground(INFO_STYLE, new Color(32, 65, 150)); - DEBUG_STYLE = null; + DEBUG_STYLE = new SimpleAttributeSet(); + StyleConstants.setForeground(DEBUG_STYLE, Color.GRAY); } /** http://git-wip-us.apache.org/repos/asf/cayenne/blob/0a9131ee/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/ClassesTabPanel.java ---------------------------------------------------------------------- diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/ClassesTabPanel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/ClassesTabPanel.java index d487f27..ea164b1 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/ClassesTabPanel.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/ClassesTabPanel.java @@ -31,6 +31,7 @@ import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.ScrollPaneConstants; +import javax.swing.UIManager; /** */ @@ -43,6 +44,7 @@ public class ClassesTabPanel extends JPanel { public ClassesTabPanel() { this.table = new JTable(); + this.table.setRowHeight(22); // TODO: andrus 04/07/2006 - is there an easy way to stick that checkbox in the // table header???? @@ -63,6 +65,7 @@ public class ClassesTabPanel extends JPanel { // assemble JPanel topPanel = new JPanel(new FlowLayout(FlowLayout.LEADING)); + topPanel.setBorder(UIManager.getBorder("ToolBar.border")); topPanel.add(checkAll); topPanel.add(checkAllLabel); http://git-wip-us.apache.org/repos/asf/cayenne/blob/0a9131ee/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorController.java ---------------------------------------------------------------------- diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorController.java index ed4b87c..731cc61 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorController.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorController.java @@ -63,8 +63,7 @@ public class CodeGeneratorController extends CodeGeneratorControllerBase { // show dialog even on empty DataMap, as custom generation may still take // advantage of it - view = new CodeGeneratorDialog(generatorSelector.getView(), classesSelector - .getView()); + view = new CodeGeneratorDialog(generatorSelector.getView(), classesSelector.getView()); initBindings(); view.pack(); @@ -82,9 +81,7 @@ public class CodeGeneratorController extends CodeGeneratorControllerBase { builder.bindToAction(view.getCancelButton(), "cancelAction()"); builder.bindToAction(view.getGenerateButton(), "generateAction()"); builder.bindToAction(this, "classesSelectedAction()", SELECTED_PROPERTY); - builder.bindToAction( - generatorSelector, - "generatorSelectedAction()", + builder.bindToAction(generatorSelector, "generatorSelectedAction()", GeneratorTabController.GENERATOR_PROPERTY); generatorSelectedAction(); @@ -148,8 +145,7 @@ public class CodeGeneratorController extends CodeGeneratorControllerBase { JOptionPane.showMessageDialog( this.getView(), "Class generation finished"); - } - catch (Exception e) { + } catch (Exception e) { logObj.error("Error generating classes", e); JOptionPane.showMessageDialog( this.getView(), http://git-wip-us.apache.org/repos/asf/cayenne/blob/0a9131ee/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorDialog.java ---------------------------------------------------------------------- diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorDialog.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorDialog.java index 63ef2b2..72d6167 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorDialog.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorDialog.java @@ -20,6 +20,7 @@ package org.apache.cayenne.modeler.dialog.codegen; import org.apache.cayenne.modeler.Application; +import org.apache.cayenne.swing.components.TopBorder; import javax.swing.Box; import javax.swing.JButton; @@ -50,7 +51,9 @@ public class CodeGeneratorDialog extends JDialog { super(Application.getFrame()); this.tabs = new JTabbedPane(SwingConstants.TOP); + this.tabs.setFocusable(false); this.generateButton = new JButton("Generate"); + getRootPane().setDefaultButton(generateButton); this.cancelButton = new JButton("Cancel"); this.classesCount = new JLabel("No classes selected"); classesCount.setFont(classesCount.getFont().deriveFont(10f)); @@ -70,6 +73,7 @@ public class CodeGeneratorDialog extends JDialog { messages.add(classesCount, BorderLayout.WEST); JPanel buttons = new JPanel(new FlowLayout(FlowLayout.RIGHT)); + buttons.setBorder(TopBorder.create()); buttons.add(classesCount); buttons.add(Box.createHorizontalStrut(50)); buttons.add(cancelButton); http://git-wip-us.apache.org/repos/asf/cayenne/blob/0a9131ee/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/gen/DBGeneratorOptionsView.java ---------------------------------------------------------------------- diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/gen/DBGeneratorOptionsView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/gen/DBGeneratorOptionsView.java index 724d3f1..52aa73f 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/gen/DBGeneratorOptionsView.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/gen/DBGeneratorOptionsView.java @@ -26,6 +26,7 @@ import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.GridLayout; +import javax.swing.BorderFactory; import javax.swing.Box; import javax.swing.JButton; import javax.swing.JCheckBox; @@ -38,10 +39,13 @@ import javax.swing.JTabbedPane; import javax.swing.JTextArea; import javax.swing.ScrollPaneConstants; import javax.swing.SwingConstants; +import javax.swing.UIManager; import com.jgoodies.forms.builder.PanelBuilder; +import com.jgoodies.forms.factories.Borders; import com.jgoodies.forms.layout.CellConstraints; import com.jgoodies.forms.layout.FormLayout; +import org.apache.cayenne.swing.components.TopBorder; /** * Wizard for generating the database from the data map. @@ -64,7 +68,8 @@ public class DBGeneratorOptionsView extends JDialog { public DBGeneratorOptionsView(Component tables) { // create widgets this.generateButton = new JButton("Generate"); - this.cancelButton = new JButton("Close"); + getRootPane().setDefaultButton(generateButton); + this.cancelButton = new JButton("Cancel"); this.saveSqlButton = new JButton("Save SQL"); this.dropTables = new JCheckBox("Drop Tables"); this.createTables = new JCheckBox("Create Tables"); @@ -102,13 +107,14 @@ public class DBGeneratorOptionsView extends JDialog { PanelBuilder builder = new PanelBuilder(new FormLayout( "fill:min(50dlu;pref):grow", "p, 3dlu, p, 9dlu, p, 3dlu, p, 3dlu, p, 3dlu, fill:40dlu:grow")); - builder.setDefaultDialogBorder(); builder.addSeparator("Options", cc.xywh(1, 1, 1, 1)); builder.add(optionsPane, cc.xy(1, 3, "left,fill")); builder.addSeparator("Adapter", cc.xywh(1, 5, 1, 1)); builder.add(adapterPanel, cc.xy(1, 7)); builder.addSeparator("Generated SQL", cc.xywh(1, 9, 1, 1)); builder.add(sqlTextPanel, cc.xy(1, 11)); + builder.setBorder(BorderFactory + .createCompoundBorder(UIManager.getBorder("ToolBar.border"), Borders.DIALOG_BORDER)); tabs.addTab("SQL Options", builder.getPanel()); tabs.addTab("Tables", new JScrollPane( @@ -119,12 +125,14 @@ public class DBGeneratorOptionsView extends JDialog { // we need the right preferred size so that dialog "pack()" produces decent // default size... tabs.setPreferredSize(new Dimension(450, 500)); + tabs.setFocusable(false); JPanel buttons = new JPanel(new FlowLayout(FlowLayout.RIGHT)); buttons.add(saveSqlButton); buttons.add(Box.createHorizontalStrut(20)); buttons.add(cancelButton); buttons.add(generateButton); + buttons.setBorder(TopBorder.create()); Container contentPane = this.getContentPane(); contentPane.setLayout(new BorderLayout()); http://git-wip-us.apache.org/repos/asf/cayenne/blob/0a9131ee/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/merge/MergerOptionsView.java ---------------------------------------------------------------------- diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/merge/MergerOptionsView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/merge/MergerOptionsView.java index ba68857..39e50b3 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/merge/MergerOptionsView.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/merge/MergerOptionsView.java @@ -25,6 +25,7 @@ import java.awt.Container; import java.awt.Dimension; import java.awt.FlowLayout; +import javax.swing.BorderFactory; import javax.swing.Box; import javax.swing.JButton; import javax.swing.JDialog; @@ -34,12 +35,15 @@ import javax.swing.JTabbedPane; import javax.swing.JTextArea; import javax.swing.ScrollPaneConstants; import javax.swing.SwingConstants; +import javax.swing.UIManager; +import com.jgoodies.forms.factories.Borders; import org.apache.cayenne.modeler.Application; import com.jgoodies.forms.builder.PanelBuilder; import com.jgoodies.forms.layout.CellConstraints; import com.jgoodies.forms.layout.FormLayout; +import org.apache.cayenne.swing.components.TopBorder; /** * Wizard for altering the database to match the data map. @@ -59,11 +63,13 @@ public class MergerOptionsView extends JDialog { // create widgets this.generateButton = new JButton("Migrate"); - this.cancelButton = new JButton("Close"); + getRootPane().setDefaultButton(generateButton); + this.cancelButton = new JButton("Cancel"); this.saveSqlButton = new JButton("Save SQL"); this.tables = tables; this.tabs = new JTabbedPane(SwingConstants.TOP); + this.tabs.setFocusable(false); this.sql = new JTextArea(); sql.setEditable(false); sql.setLineWrap(true); @@ -79,9 +85,10 @@ public class MergerOptionsView extends JDialog { PanelBuilder builder = new PanelBuilder(new FormLayout( "fill:min(50dlu;pref):grow", "p, 9dlu, p, 3dlu, fill:40dlu:grow")); - builder.setDefaultDialogBorder(); builder.addSeparator("Generated SQL", cc.xywh(1, 3, 1, 1)); builder.add(sqlTextPanel, cc.xy(1, 5)); + builder.setBorder(BorderFactory + .createCompoundBorder(UIManager.getBorder("ToolBar.border"), Borders.DIALOG_BORDER)); tabs.addTab("Operations", new JScrollPane( tables, @@ -98,6 +105,7 @@ public class MergerOptionsView extends JDialog { buttons.add(Box.createHorizontalStrut(20)); buttons.add(cancelButton); buttons.add(generateButton); + buttons.setBorder(TopBorder.create()); Container contentPane = this.getContentPane(); contentPane.setLayout(new BorderLayout()); http://git-wip-us.apache.org/repos/asf/cayenne/blob/0a9131ee/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ModelerLogger.java ---------------------------------------------------------------------- diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ModelerLogger.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ModelerLogger.java index 739cd7a..5f2fb37 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ModelerLogger.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ModelerLogger.java @@ -142,31 +142,31 @@ public class ModelerLogger implements Logger { @Override public void debug(String message) { consoleLog(LOG_LEVEL_DEBUG, message); - log("DEBUG", message, null, LogConsole.WARN_STYLE); + log("DEBUG", message, null, LogConsole.DEBUG_STYLE); } @Override public void debug(String message, Object object) { consoleLog(LOG_LEVEL_DEBUG, message, object); - log("DEBUG", message, null, LogConsole.WARN_STYLE, object); + log("DEBUG", message, null, LogConsole.DEBUG_STYLE, object); } @Override public void debug(String message, Object object, Object secondObject) { consoleLog(LOG_LEVEL_DEBUG, message, object, secondObject); - log("DEBUG", message, null, LogConsole.WARN_STYLE, object, secondObject); + log("DEBUG", message, null, LogConsole.DEBUG_STYLE, object, secondObject); } @Override public void debug(String message, Object... objects) { consoleLog(LOG_LEVEL_DEBUG, message, objects); - log("DEBUG", message, null, LogConsole.WARN_STYLE, objects); + log("DEBUG", message, null, LogConsole.DEBUG_STYLE, objects); } @Override public void debug(String message, Throwable throwable) { consoleLog(LOG_LEVEL_DEBUG, message, throwable); - log("DEBUG", message, throwable, LogConsole.WARN_STYLE); + log("DEBUG", message, throwable, LogConsole.DEBUG_STYLE); } @Override @@ -177,31 +177,31 @@ public class ModelerLogger implements Logger { @Override public void debug(Marker marker, String message) { consoleLog(LOG_LEVEL_DEBUG, message); - log("DEBUG", message, null, LogConsole.WARN_STYLE); + log("DEBUG", message, null, LogConsole.DEBUG_STYLE); } @Override public void debug(Marker marker, String message, Object object) { consoleLog(LOG_LEVEL_DEBUG, message, object); - log("DEBUG", message, null, LogConsole.WARN_STYLE, object); + log("DEBUG", message, null, LogConsole.DEBUG_STYLE, object); } @Override public void debug(Marker marker, String message, Object object, Object secondObject) { consoleLog(LOG_LEVEL_DEBUG, message, object, secondObject); - log("DEBUG", message, null, LogConsole.WARN_STYLE, object, secondObject); + log("DEBUG", message, null, LogConsole.DEBUG_STYLE, object, secondObject); } @Override public void debug(Marker marker, String message, Object... objects) { consoleLog(LOG_LEVEL_DEBUG, message, objects); - log("DEBUG", message, null, LogConsole.WARN_STYLE, objects); + log("DEBUG", message, null, LogConsole.DEBUG_STYLE, objects); } @Override public void debug(Marker marker, String message, Throwable throwable) { consoleLog(LOG_LEVEL_DEBUG, message, throwable); - log("DEBUG", message, throwable, LogConsole.WARN_STYLE); + log("DEBUG", message, throwable, LogConsole.DEBUG_STYLE); } @Override http://git-wip-us.apache.org/repos/asf/cayenne/blob/0a9131ee/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/swing/ImageRendererColumn.java ---------------------------------------------------------------------- diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/swing/ImageRendererColumn.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/swing/ImageRendererColumn.java index bab507e..7380d90 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/swing/ImageRendererColumn.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/swing/ImageRendererColumn.java @@ -18,19 +18,17 @@ ****************************************************************/ package org.apache.cayenne.swing; -import java.awt.Color; import java.awt.Component; import javax.swing.BorderFactory; +import javax.swing.Icon; import javax.swing.JLabel; import javax.swing.JTable; import javax.swing.table.DefaultTableCellRenderer; -public class ImageRendererColumn extends DefaultTableCellRenderer { - - private final Color ROLLOVER_BACKGROUND = new Color(223, 223, 223); +import org.apache.cayenne.swing.components.image.FilteredIconFactory; - private JLabel lbl = new JLabel(); +public class ImageRendererColumn extends DefaultTableCellRenderer { public ImageRendererColumn() { super(); @@ -38,12 +36,14 @@ public class ImageRendererColumn extends DefaultTableCellRenderer { public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { - lbl.setOpaque(true); - lbl.setText(((JLabel) value).getText()); - lbl.setIcon(((JLabel) value).getIcon()); - lbl.setBorder(BorderFactory.createEmptyBorder()); - lbl.setBackground(isSelected ? ROLLOVER_BACKGROUND : Color.WHITE); - lbl.setHorizontalAlignment(JLabel.LEFT); - return lbl; + super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); + setText(((JLabel) value).getText()); + setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 0)); + Icon icon = ((JLabel) value).getIcon(); + if(isSelected) { + icon = FilteredIconFactory.createIcon(icon, FilteredIconFactory.FilterType.SELECTION); + } + setIcon(icon); + return this; } }