Skip to Content.
Sympa Menu

notify-dpml - svn commit: r2532 - development/main/depot/station/src/main/net/dpml/depot/prefs

notify-dpml AT lists.ibiblio.org

Subject: DPML Notify

List archive

Chronological Thread  
  • From: mcconnell AT dpml.net
  • To: notify-dpml AT lists.ibiblio.org
  • Subject: svn commit: r2532 - development/main/depot/station/src/main/net/dpml/depot/prefs
  • Date: Fri, 13 May 2005 11:32:19 +0000

Author: mcconnell AT dpml.net
Date: Fri May 13 11:32:10 2005
New Revision: 2532

Modified:

development/main/depot/station/src/main/net/dpml/depot/prefs/ContentHandlerMainPanel.java

development/main/depot/station/src/main/net/dpml/depot/prefs/GenericTable.java

development/main/depot/station/src/main/net/dpml/depot/prefs/TransitPanel.java
Log:
Add double-click support for host entries and part types.

Modified:
development/main/depot/station/src/main/net/dpml/depot/prefs/ContentHandlerMainPanel.java
==============================================================================
---
development/main/depot/station/src/main/net/dpml/depot/prefs/ContentHandlerMainPanel.java
(original)
+++
development/main/depot/station/src/main/net/dpml/depot/prefs/ContentHandlerMainPanel.java
Fri May 13 11:32:10 2005
@@ -34,6 +34,8 @@
import java.util.Hashtable;
import java.util.Properties;
import java.util.prefs.Preferences;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;

import javax.swing.Action;
import javax.swing.AbstractAction;
@@ -66,7 +68,7 @@
*
* @author <a href="mailto:mcconnell AT osm.net";>OSM</a>
*/
-public class ContentHandlerMainPanel extends JPanel implements
ListSelectionListener
+public class ContentHandlerMainPanel extends JPanel implements
PropertyChangeListener
{
//--------------------------------------------------------------
// static
@@ -82,6 +84,7 @@

private GenericTable m_table;

+ private EditAction m_editAction;
private JButton m_edit;
private JButton m_delete;

@@ -97,7 +100,8 @@
{
m_parent = parent;

- m_edit = new JButton( new EditAction( "Edit" ) );
+ m_editAction = new EditAction( "Edit" );
+ m_edit = new JButton( m_editAction );
m_delete = new JButton( new DeleteAction( "Delete" ) );

setLayout( new BorderLayout() );
@@ -118,9 +122,9 @@
TableColumnModel columns = createContentHandlerColumnModel();
NodeTableModel model = new NodeTableModel( prefs );
m_table = new GenericTable( model, columns );
+ m_table.addPropertyChangeListener( this );
m_table.setShowVerticalLines( false );
m_table.setShowHorizontalLines( false );
- m_table.getSelectionModel().addListSelectionListener( this );

JScrollPane scroller = createScrollPanel( m_table );
ContentHandlerMainPanel.add( scroller, BorderLayout.CENTER );
@@ -140,6 +144,35 @@
}

//--------------------------------------------------------------
+ // PropertyChangelistener
+ //--------------------------------------------------------------
+
+ /**
+ * handle property change events raised by the table model.
+ */
+ public void propertyChange( PropertyChangeEvent event )
+ {
+ if( "selection".equals( event.getPropertyName() ) )
+ {
+ m_selection = (String) event.getNewValue();
+ if( null != m_selection )
+ {
+ m_edit.setEnabled( true );
+ m_delete.setEnabled( true );
+ }
+ else
+ {
+ m_edit.setEnabled( false );
+ m_delete.setEnabled( false );
+ }
+ }
+ else if( "doubleclick".equals( event.getPropertyName() ) )
+ {
+ m_editAction.editSelection( m_edit );
+ }
+ }
+
+ //--------------------------------------------------------------
// utilities
//--------------------------------------------------------------

@@ -341,6 +374,11 @@

public void actionPerformed( ActionEvent event )
{
+ editSelection( (Component) event.getSource() );
+ }
+
+ public void editSelection( Component source )
+ {
try
{
JDialog dialog = new JDialog( m_parent, true );
@@ -357,22 +395,9 @@
frame.add( panel, BorderLayout.CENTER );
dialog.setContentPane( frame );
dialog.setSize( size );
- dialog.setLocationRelativeTo( (Component) event.getSource()
);
+ dialog.setLocationRelativeTo( source );
dialog.setResizable( true );
dialog.setVisible(true);
-
- /*
- JDialog dialog = new JDialog( m_parent, true );
- dialog.setTitle( "Resource Host: " + m_selection );
- Preferences node = m_preferences.node( m_selection );
- JPanel panel = new ContentHandlerPanel( dialog, node );
- dialog.setContentPane( panel );
- Dimension size = new Dimension( 400, 360 );
- dialog.setSize( size );
- dialog.setLocationRelativeTo( (Component) event.getSource()
);
- dialog.setResizable( true );
- dialog.setVisible( true );
- */
}
catch( Throwable e )
{
@@ -417,28 +442,4 @@
}
}
}
-
- public void valueChanged( ListSelectionEvent event )
- {
- if( !event.getValueIsAdjusting() )
- {
- ListSelectionModel model = m_table.getSelectionModel();
- synchronized( model )
- {
- int n = model.getMinSelectionIndex();
- if( ( n == model.getMaxSelectionIndex() ) && ( n > -1 ) )
- {
- m_selection = (String) m_table.getValueAt( n, 1 );
- m_edit.setEnabled( true );
- m_delete.setEnabled( true );
- }
- else
- {
- m_selection = null;
- m_edit.setEnabled( false );
- m_delete.setEnabled( false );
- }
- }
- }
- }
}

