Revision: 4627 http://sourceforge.net/p/jump-pilot/code/4627 Author: edso Date: 2015-12-15 01:26:12 +0000 (Tue, 15 Dec 2015) Log Message: ----------- added icons to the datastore query chooser's combobox "static"alized a part of ConnectionManagerPanel w/o redesign consequences
Modified Paths: -------------- core/trunk/ChangeLog core/trunk/src/com/vividsolutions/jump/workbench/ui/plugin/datastore/ConnectionManagerPanel.java core/trunk/src/com/vividsolutions/jump/workbench/ui/plugin/datastore/ConnectionPanel.java Modified: core/trunk/ChangeLog =================================================================== --- core/trunk/ChangeLog 2015-12-15 01:14:05 UTC (rev 4626) +++ core/trunk/ChangeLog 2015-12-15 01:26:12 UTC (rev 4627) @@ -1,15 +1,20 @@ -# for display continuity sake please use 2 spaces instead of tabs +# for display continuity sake please use 2 spaces instead of tabs, also make # +# sure that lines break at 80 chars for constricted dispaly situations # -2015-13-11 ede +2015-12-15 ede + * added icons to the datastore query chooser's combobox + * "static"alized a part of ConnectionManagerPanel w/o redesign consequences + +2015-12-11 ede * move WFS language files to language/wfs/ * added I18N support for giving a plain path as "category" -2015-13-11 Nicolas Ribot <nicolas.ri...@gmail.com> - * Spatial Databases support enhanced: support for Oracle Spatial, MySQL/MariaDB - Spatialite added. +2015-12-11 Nicolas Ribot <nicolas.ri...@gmail.com> + * Spatial Databases support enhanced: support for Oracle Spatial, + MySQL/MariaDB, Spatialite added. * FilterQuery and Adhoc queries supported for these databases - * Error detection in case of bad WHERE clause detected when loading a layer (layer - removed from Panel) + * Error detection in case of bad WHERE clause detected when loading a layer + (layer removed from Panel) * New connection icons according to database type * Oracle Spatial: reads SDO_GEOMETRY with geotools code reflection used on com.oracle.* methods to avoid jar dependence Modified: core/trunk/src/com/vividsolutions/jump/workbench/ui/plugin/datastore/ConnectionManagerPanel.java =================================================================== --- core/trunk/src/com/vividsolutions/jump/workbench/ui/plugin/datastore/ConnectionManagerPanel.java 2015-12-15 01:14:05 UTC (rev 4626) +++ core/trunk/src/com/vividsolutions/jump/workbench/ui/plugin/datastore/ConnectionManagerPanel.java 2015-12-15 01:26:12 UTC (rev 4627) @@ -50,16 +50,16 @@ public class ConnectionManagerPanel extends JPanel { // Nicolas Ribot, 07 dec 2015: // add icons according to database source - private final Icon CONNECTED_ICON = IconLoader.icon("connect.png"); - private final Icon DISCONNECTED_ICON = IconLoader.icon("disconnect.png"); - private final Icon PG_CONNECTED_ICON = IconLoader.icon("ok_pg.png"); - private final Icon PG_DISCONNECTED_ICON = IconLoader.icon("ko_pg.png"); - private final Icon ORA_CONNECTED_ICON = IconLoader.icon("ok_oracle.png"); - private final Icon ORA_DISCONNECTED_ICON = IconLoader.icon("ko_oracle.png"); - private final Icon MARIA_CONNECTED_ICON = IconLoader.icon("ok_mariadb.png"); - private final Icon MARIA_DISCONNECTED_ICON = IconLoader.icon("ko_mariadb.png"); - private final Icon SQLITE_CONNECTED_ICON = IconLoader.icon("ok_spatialite.png"); - private final Icon SQLITE_DISCONNECTED_ICON = GUIUtil.toGrayScale((ImageIcon)SQLITE_CONNECTED_ICON); + private static final Icon CONNECTED_ICON = IconLoader.icon("connect.png"); + private static final Icon DISCONNECTED_ICON = IconLoader.icon("disconnect.png"); + private static final Icon PG_CONNECTED_ICON = IconLoader.icon("ok_pg.png"); + private static final Icon PG_DISCONNECTED_ICON = IconLoader.icon("ko_pg.png"); + private static final Icon ORA_CONNECTED_ICON = IconLoader.icon("ok_oracle.png"); + private static final Icon ORA_DISCONNECTED_ICON = IconLoader.icon("ko_oracle.png"); + private static final Icon MARIA_CONNECTED_ICON = IconLoader.icon("ok_mariadb.png"); + private static final Icon MARIA_DISCONNECTED_ICON = IconLoader.icon("ko_mariadb.png"); + private static final Icon SQLITE_CONNECTED_ICON = IconLoader.icon("ok_spatialite.png"); + private static final Icon SQLITE_DISCONNECTED_ICON = GUIUtil.toGrayScale((ImageIcon)SQLITE_CONNECTED_ICON); // private final Icon SQLSERVER_CONNECTED_ICON = IconLoader.icon("ok_sqlserver.png"); // private final Icon SQLSERVER_DISCONNECTED_ICON = IconLoader.icon("ok_sqlserver.png"); @@ -481,7 +481,7 @@ * @param desc the connection to get icon from * @return the corresponding icon */ - private Icon getConnectionIcon(ConnectionDescriptor desc, boolean isClosed) throws DataStoreException { + public static Icon getConnectionIcon(ConnectionDescriptor desc, boolean isClosed) throws DataStoreException { String driverClassName = desc.getDataStoreDriverClassName(); if ( driverClassName.equals("com.vividsolutions.jump.datastore.postgis.PostgisDataStoreDriver")) { return isClosed ? PG_DISCONNECTED_ICON : PG_CONNECTED_ICON; Modified: core/trunk/src/com/vividsolutions/jump/workbench/ui/plugin/datastore/ConnectionPanel.java =================================================================== --- core/trunk/src/com/vividsolutions/jump/workbench/ui/plugin/datastore/ConnectionPanel.java 2015-12-15 01:14:05 UTC (rev 4626) +++ core/trunk/src/com/vividsolutions/jump/workbench/ui/plugin/datastore/ConnectionPanel.java 2015-12-15 01:26:12 UTC (rev 4627) @@ -13,15 +13,19 @@ import java.util.Comparator; import javax.swing.DefaultComboBoxModel; +import javax.swing.DefaultListCellRenderer; +import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JLabel; +import javax.swing.JList; import javax.swing.JPanel; +import javax.swing.ListCellRenderer; import javax.swing.SwingUtilities; import com.vividsolutions.jump.I18N; - +import com.vividsolutions.jump.datastore.DataStoreException; import com.vividsolutions.jump.workbench.WorkbenchContext; import com.vividsolutions.jump.workbench.datastore.ConnectionDescriptor; import com.vividsolutions.jump.workbench.datastore.ConnectionManager; @@ -80,11 +84,36 @@ return null; } + protected DefaultListCellRenderer defaultRenderer = new DefaultListCellRenderer(); + protected JComboBox getConnectionComboBox() { if ( connectionComboBox == null ) { connectionComboBox = new JComboBox(); connectionComboBox.setPreferredSize( new Dimension( MAIN_COLUMN_WIDTH, ( int ) connectionComboBox.getPreferredSize().getHeight() ) ); + connectionComboBox.setRenderer(new ListCellRenderer() { + @Override + public Component getListCellRendererComponent( + JList list, Object value, int index, + boolean isSelected, boolean cellHasFocus) { + JLabel renderer = (JLabel) defaultRenderer.getListCellRendererComponent(list, value, index, + isSelected, cellHasFocus); + if (!(value instanceof ConnectionDescriptor)) + return renderer; + ConnectionDescriptor connectionDescriptor = (ConnectionDescriptor) value; + try { + Icon icon = ConnectionManagerPanel.getConnectionIcon(connectionDescriptor, + connectionManager().getConnection( + connectionDescriptor).isClosed()); + renderer.setIcon(icon); + } catch (DataStoreException e) { + // we ignore those for eye candy + } + + return renderer; + } + + }); } return connectionComboBox; } ------------------------------------------------------------------------------ _______________________________________________ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel