forked from Coded/SIPRP
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							222 lines
						
					
					
						
							8.0 KiB
						
					
					
				
			
		
		
	
	
							222 lines
						
					
					
						
							8.0 KiB
						
					
					
				| /*
 | |
|  * PrestadoresWindow.java
 | |
|  *
 | |
|  * Created on February 2, 2007, 9:44 AM
 | |
|  *
 | |
|  * To change this template, choose Tools | Template Manager
 | |
|  * and open the template in the editor.
 | |
|  */
 | |
| 
 | |
| package siprp.medicina.prestadores;
 | |
| 
 | |
| import com.evolute.utils.Singleton;
 | |
| import com.evolute.utils.data.IDObject;
 | |
| import com.evolute.utils.dataui.ComponentController;
 | |
| import com.evolute.utils.dataui.ComponentsHashtable;
 | |
| import com.evolute.utils.dataui.JDOControllable;
 | |
| import com.evolute.utils.dataui.JTextComponentPlainFillerSaver;
 | |
| import com.evolute.utils.jdo.JDOProvider;
 | |
| import com.evolute.utils.ui.DialogException;
 | |
| import com.evolute.utils.ui.panel.CheckBoxPanel;
 | |
| import com.evolute.utils.ui.search.SearchDialog;
 | |
| import com.evolute.utils.ui.window.EditorWindow;
 | |
| import info.clearthought.layout.TableLayout;
 | |
| import info.clearthought.layout.TableLayoutConstraints;
 | |
| import java.awt.Dimension;
 | |
| import java.util.Arrays;
 | |
| import java.util.List;
 | |
| import java.util.Vector;
 | |
| import javax.swing.BorderFactory;
 | |
| import javax.swing.JCheckBox;
 | |
| import javax.swing.JLabel;
 | |
| import javax.swing.JScrollPane;
 | |
| import javax.swing.JTextArea;
 | |
| import javax.swing.JTextField;
 | |
| import siprp.clientes.ClientesDataProvider;
 | |
| import siprp.clientes.ContactoPanel;
 | |
| import siprp.data.ContactoData;
 | |
| import siprp.medicina.prestadores.data.PrestadoresData;
 | |
| 
 | |
| /**
 | |
|  *
 | |
|  * @author fpalma
 | |
|  */
 | |
| public class PrestadoresWindow extends EditorWindow
 | |
