You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by gb...@apache.org on 2010/04/20 15:37:55 UTC
svn commit: r935916 -
/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListButtonSkin.java
Author: gbrown
Date: Tue Apr 20 13:37:55 2010
New Revision: 935916
URL: http://svn.apache.org/viewvc?rev=935916&view=rev
Log:
Resolve issue PIVOT-458.
Modified:
pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListButtonSkin.java
Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListButtonSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListButtonSkin.java?rev=935916&r1=935915&r2=935916&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListButtonSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListButtonSkin.java Tue Apr 20 13:37:55 2010
@@ -43,6 +43,8 @@ import org.apache.pivot.wtk.Point;
import org.apache.pivot.wtk.Theme;
import org.apache.pivot.wtk.Window;
import org.apache.pivot.wtk.WindowStateListener;
+import org.apache.pivot.wtk.Component;
+import org.apache.pivot.wtk.Mouse;
import org.apache.pivot.wtk.effects.DropShadowDecorator;
import org.apache.pivot.wtk.effects.Transition;
import org.apache.pivot.wtk.effects.TransitionListener;
@@ -103,6 +105,7 @@ public class TerraListButtonSkin extends
private Color borderColor;
private Color disabledBorderColor;
private Insets padding;
+ private boolean split;
private int listSize = -1;
// Derived colors
@@ -113,6 +116,9 @@ public class TerraListButtonSkin extends
private Transition closeTransition = null;
private DropShadowDecorator dropShadowDecorator = null;
+ private int mouseDownX;
+ private int mouseDownY;
+
private static final int TRIGGER_WIDTH = 14;
private static final int CLOSE_TRANSITION_DURATION = 250;
@@ -129,6 +135,7 @@ public class TerraListButtonSkin extends
borderColor = theme.getColor(7);
disabledBorderColor = theme.getColor(7);
padding = new Insets(2, 3, 2, 3);
+ split = false;
// Set the derived colors
bevelColor = TerraTheme.brighten(backgroundColor);
@@ -533,6 +540,14 @@ public class TerraListButtonSkin extends
setPadding(Insets.decode(padding));
}
+ public boolean isSplit() {
+ return split;
+ }
+
+ public void setSplit(boolean split) {
+ this.split = split;
+ }
+
public int getListSize() {
return listSize;
}
@@ -627,6 +642,15 @@ public class TerraListButtonSkin extends
listView.getStyles().put("highlightBackgroundColor", listHighlightBackgroundColor);
}
+ // Mouse events
+ @Override
+ public boolean mouseDown(Component component, Mouse.Button button, int x, int y) {
+ boolean consumed = super.mouseDown(component, button, x, y);
+ mouseDownX = x;
+ mouseDownY = y;
+ return consumed;
+ }
+
// Button events
@Override
public void buttonPressed(Button button) {
@@ -644,6 +668,14 @@ public class TerraListButtonSkin extends
int width = getWidth();
int height = getHeight();
+ if (split) {
+ Bounds triggerBounds = new Bounds(Math.max(width - TRIGGER_WIDTH - 1, 0), 0,
+ TRIGGER_WIDTH + 1, Math.max(height, 0));
+ if (!triggerBounds.contains(mouseDownX, mouseDownY)) {
+ return;
+ }
+ }
+
// Adjust for list size
if (listSize == -1) {
listViewBorder.setPreferredHeight(-1);