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/01/17 20:32:32 UTC
svn commit: r900197 - in /pivot/trunk:
wtk-terra/src/org/apache/pivot/wtk/skin/terra/
wtk/src/org/apache/pivot/wtk/ wtk/src/org/apache/pivot/wtk/skin/
Author: gbrown
Date: Sun Jan 17 19:32:31 2010
New Revision: 900197
URL: http://svn.apache.org/viewvc?rev=900197&view=rev
Log:
Add SuggestionPopup and associated classes (incomplete); add missing @Override annotations to recently added listener adapter classes.
Added:
pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraSuggestionPopupSkin.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/SuggestionPopup.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/SuggestionPopupListener.java
Modified:
pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTheme.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/ComponentDataListener.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/ComponentDecoratorListener.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/LabelListener.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButton.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButtonListener.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/MenuBarListener.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/MenuButtonListener.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/MenuListener.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/MenuPopup.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/ScrollBarListener.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/ScrollPaneListener.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/SliderListener.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/SplitPaneListener.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewColumnListener.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewHeaderListener.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/WindowSkin.java
Added: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraSuggestionPopupSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraSuggestionPopupSkin.java?rev=900197&view=auto
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraSuggestionPopupSkin.java (added)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraSuggestionPopupSkin.java Sun Jan 17 19:32:31 2010
@@ -0,0 +1,142 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.pivot.wtk.skin.terra;
+
+import java.awt.Color;
+import java.awt.Font;
+
+import org.apache.pivot.collections.Dictionary;
+import org.apache.pivot.collections.List;
+import org.apache.pivot.wtk.Border;
+import org.apache.pivot.wtk.Component;
+import org.apache.pivot.wtk.Display;
+import org.apache.pivot.wtk.GraphicsUtilities;
+import org.apache.pivot.wtk.ListView;
+import org.apache.pivot.wtk.SuggestionPopup;
+import org.apache.pivot.wtk.SuggestionPopupListener;
+import org.apache.pivot.wtk.Theme;
+import org.apache.pivot.wtk.Window;
+import org.apache.pivot.wtk.skin.WindowSkin;
+
+/**
+ * Terra suggestion popup skin.
+ */
+public class TerraSuggestionPopupSkin extends WindowSkin implements SuggestionPopupListener {
+ private Border suggestionListViewBorder = new Border();
+ private ListView suggestionListView = new ListView();
+
+ public TerraSuggestionPopupSkin () {
+ suggestionListViewBorder.setContent(suggestionListView);
+
+ // TODO Attach listeners to suggestion list view
+ }
+
+ @Override
+ public void install(Component component) {
+ super.install(component);
+
+ SuggestionPopup suggestionPopup = (SuggestionPopup)component;
+ suggestionPopup.getSuggestionPopupListeners().add(this);
+
+ suggestionPopup.setContent(suggestionListViewBorder);
+
+ suggestionListView.setListData(suggestionPopup.getSuggestions());
+ suggestionListView.setItemRenderer(suggestionPopup.getSuggestionRenderer());
+ }
+
+ public Font getFont() {
+ return (Font)suggestionListView.getStyles().get("font");
+ }
+
+ public void setFont(Font font) {
+ suggestionListView.getStyles().put("font", font);
+ }
+
+ public final void setFont(String font) {
+ if (font == null) {
+ throw new IllegalArgumentException("font is null.");
+ }
+
+ setFont(decodeFont(font));
+ }
+
+ public final void setFont(Dictionary<String, ?> font) {
+ if (font == null) {
+ throw new IllegalArgumentException("font is null.");
+ }
+
+ setFont(Theme.deriveFont(font));
+ }
+
+ public Color getColor() {
+ return (Color)suggestionListView.getStyles().get("color");
+ }
+
+ public void setColor(Color color) {
+ suggestionListView.getStyles().put("color", color);
+ }
+
+ public final void setColor(String color) {
+ if (color == null) {
+ throw new IllegalArgumentException("color is null.");
+ }
+
+ setColor(GraphicsUtilities.decodeColor(color));
+ }
+
+ public Color getBorderColor() {
+ return (Color)suggestionListViewBorder.getStyles().get("color");
+ }
+
+ public void setBorderColor(Color borderColor) {
+ suggestionListViewBorder.getStyles().put("color", borderColor);
+ }
+
+ public final void setBorderColor(String borderColor) {
+ if (borderColor == null) {
+ throw new IllegalArgumentException("borderColor is null.");
+ }
+
+ setBorderColor(GraphicsUtilities.decodeColor(borderColor));
+ }
+
+ @Override
+ public void windowOpened(Window window) {
+ super.windowOpened(window);
+
+ // TODO Add listeners to text input
+ }
+
+ @Override
+ public void windowClosed(Window window, Display display, Window owner) {
+ // TODO Remove listeners from text input
+
+ super.windowClosed(window, display, owner);
+ }
+
+ @Override
+ public void suggestionsChanged(SuggestionPopup suggestionPopup,
+ List<?> previousSuggestions) {
+ suggestionListView.setListData(suggestionPopup.getSuggestions());
+ }
+
+ @Override
+ public void suggestionRendererChanged(SuggestionPopup suggestionPopup,
+ ListView.ItemRenderer previousSuggestionRenderer) {
+ suggestionListView.setItemRenderer(suggestionPopup.getSuggestionRenderer());
+ }
+}
Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTheme.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTheme.java?rev=900197&r1=900196&r2=900197&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTheme.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTheme.java Sun Jan 17 19:32:31 2010
@@ -69,6 +69,7 @@
import org.apache.pivot.wtk.Slider;
import org.apache.pivot.wtk.Spinner;
import org.apache.pivot.wtk.SplitPane;
+import org.apache.pivot.wtk.SuggestionPopup;
import org.apache.pivot.wtk.TabPane;
import org.apache.pivot.wtk.TablePane;
import org.apache.pivot.wtk.TableView;
@@ -132,6 +133,7 @@
componentSkinMap.put(Slider.class, TerraSliderSkin.class);
componentSkinMap.put(Spinner.class, TerraSpinnerSkin.class);
componentSkinMap.put(SplitPane.class, TerraSplitPaneSkin.class);
+ componentSkinMap.put(SuggestionPopup.class, TerraSuggestionPopupSkin.class);
componentSkinMap.put(TablePane.class, TerraTablePaneSkin.class);
componentSkinMap.put(TableViewHeader.class, TerraTableViewHeaderSkin.class);
componentSkinMap.put(TableView.class, TerraTableViewSkin.class);
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/ComponentDataListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/ComponentDataListener.java?rev=900197&r1=900196&r2=900197&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/ComponentDataListener.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/ComponentDataListener.java Sun Jan 17 19:32:31 2010
@@ -24,12 +24,15 @@
* Component data listener adapter.
*/
public static class Adapter implements ComponentDataListener {
+ @Override
public void valueAdded(Component component, String key) {
}
+ @Override
public void valueUpdated(Component component, String key, Object previousValue) {
}
+ @Override
public void valueRemoved(Component component, String key, Object value) {
}
}
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/ComponentDecoratorListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/ComponentDecoratorListener.java?rev=900197&r1=900196&r2=900197&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/ComponentDecoratorListener.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/ComponentDecoratorListener.java Sun Jan 17 19:32:31 2010
@@ -27,12 +27,15 @@
* Component decorator list adapter.
*/
public static class Adapter implements ComponentDecoratorListener {
+ @Override
public void decoratorInserted(Component component, int index) {
}
+ @Override
public void decoratorUpdated(Component component, int index, Decorator previousDecorator) {
}
+ @Override
public void decoratorsRemoved(Component component, int index,
Sequence<Decorator> decorators) {
}
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/LabelListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/LabelListener.java?rev=900197&r1=900196&r2=900197&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/LabelListener.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/LabelListener.java Sun Jan 17 19:32:31 2010
@@ -24,9 +24,11 @@
* Label listener adapter.
*/
public static class Adapter implements LabelListener {
+ @Override
public void textChanged(Label label, String previousText) {
}
+ @Override
public void textKeyChanged(Label label, String previousTextKey) {
}
}
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButton.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButton.java?rev=900197&r1=900196&r2=900197&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButton.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButton.java Sun Jan 17 19:32:31 2010
@@ -26,7 +26,6 @@
import org.apache.pivot.wtk.content.ListButtonDataRenderer;
import org.apache.pivot.wtk.content.ListViewItemRenderer;
-
/**
* Component that allows a user to select one of several list options. The
* options are hidden until the user pushes the button.
@@ -80,7 +79,7 @@
}
private List<?> listData;
- private ListView.ItemRenderer itemRenderer = null;
+ private ListView.ItemRenderer itemRenderer;
private int selectedIndex = -1;
private Filter<?> disabledItemFilter = null;
private String selectedItemKey = null;
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButtonListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButtonListener.java?rev=900197&r1=900196&r2=900197&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButtonListener.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButtonListener.java Sun Jan 17 19:32:31 2010
@@ -27,15 +27,19 @@
* List button listener adapter.
*/
public static class Adapter implements ListButtonListener {
+ @Override
public void listDataChanged(ListButton listButton, List<?> previousListData) {
}
+ @Override
public void itemRendererChanged(ListButton listButton, ListView.ItemRenderer previousItemRenderer) {
}
+ @Override
public void disabledItemFilterChanged(ListButton listButton, Filter<?> previousDisabledItemFilter) {
}
+ @Override
public void selectedItemKeyChanged(ListButton listButton, String previousSelectedItemKey) {
}
}
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/MenuBarListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/MenuBarListener.java?rev=900197&r1=900196&r2=900197&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/MenuBarListener.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/MenuBarListener.java Sun Jan 17 19:32:31 2010
@@ -26,12 +26,15 @@
* Menu bar listener adapter.
*/
public static class Adapter implements MenuBarListener {
+ @Override
public void itemInserted(MenuBar menuBar, int index) {
}
+ @Override
public void itemsRemoved(MenuBar menuBar, int index, Sequence<MenuBar.Item> removed) {
}
+ @Override
public void activeItemChanged(MenuBar menuBar, MenuBar.Item previousActiveItem) {
}
}
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/MenuButtonListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/MenuButtonListener.java?rev=900197&r1=900196&r2=900197&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/MenuButtonListener.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/MenuButtonListener.java Sun Jan 17 19:32:31 2010
@@ -24,9 +24,11 @@
* Menu button listener adapter.
*/
public static class Adapter implements MenuButtonListener {
+ @Override
public void menuChanged(MenuButton menuButton, Menu previousMenu) {
}
+ @Override
public void repeatableChanged(MenuButton menuButton) {
}
}
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/MenuListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/MenuListener.java?rev=900197&r1=900196&r2=900197&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/MenuListener.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/MenuListener.java Sun Jan 17 19:32:31 2010
@@ -26,12 +26,15 @@
* Menu listener adapter.
*/
public static class Adapter implements MenuListener {
+ @Override
public void sectionInserted(Menu menu, int index) {
}
+ @Override
public void sectionsRemoved(Menu menu, int index, Sequence<Menu.Section> removed) {
}
+ @Override
public void activeItemChanged(Menu menu, Menu.Item previousActiveItem) {
}
}
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/MenuPopup.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/MenuPopup.java?rev=900197&r1=900196&r2=900197&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/MenuPopup.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/MenuPopup.java Sun Jan 17 19:32:31 2010
@@ -125,9 +125,13 @@
public void open(Display display, Window owner, int x, int y) {
contextMenu = true;
-
setLocation(x, y);
+
super.open(display, owner);
+
+ if (!isOpen()) {
+ contextMenu = false;
+ }
}
@Override
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/ScrollBarListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/ScrollBarListener.java?rev=900197&r1=900196&r2=900197&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/ScrollBarListener.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/ScrollBarListener.java Sun Jan 17 19:32:31 2010
@@ -24,16 +24,20 @@
* Scroll bar listener adapter.
*/
public static class Adapter implements ScrollBarListener {
+ @Override
public void orientationChanged(ScrollBar scrollBar, Orientation previousOrientation) {
}
+ @Override
public void scopeChanged(ScrollBar scrollBar, int previousStart, int previousEnd,
int previousExtent) {
}
+ @Override
public void unitIncrementChanged(ScrollBar scrollBar, int previousUnitIncrement) {
}
+ @Override
public void blockIncrementChanged(ScrollBar scrollBar, int previousBlockIncrement) {
}
}
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/ScrollPaneListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/ScrollPaneListener.java?rev=900197&r1=900196&r2=900197&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/ScrollPaneListener.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/ScrollPaneListener.java Sun Jan 17 19:32:31 2010
@@ -24,21 +24,26 @@
* Scroll pane listener adapter.
*/
public static class Adapter implements ScrollPaneListener {
+ @Override
public void horizontalScrollBarPolicyChanged(ScrollPane scrollPane,
ScrollPane.ScrollBarPolicy previousPolicy) {
}
+ @Override
public void verticalScrollBarPolicyChanged(ScrollPane scrollPane,
ScrollPane.ScrollBarPolicy previousPolicy) {
}
+ @Override
public void rowHeaderChanged(ScrollPane scrollPane, Component previousRowHeader) {
}
+ @Override
public void columnHeaderChanged(ScrollPane scrollPane,
Component previousColumnHeader) {
}
+ @Override
public void cornerChanged(ScrollPane scrollPane, Component previousCorner) {
}
}
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/SliderListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/SliderListener.java?rev=900197&r1=900196&r2=900197&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/SliderListener.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/SliderListener.java Sun Jan 17 19:32:31 2010
@@ -24,9 +24,11 @@
* Slider listener adapter.
*/
public static class Adapter implements SliderListener {
+ @Override
public void rangeChanged(Slider slider, int previousStart, int previousEnd) {
}
+ @Override
public void orientationChanged(Slider slider) {
}
}
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/SplitPaneListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/SplitPaneListener.java?rev=900197&r1=900196&r2=900197&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/SplitPaneListener.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/SplitPaneListener.java Sun Jan 17 19:32:31 2010
@@ -24,24 +24,31 @@
* Split pane listener adapter.
*/
public static class Adapter implements SplitPaneListener {
+ @Override
public void topLeftChanged(SplitPane splitPane, Component previousTopLeft) {
}
+ @Override
public void bottomRightChanged(SplitPane splitPane, Component previousBottomRight) {
}
+ @Override
public void orientationChanged(SplitPane splitPane) {
}
+ @Override
public void primaryRegionChanged(SplitPane splitPane) {
}
+ @Override
public void splitRatioChanged(SplitPane splitPane, float previousSplitRatio) {
}
+ @Override
public void lockedChanged(SplitPane splitPane) {
}
+ @Override
public void resizeModeChanged(SplitPane splitPane,
SplitPane.ResizeMode previousResizeMode) {
}
Added: pivot/trunk/wtk/src/org/apache/pivot/wtk/SuggestionPopup.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/SuggestionPopup.java?rev=900197&view=auto
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/SuggestionPopup.java (added)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/SuggestionPopup.java Sun Jan 17 19:32:31 2010
@@ -0,0 +1,161 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.pivot.wtk;
+
+import org.apache.pivot.collections.ArrayList;
+import org.apache.pivot.collections.List;
+import org.apache.pivot.util.ListenerList;
+import org.apache.pivot.wtk.content.ListViewItemRenderer;
+
+/**
+ * Popup that presents a list of text suggestions to the user.
+ */
+public class SuggestionPopup extends Window {
+ private static class SuggestionPopupListenerList extends ListenerList<SuggestionPopupListener>
+ implements SuggestionPopupListener {
+ @Override
+ public void suggestionsChanged(SuggestionPopup suggestionPopup,
+ List<?> previousSuggestions) {
+ for (SuggestionPopupListener listener : this) {
+ listener.suggestionsChanged(suggestionPopup, previousSuggestions);
+ }
+ }
+
+ @Override
+ public void suggestionRendererChanged(SuggestionPopup suggestionPopup,
+ ListView.ItemRenderer previousSuggestionRenderer) {
+ for (SuggestionPopupListener listener : this) {
+ listener.suggestionRendererChanged(suggestionPopup, previousSuggestionRenderer);
+ }
+ }
+ }
+
+ private TextInput textInput = null;
+ private List<?> suggestions;
+ private ListView.ItemRenderer suggestionRenderer;
+
+ private SuggestionPopupListenerList suggestionPopupListeners = new SuggestionPopupListenerList();
+
+ private static final ListView.ItemRenderer DEFAULT_SUGGESTION_RENDERER =
+ new ListViewItemRenderer();
+
+ public SuggestionPopup() {
+ this(new ArrayList<Object>());
+ }
+
+ public SuggestionPopup(List<?> suggestions) {
+ setSuggestionRenderer(DEFAULT_SUGGESTION_RENDERER);
+ setSuggestions(suggestions);
+
+ installThemeSkin(SuggestionPopup.class);
+ }
+
+ /**
+ * Returns the text input for which suggestions will be provided.
+ */
+ public TextInput getTextInput() {
+ return textInput;
+ }
+
+ /**
+ * Returns the list of suggestions presented by the popup.
+ */
+ public List<?> getSuggestions() {
+ return suggestions;
+ }
+
+ /**
+ * Sets the list of suggestions presented by the popup.
+ *
+ * @param suggestions
+ */
+ public void setSuggestions(List<?> suggestions) {
+ if (suggestions == null) {
+ throw new IllegalArgumentException();
+ }
+
+ List<?> previousSuggestions = this.suggestions;
+
+ if (previousSuggestions != suggestions) {
+ this.suggestions = suggestions;
+ suggestionPopupListeners.suggestionsChanged(this, previousSuggestions);
+ }
+ }
+
+ /**
+ * Returns the list view item renderer used to present suggestions.
+ */
+ public ListView.ItemRenderer getSuggestionRenderer() {
+ return suggestionRenderer;
+ }
+
+ /**
+ * Sets the list view item renderer used to present suggestions.
+ *
+ * @param suggestionRenderer
+ */
+ public void setSuggestionRenderer(ListView.ItemRenderer suggestionRenderer) {
+ ListView.ItemRenderer previousSuggestionRenderer = this.suggestionRenderer;
+
+ if (previousSuggestionRenderer != suggestionRenderer) {
+ this.suggestionRenderer = suggestionRenderer;
+ suggestionPopupListeners.suggestionRendererChanged(this, previousSuggestionRenderer);
+ }
+ }
+
+ @Override
+ public final void open(Display display, Window owner) {
+ if (textInput == null) {
+ throw new IllegalStateException("textInput is null.");
+ }
+
+ open(display, owner);
+ }
+
+ /**
+ * Opens the suggestion popup window.
+ *
+ * @param textInput
+ * The text input for which suggestions will be provided.
+ */
+ public void open(TextInput textInput) {
+ if (textInput == null) {
+ throw new IllegalArgumentException();
+ }
+
+ this.textInput = textInput;
+
+ super.open(textInput.getWindow());
+
+ if (!isOpen()) {
+ this.textInput = null;
+ }
+ }
+
+ @Override
+ public void close() {
+ super.close();
+
+ if (isClosed()) {
+ textInput = null;
+ }
+ }
+
+ public ListenerList<SuggestionPopupListener> getSuggestionPopupListeners() {
+ return suggestionPopupListeners;
+ }
+}
Added: pivot/trunk/wtk/src/org/apache/pivot/wtk/SuggestionPopupListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/SuggestionPopupListener.java?rev=900197&view=auto
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/SuggestionPopupListener.java (added)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/SuggestionPopupListener.java Sun Jan 17 19:32:31 2010
@@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.pivot.wtk;
+
+import org.apache.pivot.collections.List;
+
+/**
+ * Suggestion popup listener interface.
+ */
+public interface SuggestionPopupListener {
+ /**
+ * Suggestion popup listener adapter.
+ */
+ public static class Adapter implements SuggestionPopupListener {
+ @Override
+ public void suggestionsChanged(SuggestionPopup suggestionPopup,
+ List<?> previousSuggestions) {
+ }
+
+ @Override
+ public void suggestionRendererChanged(SuggestionPopup suggestionPopup,
+ ListView.ItemRenderer previousSuggestionRenderer) {
+ }
+ }
+
+ /**
+ * Called when a suggestion popup's suggestions have changed.
+ *
+ * @param suggestionPopup
+ * @param previousSuggestions
+ */
+ public void suggestionsChanged(SuggestionPopup suggestionPopup, List<?> previousSuggestions);
+
+ /**
+ * Called when a suggestion popup's item renderer has changed.
+ *
+ * @param suggestionPopup
+ * @param previousSuggestionRenderer
+ */
+ public void suggestionRendererChanged(SuggestionPopup suggestionPopup,
+ ListView.ItemRenderer previousSuggestionRenderer);
+}
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewColumnListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewColumnListener.java?rev=900197&r1=900196&r2=900197&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewColumnListener.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewColumnListener.java Sun Jan 17 19:32:31 2010
@@ -26,30 +26,38 @@
* Table view column listener adapter.
*/
public static class Adapter implements TableViewColumnListener {
+ @Override
public void columnInserted(TableView tableView, int index) {
}
+ @Override
public void columnsRemoved(TableView tableView, int index,
Sequence<TableView.Column> columns) {
}
+ @Override
public void columnNameChanged(TableView.Column column, String previousName) {
}
+ @Override
public void columnHeaderDataChanged(TableView.Column column, Object previousHeaderData) {
}
+ @Override
public void columnWidthChanged(TableView.Column column, int previousWidth,
boolean previousRelative) {
}
+ @Override
public void columnWidthLimitsChanged(TableView.Column column, int previousMinimumWidth,
int previousMaximumWidth) {
}
+ @Override
public void columnFilterChanged(TableView.Column column, Object previousFilter) {
}
+ @Override
public void columnCellRendererChanged(TableView.Column column,
TableView.CellRenderer previousCellRenderer) {
}
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewHeaderListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewHeaderListener.java?rev=900197&r1=900196&r2=900197&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewHeaderListener.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewHeaderListener.java Sun Jan 17 19:32:31 2010
@@ -26,13 +26,16 @@
* Table view header listener adapter.
*/
public static class Adapter implements TableViewHeaderListener {
+ @Override
public void tableViewChanged(TableViewHeader tableViewHeader, TableView previousTableView) {
}
+ @Override
public void dataRendererChanged(TableViewHeader tableViewHeader,
TableViewHeader.DataRenderer previousDataRenderer) {
}
+ @Override
public void sortModeChanged(TableViewHeader tableViewHeader, SortMode previousSortMode) {
}
}
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/WindowSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/WindowSkin.java?rev=900197&r1=900196&r2=900197&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/WindowSkin.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/WindowSkin.java Sun Jan 17 19:32:31 2010
@@ -159,6 +159,7 @@
@Override
public void windowOpened(Window window) {
+ // No-op
}
@Override