From: Niki Roo Date: Wed, 22 Apr 2020 18:04:15 +0000 (+0200) Subject: Merge branch 'subtree' X-Git-Url: http://git.nikiroo.be/?p=nikiroo-utils.git;a=commitdiff_plain;h=44fc40eccac54e9458a71b272b199d4b712a0b37;hp=-c Merge branch 'subtree' --- 44fc40eccac54e9458a71b272b199d4b712a0b37 diff --combined src/be/nikiroo/utils/compat/DefaultListModel6.java index 0000000,114ac42..114ac42 mode 000000,100644..100644 --- a/src/be/nikiroo/utils/compat/DefaultListModel6.java +++ b/src/be/nikiroo/utils/compat/DefaultListModel6.java @@@ -1,0 -1,22 +1,22 @@@ + package be.nikiroo.utils.compat; + + import javax.swing.DefaultListModel; + import javax.swing.JList; + + /** + * Compatibility layer so I can at least get rid of the warnings of using + * {@link JList} without a parameter (and still staying Java 1.6 compatible). + *

+ * This class is merely a {@link DefaultListModel} that you can parametrise also + * in Java 1.6. + * + * @author niki + * + * @param + * the type to use + */ + @SuppressWarnings("rawtypes") // not compatible Java 1.6 + public class DefaultListModel6 extends DefaultListModel + implements ListModel6 { + private static final long serialVersionUID = 1L; + } diff --combined src/be/nikiroo/utils/compat/JList6.java index 0000000,e0aea42..e0aea42 mode 000000,100644..100644 --- a/src/be/nikiroo/utils/compat/JList6.java +++ b/src/be/nikiroo/utils/compat/JList6.java @@@ -1,0 -1,84 +1,84 @@@ + package be.nikiroo.utils.compat; + + import javax.swing.JList; + import javax.swing.ListCellRenderer; + import javax.swing.ListModel; + + /** + * Compatibility layer so I can at least get rid of the warnings of using + * {@link JList} without a parameter (and still staying Java 1.6 compatible). + *

+ * This class is merely a {@link JList} that you can parametrise also in Java + * 1.6. + * + * @author niki + * + * @param + * the type to use + */ + @SuppressWarnings({ "unchecked", "rawtypes" }) // not compatible Java 1.6 + public class JList6 extends JList { + private static final long serialVersionUID = 1L; + + @Override + @Deprecated + /** + * @deprecated please use {@link JList6#setCellRenderer(ListCellRenderer6)} + * instead + */ + public void setCellRenderer(ListCellRenderer cellRenderer) { + setCellRenderer((ListCellRenderer6) cellRenderer); + } + + /** + * Sets the delegate that is used to paint each cell in the list. The job of + * a cell renderer is discussed in detail in the class + * level documentation. + *

+ * If the {@code prototypeCellValue} property is {@code non-null}, setting + * the cell renderer also causes the {@code fixedCellWidth} and + * {@code fixedCellHeight} properties to be re-calculated. Only one + * PropertyChangeEvent is generated however - for the + * cellRenderer property. + *

+ * The default value of this property is provided by the {@code ListUI} + * delegate, i.e. by the look and feel implementation. + *

+ * This is a JavaBeans bound property. + * + * @param cellRenderer + * the ListCellRenderer that paints list cells + * @see #getCellRenderer + * @beaninfo bound: true attribute: visualUpdate true description: The + * component used to draw the cells. + */ + public void setCellRenderer(ListCellRenderer6 cellRenderer) { + super.setCellRenderer(cellRenderer); + } + + @Override + @Deprecated + public void setModel(ListModel model) { + setModel((ListModel6) model); + } + + /** + * Sets the model that represents the contents or "value" of the list, + * notifies property change listeners, and then clears the list's selection. + *

+ * This is a JavaBeans bound property. + * + * @param model + * the ListModel that provides the list of items for + * display + * @exception IllegalArgumentException + * if model is null + * @see #getModel + * @see #clearSelection + * @beaninfo bound: true attribute: visualUpdate true description: The + * object that contains the data to be drawn by this JList. + */ + public void setModel(ListModel6 model) { + super.setModel(model); + } + } diff --combined src/be/nikiroo/utils/compat/ListCellRenderer6.java index 0000000,d004849..d004849 mode 000000,100644..100644 --- a/src/be/nikiroo/utils/compat/ListCellRenderer6.java +++ b/src/be/nikiroo/utils/compat/ListCellRenderer6.java @@@ -1,0 -1,65 +1,65 @@@ + package be.nikiroo.utils.compat; + + import java.awt.Component; + + import javax.swing.JList; + import javax.swing.ListCellRenderer; + import javax.swing.ListModel; + import javax.swing.ListSelectionModel; + + /** + * Compatibility layer so I can at least get rid of the warnings of using + * {@link JList} without a parameter (and still staying Java 1.6 compatible). + *

+ * This class is merely a {@link ListCellRenderer} that you can parametrise also + * in Java 1.6. + * + * @author niki + * + * @param + * the type to use + */ + @SuppressWarnings({ "unchecked", "rawtypes" }) // not compatible Java 1.6 + public abstract class ListCellRenderer6 implements ListCellRenderer { + @Override + @Deprecated + /** + * @deprecated please use@deprecated please use + * {@link ListCellRenderer6#getListCellRendererComponent(JList6, Object, int, boolean, boolean)} + * instead + * {@link ListCellRenderer6#getListCellRendererComponent(JList6, Object, int, boolean, boolean)} + * instead + */ + public Component getListCellRendererComponent(JList list, Object value, + int index, boolean isSelected, boolean cellHasFocus) { + return getListCellRendererComponent((JList6) list, (E) value, index, + isSelected, cellHasFocus); + } + + /** + * Return a component that has been configured to display the specified + * value. That component's paint method is then called to + * "render" the cell. If it is necessary to compute the dimensions of a list + * because the list cells do not have a fixed size, this method is called to + * generate a component on which getPreferredSize can be + * invoked. + * + * @param list + * The JList we're painting. + * @param value + * The value returned by list.getModel().getElementAt(index). + * @param index + * The cells index. + * @param isSelected + * True if the specified cell was selected. + * @param cellHasFocus + * True if the specified cell has the focus. + * @return A component whose paint() method will render the specified value. + * + * @see JList + * @see ListSelectionModel + * @see ListModel + */ + public abstract Component getListCellRendererComponent(JList6 list, + E value, int index, boolean isSelected, boolean cellHasFocus); + } diff --combined src/be/nikiroo/utils/compat/ListModel6.java index 0000000,a1f8c60..a1f8c60 mode 000000,100644..100644 --- a/src/be/nikiroo/utils/compat/ListModel6.java +++ b/src/be/nikiroo/utils/compat/ListModel6.java @@@ -1,0 -1,19 +1,19 @@@ + package be.nikiroo.utils.compat; + + import javax.swing.JList; + + /** + * Compatibility layer so I can at least get rid of the warnings of using + * {@link JList} without a parameter (and still staying Java 1.6 compatible). + *

+ * This class is merely a {@link javax.swing.ListModel} that you can parametrise + * also in Java 1.6. + * + * @author niki + * + * @param + * the type to use + */ + @SuppressWarnings("rawtypes") // not compatible Java 1.6 + public interface ListModel6 extends javax.swing.ListModel { + }