| {
 | |
| 	public static final String TITLE = "Prestadores";
 | |
| 	
 | |
| 	protected JTextField nomeText;
 | |
| 	protected JCheckBox activoCheck;
 | |
| 	protected JCheckBox consultasCheck;
 | |
| 	protected JCheckBox ecdsCheck;
 | |
| 	protected CheckBoxPanel ecdsPanel;
 | |
| 	protected JTextArea moradaText;
 | |
| 	protected JTextField codigoPostalText;
 | |
| 	protected JTextField localidadeCodigoPostalText;
 | |
| 	protected JTextField localidadeText;
 | |
| 	protected ContactoPanel contactoPanel;
 | |
| 	
 | |
| 	protected PrestadoresDataProvider provider;
 | |
| 	protected ClientesDataProvider clientesProvider;
 | |
| 	
 | |
| 	protected ComponentsHashtable components;
 | |
| 	
 | |
| 	/** Creates a new instance of PrestadoresWindow */
 | |
| 	public PrestadoresWindow()
 | |
| 		throws Exception
 | |
| 	{
 | |
| 		super( new int[][]{{ NEW_INDEX, EDIT_INDEX, CANCEL_INDEX, SAVE_INDEX, DELETE_INDEX,
 | |
| 								SELECT_BYNAME_INDEX }} );
 | |
| 		provider = PrestadoresDataProvider.getProvider();
 | |
| 		clientesProvider = ( ClientesDataProvider ) ClientesDataProvider.getProvider();
 | |
| 		setupComponents();
 | |
| 		setupComponentsHashtable();
 | |
| 	}
 | |
| 	
 | |
| 	private void setupComponents()
 | |
| 		throws Exception
 | |
| 	{
 | |
| 		setTitle( TITLE );
 | |
| 		JLabel nomeLabel = new JLabel( "Designa\u00e7\u00e3o" );
 | |
| 		nomeText = new JTextField();
 | |
| 		nomeText.setPreferredSize( new Dimension( 500, 20 ) );
 | |
| 		activoCheck = new JCheckBox( "Activo (actualmente fornece servi\u00e7os \u00e0 SIPRP)" );
 | |
| 		consultasCheck = new JCheckBox( "Faz consultas" );
 | |
| 		ecdsCheck = new JCheckBox( "Faz ecds" );
 | |
| 		List<IDObject> gruposProtocolo = new Vector<IDObject>();
 | |
| 		IDObject gruposProtocoloReais[] = clientesProvider.getAllGruposProtocoloReais();
 | |
| 		if( gruposProtocoloReais != null && gruposProtocoloReais.length > 0 )
 | |
| 		{
 | |
| 			gruposProtocolo.addAll( Arrays.asList( gruposProtocoloReais ) );
 | |
| 		}
 | |
| 		IDObject gruposProtocoloFalsos[] = clientesProvider.getAllGruposProtocoloFalsos();
 | |
| 		if( gruposProtocoloFalsos != null && gruposProtocoloFalsos.length > 0 )
 | |
| 		{
 | |
| 			gruposProtocolo.addAll( Arrays.asList( gruposProtocoloFalsos ) );
 | |
| 		}
 | |
| 		ecdsPanel = new CheckBoxPanel( gruposProtocolo.toArray( new IDObject[ gruposProtocolo.size() ] ) );
 | |
| 		JLabel contactoLabel = new JLabel( "Contacto" );
 | |
| 		contactoPanel = new ContactoPanel();
 | |
| 		contactoPanel.setPreferredSize( new Dimension( 350, 120 ) );
 | |
| 		contactoPanel.setBorder( BorderFactory.createEtchedBorder() );
 | |
| 		JLabel moradaLabel = new JLabel( "Morada" );
 | |
| 		moradaText = new JTextArea();
 | |
| 		moradaText.setLineWrap( true );
 | |
| 		moradaText.setWrapStyleWord( true );
 | |
| 		JScrollPane moradaScroll = new JScrollPane( moradaText, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
 | |
| 														JScrollPane.HORIZONTAL_SCROLLBAR_NEVER );
 | |
| 		moradaScroll.setPreferredSize( new Dimension( 500, 50 ) );
 | |
| 		JLabel codigoPostalLabel = new JLabel( "C\u00f3digo Postal" );
 | |
| 		codigoPostalText = new JTextField();
 | |
| 		codigoPostalText.setPreferredSize( new Dimension( 100, 50 ) );
 | |
| 		localidadeCodigoPostalText = new JTextField();
 | |
| 		localidadeCodigoPostalText.setPreferredSize( new Dimension( 150, 50 ) );
 | |
| 		JLabel localidadeLabel = new JLabel( "Localidade" );
 | |
| 		localidadeText = new JTextField();
 | |
| 		
 | |
| 		double cols[] = 
 | |
| 				new double[]{ TableLayout.MINIMUM, TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.FILL };
 | |
| 		double rows[] = 
 | |
| 				new double[]{ TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.MINIMUM,
 | |
| 								TableLayout.FILL, TableLayout.PREFERRED, TableLayout.PREFERRED,
 | |
| 								TableLayout.MINIMUM, TableLayout.MINIMUM };
 | |
| 		TableLayout tableLayout = new TableLayout( cols,rows );
 | |
| 		getContentPane().setLayout( tableLayout );
 | |
| 		
 | |
| 		getContentPane().add( nomeLabel, new TableLayoutConstraints( 0, 0 ) );
 | |
| 		getContentPane().add( nomeText, new TableLayoutConstraints( 1, 0, 3, 0 ) );
 | |
| 		getContentPane().add( activoCheck, new TableLayoutConstraints( 0, 1, 2, 1 ) );
 | |
| 		getContentPane().add( consultasCheck, new TableLayoutConstraints( 0, 2 ) );
 | |
| 		getContentPane().add( ecdsCheck, new TableLayoutConstraints( 0, 3 ) );
 | |
| 		getContentPane().add( ecdsPanel, new TableLayoutConstraints( 1, 3, 2, 3 ) );
 | |
| 		getContentPane().add( contactoLabel, new TableLayoutConstraints( 0, 4 ) );
 | |
| 		getContentPane().add( contactoPanel, new TableLayoutConstraints( 1, 4, 2, 4 ) );
 | |
| 		getContentPane().add( moradaLabel, new TableLayoutConstraints( 0, 5 ) );
 | |
| 		getContentPane().add( moradaScroll, new TableLayoutConstraints( 1, 5, 3, 5 ) );
 | |
| 		getContentPane().add( codigoPostalLabel, new TableLayoutConstraints( 0, 6 ) );
 | |
| 		getContentPane().add( codigoPostalText, new TableLayoutConstraints( 1, 6 ) );
 | |
| 		getContentPane().add( localidadeCodigoPostalText, new TableLayoutConstraints( 2, 6, 3, 6 ) );
 | |
| 		getContentPane().add( localidadeLabel, new TableLayoutConstraints( 0, 7 ) );
 | |
| 		getContentPane().add( localidadeText, new TableLayoutConstraints( 1, 7, 3, 7 ) );
 | |
| 		
 | |
| 		pack();
 | |
| 	}
 | |
| 	
 | |
| 	private void setupComponentsHashtable()
 | |
| 	{
 | |
| 		components = new ComponentsHashtable();
 | |
| 		components.putComponent( PrestadoresData.NOME, nomeText );
 | |
| 		components.putComponent( PrestadoresData.NOME, new JTextComponentPlainFillerSaver( nomeText ) );
 | |
| 		components.putComponent( PrestadoresData.MORADA, moradaText );
 | |
| 		components.putComponent( PrestadoresData.CODIGO_POSTAL, codigoPostalText );
 | |
| 		components.putComponent( PrestadoresData.LOCALIDADE_CP, localidadeCodigoPostalText );
 | |
| 		components.putComponent( PrestadoresData.LOCALIDADE, localidadeText );
 | |
| 		components.putComponent( PrestadoresData.ACTIVO, activoCheck );
 | |
| 		components.putComponent( PrestadoresData.FAZ_CONSULTAS, consultasCheck );
 | |
| 		components.putComponent( PrestadoresData.FAZ_ECDS, ecdsCheck );
 | |
| 		components.putComponent( PrestadoresData.CONTACTO_ID, 
 | |
| 				new JDOControllable( ( JDOProvider )Singleton.getInstance( Singleton.DEFAULT_JDO_PROVIDER ),
 | |
| 										ContactoData.class, new String[]{ ContactoData.ID },
 | |
| 										contactoPanel ) );
 | |
| 	}
 | |
| 	
 | |
| 
 | |
| 	public boolean searchByName()
 | |
| 	{
 | |
| 		SearchDialog search = new SearchDialog( provider );
 | |
| 		Integer id = ( Integer )search.getSelected();
 | |
| 		if( id == null )
 | |
| 		{
 | |
| 			return false;
 | |
| 		}
 | |
| 		clear( 0 );
 | |
| 		try
 | |
| 		{
 | |
| 		}
 | |
| 		catch( Exception ex )
 | |
| 		{
 | |
| 			DialogException.showExceptionMessage( ex, "Ocorreu um erro a carregar o prestador.", true );
 | |
| 			return false;
 | |
| 		}
 | |
| 
 | |
| 		return true;
 | |
| 	}
 | |
| 	
 | |
| 	public void enableComponents( int index, boolean enable )
 | |
| 	{
 | |
| 		String names[] = (String[])components.keySet().toArray( new String[0] );
 | |
| 		ComponentController.setEnabled( names, enable, components );
 | |
| 		ecdsPanel.setEnabled( enable );
 | |
| 	}
 | |
| 	
 | |
| 	public void reload( int index )
 | |
| 	{
 | |
| 		clear( 0 );
 | |
| 		try
 | |
| 		{
 | |
| 		}
 | |
| 		catch( Exception ex )
 | |
| 		{
 | |
| 			DialogException.showExceptionMessage( ex, "Erro a carregar dados", true );
 | |
| 			
 | |
| 		}
 | |
| 	}
 | |
| 	
 | |
| 	public void clear( int index )
 | |
| 	{
 | |
| 		String names[] = (String[])components.keySet().toArray( new String[0] );
 | |
| 		ComponentController.clear( names, components );
 | |
| 		ecdsPanel.clear();
 | |
| 	}
 | |
| 	
 | |
| 	public boolean newItem( int index )
 | |
| 	{
 | |
| 		return true;
 | |
| 	}
 | |
| 	
 | |
| 	public boolean save( int index )
 | |
| 	{
 | |
| 		return true;
 | |
| 	}
 | |
| }
 |