Modified:
development/main/depot/station/src/main/net/dpml/depot/prefs/GenericTable.java
==============================================================================
---
development/main/depot/station/src/main/net/dpml/depot/prefs/GenericTable.java
(original)
+++
development/main/depot/station/src/main/net/dpml/depot/prefs/GenericTable.java
Fri May 13 11:32:10 2005
@@ -21,6 +21,7 @@
import java.awt.event.MouseListener;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
+import java.beans.PropertyChangeEvent;
import java.awt.Color;

import javax.swing.JTable;
@@ -115,6 +116,7 @@
ListSelectionModel model = getSelectionModel();
synchronized( model )
{
+ Object old = m_selection;
int n = model.getMinSelectionIndex();
if( ( n == model.getMaxSelectionIndex() ) && ( n > -1 ) )
{
@@ -124,6 +126,7 @@
{
m_selection = null;
}
+ firePropertyChange( "selection", old, m_selection );
}
}
}
@@ -182,7 +185,6 @@
{
if( event.isPopupTrigger() )
{
-System.out.println( "# POPUP TRIGGER" );
int j = rowAtPoint( event.getPoint() );
if( j > -1 )
{
@@ -191,6 +193,7 @@
clearSelection();
setRowSelectionInterval( j, j );
}
+ firePropertyChange( "popup", null, m_selection );
}
else
{
@@ -199,7 +202,6 @@
}
else if( SwingUtilities.isLeftMouseButton( event ) &&
event.getClickCount() == TWO )
{
-System.out.println( "# DOUBLE CLICK" );
int j = rowAtPoint( event.getPoint() );
if( j > -1 )
{
@@ -208,6 +210,15 @@
clearSelection();
setRowSelectionInterval( j, j );
}
+ if( false == m_armed )
+ {
+ m_armed = true;
+ }
+ else
+ {
+ m_armed = false;
+ firePropertyChange( "doubleclick", null, m_selection );
+ }
}
else
{
@@ -216,4 +227,5 @@
}
}

+ private boolean m_armed = false;
}

