Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewListener.java URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewListener.java?rev=1822073&r1=1822072&r2=1822073&view=diff ============================================================================== --- pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewListener.java (original) +++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewListener.java Wed Jan 24 04:37:05 2018 @@ -18,14 +18,48 @@ package org.apache.pivot.wtk; import org.apache.pivot.collections.List; import org.apache.pivot.util.Filter; +import org.apache.pivot.util.ListenerList; /** * Table view listener interface. */ public interface TableViewListener { /** + * Table view listeners. + */ + public static class Listeners extends ListenerList<TableViewListener> implements TableViewListener { + @Override + public void tableDataChanged(TableView tableView, List<?> previousTableData) { + forEach(listener -> listener.tableDataChanged(tableView, previousTableData)); + } + + @Override + public void columnSourceChanged(TableView tableView, TableView previousColumnSource) { + forEach(listener -> listener.columnSourceChanged(tableView, previousColumnSource)); + } + + @Override + public void rowEditorChanged(TableView tableView, TableView.RowEditor previousRowEditor) { + forEach(listener -> listener.rowEditorChanged(tableView, previousRowEditor)); + } + + @Override + public void selectModeChanged(TableView tableView, TableView.SelectMode previousSelectMode) { + forEach(listener -> listener.selectModeChanged(tableView, previousSelectMode)); + } + + @Override + public void disabledRowFilterChanged(TableView tableView, + Filter<?> previousDisabledRowFilter) { + forEach(listener -> listener.disabledRowFilterChanged(tableView, previousDisabledRowFilter)); + } + } + + /** * Table view listener adapter. + * @deprecated Since 2.1 and Java 8 the interface itself has default implementations. */ + @Deprecated public static class Adapter implements TableViewListener { @Override public void tableDataChanged(TableView tableView, List<?> previousTableData) { @@ -60,7 +94,8 @@ public interface TableViewListener { * @param tableView The source of this event. * @param previousTableData The previous data list for this table view. */ - public void tableDataChanged(TableView tableView, List<?> previousTableData); + default public void tableDataChanged(TableView tableView, List<?> previousTableData) { + } /** * Called when a table view's column source has changed. @@ -68,7 +103,8 @@ public interface TableViewListener { * @param tableView The source of this event. * @param previousColumnSource The previous column source for this table. */ - public void columnSourceChanged(TableView tableView, TableView previousColumnSource); + default public void columnSourceChanged(TableView tableView, TableView previousColumnSource) { + } /** * Called when a table view's row editor has changed. @@ -76,7 +112,8 @@ public interface TableViewListener { * @param tableView The source of this event. * @param previousRowEditor The row editor that was previously used. */ - public void rowEditorChanged(TableView tableView, TableView.RowEditor previousRowEditor); + default public void rowEditorChanged(TableView tableView, TableView.RowEditor previousRowEditor) { + } /** * Called when a table view's select mode has changed. @@ -84,7 +121,8 @@ public interface TableViewListener { * @param tableView The source of the event. * @param previousSelectMode What the select mode used to be. */ - public void selectModeChanged(TableView tableView, TableView.SelectMode previousSelectMode); + default public void selectModeChanged(TableView tableView, TableView.SelectMode previousSelectMode) { + } /** * Called when a table view's disabled row filter has changed. @@ -92,5 +130,6 @@ public interface TableViewListener { * @param tableView The table view in question. * @param previousDisabledRowFilter What the previous filter for disabled rows was. */ - public void disabledRowFilterChanged(TableView tableView, Filter<?> previousDisabledRowFilter); + default public void disabledRowFilterChanged(TableView tableView, Filter<?> previousDisabledRowFilter) { + } }
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewRowListener.java URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewRowListener.java?rev=1822073&r1=1822072&r2=1822073&view=diff ============================================================================== --- pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewRowListener.java (original) +++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewRowListener.java Wed Jan 24 04:37:05 2018 @@ -16,13 +16,48 @@ */ package org.apache.pivot.wtk; +import org.apache.pivot.util.ListenerList; + /** * Table view row listener interface. */ public interface TableViewRowListener { /** + * Table view row listeners. + */ + public static class Listeners extends ListenerList<TableViewRowListener> + implements TableViewRowListener { + @Override + public void rowInserted(TableView tableView, int index) { + forEach(listener -> listener.rowInserted(tableView, index)); + } + + @Override + public void rowsRemoved(TableView tableView, int index, int count) { + forEach(listener -> listener.rowsRemoved(tableView, index, count)); + } + + @Override + public void rowUpdated(TableView tableView, int index) { + forEach(listener -> listener.rowUpdated(tableView, index)); + } + + @Override + public void rowsCleared(TableView tableView) { + forEach(listener -> listener.rowsCleared(tableView)); + } + + @Override + public void rowsSorted(TableView tableView) { + forEach(listener -> listener.rowsSorted(tableView)); + } + } + + /** * Table row listener adapter. + * @deprecated Since 2.1 and Java 8 the interface itself has default implementations. */ + @Deprecated public static class Adapter implements TableViewRowListener { @Override public void rowInserted(TableView tableView, int index) { @@ -56,7 +91,8 @@ public interface TableViewRowListener { * @param tableView The source of the event. * @param index The index of the row that was inserted. */ - public void rowInserted(TableView tableView, int index); + default public void rowInserted(TableView tableView, int index) { + } /** * Called when rows have been removed from the table view. @@ -66,7 +102,8 @@ public interface TableViewRowListener { * @param count The number of rows that were removed, or <tt>-1</tt> if all * rows were removed. */ - public void rowsRemoved(TableView tableView, int index, int count); + default public void rowsRemoved(TableView tableView, int index, int count) { + } /** * Called when an row in the table view has been updated. @@ -74,19 +111,22 @@ public interface TableViewRowListener { * @param tableView The source of the event. * @param index The first index affected by the event. */ - public void rowUpdated(TableView tableView, int index); + default public void rowUpdated(TableView tableView, int index) { + } /** * Called when the rows in a table view have been cleared. * * @param tableView The source of the event. */ - public void rowsCleared(TableView tableView); + default public void rowsCleared(TableView tableView) { + } /** * Called when the rows in a table have been sorted. * * @param tableView The source of the event. */ - public void rowsSorted(TableView tableView); + default public void rowsSorted(TableView tableView) { + } } Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewSelectionListener.java URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewSelectionListener.java?rev=1822073&r1=1822072&r2=1822073&view=diff ============================================================================== --- pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewSelectionListener.java (original) +++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewSelectionListener.java Wed Jan 24 04:37:05 2018 @@ -17,14 +17,43 @@ package org.apache.pivot.wtk; import org.apache.pivot.collections.Sequence; +import org.apache.pivot.util.ListenerList; /** * Table view selection listener interface. */ public interface TableViewSelectionListener { /** + * Table view selection listeners. + */ + public static class Listeners extends ListenerList<TableViewSelectionListener> + implements TableViewSelectionListener { + @Override + public void selectedRangeAdded(TableView tableView, int rangeStart, int rangeEnd) { + forEach(listener -> listener.selectedRangeAdded(tableView, rangeStart, rangeEnd)); + } + + @Override + public void selectedRangeRemoved(TableView tableView, int rangeStart, int rangeEnd) { + forEach(listener -> listener.selectedRangeRemoved(tableView, rangeStart, rangeEnd)); + } + + @Override + public void selectedRangesChanged(TableView tableView, Sequence<Span> previousSelection) { + forEach(listener -> listener.selectedRangesChanged(tableView, previousSelection)); + } + + @Override + public void selectedRowChanged(TableView tableView, Object previousSelectedRow) { + forEach(listener -> listener.selectedRowChanged(tableView, previousSelectedRow)); + } + } + + /** * Table view selection listener adapter. + * @deprecated Since 2.1 and Java 8 the interface itself has default implementations. */ + @Deprecated public static class Adapter implements TableViewSelectionListener { @Override public void selectedRangeAdded(TableView tableView, int rangeStart, int rangeEnd) { @@ -54,7 +83,8 @@ public interface TableViewSelectionListe * @param rangeStart The start index of the range that was added, inclusive. * @param rangeEnd The end index of the range that was added, inclusive. */ - public void selectedRangeAdded(TableView tableView, int rangeStart, int rangeEnd); + default public void selectedRangeAdded(TableView tableView, int rangeStart, int rangeEnd) { + } /** * Called when a range has been removed from a table view's selection. @@ -64,7 +94,8 @@ public interface TableViewSelectionListe * inclusive. * @param rangeEnd The end index of the range that was removed, inclusive. */ - public void selectedRangeRemoved(TableView tableView, int rangeStart, int rangeEnd); + default public void selectedRangeRemoved(TableView tableView, int rangeStart, int rangeEnd) { + } /** * Called when a table view's selection state has been reset. @@ -75,7 +106,8 @@ public interface TableViewSelectionListe * indirectly as a result of a model change, contains the current selection. * Otherwise, contains <tt>null</tt>. */ - public void selectedRangesChanged(TableView tableView, Sequence<Span> previousSelectedRanges); + default public void selectedRangesChanged(TableView tableView, Sequence<Span> previousSelectedRanges) { + } /** * Called when a table view's selected item has changed. @@ -83,5 +115,6 @@ public interface TableViewSelectionListe * @param tableView The source of the event. * @param previousSelectedRow The row that was previously selected. */ - public void selectedRowChanged(TableView tableView, Object previousSelectedRow); + default public void selectedRowChanged(TableView tableView, Object previousSelectedRow) { + } } Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewSortListener.java URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewSortListener.java?rev=1822073&r1=1822072&r2=1822073&view=diff ============================================================================== --- pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewSortListener.java (original) +++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewSortListener.java Wed Jan 24 04:37:05 2018 @@ -16,13 +16,44 @@ */ package org.apache.pivot.wtk; +import org.apache.pivot.util.ListenerList; + /** * Table view sort listener interface. */ public interface TableViewSortListener { /** + * Table view sort listeners. + */ + public static class Listeners extends ListenerList<TableViewSortListener> + implements TableViewSortListener { + @Override + public void sortAdded(TableView tableView, String columnName) { + forEach(listener -> listener.sortAdded(tableView, columnName)); + } + + @Override + public void sortUpdated(TableView tableView, String columnName, + SortDirection previousSortDirection) { + forEach(listener -> listener.sortUpdated(tableView, columnName, previousSortDirection)); + } + + @Override + public void sortRemoved(TableView tableView, String columnName, SortDirection sortDirection) { + forEach(listener -> listener.sortRemoved(tableView, columnName, sortDirection)); + } + + @Override + public void sortChanged(TableView tableView) { + forEach(listener -> listener.sortChanged(tableView)); + } + } + + /** * Table view sort listener adapter. + * @deprecated Since 2.1 and Java 8 the interface itself has default implementations. */ + @Deprecated public static class Adapter implements TableViewSortListener { @Override public void sortAdded(TableView tableView, String columnName) { @@ -52,7 +83,8 @@ public interface TableViewSortListener { * @param tableView The source of this event. * @param columnName The new column name added to the sort criteria. */ - public void sortAdded(TableView tableView, String columnName); + default public void sortAdded(TableView tableView, String columnName) { + } /** * Called when a sort has been updated in a table view. @@ -61,8 +93,9 @@ public interface TableViewSortListener { * @param columnName The column that was updated. * @param previousSortDirection The previous value of the sort direction for this column. */ - public void sortUpdated(TableView tableView, String columnName, - SortDirection previousSortDirection); + default public void sortUpdated(TableView tableView, String columnName, + SortDirection previousSortDirection) { + } /** * Called when a sort has been removed from a table view. @@ -71,12 +104,14 @@ public interface TableViewSortListener { * @param columnName The column name that was removed from the sort criteria. * @param sortDirection What the sort direction was for this column. */ - public void sortRemoved(TableView tableView, String columnName, SortDirection sortDirection); + default public void sortRemoved(TableView tableView, String columnName, SortDirection sortDirection) { + } /** * Called when a table view's sort has changed. * * @param tableView The source of this event. */ - public void sortChanged(TableView tableView); + default public void sortChanged(TableView tableView) { + } } Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/TextArea.java URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TextArea.java?rev=1822073&r1=1822072&r2=1822073&view=diff ============================================================================== --- pivot/trunk/wtk/src/org/apache/pivot/wtk/TextArea.java (original) +++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TextArea.java Wed Jan 24 04:37:05 2018 @@ -480,65 +480,6 @@ public class TextArea extends Component } } - private static class TextAreaListenerList extends ListenerList<TextAreaListener> implements - TextAreaListener { - @Override - public void maximumLengthChanged(TextArea textArea, int previousMaximumLength) { - forEach(listener -> listener.maximumLengthChanged(textArea, previousMaximumLength)); - } - - @Override - public void editableChanged(TextArea textArea) { - forEach(listener -> listener.editableChanged(textArea)); - } - } - - private static class TextAreaContentListenerList extends - ListenerList<TextAreaContentListener> implements TextAreaContentListener { - @Override - public void paragraphInserted(TextArea textArea, int index) { - forEach(listener -> listener.paragraphInserted(textArea, index)); - } - - @Override - public void paragraphsRemoved(TextArea textArea, int index, - Sequence<TextArea.Paragraph> removed) { - forEach(listener -> listener.paragraphsRemoved(textArea, index, removed)); - } - - @Override - public void textChanged(TextArea textArea) { - forEach(listener -> listener.textChanged(textArea)); - } - } - - private static class TextAreaSelectionListenerList extends - ListenerList<TextAreaSelectionListener> implements TextAreaSelectionListener { - @Override - public void selectionChanged(TextArea textArea, int previousSelectionStart, - int previousSelectionLength) { - forEach(listener -> listener.selectionChanged(textArea, previousSelectionStart, previousSelectionLength)); - } - } - - private static class TextAreaBindingListenerList extends - ListenerList<TextAreaBindingListener> implements TextAreaBindingListener { - @Override - public void textKeyChanged(TextArea textArea, String previousTextKey) { - forEach(listener -> listener.textKeyChanged(textArea, previousTextKey)); - } - - @Override - public void textBindTypeChanged(TextArea textArea, BindType previousTextBindType) { - forEach(listener -> listener.textBindTypeChanged(textArea, previousTextBindType)); - } - - @Override - public void textBindMappingChanged(TextArea textArea, TextBindMapping previousTextBindMapping) { - forEach(listener -> listener.textBindMappingChanged(textArea, previousTextBindMapping)); - } - } - private ArrayList<Paragraph> paragraphs = new ArrayList<>(); private ParagraphSequence paragraphSequence = new ParagraphSequence(); @@ -558,10 +499,10 @@ public class TextArea extends Component private LinkedStack<Edit> editHistory = new LinkedStack<>(MAXIMUM_EDIT_HISTORY_LENGTH); - private TextAreaListenerList textAreaListeners = new TextAreaListenerList(); - private TextAreaContentListenerList textAreaContentListeners = new TextAreaContentListenerList(); - private TextAreaSelectionListenerList textAreaSelectionListeners = new TextAreaSelectionListenerList(); - private TextAreaBindingListenerList textAreaBindingListeners = new TextAreaBindingListenerList(); + private TextAreaListener.Listeners textAreaListeners = new TextAreaListener.Listeners(); + private TextAreaContentListener.Listeners textAreaContentListeners = new TextAreaContentListener.Listeners(); + private TextAreaSelectionListener.Listeners textAreaSelectionListeners = new TextAreaSelectionListener.Listeners(); + private TextAreaBindingListener.Listeners textAreaBindingListeners = new TextAreaBindingListener.Listeners(); private static final int INITIAL_PARAGRAPH_CAPACITY = 256; private static final int MAXIMUM_EDIT_HISTORY_LENGTH = 30; Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/TextAreaBindingListener.java URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TextAreaBindingListener.java?rev=1822073&r1=1822072&r2=1822073&view=diff ============================================================================== --- pivot/trunk/wtk/src/org/apache/pivot/wtk/TextAreaBindingListener.java (original) +++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TextAreaBindingListener.java Wed Jan 24 04:37:05 2018 @@ -16,13 +16,39 @@ */ package org.apache.pivot.wtk; +import org.apache.pivot.util.ListenerList; + /** * Text area binding listener interface. */ public interface TextAreaBindingListener { /** + * Text area binding listeners. + */ + public static class Listeners extends ListenerList<TextAreaBindingListener> + implements TextAreaBindingListener { + @Override + public void textKeyChanged(TextArea textArea, String previousTextKey) { + forEach(listener -> listener.textKeyChanged(textArea, previousTextKey)); + } + + @Override + public void textBindTypeChanged(TextArea textArea, BindType previousTextBindType) { + forEach(listener -> listener.textBindTypeChanged(textArea, previousTextBindType)); + } + + @Override + public void textBindMappingChanged(TextArea textArea, + TextArea.TextBindMapping previousTextBindMapping) { + forEach(listener -> listener.textBindMappingChanged(textArea, previousTextBindMapping)); + } + } + + /** * Text area binding listener adapter. + * @deprecated Since 2.1 and Java 8 the interface itself has default implementations. */ + @Deprecated public static class Adapter implements TextAreaBindingListener { @Override public void textKeyChanged(TextArea textArea, String previousTextKey) { @@ -47,7 +73,8 @@ public interface TextAreaBindingListener * @param textArea The component that has changed. * @param previousTextKey What the text key used to be for this component. */ - public void textKeyChanged(TextArea textArea, String previousTextKey); + default public void textKeyChanged(TextArea textArea, String previousTextKey) { + } /** * Called when a text area's text bind type has changed. @@ -55,7 +82,8 @@ public interface TextAreaBindingListener * @param textArea The source of this event. * @param previousTextBindType The previous bind type for this component. */ - public void textBindTypeChanged(TextArea textArea, BindType previousTextBindType); + default public void textBindTypeChanged(TextArea textArea, BindType previousTextBindType) { + } /** * Called when a text area's text bind mapping has changed. @@ -63,6 +91,7 @@ public interface TextAreaBindingListener * @param textArea The source of this event. * @param previousTextBindMapping The previous bind mapping for this component. */ - public void textBindMappingChanged(TextArea textArea, - TextArea.TextBindMapping previousTextBindMapping); + default public void textBindMappingChanged(TextArea textArea, + TextArea.TextBindMapping previousTextBindMapping) { + } } Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/TextAreaContentListener.java URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TextAreaContentListener.java?rev=1822073&r1=1822072&r2=1822073&view=diff ============================================================================== --- pivot/trunk/wtk/src/org/apache/pivot/wtk/TextAreaContentListener.java (original) +++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TextAreaContentListener.java Wed Jan 24 04:37:05 2018 @@ -17,14 +17,39 @@ package org.apache.pivot.wtk; import org.apache.pivot.collections.Sequence; +import org.apache.pivot.util.ListenerList; /** * Text area text listener interface. */ public interface TextAreaContentListener { /** + * Text area content listeners. + */ + public static class Listeners extends ListenerList<TextAreaContentListener> + implements TextAreaContentListener { + @Override + public void paragraphInserted(TextArea textArea, int index) { + forEach(listener -> listener.paragraphInserted(textArea, index)); + } + + @Override + public void paragraphsRemoved(TextArea textArea, int index, + Sequence<TextArea.Paragraph> removed) { + forEach(listener -> listener.paragraphsRemoved(textArea, index, removed)); + } + + @Override + public void textChanged(TextArea textArea) { + forEach(listener -> listener.textChanged(textArea)); + } + } + + /** * Text input text listener adapter. + * @deprecated Since 2.1 and Java 8 the interface itself has default implementations. */ + @Deprecated public static class Adapter implements TextAreaContentListener { @Override public void paragraphInserted(TextArea textArea, int index) { @@ -50,7 +75,8 @@ public interface TextAreaContentListener * @param textArea The source of the event. * @param index The index at which the paragraph was inserted. */ - public void paragraphInserted(TextArea textArea, int index); + default public void paragraphInserted(TextArea textArea, int index) { + } /** * Called when paragraphs have been removed from a text area's paragraph @@ -60,12 +86,14 @@ public interface TextAreaContentListener * @param index The starting index from which the paragraphs were removed. * @param removed The paragraphs that were removed. */ - public void paragraphsRemoved(TextArea textArea, int index, Sequence<TextArea.Paragraph> removed); + default public void paragraphsRemoved(TextArea textArea, int index, Sequence<TextArea.Paragraph> removed) { + } /** * Called when a text area's text has changed. * * @param textArea The source of the event. */ - public void textChanged(TextArea textArea); + default public void textChanged(TextArea textArea) { + } } Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/TextAreaListener.java URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TextAreaListener.java?rev=1822073&r1=1822072&r2=1822073&view=diff ============================================================================== --- pivot/trunk/wtk/src/org/apache/pivot/wtk/TextAreaListener.java (original) +++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TextAreaListener.java Wed Jan 24 04:37:05 2018 @@ -16,13 +16,32 @@ */ package org.apache.pivot.wtk; +import org.apache.pivot.util.ListenerList; + /** * Text area listener interface. */ public interface TextAreaListener { /** + * Text area listeners. + */ + public static class Listeners extends ListenerList<TextAreaListener> implements TextAreaListener { + @Override + public void maximumLengthChanged(TextArea textArea, int previousMaximumLength) { + forEach(listener -> listener.maximumLengthChanged(textArea, previousMaximumLength)); + } + + @Override + public void editableChanged(TextArea textArea) { + forEach(listener -> listener.editableChanged(textArea)); + } + } + + /** * Text area listener adapter. + * @deprecated Since 2.1 and Java 8 the interface itself has default implementations. */ + @Deprecated public static class Adapter implements TextAreaListener { @Override public void maximumLengthChanged(TextArea textArea, int previousMaximumLength) { @@ -41,12 +60,14 @@ public interface TextAreaListener { * @param textArea The source of this event. * @param previousMaximumLength What the maximum length used to be. */ - public void maximumLengthChanged(TextArea textArea, int previousMaximumLength); + default public void maximumLengthChanged(TextArea textArea, int previousMaximumLength) { + } /** * Called when a text area's editable state has changed. * * @param textArea The source of this event. */ - public void editableChanged(TextArea textArea); + default public void editableChanged(TextArea textArea) { + } } Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/TextAreaSelectionListener.java URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TextAreaSelectionListener.java?rev=1822073&r1=1822072&r2=1822073&view=diff ============================================================================== --- pivot/trunk/wtk/src/org/apache/pivot/wtk/TextAreaSelectionListener.java (original) +++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TextAreaSelectionListener.java Wed Jan 24 04:37:05 2018 @@ -16,11 +16,25 @@ */ package org.apache.pivot.wtk; +import org.apache.pivot.util.ListenerList; + /** * Text area selection listener interface. */ public interface TextAreaSelectionListener { /** + * Text area selection listeners. + */ + public static class Listeners extends ListenerList<TextAreaSelectionListener> + implements TextAreaSelectionListener { + @Override + public void selectionChanged(TextArea textArea, int previousSelectionStart, + int previousSelectionLength) { + forEach(listener -> listener.selectionChanged(textArea, previousSelectionStart, previousSelectionLength)); + } + } + + /** * Called when a text area's selection state has changed. * * @param textArea The source of this event. Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/TextPane.java URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TextPane.java?rev=1822073&r1=1822072&r2=1822073&view=diff ============================================================================== --- pivot/trunk/wtk/src/org/apache/pivot/wtk/TextPane.java (original) +++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TextPane.java Wed Jan 24 04:37:05 2018 @@ -188,47 +188,6 @@ public class TextPane extends Container } } - private static class TextPaneListenerList extends ListenerList<TextPaneListener> implements - TextPaneListener { - @Override - public void documentChanged(TextPane textPane, Document previousText) { - forEach(listener -> listener.documentChanged(textPane, previousText)); - } - - @Override - public void editableChanged(TextPane textPane) { - forEach(listener -> listener.editableChanged(textPane)); - } - } - - private static class TextPaneCharacterListenerList extends - ListenerList<TextPaneCharacterListener> implements TextPaneCharacterListener { - /** - * @param index Index into the whole document. - */ - @Override - public void charactersInserted(TextPane textPane, int index, int count) { - forEach(listener -> listener.charactersInserted(textPane, index, count)); - } - - /** - * @param index Index into the whole document. - */ - @Override - public void charactersRemoved(TextPane textPane, int index, int count) { - forEach(listener -> listener.charactersRemoved(textPane, index, count)); - } - } - - private static class TextPaneSelectionListenerList extends - ListenerList<TextPaneSelectionListener> implements TextPaneSelectionListener { - @Override - public void selectionChanged(TextPane textPane, int previousSelectionStart, - int previousSelectionLength) { - forEach(listener -> listener.selectionChanged(textPane, previousSelectionStart, previousSelectionLength)); - } - } - private Document document = null; private AttributedStringCharacterIterator composedText = null; @@ -338,9 +297,9 @@ public class TextPane extends Container private LinkedStack<Edit> editHistory = new LinkedStack<>(MAXIMUM_EDIT_HISTORY_LENGTH); - private TextPaneListenerList textPaneListeners = new TextPaneListenerList(); - private TextPaneCharacterListenerList textPaneCharacterListeners = new TextPaneCharacterListenerList(); - private TextPaneSelectionListenerList textPaneSelectionListeners = new TextPaneSelectionListenerList(); + private TextPaneListener.Listeners textPaneListeners = new TextPaneListener.Listeners(); + private TextPaneCharacterListener.Listeners textPaneCharacterListeners = new TextPaneCharacterListener.Listeners(); + private TextPaneSelectionListener.Listeners textPaneSelectionListeners = new TextPaneSelectionListener.Listeners(); private static final int MAXIMUM_EDIT_HISTORY_LENGTH = 100; Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/TextPaneCharacterListener.java URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TextPaneCharacterListener.java?rev=1822073&r1=1822072&r2=1822073&view=diff ============================================================================== --- pivot/trunk/wtk/src/org/apache/pivot/wtk/TextPaneCharacterListener.java (original) +++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TextPaneCharacterListener.java Wed Jan 24 04:37:05 2018 @@ -16,13 +16,39 @@ */ package org.apache.pivot.wtk; +import org.apache.pivot.util.ListenerList; + /** * Text pane character listener interface. */ public interface TextPaneCharacterListener { /** + * Text pane character listeners. + */ + public static class Listeners extends ListenerList<TextPaneCharacterListener> + implements TextPaneCharacterListener { + /** + * @param index Index into the whole document. + */ + @Override + public void charactersInserted(TextPane textPane, int index, int count) { + forEach(listener -> listener.charactersInserted(textPane, index, count)); + } + + /** + * @param index Index into the whole document. + */ + @Override + public void charactersRemoved(TextPane textPane, int index, int count) { + forEach(listener -> listener.charactersRemoved(textPane, index, count)); + } + } + + /** * Text pane character listener adapter. + * @deprecated Since 2.1 and Java 8 the interface itself has default implementations. */ + @Deprecated public static class Adapter implements TextPaneCharacterListener { @Override public void charactersInserted(TextPane textPane, int index, int count) { @@ -42,7 +68,8 @@ public interface TextPaneCharacterListen * @param index The starting point of the text insertion. * @param count The count of characters inserted there. */ - public void charactersInserted(TextPane textPane, int index, int count); + default public void charactersInserted(TextPane textPane, int index, int count) { + } /** * Called when characters have been removed from a text pane. @@ -51,5 +78,6 @@ public interface TextPaneCharacterListen * @param index The starting point where text was removed. * @param count Number of characters removed starting from there. */ - public void charactersRemoved(TextPane textPane, int index, int count); + default public void charactersRemoved(TextPane textPane, int index, int count) { + } } Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/TextPaneListener.java URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TextPaneListener.java?rev=1822073&r1=1822072&r2=1822073&view=diff ============================================================================== --- pivot/trunk/wtk/src/org/apache/pivot/wtk/TextPaneListener.java (original) +++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TextPaneListener.java Wed Jan 24 04:37:05 2018 @@ -16,6 +16,7 @@ */ package org.apache.pivot.wtk; +import org.apache.pivot.util.ListenerList; import org.apache.pivot.wtk.text.Document; /** @@ -23,8 +24,25 @@ import org.apache.pivot.wtk.text.Documen */ public interface TextPaneListener { /** + * Text pane listeners. + */ + public static class Listeners extends ListenerList<TextPaneListener> implements TextPaneListener { + @Override + public void documentChanged(TextPane textPane, Document previousText) { + forEach(listener -> listener.documentChanged(textPane, previousText)); + } + + @Override + public void editableChanged(TextPane textPane) { + forEach(listener -> listener.editableChanged(textPane)); + } + } + + /** * Text pane listener adapter. + * @deprecated Since 2.1 and Java 8 the interface itself has default implementations. */ + @Deprecated public static class Adapter implements TextPaneListener { @Override public void documentChanged(TextPane textPane, Document previousDocument) { @@ -43,12 +61,14 @@ public interface TextPaneListener { * @param textPane The text pane that changed. * @param previousDocument What the document used to be. */ - public void documentChanged(TextPane textPane, Document previousDocument); + default public void documentChanged(TextPane textPane, Document previousDocument) { + } /** * Called when a text pane's editable state has changed. * * @param textPane The source of this event. */ - public void editableChanged(TextPane textPane); + default public void editableChanged(TextPane textPane) { + } } Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/TextPaneSelectionListener.java URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TextPaneSelectionListener.java?rev=1822073&r1=1822072&r2=1822073&view=diff ============================================================================== --- pivot/trunk/wtk/src/org/apache/pivot/wtk/TextPaneSelectionListener.java (original) +++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TextPaneSelectionListener.java Wed Jan 24 04:37:05 2018 @@ -16,11 +16,25 @@ */ package org.apache.pivot.wtk; +import org.apache.pivot.util.ListenerList; + /** * Text pane selection listener interface. */ public interface TextPaneSelectionListener { /** + * Text pane selection listeners. + */ + public static class Listeners extends ListenerList<TextPaneSelectionListener> + implements TextPaneSelectionListener { + @Override + public void selectionChanged(TextPane textPane, int previousSelectionStart, + int previousSelectionLength) { + forEach(listener -> listener.selectionChanged(textPane, previousSelectionStart, previousSelectionLength)); + } + } + + /** * Called when a text pane's selection state has changed. * * @param textPane The source of this event. Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/TreeView.java URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TreeView.java?rev=1822073&r1=1822072&r2=1822073&view=diff ============================================================================== --- pivot/trunk/wtk/src/org/apache/pivot/wtk/TreeView.java (original) +++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TreeView.java Wed Jan 24 04:37:05 2018 @@ -208,154 +208,6 @@ public class TreeView extends Component } /** - * Tree view listener list. - */ - private static class TreeViewListenerList extends ListenerList<TreeViewListener> implements - TreeViewListener { - - @Override - public void treeDataChanged(TreeView treeView, List<?> previousTreeData) { - forEach(listener -> listener.treeDataChanged(treeView, previousTreeData)); - } - - @Override - public void nodeRendererChanged(TreeView treeView, NodeRenderer previousNodeRenderer) { - forEach(listener -> listener.nodeRendererChanged(treeView, previousNodeRenderer)); - } - - @Override - public void nodeEditorChanged(TreeView treeView, TreeView.NodeEditor previousNodeEditor) { - forEach(listener -> listener.nodeEditorChanged(treeView, previousNodeEditor)); - } - - @Override - public void selectModeChanged(TreeView treeView, SelectMode previousSelectMode) { - forEach(listener -> listener.selectModeChanged(treeView, previousSelectMode)); - } - - @Override - public void checkmarksEnabledChanged(TreeView treeView) { - forEach(listener -> listener.checkmarksEnabledChanged(treeView)); - } - - @Override - public void showMixedCheckmarkStateChanged(TreeView treeView) { - forEach(listener -> listener.showMixedCheckmarkStateChanged(treeView)); - } - - @Override - public void disabledNodeFilterChanged(TreeView treeView, - Filter<?> previousDisabledNodeFilter) { - forEach(listener -> listener.disabledNodeFilterChanged(treeView, previousDisabledNodeFilter)); - } - - @Override - public void disabledCheckmarkFilterChanged(TreeView treeView, - Filter<?> previousDisabledCheckmarkFilter) { - forEach(listener -> listener.disabledCheckmarkFilterChanged(treeView, previousDisabledCheckmarkFilter)); - } - } - - /** - * Tree view branch listener list. - */ - private static class TreeViewBranchListenerList extends ListenerList<TreeViewBranchListener> - implements TreeViewBranchListener { - @Override - public void branchExpanded(TreeView treeView, Path path) { - forEach(listener -> listener.branchExpanded(treeView, path)); - } - - @Override - public void branchCollapsed(TreeView treeView, Path path) { - forEach(listener -> listener.branchCollapsed(treeView, path)); - } - - @Override - public Vote previewBranchExpandedChange(TreeView treeView, Path path) { - VoteResult vote = new VoteResult(Vote.APPROVE); - - forEach(listener -> vote.tally(listener.previewBranchExpandedChange(treeView, path))); - - return vote.get(); - } - - @Override - public void branchExpandedChangeVetoed(TreeView treeView, Path path, Vote reason) { - forEach(listener -> listener.branchExpandedChangeVetoed(treeView, path, reason)); - } - } - - /** - * Tree view node listener list. - */ - private static class TreeViewNodeListenerList extends ListenerList<TreeViewNodeListener> - implements TreeViewNodeListener { - @Override - public void nodeInserted(TreeView treeView, Path path, int index) { - forEach(listener -> listener.nodeInserted(treeView, path, index)); - } - - @Override - public void nodesRemoved(TreeView treeView, Path path, int index, int count) { - forEach(listener -> listener.nodesRemoved(treeView, path, index, count)); - } - - @Override - public void nodeUpdated(TreeView treeView, Path path, int index) { - forEach(listener -> listener.nodeUpdated(treeView, path, index)); - } - - @Override - public void nodesCleared(TreeView treeView, Path path) { - forEach(listener -> listener.nodesCleared(treeView, path)); - } - - @Override - public void nodesSorted(TreeView treeView, Path path) { - forEach(listener -> listener.nodesSorted(treeView, path)); - } - } - - /** - * Tree view node state listener list. - */ - private static class TreeViewNodeStateListenerList extends - ListenerList<TreeViewNodeStateListener> implements TreeViewNodeStateListener { - @Override - public void nodeCheckStateChanged(TreeView treeView, Path path, - TreeView.NodeCheckState previousCheckState) { - forEach(listener -> listener.nodeCheckStateChanged(treeView, path, previousCheckState)); - } - } - - /** - * Tree view selection listener list. - */ - private static class TreeViewSelectionListenerList extends - ListenerList<TreeViewSelectionListener> implements TreeViewSelectionListener { - @Override - public void selectedPathAdded(TreeView treeView, Path path) { - forEach(listener -> listener.selectedPathAdded(treeView, path)); - } - - @Override - public void selectedPathRemoved(TreeView treeView, Path path) { - forEach(listener -> listener.selectedPathRemoved(treeView, path)); - } - - @Override - public void selectedPathsChanged(TreeView treeView, Sequence<Path> previousSelectedPaths) { - forEach(listener -> listener.selectedPathsChanged(treeView, previousSelectedPaths)); - } - - @Override - public void selectedNodeChanged(TreeView treeView, Object previousSelectedNode) { - forEach(listener -> listener.selectedNodeChanged(treeView, previousSelectedNode)); - } - } - - /** * A comparator that sorts paths by the order in which they would visually * appear in a fully expanded tree, otherwise known as their "row order". */ @@ -819,11 +671,11 @@ public class TreeView extends Component private NodeEditor nodeEditor = null; // Listener lists - private TreeViewListenerList treeViewListeners = new TreeViewListenerList(); - private TreeViewBranchListenerList treeViewBranchListeners = new TreeViewBranchListenerList(); - private TreeViewNodeListenerList treeViewNodeListeners = new TreeViewNodeListenerList(); - private TreeViewNodeStateListenerList treeViewNodeStateListeners = new TreeViewNodeStateListenerList(); - private TreeViewSelectionListenerList treeViewSelectionListeners = new TreeViewSelectionListenerList(); + private TreeViewListener.Listeners treeViewListeners = new TreeViewListener.Listeners(); + private TreeViewBranchListener.Listeners treeViewBranchListeners = new TreeViewBranchListener.Listeners(); + private TreeViewNodeListener.Listeners treeViewNodeListeners = new TreeViewNodeListener.Listeners(); + private TreeViewNodeStateListener.Listeners treeViewNodeStateListeners = new TreeViewNodeStateListener.Listeners(); + private TreeViewSelectionListener.Listeners treeViewSelectionListeners = new TreeViewSelectionListener.Listeners(); // other properties private String treeDataKey = null; Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/TreeViewBranchListener.java URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TreeViewBranchListener.java?rev=1822073&r1=1822072&r2=1822073&view=diff ============================================================================== --- pivot/trunk/wtk/src/org/apache/pivot/wtk/TreeViewBranchListener.java (original) +++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TreeViewBranchListener.java Wed Jan 24 04:37:05 2018 @@ -17,15 +17,49 @@ package org.apache.pivot.wtk; import org.apache.pivot.collections.Sequence.Tree.Path; +import org.apache.pivot.util.ListenerList; import org.apache.pivot.util.Vote; +import org.apache.pivot.util.VoteResult; /** * Tree view branch listener interface. */ public interface TreeViewBranchListener { /** + * Tree view branch listener list. + */ + public static class Listeners extends ListenerList<TreeViewBranchListener> + implements TreeViewBranchListener { + @Override + public void branchExpanded(TreeView treeView, Path path) { + forEach(listener -> listener.branchExpanded(treeView, path)); + } + + @Override + public void branchCollapsed(TreeView treeView, Path path) { + forEach(listener -> listener.branchCollapsed(treeView, path)); + } + + @Override + public Vote previewBranchExpandedChange(TreeView treeView, Path path) { + VoteResult vote = new VoteResult(Vote.APPROVE); + + forEach(listener -> vote.tally(listener.previewBranchExpandedChange(treeView, path))); + + return vote.get(); + } + + @Override + public void branchExpandedChangeVetoed(TreeView treeView, Path path, Vote reason) { + forEach(listener -> listener.branchExpandedChangeVetoed(treeView, path, reason)); + } + } + + /** * Tree view branch listener adapter. + * @deprecated Since 2.1 and Java 8 the interface itself has default implementations. */ + @Deprecated public static class Adapter implements TreeViewBranchListener { @Override public void branchExpanded(TreeView treeView, Path path) { @@ -55,7 +89,8 @@ public interface TreeViewBranchListener * @param treeView The source of the event. * @param path The path of the node that was shown. */ - public void branchExpanded(TreeView treeView, Path path); + default public void branchExpanded(TreeView treeView, Path path) { + } /** * Called when a tree node is collapsed. @@ -63,7 +98,8 @@ public interface TreeViewBranchListener * @param treeView The source of the event. * @param path The path of the node that was collapsed. */ - public void branchCollapsed(TreeView treeView, Path path); + default public void branchCollapsed(TreeView treeView, Path path) { + } /** * Called before a tree node is expanded or collapsed to allow the application @@ -73,7 +109,9 @@ public interface TreeViewBranchListener * @param path The path of the node about to be collapsed or expanded. * @return The accumulated vote as to whether to allow this expansion or collapse. */ - public Vote previewBranchExpandedChange(TreeView treeView, Path path); + default public Vote previewBranchExpandedChange(TreeView treeView, Path path) { + return Vote.APPROVE; + } /** * Called when the {@link #previewBranchExpandedChange previewBranchExpandedChange()} @@ -85,6 +123,7 @@ public interface TreeViewBranchListener * @param path The path of the node whose state will remain the same. * @param reason The tallied vote result that caused the veto. */ - public void branchExpandedChangeVetoed(TreeView treeView, Path path, Vote reason); + default public void branchExpandedChangeVetoed(TreeView treeView, Path path, Vote reason) { + } } Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/TreeViewListener.java URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TreeViewListener.java?rev=1822073&r1=1822072&r2=1822073&view=diff ============================================================================== --- pivot/trunk/wtk/src/org/apache/pivot/wtk/TreeViewListener.java (original) +++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TreeViewListener.java Wed Jan 24 04:37:05 2018 @@ -18,14 +18,64 @@ package org.apache.pivot.wtk; import org.apache.pivot.collections.List; import org.apache.pivot.util.Filter; +import org.apache.pivot.util.ListenerList; /** * Tree view listener interface. */ public interface TreeViewListener { /** + * Tree view listener list. + */ + public static class Listeners extends ListenerList<TreeViewListener> implements TreeViewListener { + @Override + public void treeDataChanged(TreeView treeView, List<?> previousTreeData) { + forEach(listener -> listener.treeDataChanged(treeView, previousTreeData)); + } + + @Override + public void nodeRendererChanged(TreeView treeView, TreeView.NodeRenderer previousNodeRenderer) { + forEach(listener -> listener.nodeRendererChanged(treeView, previousNodeRenderer)); + } + + @Override + public void nodeEditorChanged(TreeView treeView, TreeView.NodeEditor previousNodeEditor) { + forEach(listener -> listener.nodeEditorChanged(treeView, previousNodeEditor)); + } + + @Override + public void selectModeChanged(TreeView treeView, TreeView.SelectMode previousSelectMode) { + forEach(listener -> listener.selectModeChanged(treeView, previousSelectMode)); + } + + @Override + public void checkmarksEnabledChanged(TreeView treeView) { + forEach(listener -> listener.checkmarksEnabledChanged(treeView)); + } + + @Override + public void showMixedCheckmarkStateChanged(TreeView treeView) { + forEach(listener -> listener.showMixedCheckmarkStateChanged(treeView)); + } + + @Override + public void disabledNodeFilterChanged(TreeView treeView, + Filter<?> previousDisabledNodeFilter) { + forEach(listener -> listener.disabledNodeFilterChanged(treeView, previousDisabledNodeFilter)); + } + + @Override + public void disabledCheckmarkFilterChanged(TreeView treeView, + Filter<?> previousDisabledCheckmarkFilter) { + forEach(listener -> listener.disabledCheckmarkFilterChanged(treeView, previousDisabledCheckmarkFilter)); + } + } + + /** * Tree view listener adapter. + * @deprecated Since 2.1 and Java 8 the interface itself has default implementations. */ + @Deprecated public static class Adapter implements TreeViewListener { @Override public void treeDataChanged(TreeView treeView, List<?> previousTreeData) { @@ -77,7 +127,8 @@ public interface TreeViewListener { * @param treeView The source of this event. * @param previousTreeData The previous data for this tree. */ - public void treeDataChanged(TreeView treeView, List<?> previousTreeData); + default public void treeDataChanged(TreeView treeView, List<?> previousTreeData) { + } /** * Called when a tree view's node renderer has changed. @@ -85,7 +136,8 @@ public interface TreeViewListener { * @param treeView The source of this event. * @param previousNodeRenderer The previous renderer for tree nodes. */ - public void nodeRendererChanged(TreeView treeView, TreeView.NodeRenderer previousNodeRenderer); + default public void nodeRendererChanged(TreeView treeView, TreeView.NodeRenderer previousNodeRenderer) { + } /** * Called when a tree view's node editor has changed. @@ -93,7 +145,8 @@ public interface TreeViewListener { * @param treeView The source of this event. * @param previousNodeEditor The previous editor for tree nodes. */ - public void nodeEditorChanged(TreeView treeView, TreeView.NodeEditor previousNodeEditor); + default public void nodeEditorChanged(TreeView treeView, TreeView.NodeEditor previousNodeEditor) { + } /** * Called when a tree view's select mode has changed. @@ -101,21 +154,24 @@ public interface TreeViewListener { * @param treeView The source of this event. * @param previousSelectMode What the tree view's select mode was before the change. */ - public void selectModeChanged(TreeView treeView, TreeView.SelectMode previousSelectMode); + default public void selectModeChanged(TreeView treeView, TreeView.SelectMode previousSelectMode) { + } /** * Called when a tree view's checkmarks enabled flag has changed. * * @param treeView The source of this event. */ - public void checkmarksEnabledChanged(TreeView treeView); + default public void checkmarksEnabledChanged(TreeView treeView) { + } /** * Called when a tree view's "show mixed checkmark state" flag has changed. * * @param treeView The tree view that has changed. */ - public void showMixedCheckmarkStateChanged(TreeView treeView); + default public void showMixedCheckmarkStateChanged(TreeView treeView) { + } /** * Called when a tree view's disabled node filter has changed. @@ -123,7 +179,8 @@ public interface TreeViewListener { * @param treeView The tree view that has changed. * @param previousDisabledNodeFilter The previous filter that determines the disabled nodes. */ - public void disabledNodeFilterChanged(TreeView treeView, Filter<?> previousDisabledNodeFilter); + default public void disabledNodeFilterChanged(TreeView treeView, Filter<?> previousDisabledNodeFilter) { + } /** * Called when a tree view's disabled checkmark filter has changed. @@ -131,6 +188,7 @@ public interface TreeViewListener { * @param treeView The source of this event. * @param previousDisabledCheckmarkFilter The previous filter that determined the disabled checkmarks. */ - public void disabledCheckmarkFilterChanged(TreeView treeView, - Filter<?> previousDisabledCheckmarkFilter); + default public void disabledCheckmarkFilterChanged(TreeView treeView, + Filter<?> previousDisabledCheckmarkFilter) { + } } Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/TreeViewNodeListener.java URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TreeViewNodeListener.java?rev=1822073&r1=1822072&r2=1822073&view=diff ============================================================================== --- pivot/trunk/wtk/src/org/apache/pivot/wtk/TreeViewNodeListener.java (original) +++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TreeViewNodeListener.java Wed Jan 24 04:37:05 2018 @@ -17,14 +17,48 @@ package org.apache.pivot.wtk; import org.apache.pivot.collections.Sequence.Tree.Path; +import org.apache.pivot.util.ListenerList; /** * Tree view node listener interface. */ public interface TreeViewNodeListener { /** + * Tree view node listener list. + */ + public static class Listeners extends ListenerList<TreeViewNodeListener> + implements TreeViewNodeListener { + @Override + public void nodeInserted(TreeView treeView, Path path, int index) { + forEach(listener -> listener.nodeInserted(treeView, path, index)); + } + + @Override + public void nodesRemoved(TreeView treeView, Path path, int index, int count) { + forEach(listener -> listener.nodesRemoved(treeView, path, index, count)); + } + + @Override + public void nodeUpdated(TreeView treeView, Path path, int index) { + forEach(listener -> listener.nodeUpdated(treeView, path, index)); + } + + @Override + public void nodesCleared(TreeView treeView, Path path) { + forEach(listener -> listener.nodesCleared(treeView, path)); + } + + @Override + public void nodesSorted(TreeView treeView, Path path) { + forEach(listener -> listener.nodesSorted(treeView, path)); + } + } + + /** * Tree view node listener adapter. + * @deprecated Since 2.1 and Java 8 the interface itself has default implementations. */ + @Deprecated public static class Adapter implements TreeViewNodeListener { @Override public void nodeInserted(TreeView treeView, Path path, int index) { @@ -59,7 +93,8 @@ public interface TreeViewNodeListener { * @param path The path to the branch where the node was inserted. * @param index The index of the newly inserted node within the branch. */ - public void nodeInserted(TreeView treeView, Path path, int index); + default public void nodeInserted(TreeView treeView, Path path, int index) { + } /** * Called when nodes have been removed from the tree view. @@ -70,7 +105,8 @@ public interface TreeViewNodeListener { * @param count The number of nodes that were removed, or <tt>-1</tt> if all * nodes were removed. */ - public void nodesRemoved(TreeView treeView, Path path, int index, int count); + default public void nodesRemoved(TreeView treeView, Path path, int index, int count) { + } /** * Called when a node in the tree view has been updated. @@ -79,7 +115,8 @@ public interface TreeViewNodeListener { * @param path Path to the branch that is the parent of the updated node. * @param index Index of the updated node within the branch. */ - public void nodeUpdated(TreeView treeView, Path path, int index); + default public void nodeUpdated(TreeView treeView, Path path, int index) { + } /** * Called when the nodes in a branch have been cleared. @@ -87,7 +124,8 @@ public interface TreeViewNodeListener { * @param treeView The source of this event. * @param path Path to the branch where the nodes were cleared. */ - public void nodesCleared(TreeView treeView, Path path); + default public void nodesCleared(TreeView treeView, Path path) { + } /** * Called when the nodes in a branch have been sorted. @@ -95,5 +133,6 @@ public interface TreeViewNodeListener { * @param treeView The source of this event. * @param path Path to the branch where the nodes were sorted. */ - public void nodesSorted(TreeView treeView, Path path); + default public void nodesSorted(TreeView treeView, Path path) { + } } Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/TreeViewNodeStateListener.java URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TreeViewNodeStateListener.java?rev=1822073&r1=1822072&r2=1822073&view=diff ============================================================================== --- pivot/trunk/wtk/src/org/apache/pivot/wtk/TreeViewNodeStateListener.java (original) +++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TreeViewNodeStateListener.java Wed Jan 24 04:37:05 2018 @@ -17,12 +17,25 @@ package org.apache.pivot.wtk; import org.apache.pivot.collections.Sequence.Tree.Path; +import org.apache.pivot.util.ListenerList; /** * Tree view node state listener interface. */ public interface TreeViewNodeStateListener { /** + * Tree view node state listener list. + */ + public static class Listeners extends ListenerList<TreeViewNodeStateListener> + implements TreeViewNodeStateListener { + @Override + public void nodeCheckStateChanged(TreeView treeView, Path path, + TreeView.NodeCheckState previousCheckState) { + forEach(listener -> listener.nodeCheckStateChanged(treeView, path, previousCheckState)); + } + } + + /** * Called when a node's checked state has changed. * * @param treeView The source of this event. Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/TreeViewSelectionListener.java URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TreeViewSelectionListener.java?rev=1822073&r1=1822072&r2=1822073&view=diff ============================================================================== --- pivot/trunk/wtk/src/org/apache/pivot/wtk/TreeViewSelectionListener.java (original) +++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TreeViewSelectionListener.java Wed Jan 24 04:37:05 2018 @@ -18,14 +18,43 @@ package org.apache.pivot.wtk; import org.apache.pivot.collections.Sequence; import org.apache.pivot.collections.Sequence.Tree.Path; +import org.apache.pivot.util.ListenerList; /** * Tree view selection listener. */ public interface TreeViewSelectionListener { /** + * Tree view selection listener list. + */ + public static class Listeners extends ListenerList<TreeViewSelectionListener> + implements TreeViewSelectionListener { + @Override + public void selectedPathAdded(TreeView treeView, Path path) { + forEach(listener -> listener.selectedPathAdded(treeView, path)); + } + + @Override + public void selectedPathRemoved(TreeView treeView, Path path) { + forEach(listener -> listener.selectedPathRemoved(treeView, path)); + } + + @Override + public void selectedPathsChanged(TreeView treeView, Sequence<Path> previousSelectedPaths) { + forEach(listener -> listener.selectedPathsChanged(treeView, previousSelectedPaths)); + } + + @Override + public void selectedNodeChanged(TreeView treeView, Object previousSelectedNode) { + forEach(listener -> listener.selectedNodeChanged(treeView, previousSelectedNode)); + } + } + + /** * Tree view selection listener adapter. + * @deprecated Since 2.1 and Java 8 the interface itself has default implementations. */ + @Deprecated public static class Adapter implements TreeViewSelectionListener { @Override public void selectedPathAdded(TreeView treeView, Path path) { @@ -54,7 +83,8 @@ public interface TreeViewSelectionListen * @param treeView The source of this event. * @param path The path that has been added to the selection. */ - public void selectedPathAdded(TreeView treeView, Path path); + default public void selectedPathAdded(TreeView treeView, Path path) { + } /** * Called when a selected path has been removed from a tree view. @@ -62,7 +92,8 @@ public interface TreeViewSelectionListen * @param treeView The source of this event. * @param path The path that was removed from the selection. */ - public void selectedPathRemoved(TreeView treeView, Path path); + default public void selectedPathRemoved(TreeView treeView, Path path) { + } /** * Called when a tree view's selection state has been reset. @@ -70,7 +101,8 @@ public interface TreeViewSelectionListen * @param treeView The source of this event. * @param previousSelectedPaths The list of paths that were previously selected. */ - public void selectedPathsChanged(TreeView treeView, Sequence<Path> previousSelectedPaths); + default public void selectedPathsChanged(TreeView treeView, Sequence<Path> previousSelectedPaths) { + } /** * Called when a tree view's selected node has changed. @@ -78,5 +110,6 @@ public interface TreeViewSelectionListen * @param treeView The source of this event. * @param previousSelectedNode The node that used to be selected. */ - public void selectedNodeChanged(TreeView treeView, Object previousSelectedNode); + default public void selectedNodeChanged(TreeView treeView, Object previousSelectedNode) { + } }