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 2009/06/24 02:09:03 UTC
svn commit: r787874 - in
/incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk: Sheet.java Window.java
skin/terra/TerraSheetSkin.java
Author: gbrown
Date: Wed Jun 24 00:09:03 2009
New Revision: 787874
URL: http://svn.apache.org/viewvc?rev=787874&view=rev
Log:
Fix bug in restoreFocus(); move logic for blocking owner window from TerraSheetSkin to Sheet.
Modified:
incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Sheet.java
incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Window.java
incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraSheetSkin.java
Modified: incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Sheet.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Sheet.java?rev=787874&r1=787873&r2=787874&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Sheet.java (original)
+++ incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Sheet.java Wed Jun 24 00:09:03 2009
@@ -54,6 +54,25 @@
private boolean result = false;
private SheetCloseListener sheetCloseListener = null;
+ private ComponentMouseButtonListener ownerMouseButtonListener =
+ new ComponentMouseButtonListener.Adapter() {
+ public boolean mouseDown(Component component, Mouse.Button button, int x, int y) {
+ Window owner = (Window)component;
+ Component ownerContent = owner.getContent();
+
+ if (ownerContent != null
+ && !ownerContent.isEnabled()
+ && owner.getComponentAt(x, y) == ownerContent) {
+ ApplicationContext.beep();
+
+ moveToFront();
+ restoreFocus();
+ }
+
+ return false;
+ }
+ };
+
private SheetStateListenerList sheetStateListeners = new SheetStateListenerList();
/**
@@ -101,6 +120,8 @@
}
content.setEnabled(false);
+
+ owner.getComponentMouseButtonListeners().add(ownerMouseButtonListener);
}
}
@@ -132,6 +153,8 @@
this.result = result;
Window owner = getOwner();
+ owner.getComponentMouseButtonListeners().remove(ownerMouseButtonListener);
+
Component content = owner.getContent();
content.setEnabled(true);
Modified: incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Window.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Window.java?rev=787874&r1=787873&r2=787874&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Window.java (original)
+++ incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Window.java Wed Jun 24 00:09:03 2009
@@ -735,16 +735,18 @@
* have a focus descendant, the focus is cleared.
*/
protected void restoreFocus() {
- // If this window is still an ancestor of the focus descendant
- // and the focus descendant can be focused, restore focus to it;
- // otherwise, clear the focus descendant
- if (focusDescendant != null
- && isAncestor(focusDescendant)
- && !focusDescendant.isBlocked()
- && focusDescendant.isShowing()) {
- focusDescendant.requestFocus(true);
- } else {
- focusDescendant = null;
+ assert(isShowing()
+ && !isBlocked());
+
+ if (focusDescendant != null) {
+ if (isAncestor(focusDescendant)) {
+ focusDescendant.requestFocus(true);
+ } else {
+ focusDescendant = null;
+ }
+ }
+
+ if (focusDescendant == null) {
Component.clearFocus(true);
}
}
@@ -813,7 +815,7 @@
&& !window.isBlocked()
&& !window.isAuxilliary()) {
setActiveWindow(window);
- restoreFocus();
+ window.restoreFocus();
}
// This was the last owned window for the current window; move
Modified: incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraSheetSkin.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraSheetSkin.java?rev=787874&r1=787873&r2=787874&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraSheetSkin.java (original)
+++ incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraSheetSkin.java Wed Jun 24 00:09:03 2009
@@ -21,15 +21,12 @@
import org.apache.pivot.collections.Dictionary;
import org.apache.pivot.util.Vote;
-import org.apache.pivot.wtk.ApplicationContext;
import org.apache.pivot.wtk.Component;
import org.apache.pivot.wtk.ComponentListener;
-import org.apache.pivot.wtk.ComponentMouseButtonListener;
import org.apache.pivot.wtk.Dimensions;
import org.apache.pivot.wtk.GraphicsUtilities;
import org.apache.pivot.wtk.Insets;
import org.apache.pivot.wtk.Keyboard;
-import org.apache.pivot.wtk.Mouse;
import org.apache.pivot.wtk.Orientation;
import org.apache.pivot.wtk.Point;
import org.apache.pivot.wtk.Sheet;
@@ -92,22 +89,6 @@
}
};
- private ComponentMouseButtonListener ownerMouseButtonListener =
- new ComponentMouseButtonListener.Adapter() {
- public boolean mouseDown(Component component, Mouse.Button button, int x, int y) {
- Window owner = (Window)component;
- Component ownerContent = owner.getContent();
-
- if (ownerContent != null
- && !ownerContent.isEnabled()
- && owner.getComponentAt(x, y) == ownerContent) {
- ApplicationContext.beep();
- }
-
- return false;
- }
- };
-
private DropShadowDecorator dropShadowDecorator = null;
private static final int TRANSITION_DURATION = 250;
@@ -378,7 +359,6 @@
Window owner = window.getOwner();
owner.getComponentListeners().add(ownerComponentListener);
- owner.getComponentMouseButtonListeners().add(ownerMouseButtonListener);
windowStateTransition = new WindowStateTransition(false);
windowStateTransition.start(new TransitionListener() {
@@ -434,7 +414,6 @@
public void sheetClosed(Sheet sheet) {
Window owner = sheet.getOwner();
owner.getComponentListeners().remove(ownerComponentListener);
- owner.getComponentMouseButtonListeners().remove(ownerMouseButtonListener);
}
public void alignToOwnerContent() {