Modified:
development/main/depot/station/src/main/net/dpml/depot/prefs/TransitPanel.java
==============================================================================
---
development/main/depot/station/src/main/net/dpml/depot/prefs/TransitPanel.java
(original)
+++
development/main/depot/station/src/main/net/dpml/depot/prefs/TransitPanel.java
Fri May 13 11:32:10 2005
@@ -26,6 +26,8 @@
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Insets;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;

import java.io.File;
import java.io.IOException;
@@ -68,7 +70,7 @@
*
* @author <a href="mailto:mcconnell AT osm.net";>OSM</a>
*/
-public class TransitPanel extends JPanel implements ListSelectionListener
+public class TransitPanel extends JPanel implements PropertyChangeListener
{
//--------------------------------------------------------------
// static
@@ -83,7 +85,7 @@
private final JDialog m_parent;

private GenericTable m_table;
-
+ private EditAction m_editAction;
private JButton m_edit;
private JButton m_delete;

@@ -97,7 +99,8 @@
{
m_parent = parent;

- m_edit = new JButton( new EditAction( "Edit" ) );
+ m_editAction = new EditAction( "Edit" );
+ m_edit = new JButton( m_editAction );
m_delete = new JButton( new DeleteAction( "Delete" ) );

setLayout( new BorderLayout() );
@@ -117,9 +120,9 @@
TableColumnModel columns = createHostsColumnModel();
NodeTableModel model = new NodeTableModel( hosts );
m_table = new GenericTable( model, columns );
+ m_table.addPropertyChangeListener( this );
m_table.setShowVerticalLines( false );
m_table.setShowHorizontalLines( false );
- m_table.getSelectionModel().addListSelectionListener( this );

JScrollPane scroller = createScrollPanel( m_table );
hostPanel.add( scroller, BorderLayout.CENTER );
@@ -138,6 +141,31 @@
add( hostPanel, BorderLayout.CENTER );
}

+ /**
+ * handle property change events raised by the table model.
+ */
+ public void propertyChange( PropertyChangeEvent event )
+ {
+ if( "selection".equals( event.getPropertyName() ) )
+ {
+ m_hostName = (String) event.getNewValue();
+ if( null != m_hostName )
+ {
+ m_edit.setEnabled( true );
+ m_delete.setEnabled( true );
+ }
+ else
+ {
+ m_edit.setEnabled( false );
+ m_delete.setEnabled( false );
+ }
+ }
+ else if( "doubleclick".equals( event.getPropertyName() ) )
+ {
+ m_editAction.editSelectedHost( m_edit );
+ }
+ }
+
private JPanel createCachePanel( JDialog parent )
{
JLabel label =
@@ -330,6 +358,11 @@

public void actionPerformed( ActionEvent event )
{
+ editSelectedHost( (Component) event.getSource() );
+ }
+
+ public void editSelectedHost( Component source)
+ {
try
{
JDialog dialog = new JDialog( m_parent, true );
@@ -338,7 +371,7 @@
dialog.setContentPane( panel );
Dimension size = new Dimension( 400, 360 );
dialog.setSize( size );
- dialog.setLocationRelativeTo( (Component) event.getSource()
);
+ dialog.setLocationRelativeTo( source );
dialog.setResizable( true );
dialog.setVisible( true );
}
@@ -385,28 +418,4 @@
}
}
}
-
- public void valueChanged( ListSelectionEvent event )
- {
- if( !event.getValueIsAdjusting() )
- {
- ListSelectionModel model = m_table.getSelectionModel();
- synchronized( model )
- {
- int n = model.getMinSelectionIndex();
- if( ( n == model.getMaxSelectionIndex() ) && ( n > -1 ) )
- {
- m_hostName = (String) m_table.getValueAt( n, 1 );
- m_edit.setEnabled( true );
- m_delete.setEnabled( true );
- }
- else
- {
- m_hostName = null;
- m_edit.setEnabled( false );
- m_delete.setEnabled( false );
- }
- }
- }
- }
}



  • svn commit: r2532 - development/main/depot/station/src/main/net/dpml/depot/prefs, mcconnell, 05/13/2005

Archive powered by MHonArc 2.6.24.

Top of Page