You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by sk...@apache.org on 2015/12/07 16:31:47 UTC
[8/8] cayenne git commit: revert SortButtonRenderer
revert SortButtonRenderer
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/9baef19b
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/9baef19b
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/9baef19b
Branch: refs/heads/master
Commit: 9baef19b7b460aecf669a689552d15fc62eb5560
Parents: b444b1d
Author: Savva Kolbachev <s....@gmail.com>
Authored: Mon Dec 7 18:20:50 2015 +0300
Committer: Savva Kolbachev <s....@gmail.com>
Committed: Mon Dec 7 18:27:13 2015 +0300
----------------------------------------------------------------------
.../modeler/util/SortButtonRenderer.java | 81 +++++++++++---------
1 file changed, 46 insertions(+), 35 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/9baef19b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/SortButtonRenderer.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/SortButtonRenderer.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/SortButtonRenderer.java
index 595ba4d..beae1e7 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/SortButtonRenderer.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/SortButtonRenderer.java
@@ -19,32 +19,49 @@
package org.apache.cayenne.modeler.util;
import javax.swing.BorderFactory;
-import javax.swing.JLabel;
+import javax.swing.JButton;
import javax.swing.JTable;
-import javax.swing.border.Border;
+import javax.swing.border.MatteBorder;
import javax.swing.table.TableCellRenderer;
import java.awt.Color;
import java.awt.Component;
-import java.awt.Font;
+import java.awt.Insets;
import java.util.Hashtable;
-public class SortButtonRenderer extends JLabel implements TableCellRenderer {
+public class SortButtonRenderer extends JButton implements TableCellRenderer {
public static final int NONE = 0;
public static final int DOWN = 1;
public static final int UP = 2;
+ private int pushedColumn;
private Hashtable state;
- private JLabel downLabel , upLabel;
+ private JButton downButton, upButton;
public SortButtonRenderer() {
+ MatteBorder matteBorder = BorderFactory.createMatteBorder(0, 0, 1, 1, Color.gray);
+ setBorder(matteBorder);
+
+ pushedColumn = -1;
state = new Hashtable();
- downLabel = new JLabel();
- downLabel.setIcon(new BevelArrowIcon(BevelArrowIcon.DOWN, false, false));
+ setMargin(new Insets(0, 0, 0, 0));
+ setHorizontalTextPosition(CENTER);
+ setIcon(new BlankIcon());
+
+ downButton = new JButton();
+
+ downButton.setBorder(matteBorder);
+ downButton.setMargin(new Insets(0, 0, 0, 0));
+ downButton.setHorizontalTextPosition(LEFT);
+ downButton.setIcon(new BevelArrowIcon(BevelArrowIcon.DOWN, false, false));
+ downButton.setPressedIcon(new BevelArrowIcon(BevelArrowIcon.DOWN, false, true));
- upLabel = new JLabel();
- upLabel.setIcon(new BevelArrowIcon(BevelArrowIcon.UP, false, false));
+ upButton = new JButton();
+ upButton.setBorder(matteBorder);
+ upButton.setMargin(new Insets(0, 0, 0, 0));
+ upButton.setHorizontalTextPosition(LEFT);
+ upButton.setIcon(new BevelArrowIcon(BevelArrowIcon.UP, false, false));
}
public Component getTableCellRendererComponent(
@@ -54,54 +71,48 @@ public class SortButtonRenderer extends JLabel implements TableCellRenderer {
boolean hasFocus,
int row,
int column) {
- JLabel label = this;
- Object obj = state.get(column);
+ JButton button = this;
+ Object obj = state.get(new Integer(column));
if (obj != null) {
- if ((Integer) obj == DOWN) {
- label = downLabel;
- }
- else {
- label = upLabel;
+ if (((Integer) obj).intValue() == DOWN) {
+ button = downButton;
+ } else {
+ button = upButton;
}
}
- Border border = BorderFactory.createLineBorder(Color.GRAY, 1);
- label.setText(' ' + ((value == null) ? "" : value.toString()));
- label.setFont(new Font("Verdana", Font.BOLD , 13));
- label.setHorizontalTextPosition(JLabel.LEFT);
- label.setBorder(border);
- label.setOpaque(true);
- label.setBackground(new Color(204, 238, 255));
- return label;
+ button.setText((value == null) ? "" : value.toString());
+ return button;
+ }
+
+ public void setPressedColumn(int col) {
+ pushedColumn = col;
}
public void setSelectedColumn(int col, boolean isAscOrder) {
- if (col < 0) {
+ if (col < 0)
return;
- }
Integer value = null;
//shows the direction of ordering
if (isAscOrder) {
- value = DOWN;
+ value = new Integer(DOWN);
} else {
- value = UP;
+ value = new Integer(UP);
}
state.clear();
- state.put(col, value);
+ state.put(new Integer(col), value);
}
public int getState(int col) {
int retValue;
- Object obj = state.get(col);
+ Object obj = state.get(new Integer(col));
if (obj == null) {
retValue = NONE;
- }
- else {
- if ((Integer) obj == DOWN) {
+ } else {
+ if (((Integer) obj).intValue() == DOWN) {
retValue = DOWN;
- }
- else {
+ } else {
retValue = UP;
}
}