|
|
|
|
@ -17,8 +17,12 @@ import java.text.DateFormat;
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
import java.util.Locale;
|
|
|
|
|
import java.util.Vector;
|
|
|
|
|
import javax.swing.*;
|
|
|
|
|
import javax.swing.event.TreeSelectionEvent;
|
|
|
|
|
import javax.swing.event.TreeSelectionListener;
|
|
|
|
|
import javax.swing.tree.DefaultMutableTreeNode;
|
|
|
|
|
import javax.swing.tree.TreePath;
|
|
|
|
|
import siprp.medicina.processo.data.MarcacoesProcessoData;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
@ -26,6 +30,7 @@ import siprp.medicina.processo.data.MarcacoesProcessoData;
|
|
|
|
|
* @author fpalma
|
|
|
|
|
*/
|
|
|
|
|
public class EstruturaProcessoPanel extends JPanel
|
|
|
|
|
implements TreeSelectionListener
|
|
|
|
|
{
|
|
|
|
|
protected static final DateFormat D_F = DateFormat.getDateInstance( DateFormat.SHORT, new Locale( "pt", "PT" ) );
|
|
|
|
|
|
|
|
|
|
@ -38,6 +43,8 @@ public class EstruturaProcessoPanel extends JPanel
|
|
|
|
|
protected IDObject trabalhador;
|
|
|
|
|
protected final HashMap<Integer,MarcacoesProcessoData> PROCESSOS_POR_ID =
|
|
|
|
|
new HashMap<Integer,MarcacoesProcessoData>();
|
|
|
|
|
private final Vector<TreeSelectionListener> SELECTION_LISTENERS =
|
|
|
|
|
new Vector<TreeSelectionListener>();
|
|
|
|
|
|
|
|
|
|
/** Creates a new instance of EstruturaProcessoPanel */
|
|
|
|
|
public EstruturaProcessoPanel()
|
|
|
|
|
@ -55,6 +62,7 @@ public class EstruturaProcessoPanel extends JPanel
|
|
|
|
|
mainScroll.setHorizontalScrollBarPolicy( JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED );
|
|
|
|
|
rootNode = new DefaultMutableTreeNode( new MappableObject( new Integer( 12 ), "Frederico Palma" ) );
|
|
|
|
|
mainTree = new JTree( rootNode );
|
|
|
|
|
mainTree.addTreeSelectionListener( this );
|
|
|
|
|
mainScroll.setViewportView( mainTree );
|
|
|
|
|
setLayout( new GridLayout( 1, 1 ) );
|
|
|
|
|
add( mainScroll );
|
|
|
|
|
@ -69,10 +77,16 @@ public class EstruturaProcessoPanel extends JPanel
|
|
|
|
|
rootNode.setUserObject( trabalhador );
|
|
|
|
|
DefaultMutableTreeNode nodes[] =
|
|
|
|
|
loadProcessos( trabalhador.getID() );
|
|
|
|
|
rootNode.add( new DefaultMutableTreeNode( new MappableObject( new Integer( -1 ), "Novo Processo..." ) ) );
|
|
|
|
|
for( int n = 0; n < nodes.length; n++ )
|
|
|
|
|
{
|
|
|
|
|
rootNode.add( nodes[ n ] );
|
|
|
|
|
}
|
|
|
|
|
int count = mainTree.getRowCount();
|
|
|
|
|
for( int n = count - 1; n >= 0; n-- )
|
|
|
|
|
{
|
|
|
|
|
mainTree.expandRow( n );
|
|
|
|
|
}
|
|
|
|
|
repaint();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -108,4 +122,44 @@ public class EstruturaProcessoPanel extends JPanel
|
|
|
|
|
return new DefaultMutableTreeNode[ 0 ];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void addTreeSelectionListener( TreeSelectionListener listener )
|
|
|
|
|
{
|
|
|
|
|
SELECTION_LISTENERS.add( listener );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void removeTreeSelectionListener( TreeSelectionListener listener )
|
|
|
|
|
{
|
|
|
|
|
SELECTION_LISTENERS.remove( listener );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void valueChanged(TreeSelectionEvent e)
|
|
|
|
|
{
|
|
|
|
|
for( int n = 0; n < SELECTION_LISTENERS.size(); n++ )
|
|
|
|
|
{
|
|
|
|
|
SELECTION_LISTENERS.get( n ).valueChanged( e );
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public MarcacoesProcessoData getProcessoEscolhido()
|
|
|
|
|
{
|
|
|
|
|
TreePath path = mainTree.getSelectionPath();
|
|
|
|
|
MarcacoesProcessoData processo = null;
|
|
|
|
|
if( path != null )
|
|
|
|
|
{
|
|
|
|
|
IDObject escolhido = ( IDObject )( ( DefaultMutableTreeNode ) path.getLastPathComponent() ).getUserObject();
|
|
|
|
|
if( escolhido != null )
|
|
|
|
|
{
|
|
|
|
|
processo = PROCESSOS_POR_ID.get( escolhido.getID() );
|
|
|
|
|
if( processo == null )
|
|
|
|
|
{
|
|
|
|
|
processo = new MarcacoesProcessoData();
|
|
|
|
|
PROCESSOS_POR_ID.put( escolhido.getID(), processo );
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return processo;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|