no message

git-svn-id: https://svn.coded.pt/svn/SIPRP@357 bb69d46d-e84e-40c8-a05a-06db0d633741
Frederico Palma 19 years ago
parent 66488ddc5d
commit 305798bb1c

@ -9,7 +9,9 @@
package siprp.medicina.processo; package siprp.medicina.processo;
import com.evolute.utils.dataui.ControllableComponent;
import com.evolute.utils.images.ImageIconLoader; import com.evolute.utils.images.ImageIconLoader;
import com.evolute.utils.ui.DialogException;
import info.clearthought.layout.TableLayout; import info.clearthought.layout.TableLayout;
import info.clearthought.layout.TableLayoutConstraints; import info.clearthought.layout.TableLayoutConstraints;
import java.awt.*; import java.awt.*;
@ -20,17 +22,14 @@ import java.util.Date;
import java.util.Locale; import java.util.Locale;
import java.util.Vector; import java.util.Vector;
import javax.swing.*; import javax.swing.*;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import siprp.medicina.processo.data.MarcacoesProcessoData; import siprp.medicina.processo.data.MarcacoesProcessoData;
import siprp.medicina.processo.estrutura.EstruturaProcessoPanel;
/** /**
* *
* @author fpalma * @author fpalma
*/ */
public class ProcessoPanel extends JPanel public class ProcessoPanel extends JPanel
implements ActionListener, TreeSelectionListener implements ActionListener, ControllableComponent
{ {
private static final String ECDS_ICON_PATH = "siprp/medicina/processo/icons/ecds.png"; private static final String ECDS_ICON_PATH = "siprp/medicina/processo/icons/ecds.png";
private static final String CONSULTA_ICON_PATH = "siprp/medicina/processo/icons/consulta.png"; private static final String CONSULTA_ICON_PATH = "siprp/medicina/processo/icons/consulta.png";
@ -49,14 +48,15 @@ public class ProcessoPanel extends JPanel
private JButton emitirFAButton; private JButton emitirFAButton;
private JButton fecharButton; private JButton fecharButton;
private final EstruturaProcessoPanel estruturaPanel;
private final Vector<ProcessoListener> PROCESSO_LISTENERS = new Vector<ProcessoListener>(); private final Vector<ProcessoListener> PROCESSO_LISTENERS = new Vector<ProcessoListener>();
private ProcessoDataProvider provider;
/** Creates a new instance of ProcessoPanel */ /** Creates a new instance of ProcessoPanel */
public ProcessoPanel( EstruturaProcessoPanel estruturaPanel ) public ProcessoPanel()
throws Exception
{ {
this.estruturaPanel = estruturaPanel; provider = ProcessoDataProvider.getProvider();
setupComponents(); setupComponents();
} }
@ -154,12 +154,6 @@ public class ProcessoPanel extends JPanel
{ {
} }
public void valueChanged(TreeSelectionEvent e)
{
clear();
mudarProcesso();
}
public void clear() public void clear()
{ {
estadoText.setText( "" ); estadoText.setText( "" );
@ -169,73 +163,82 @@ public class ProcessoPanel extends JPanel
ocasionalMotivoButton.setText( " " ); ocasionalMotivoButton.setText( " " );
} }
protected void disableButtons() protected void enableButtons( boolean enable )
{ {
novoECDButton.setEnabled( false ); novoECDButton.setEnabled( enable );
novaConsultaButton.setEnabled( false ); novaConsultaButton.setEnabled( enable );
emitirFAButton.setEnabled( false ); emitirFAButton.setEnabled( enable );
fecharButton.setEnabled( false ); fecharButton.setEnabled( enable );
motivoButton.setEnabled( false ); motivoButton.setEnabled( enable );
ocasionalMotivoButton.setEnabled( false ); ocasionalMotivoButton.setEnabled( enable );
} }
protected void enableButtons() public void addProcessoListener( ProcessoListener listener )
{ {
novoECDButton.setEnabled( true ); PROCESSO_LISTENERS.add( listener );
novaConsultaButton.setEnabled( true );
emitirFAButton.setEnabled( true );
fecharButton.setEnabled( true );
motivoButton.setEnabled( true );
ocasionalMotivoButton.setEnabled( true );
} }
protected void mudarProcesso() public Icon getIcon( String path )
{ {
MarcacoesProcessoData processo = estruturaPanel.getProcessoEscolhido(); try
if( processo == null )
{ {
disableButtons(); return ImageIconLoader.loadImageIcon( getClass(), path );
} }
else catch( Exception ex )
{ {
enableButtons(); ex.printStackTrace();
Date dataInicio = ( Date ) processo.get( MarcacoesProcessoData.DATA_INICIO ); return null;
if( dataInicio != null )
{
inicioText.setText( D_F.format( dataInicio ) );
}
Date dataFim = ( Date ) processo.get( MarcacoesProcessoData.DATA_FIM );
if( dataFim != null )
{
fimText.setText( D_F.format( dataFim ) );
}
String estado = ( String ) processo.get( MarcacoesProcessoData.ESTADO );
if( estado == null )
{
estadoText.setText( ProcessoDataProvider.PROCESSO_POR_ABRIR_DESCRIPTION );
}
else
{
estadoText.setText( ProcessoDataProvider.ESTADO_PROCESSO_BY_CODE.get( estado ) );
}
} }
} }
public void addProcessoListener( ProcessoListener listener ) public Object save()
{ {
PROCESSO_LISTENERS.add( listener ); return null;
} }
public Icon getIcon( String path ) public void enableComponents( boolean enable )
{ {
try
}
public void fill( Object value )
{
clear();
if( value == null )
{ {
return ImageIconLoader.loadImageIcon( getClass(), path ); enableButtons( false );
} }
catch( Exception ex ) else
{ {
ex.printStackTrace(); try
return null; {
MarcacoesProcessoData processo = provider.getProcessoByID( ( Integer ) value );
enableButtons( false );
Date dataInicio = ( Date ) processo.get( MarcacoesProcessoData.DATA_INICIO );
if( dataInicio != null )
{
inicioText.setText( D_F.format( dataInicio ) );
}
Date dataFim = ( Date ) processo.get( MarcacoesProcessoData.DATA_FIM );
if( dataFim != null )
{
fimText.setText( D_F.format( dataFim ) );
}
String estado = ( String ) processo.get( MarcacoesProcessoData.ESTADO );
if( estado == null )
{
estadoText.setText( ProcessoDataProvider.PROCESSO_POR_ABRIR_DESCRIPTION );
}
else
{
estadoText.setText( ProcessoDataProvider.ESTADO_PROCESSO_BY_CODE.get( estado ) );
}
}
catch( Exception ex )
{
DialogException.showExceptionMessage( ex, "Erro a carregar dados do processo", true );
}
} }
} }
} }

Loading…
Cancel
Save