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.
		
		
		
		
		
			
		
			
				
					
					
						
							956 lines
						
					
					
						
							33 KiB
						
					
					
				
			
		
		
	
	
							956 lines
						
					
					
						
							33 KiB
						
					
					
				/*
 | 
						|
 * EmpresaPanel.java
 | 
						|
 *
 | 
						|
 * Created on 12 de Maio de 2004, 19:08
 | 
						|
 */
 | 
						|
 | 
						|
package siprp.clientes;
 | 
						|
 | 
						|
import java.awt.*;
 | 
						|
import javax.swing.*;
 | 
						|
import javax.swing.event.*;
 | 
						|
import java.util.*;
 | 
						|
 | 
						|
import com.evolute.utils.*;
 | 
						|
import com.evolute.utils.data.*;
 | 
						|
import com.evolute.utils.dataui.*;
 | 
						|
import com.evolute.utils.documents.*;
 | 
						|
import com.evolute.utils.jdo.*;
 | 
						|
import com.evolute.utils.tables.*;
 | 
						|
import com.evolute.utils.ui.*;
 | 
						|
import com.evolute.utils.ui.text.*;
 | 
						|
 | 
						|
import siprp.*;
 | 
						|
import siprp.data.*;
 | 
						|
 | 
						|
/**
 | 
						|
 *
 | 
						|
 * @author  fpalma
 | 
						|
 */
 | 
						|
public class EmpresaPanel extends JPanel
 | 
						|
	implements ControllableComponent, ListSelectionListener
 | 
						|
{
 | 
						|
	private JDOProvider JDO;
 | 
						|
	
 | 
						|
	private FichaDataProvider provider;
 | 
						|
	private EmpresaData empresa;
 | 
						|
	private ComponentsHashtable components;
 | 
						|
 | 
						|
	private Integer id;
 | 
						|
	
 | 
						|
	private JTextField designacaoSocialText;
 | 
						|
	private JTextField moradaText;
 | 
						|
	private JTextField codigoPostalText;
 | 
						|
	private JTextField localText;
 | 
						|
	private JTextField distritoText;
 | 
						|
	private JTextField concelhoText;
 | 
						|
	private JTextField codigo1Text;
 | 
						|
	private JTextField codigo2Text;
 | 
						|
	private JTextField codigo3Text;
 | 
						|
//	private JTextField perfil1Text;
 | 
						|
//	private JTextField perfil2Text;
 | 
						|
	private JComboBox servicosCombo;
 | 
						|
	private JTextField precoHigieneText;
 | 
						|
	private JTextField precoMedicinaText;
 | 
						|
	private JTextField modalidadePagamentoText;
 | 
						|
	private ContactoPanel contacto1Panel;
 | 
						|
	private ContactoPanel contacto2Panel;
 | 
						|
	private JCalendarPanel envioPropostaPanel;
 | 
						|
	private JCalendarPanel aceitacaoPropostaPanel;
 | 
						|
	private JCalendarPanel inicioContratoPanel;
 | 
						|
	private JTextField duracaoContratoText;
 | 
						|
	private JCalendarPanel cancelamentoPanel;
 | 
						|
	private JCalendarPanel envioContratoPanel;
 | 
						|
	private JCalendarPanel recepcaoContratoPanel;
 | 
						|
	private JCalendarPanel envioIdictPanel;
 | 
						|
	private JCalendarPanel relatorioAnualPanel;
 | 
						|
	private JTextField caeText;
 | 
						|
	private JTextField actividadeText;
 | 
						|
	private JTextField contribuinteText;
 | 
						|
	private JTextField segSocialText;
 | 
						|
	private JPanel marcacoesPanel;
 | 
						|
	private JPanel listaMarcacoesPanel;
 | 
						|
	private BaseTable marcacoesTable;
 | 
						|
	private MarcacaoEmpresaPanel marcacaoPanel;
 | 
						|
	private CardLayout marcacoesCardLayout;
 | 
						|
	private ProtocoloPanel protocoloPanel;
 | 
						|
//	private UserPanel userPanel;
 | 
						|
	
 | 
						|
	private BaseTable estabelecimentosTable;
 | 
						|
	private VectorTableModel estabelecimentosModel;
 | 
						|
	
 | 
						|
	private boolean webAware;
 | 
						|
	
 | 
						|
	private Vector listSelectionListeners;
 | 
						|
	
 | 
						|
	/** Creates a new instance of EmpresaPanel */
 | 
						|
	public EmpresaPanel()
 | 
						|
		throws Exception
 | 
						|
	{
 | 
						|
		webAware = ( ( Boolean ) Singleton.getInstance( SingletonConstants.WEB_AWARE ) ).booleanValue();
 | 
						|
		provider = (FichaDataProvider)FichaDataProvider.getProvider();
 | 
						|
		listSelectionListeners = new Vector();
 | 
						|
		JDO = ( JDOProvider ) Singleton.getInstance( Singleton.DEFAULT_JDO_PROVIDER );
 | 
						|
		setupComponents();
 | 
						|
		setupComponentsHashtable();
 | 
						|
	}
 | 
						|
	
 | 
						|
	private void setupComponents()
 | 
						|
		throws Exception
 | 
						|
	{
 | 
						|
		String codeFormat = ( String ) Singleton.getInstance( SingletonConstants.CODIGO_EMPRESA_FORMAT );
 | 
						|
		String formatElements[] = codeFormat.split( " " );
 | 
						|
		int formatFieldLengths[] = new int[ formatElements.length ];
 | 
						|
		String fieldSeparators[] = new String[ formatElements.length ];
 | 
						|
		int n1 = 0;
 | 
						|
		int n2 = 0;
 | 
						|
		for( ; n1 < formatElements.length; n1++ )
 | 
						|
		{
 | 
						|
			try
 | 
						|
			{
 | 
						|
				formatFieldLengths[ n2 ] = Integer.parseInt( formatElements[ n1 ] );
 | 
						|
				n2++;
 | 
						|
			}
 | 
						|
			catch( NumberFormatException ex )
 | 
						|
			{
 | 
						|
				fieldSeparators[ n2 - 1 ] = formatElements[ n1 ];
 | 
						|
			}
 | 
						|
		}
 | 
						|
		int countFields = n2;
 | 
						|
		
 | 
						|
		JLabel designacaoSocialLabel = new JLabel( "Designa\u00e7\u00e3o Social" );
 | 
						|
		designacaoSocialText = new StateTextField();
 | 
						|
		JLabel codigoLabel = new JLabel( "C\u00f3digo" );
 | 
						|
		JPanel codigoPanel = new JPanel();
 | 
						|
		codigo1Text = new StateTextField();
 | 
						|
		if( countFields > 0 && formatFieldLengths[ 0 ] > 0 )
 | 
						|
		{
 | 
						|
			codigo1Text.setDocument( new MaximumLengthDocument( formatFieldLengths[ 0 ] ) );
 | 
						|
		}
 | 
						|
		codigo2Text = new StateTextField();
 | 
						|
		if( countFields > 1 && formatFieldLengths[ 1 ] > 0 )
 | 
						|
		{
 | 
						|
			codigo2Text.setDocument( new MaximumLengthDocument( formatFieldLengths[ 1 ] ) );
 | 
						|
		}
 | 
						|
		codigo3Text = new StateTextField();
 | 
						|
		if( countFields > 2 && formatFieldLengths[ 2 ] > 0 )
 | 
						|
		{
 | 
						|
			codigo3Text.setDocument( new MaximumLengthDocument( formatFieldLengths[ 2 ] ) );
 | 
						|
		}
 | 
						|
//		JLabel perfisLabel = new JLabel( "Perfis (A/B)" );
 | 
						|
//		perfil1Text = new JTextField();
 | 
						|
//		JLabel perfil2Label = new JLabel( "/" );
 | 
						|
//		perfil2Text = new JTextField();
 | 
						|
		servicosCombo = new JComboBox();
 | 
						|
		servicosCombo.setPreferredSize( new Dimension( 120, 20 ) );
 | 
						|
		
 | 
						|
		JLabel precoLabel = new JLabel( "Pre\u00e7os" );
 | 
						|
		JLabel precoHigieneLabel = new JLabel( " Higiene" );
 | 
						|
		precoHigieneText = new JTextField();
 | 
						|
		precoHigieneText.setDocument( new DoubleDocument( 15, true ) );
 | 
						|
		JLabel higieneEuroLabel = new JLabel( "\u20ac" );
 | 
						|
		JLabel precoMedicinaLabel = new JLabel( " Medicina" );
 | 
						|
		precoMedicinaText = new JTextField();
 | 
						|
		precoMedicinaText.setDocument( new DoubleDocument( 15, true ) );
 | 
						|
		JLabel medicinaEuroLabel = new JLabel( "\u20ac" );
 | 
						|
		JLabel modalidadePagamentoLabel = new JLabel( "Periodicidade" );
 | 
						|
		modalidadePagamentoText = new JTextField();
 | 
						|
		
 | 
						|
		JLabel moradaLabel = new JLabel( "Morada" );
 | 
						|
		moradaText = new StateTextField();
 | 
						|
		JLabel codigoPostalLabel = new JLabel( "C\u00f3digo Postal" );
 | 
						|
		codigoPostalText = new StateTextField();
 | 
						|
		codigoPostalText.setPreferredSize( new Dimension( 50, 20 ) );
 | 
						|
		codigoPostalText.setDocument( new MaximumLengthDocument( 8 ) );
 | 
						|
		JLabel localLabel = new JLabel( "Localidade" );
 | 
						|
		localText = new StateTextField();
 | 
						|
		JLabel distritoLabel = new JLabel( "Distrito" );
 | 
						|
		distritoText = new JTextField();
 | 
						|
		JLabel concelhoLabel = new JLabel( "Concelho" );
 | 
						|
		concelhoText = new JTextField();
 | 
						|
		contacto1Panel = new ContactoPanel();
 | 
						|
		contacto1Panel.setBorder( BorderFactory.createEtchedBorder() );
 | 
						|
		contacto2Panel = new ContactoPanel();
 | 
						|
		contacto2Panel.setBorder( BorderFactory.createEtchedBorder() );
 | 
						|
		JLabel envioPropostaLabel = new JLabel( "Proposta" );
 | 
						|
		envioPropostaPanel = new JCalendarPanel( null );
 | 
						|
		JLabel aceitacaoPropostaLabel = new JLabel( "Aceita\u00e7\u00e3o" );
 | 
						|
		aceitacaoPropostaPanel = new JCalendarPanel( null );
 | 
						|
		JLabel inicioContratoLabel = new JLabel( "In\u00edcio" );
 | 
						|
		inicioContratoPanel = new JCalendarPanel( null );
 | 
						|
		JLabel duracaoContratoLabel = new JLabel( "Dura\u00e7\u00e3o (meses)" );
 | 
						|
		duracaoContratoText = new JTextField();
 | 
						|
		duracaoContratoText.setDocument( new IntegerDocument( 5, false ) );
 | 
						|
		JLabel cancelamentoLabel = new JLabel( "Cancelamento" );
 | 
						|
		cancelamentoPanel = new JCalendarPanel( null );
 | 
						|
		JLabel envioContratoLabel = new JLabel( "Envio Contrato" );
 | 
						|
		envioContratoPanel = new JCalendarPanel( null );
 | 
						|
		JLabel recepcaoContratoLabel = new JLabel( "Recep\u00e7\u00e3o" );
 | 
						|
		recepcaoContratoPanel = new JCalendarPanel( null );
 | 
						|
		JLabel envioIdictLabel = new JLabel( "Mod. 1360" );
 | 
						|
		envioIdictPanel = new JCalendarPanel( null );
 | 
						|
		JLabel relatorioAnualLabel = new JLabel( "Relat\u00f3rio Anual" );
 | 
						|
		relatorioAnualPanel = new JCalendarPanel( null );
 | 
						|
		JTabbedPane tabbedPane = new JTabbedPane();
 | 
						|
		JLabel caeLabel = new JLabel( "CAE" );
 | 
						|
		caeText = new JTextField();
 | 
						|
		JLabel actividadeLabel = new JLabel( " - " );
 | 
						|
		actividadeText = new JTextField();
 | 
						|
		JLabel contribuinteLabel = new JLabel( "Contribuinte" );
 | 
						|
		contribuinteText = new JTextField();
 | 
						|
		JLabel segSocialLabel = new JLabel( "Seguran\u00e7a Social" );
 | 
						|
		segSocialText = new JTextField();
 | 
						|
		JPanel moradaPanel = new JPanel();
 | 
						|
		marcacoesPanel = new JPanel();
 | 
						|
		protocoloPanel = new ProtocoloPanel();
 | 
						|
//		userPanel = new UserPanel();
 | 
						|
				
 | 
						|
		JScrollPane estabelecimentosScroll = new JScrollPane();
 | 
						|
		estabelecimentosScroll.setHorizontalScrollBarPolicy( JScrollPane.HORIZONTAL_SCROLLBAR_NEVER );
 | 
						|
		estabelecimentosModel = new VectorTableModel( new String[]{ "Estabelecimentos" } );
 | 
						|
		estabelecimentosTable = new BaseTable( estabelecimentosModel );
 | 
						|
		estabelecimentosTable.setSelectionMode( ListSelectionModel.SINGLE_SELECTION );
 | 
						|
		estabelecimentosTable.getSelectionModel().addListSelectionListener( this );
 | 
						|
		estabelecimentosScroll.setViewportView( estabelecimentosTable );
 | 
						|
		
 | 
						|
		JPanel dadosEmpresaPanel = new JPanel();
 | 
						|
		JPanel contactosPanel = new JPanel();
 | 
						|
		JScrollPane contactosScroll = new JScrollPane();
 | 
						|
		contactosScroll.setHorizontalScrollBarPolicy( JScrollPane.HORIZONTAL_SCROLLBAR_NEVER );
 | 
						|
		contactosScroll.setViewportView( contactosPanel );
 | 
						|
		contactosScroll.setBorder( BorderFactory.createTitledBorder( 
 | 
						|
									BorderFactory.createEtchedBorder(), "Contactos" ) );
 | 
						|
		JPanel formalidadesPanel = new JPanel();
 | 
						|
		
 | 
						|
		JPanel pad;
 | 
						|
		
 | 
						|
		JPanel upperPanel = new JPanel();
 | 
						|
		GridBagLayout gridbag = new GridBagLayout();
 | 
						|
		upperPanel.setLayout( gridbag );
 | 
						|
		GridBagConstraints constraints = new GridBagConstraints();
 | 
						|
		constraints.insets = new Insets( 1, 1, 1, 1 );
 | 
						|
		constraints.fill = GridBagConstraints.HORIZONTAL;
 | 
						|
		constraints.weighty = 0;
 | 
						|
		constraints.gridheight = 1;
 | 
						|
		
 | 
						|
		constraints.weightx = 0;
 | 
						|
		constraints.gridwidth = 1;
 | 
						|
		gridbag.setConstraints( designacaoSocialLabel, constraints );
 | 
						|
		upperPanel.add( designacaoSocialLabel );
 | 
						|
		
 | 
						|
		constraints.weightx = 0.9;
 | 
						|
		constraints.gridwidth = 5;
 | 
						|
		gridbag.setConstraints( designacaoSocialText, constraints );
 | 
						|
		upperPanel.add( designacaoSocialText );
 | 
						|
		
 | 
						|
		constraints.weightx = 0;
 | 
						|
		constraints.gridwidth = 1;
 | 
						|
		gridbag.setConstraints( codigoLabel, constraints );
 | 
						|
		upperPanel.add( codigoLabel );
 | 
						|
		
 | 
						|
		constraints.weightx = 0.1;
 | 
						|
		constraints.gridwidth = GridBagConstraints.REMAINDER;
 | 
						|
		gridbag.setConstraints( codigoPanel, constraints );
 | 
						|
		upperPanel.add( codigoPanel );
 | 
						|
		
 | 
						|
		constraints.weightx = 0;
 | 
						|
		constraints.gridwidth = 1;
 | 
						|
//		gridbag.setConstraints( moradaLabel, constraints );
 | 
						|
//		upperPanel.add( moradaLabel );
 | 
						|
		gridbag.setConstraints( caeLabel, constraints );
 | 
						|
		upperPanel.add( caeLabel );
 | 
						|
		
 | 
						|
		constraints.weightx = 0.2;
 | 
						|
		constraints.gridwidth = 1;
 | 
						|
		gridbag.setConstraints( caeText, constraints );
 | 
						|
		upperPanel.add( caeText );
 | 
						|
		
 | 
						|
		constraints.weightx = 0;
 | 
						|
		constraints.gridwidth = 1;
 | 
						|
//		gridbag.setConstraints( moradaLabel, constraints );
 | 
						|
//		upperPanel.add( moradaLabel );
 | 
						|
		gridbag.setConstraints( actividadeLabel, constraints );
 | 
						|
		upperPanel.add( actividadeLabel );
 | 
						|
		
 | 
						|
		constraints.weightx = 0.6;
 | 
						|
		constraints.gridwidth = 1;
 | 
						|
		gridbag.setConstraints( actividadeText, constraints );
 | 
						|
		upperPanel.add( actividadeText );
 | 
						|
		
 | 
						|
		constraints.weightx = 0;
 | 
						|
		constraints.gridwidth = 1;
 | 
						|
//		gridbag.setConstraints( codigoPostalLabel, constraints );
 | 
						|
//		upperPanel.add( codigoPostalLabel );
 | 
						|
		gridbag.setConstraints( contribuinteLabel, constraints );
 | 
						|
		upperPanel.add( contribuinteLabel );
 | 
						|
		
 | 
						|
		constraints.weightx = 0.1;
 | 
						|
		constraints.gridwidth = 1;
 | 
						|
		gridbag.setConstraints( contribuinteText, constraints );
 | 
						|
		upperPanel.add( contribuinteText );
 | 
						|
		
 | 
						|
		constraints.weightx = 0;
 | 
						|
		constraints.gridwidth = 2;
 | 
						|
//		gridbag.setConstraints( localLabel, constraints );
 | 
						|
//		upperPanel.add( localLabel );
 | 
						|
		gridbag.setConstraints( segSocialLabel, constraints );
 | 
						|
		upperPanel.add( segSocialLabel );
 | 
						|
		
 | 
						|
		constraints.weightx = 0.1;
 | 
						|
		constraints.gridwidth = 1;
 | 
						|
		gridbag.setConstraints( segSocialText, constraints );
 | 
						|
		upperPanel.add( segSocialText );
 | 
						|
		
 | 
						|
		
 | 
						|
		gridbag = new GridBagLayout();
 | 
						|
		dadosEmpresaPanel.setLayout( gridbag );
 | 
						|
		constraints = new GridBagConstraints();
 | 
						|
		constraints.insets = new Insets( 1, 1, 1, 1 );
 | 
						|
		constraints.fill = GridBagConstraints.HORIZONTAL;
 | 
						|
		constraints.weighty = 0;
 | 
						|
		constraints.gridheight = 1;
 | 
						|
 | 
						|
		contactosPanel.setLayout( new GridLayout( 1, 2 ) );
 | 
						|
		contactosPanel.add( contacto1Panel );
 | 
						|
		contactosPanel.add( contacto2Panel );
 | 
						|
		
 | 
						|
		gridbag = new GridBagLayout();
 | 
						|
		formalidadesPanel.setLayout( gridbag );
 | 
						|
		constraints.weighty = 0;
 | 
						|
		constraints.gridheight = 1;
 | 
						|
		
 | 
						|
		constraints.weightx = 0;
 | 
						|
		constraints.gridwidth = 1;
 | 
						|
		gridbag.setConstraints( envioPropostaLabel, constraints );
 | 
						|
		formalidadesPanel.add( envioPropostaLabel );
 | 
						|
		
 | 
						|
		constraints.weightx = 0.3;
 | 
						|
		gridbag.setConstraints( envioPropostaPanel, constraints );
 | 
						|
		formalidadesPanel.add( envioPropostaPanel );
 | 
						|
		
 | 
						|
		constraints.weightx = 0;
 | 
						|
		gridbag.setConstraints( inicioContratoLabel, constraints );
 | 
						|
		formalidadesPanel.add( inicioContratoLabel );
 | 
						|
		
 | 
						|
		constraints.weightx = 0.2;
 | 
						|
		constraints.gridwidth = 1;
 | 
						|
//		JPanel perfisPanel = new JPanel();
 | 
						|
		gridbag.setConstraints( inicioContratoPanel, constraints );
 | 
						|
		formalidadesPanel.add( inicioContratoPanel );
 | 
						|
				
 | 
						|
		constraints.weightx = 0.4;
 | 
						|
		constraints.gridwidth = GridBagConstraints.REMAINDER;
 | 
						|
		gridbag.setConstraints( precoLabel, constraints );
 | 
						|
		formalidadesPanel.add( precoLabel );
 | 
						|
		
 | 
						|
		constraints.weightx = 0;
 | 
						|
		constraints.gridwidth = 1;
 | 
						|
		gridbag.setConstraints( aceitacaoPropostaLabel, constraints );
 | 
						|
		formalidadesPanel.add( aceitacaoPropostaLabel );
 | 
						|
		
 | 
						|
		constraints.weightx = 0.3;
 | 
						|
		constraints.gridwidth = 1;
 | 
						|
		gridbag.setConstraints( aceitacaoPropostaPanel, constraints );
 | 
						|
		formalidadesPanel.add( aceitacaoPropostaPanel );
 | 
						|
		
 | 
						|
		constraints.weightx = 0;
 | 
						|
		gridbag.setConstraints( duracaoContratoLabel, constraints );
 | 
						|
		formalidadesPanel.add( duracaoContratoLabel );
 | 
						|
		
 | 
						|
		constraints.weightx = 0.2;
 | 
						|
		constraints.gridwidth = 1;
 | 
						|
//		JPanel perfisPanel = new JPanel();
 | 
						|
		gridbag.setConstraints( duracaoContratoText, constraints );
 | 
						|
		formalidadesPanel.add( duracaoContratoText );
 | 
						|
		
 | 
						|
		constraints.weightx = 0;
 | 
						|
		constraints.gridwidth = 1;
 | 
						|
		gridbag.setConstraints( precoHigieneLabel, constraints );
 | 
						|
		formalidadesPanel.add( precoHigieneLabel );
 | 
						|
		
 | 
						|
		constraints.weightx = 0.4;
 | 
						|
		constraints.gridwidth = 1;
 | 
						|
		gridbag.setConstraints( precoHigieneText, constraints );
 | 
						|
		formalidadesPanel.add( precoHigieneText );
 | 
						|
		
 | 
						|
		constraints.weightx = 0;
 | 
						|
		constraints.gridwidth = GridBagConstraints.REMAINDER;
 | 
						|
		gridbag.setConstraints( higieneEuroLabel, constraints );
 | 
						|
		formalidadesPanel.add( higieneEuroLabel );
 | 
						|
 | 
						|
		constraints.weightx = 0;
 | 
						|
		constraints.gridwidth = 1;
 | 
						|
		gridbag.setConstraints( envioContratoLabel, constraints );
 | 
						|
		formalidadesPanel.add( envioContratoLabel );
 | 
						|
		
 | 
						|
		constraints.weightx = 0.3;
 | 
						|
		gridbag.setConstraints( envioContratoPanel, constraints );
 | 
						|
		formalidadesPanel.add( envioContratoPanel );
 | 
						|
		
 | 
						|
		constraints.weightx = 0;
 | 
						|
		gridbag.setConstraints( cancelamentoLabel, constraints );
 | 
						|
		formalidadesPanel.add( cancelamentoLabel );
 | 
						|
		
 | 
						|
		constraints.weightx = 0.2;
 | 
						|
		constraints.gridwidth = 1;
 | 
						|
//		JPanel perfisPanel = new JPanel();
 | 
						|
		gridbag.setConstraints( cancelamentoPanel, constraints );
 | 
						|
		formalidadesPanel.add( cancelamentoPanel );
 | 
						|
		
 | 
						|
		constraints.weightx = 0;
 | 
						|
		constraints.gridwidth = 1;
 | 
						|
		gridbag.setConstraints( precoMedicinaLabel, constraints );
 | 
						|
		formalidadesPanel.add( precoMedicinaLabel );
 | 
						|
		
 | 
						|
		constraints.weightx = 0.4;
 | 
						|
		constraints.gridwidth = 1;
 | 
						|
		gridbag.setConstraints( precoMedicinaText, constraints );
 | 
						|
		formalidadesPanel.add( precoMedicinaText );
 | 
						|
		
 | 
						|
		constraints.weightx = 0;
 | 
						|
		constraints.gridwidth = GridBagConstraints.REMAINDER;
 | 
						|
		gridbag.setConstraints( medicinaEuroLabel, constraints );
 | 
						|
		formalidadesPanel.add( medicinaEuroLabel );
 | 
						|
		
 | 
						|
		constraints.weightx = 0;
 | 
						|
		constraints.gridwidth = 1;
 | 
						|
		gridbag.setConstraints( recepcaoContratoLabel, constraints );
 | 
						|
		formalidadesPanel.add( recepcaoContratoLabel );
 | 
						|
		
 | 
						|
		constraints.weightx = 0.3;
 | 
						|
		constraints.gridwidth = 1;
 | 
						|
		gridbag.setConstraints( recepcaoContratoPanel, constraints );
 | 
						|
		formalidadesPanel.add( recepcaoContratoPanel );
 | 
						|
		
 | 
						|
		constraints.weightx = 0.2;
 | 
						|
		constraints.gridwidth = 2;
 | 
						|
		gridbag.setConstraints( servicosCombo, constraints );
 | 
						|
		formalidadesPanel.add( servicosCombo );
 | 
						|
		
 | 
						|
		constraints.weightx = 0;
 | 
						|
		constraints.gridwidth = 1;
 | 
						|
		gridbag.setConstraints( modalidadePagamentoLabel, constraints );
 | 
						|
		formalidadesPanel.add( modalidadePagamentoLabel );
 | 
						|
		
 | 
						|
		constraints.weightx = 0.4;
 | 
						|
		constraints.gridwidth = GridBagConstraints.REMAINDER;
 | 
						|
		gridbag.setConstraints( modalidadePagamentoText, constraints );
 | 
						|
		formalidadesPanel.add( modalidadePagamentoText );
 | 
						|
		
 | 
						|
		constraints.weightx = 0;
 | 
						|
		constraints.gridwidth = 1;
 | 
						|
		gridbag.setConstraints( envioIdictLabel, constraints );
 | 
						|
		formalidadesPanel.add( envioIdictLabel );
 | 
						|
		
 | 
						|
		constraints.weightx = 0.3;
 | 
						|
		gridbag.setConstraints( envioIdictPanel, constraints );
 | 
						|
		formalidadesPanel.add( envioIdictPanel );
 | 
						|
		
 | 
						|
		constraints.weightx = 0;
 | 
						|
		constraints.gridwidth = 1;
 | 
						|
		gridbag.setConstraints( relatorioAnualLabel, constraints );
 | 
						|
		formalidadesPanel.add( relatorioAnualLabel );
 | 
						|
		
 | 
						|
		constraints.weightx = 0.2;
 | 
						|
		constraints.gridwidth = 1;
 | 
						|
		gridbag.setConstraints( relatorioAnualPanel, constraints );
 | 
						|
		formalidadesPanel.add( relatorioAnualPanel );
 | 
						|
		
 | 
						|
		constraints.weightx = 0.4;
 | 
						|
		constraints.gridwidth = GridBagConstraints.REMAINDER;
 | 
						|
		pad = new JPanel();
 | 
						|
		gridbag.setConstraints( pad, constraints );
 | 
						|
		formalidadesPanel.add( pad );
 | 
						|
		
 | 
						|
//		constraints.weightx = 0.5;
 | 
						|
//		constraints.gridwidth = GridBagConstraints.REMAINDER;
 | 
						|
//		pad = new JPanel();
 | 
						|
//		gridbag.setConstraints( pad, constraints );
 | 
						|
//		formalidadesPanel.add( pad );
 | 
						|
		
 | 
						|
		setLayout( new BorderLayout() );
 | 
						|
		add( upperPanel, BorderLayout.NORTH );
 | 
						|
		JPanel lowerPanel = new JPanel();
 | 
						|
		add( lowerPanel, BorderLayout.CENTER );
 | 
						|
		
 | 
						|
		gridbag = new GridBagLayout();
 | 
						|
		lowerPanel.setLayout( gridbag );
 | 
						|
		constraints.fill = GridBagConstraints.BOTH;
 | 
						|
		constraints.insets = new Insets( 0, 0, 0, 0 );
 | 
						|
		constraints.weighty = 1;
 | 
						|
		constraints.gridheight = GridBagConstraints.REMAINDER;
 | 
						|
		
 | 
						|
		constraints.weightx = 0.55;
 | 
						|
		constraints.gridwidth = 1;
 | 
						|
//		lowerPanel.setLayout( new BorderLayout() );
 | 
						|
		//lowerPanel.add( dadosEmpresaPanel );
 | 
						|
		//lowerPanel.add( new JPanel() );
 | 
						|
		gridbag.setConstraints( tabbedPane, constraints );
 | 
						|
		lowerPanel.add( tabbedPane );
 | 
						|
//		lowerPanel.add( tabbedPane, BorderLayout.CENTER );
 | 
						|
		tabbedPane.add( "Contactos", contactosPanel );
 | 
						|
		tabbedPane.add( "Morada", moradaPanel );
 | 
						|
		tabbedPane.add( "Formalidades", formalidadesPanel );
 | 
						|
		tabbedPane.add( "Protocolo", protocoloPanel );
 | 
						|
		tabbedPane.add( "Tarefas", marcacoesPanel );
 | 
						|
		
 | 
						|
//		if( webAware )
 | 
						|
//		{
 | 
						|
//			tabbedPane.add( "Utilizador da P\u00e1gina", userPanel );
 | 
						|
//		}
 | 
						|
		
 | 
						|
		constraints.weightx = 0.45;
 | 
						|
		constraints.gridwidth = GridBagConstraints.REMAINDER;
 | 
						|
		gridbag.setConstraints( estabelecimentosScroll, constraints );
 | 
						|
		lowerPanel.add( estabelecimentosScroll );
 | 
						|
//		lowerPanel.add( estabelecimentosScroll, BorderLayout.EAST );
 | 
						|
		
 | 
						|
		gridbag = new GridBagLayout();
 | 
						|
		codigoPanel.setLayout( gridbag );
 | 
						|
		constraints.fill = GridBagConstraints.HORIZONTAL;
 | 
						|
		constraints.insets = new Insets( 1, 0, 1, 2 );
 | 
						|
		constraints.weighty = 1;
 | 
						|
		constraints.gridheight = GridBagConstraints.REMAINDER;
 | 
						|
		
 | 
						|
		if( countFields > 0 )
 | 
						|
		{
 | 
						|
			constraints.weightx = 0.2;
 | 
						|
			constraints.gridwidth = 1;
 | 
						|
			gridbag.setConstraints( codigo1Text, constraints );
 | 
						|
			codigoPanel.add( codigo1Text );
 | 
						|
			
 | 
						|
			if( fieldSeparators[ 0 ] != null )
 | 
						|
			{
 | 
						|
				constraints.weightx = 0;
 | 
						|
				JLabel divLabel = new JLabel( fieldSeparators[ 0 ] );
 | 
						|
				gridbag.setConstraints( divLabel, constraints );
 | 
						|
				codigoPanel.add( divLabel );
 | 
						|
			}
 | 
						|
		}
 | 
						|
		
 | 
						|
		if( countFields > 1 )
 | 
						|
		{
 | 
						|
			constraints.weightx = 0.5;
 | 
						|
			gridbag.setConstraints( codigo2Text, constraints );
 | 
						|
			codigoPanel.add( codigo2Text );
 | 
						|
 | 
						|
			if( fieldSeparators[ 1 ] != null )
 | 
						|
			{
 | 
						|
				constraints.weightx = 0;
 | 
						|
				JLabel divLabel = new JLabel( fieldSeparators[ 1 ] );
 | 
						|
				gridbag.setConstraints( divLabel, constraints );
 | 
						|
				codigoPanel.add( divLabel );
 | 
						|
			}
 | 
						|
//			constraints.weightx = 0;
 | 
						|
//			JLabel divLabel = new JLabel( "/" );
 | 
						|
//			gridbag.setConstraints( divLabel, constraints );
 | 
						|
//			codigoPanel.add( divLabel );
 | 
						|
		}
 | 
						|
		
 | 
						|
		if( countFields > 2 )
 | 
						|
		{
 | 
						|
			constraints.weightx = 0.2;
 | 
						|
//			constraints.gridwidth = GridBagConstraints.REMAINDER;
 | 
						|
			gridbag.setConstraints( codigo3Text, constraints );
 | 
						|
			codigoPanel.add( codigo3Text );
 | 
						|
			
 | 
						|
			if( fieldSeparators[ 2 ] != null )
 | 
						|
			{
 | 
						|
				constraints.weightx = 0;
 | 
						|
				JLabel divLabel = new JLabel( fieldSeparators[ 2 ] );
 | 
						|
				gridbag.setConstraints( divLabel, constraints );
 | 
						|
				codigoPanel.add( divLabel );
 | 
						|
			}
 | 
						|
		}
 | 
						|
		
 | 
						|
		
 | 
						|
//		gridbag = new GridBagLayout();
 | 
						|
//		perfisPanel.setLayout( gridbag );
 | 
						|
//		constraints.fill = GridBagConstraints.HORIZONTAL;
 | 
						|
//		constraints.insets = new Insets( 1, 0, 1, 2 );
 | 
						|
//		constraints.weighty = 1;
 | 
						|
//		constraints.gridheight = GridBagConstraints.REMAINDER;
 | 
						|
//		
 | 
						|
//		constraints.weightx = 0.5;
 | 
						|
//		constraints.gridwidth = 1;
 | 
						|
//		gridbag.setConstraints( perfil1Text, constraints );
 | 
						|
//		perfisPanel.add( perfil1Text );
 | 
						|
//		
 | 
						|
//		constraints.weightx = 0;
 | 
						|
//		constraints.gridwidth = 1;
 | 
						|
//		gridbag.setConstraints( perfil2Label, constraints );
 | 
						|
//		perfisPanel.add( perfil2Label );
 | 
						|
//		
 | 
						|
//		constraints.weightx = 0.5;
 | 
						|
//		//constraints.gridwidth = GridBagConstraints.REMAINDER;
 | 
						|
//		gridbag.setConstraints( perfil2Text, constraints );
 | 
						|
//		perfisPanel.add( perfil2Text );
 | 
						|
 | 
						|
		
 | 
						|
		gridbag = new GridBagLayout();
 | 
						|
		moradaPanel.setLayout( gridbag );
 | 
						|
		constraints.fill = GridBagConstraints.HORIZONTAL;
 | 
						|
		constraints.weighty = 0;
 | 
						|
		constraints.gridheight = 1;
 | 
						|
		
 | 
						|
		constraints.weightx = 0;
 | 
						|
		constraints.gridwidth = 1;
 | 
						|
		gridbag.setConstraints( moradaLabel, constraints );
 | 
						|
		moradaPanel.add( moradaLabel );
 | 
						|
		
 | 
						|
		constraints.weightx = 1;
 | 
						|
		constraints.gridwidth = GridBagConstraints.REMAINDER;
 | 
						|
		gridbag.setConstraints( moradaText, constraints );
 | 
						|
		moradaPanel.add( moradaText );
 | 
						|
		
 | 
						|
		constraints.weightx = 0;
 | 
						|
		constraints.gridwidth = 1;
 | 
						|
		gridbag.setConstraints( codigoPostalLabel, constraints );
 | 
						|
		moradaPanel.add( codigoPostalLabel );
 | 
						|
		
 | 
						|
		constraints.weightx = 0.3;
 | 
						|
		gridbag.setConstraints( codigoPostalText, constraints );
 | 
						|
		moradaPanel.add( codigoPostalText );
 | 
						|
		
 | 
						|
		constraints.weightx = 0.7;
 | 
						|
		constraints.gridwidth = GridBagConstraints.REMAINDER;
 | 
						|
		pad = new JPanel();
 | 
						|
		gridbag.setConstraints( pad, constraints );
 | 
						|
		moradaPanel.add( pad );
 | 
						|
		
 | 
						|
		constraints.weightx = 0;
 | 
						|
		constraints.gridwidth = 1;
 | 
						|
		gridbag.setConstraints( localLabel, constraints );
 | 
						|
		moradaPanel.add( localLabel );
 | 
						|
		
 | 
						|
		constraints.weightx = 1;
 | 
						|
		constraints.gridwidth = GridBagConstraints.REMAINDER;
 | 
						|
		gridbag.setConstraints( localText, constraints );
 | 
						|
		moradaPanel.add( localText );
 | 
						|
		
 | 
						|
		constraints.weightx = 0;
 | 
						|
		constraints.gridwidth = 1;
 | 
						|
		gridbag.setConstraints( distritoLabel, constraints );
 | 
						|
		moradaPanel.add( distritoLabel );
 | 
						|
		
 | 
						|
		constraints.weightx = 1;
 | 
						|
		constraints.gridwidth = GridBagConstraints.REMAINDER;
 | 
						|
		gridbag.setConstraints( distritoText, constraints );
 | 
						|
		moradaPanel.add( distritoText );
 | 
						|
		
 | 
						|
		constraints.weightx = 0;
 | 
						|
		constraints.gridwidth = 1;
 | 
						|
		gridbag.setConstraints( concelhoLabel, constraints );
 | 
						|
		moradaPanel.add( concelhoLabel );
 | 
						|
		
 | 
						|
		constraints.weightx = 1;
 | 
						|
		constraints.gridwidth = GridBagConstraints.REMAINDER;
 | 
						|
		gridbag.setConstraints( concelhoText, constraints );
 | 
						|
		moradaPanel.add( concelhoText );
 | 
						|
		
 | 
						|
		
 | 
						|
		listaMarcacoesPanel = new JPanel();
 | 
						|
		listaMarcacoesPanel.setLayout( new GridLayout( 1, 1 ) );
 | 
						|
		VectorTableModel marcacoesModel = new VectorTableModel( new String[]{ "Data", "Realizada", "Texto" } );
 | 
						|
		marcacoesTable = new BaseTable( marcacoesModel );
 | 
						|
		marcacoesTable.setToolTipColumn( 2 );
 | 
						|
		marcacoesTable.fixColumnWidth( 0, 150 );
 | 
						|
		marcacoesTable.fixColumnWidth( 1, 80 );
 | 
						|
		marcacoesTable.setNonResizableNorReordable();
 | 
						|
		JScrollPane marcacoesScp = new JScrollPane( marcacoesTable, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, 
 | 
						|
													JScrollPane.HORIZONTAL_SCROLLBAR_NEVER );
 | 
						|
		listaMarcacoesPanel.add( marcacoesScp );
 | 
						|
		
 | 
						|
		marcacoesCardLayout = new CardLayout();
 | 
						|
		marcacaoPanel = new MarcacaoEmpresaPanel( this );
 | 
						|
		marcacoesPanel.setLayout( marcacoesCardLayout );
 | 
						|
		marcacoesPanel.add( MarcacaoEmpresaPanel.LIST_PANEL, listaMarcacoesPanel );
 | 
						|
		marcacoesPanel.add( MarcacaoEmpresaPanel.EDIT_PANEL, marcacaoPanel );
 | 
						|
		
 | 
						|
		marcacoesTable.getSelectionModel().addListSelectionListener( new ListSelectionListener(){
 | 
						|
			public void valueChanged( ListSelectionEvent e )
 | 
						|
			{
 | 
						|
				int selected = marcacoesTable.getSelectedRow();
 | 
						|
				if( selected == -1 || e.getValueIsAdjusting() )
 | 
						|
				{
 | 
						|
					return;
 | 
						|
				}
 | 
						|
				Object row = ( (VectorTableModel)marcacoesTable.getModel() ).getRowAt( selected );
 | 
						|
				marcacoesTable.clearSelection();
 | 
						|
				marcacaoPanel.setEmpresa( empresa );
 | 
						|
				if( row != null && row instanceof MarcacaoEmpresaData )
 | 
						|
				{
 | 
						|
					marcacaoPanel.fill( row );
 | 
						|
				}
 | 
						|
				else
 | 
						|
				{
 | 
						|
					marcacaoPanel.fill( null );
 | 
						|
				}
 | 
						|
				marcacoesCardLayout.show( marcacoesPanel, MarcacaoEmpresaPanel.EDIT_PANEL );
 | 
						|
			}
 | 
						|
		} );
 | 
						|
		
 | 
						|
		servicosCombo.addItem( new MappableObject( new Integer( 1 ), "SHST" ) );
 | 
						|
		servicosCombo.addItem( new MappableObject( new Integer( 2 ), "Medicina do Trabalho" ) );
 | 
						|
		servicosCombo.addItem( new MappableObject( new Integer( 3 ), "Higiene e Seguran\u00e7a" ) );
 | 
						|
		servicosCombo.addItem( new MappableObject( new Integer( 4 ), "Forma\u00e7\u00e3o" ) );
 | 
						|
		servicosCombo.addItem( new MappableObject( new Integer( 5 ), "Estudos Especificos HS" ) );
 | 
						|
		servicosCombo.addItem( new MappableObject( new Integer( 6 ), "Sinal\u00e9tica" ) );
 | 
						|
		
 | 
						|
		new CopyPasteHandler( designacaoSocialText );
 | 
						|
		new CopyPasteHandler( moradaText );
 | 
						|
		new CopyPasteHandler( codigoPostalText );
 | 
						|
		new CopyPasteHandler( localText );
 | 
						|
		new CopyPasteHandler( distritoText );
 | 
						|
		new CopyPasteHandler( concelhoText );
 | 
						|
		new CopyPasteHandler( codigo1Text );
 | 
						|
		new CopyPasteHandler( codigo2Text );
 | 
						|
		new CopyPasteHandler( codigo3Text );
 | 
						|
//		new CopyPasteHandler( perfil1Text );
 | 
						|
//		new CopyPasteHandler( perfil2Text );
 | 
						|
		new CopyPasteHandler( precoHigieneText );
 | 
						|
		new CopyPasteHandler( precoMedicinaText );
 | 
						|
		new CopyPasteHandler( modalidadePagamentoText );
 | 
						|
		new CopyPasteHandler( caeText );
 | 
						|
		new CopyPasteHandler( actividadeText );
 | 
						|
		new CopyPasteHandler( contribuinteText );
 | 
						|
		new CopyPasteHandler( segSocialText );
 | 
						|
	}
 | 
						|
	
 | 
						|
	private void setupComponentsHashtable()
 | 
						|
	{
 | 
						|
		components = new ComponentsHashtable();
 | 
						|
		components.putComponent( EmpresaData.DESIGNACAO_SOCIAL, designacaoSocialText );
 | 
						|
		components.putComponent( EmpresaData.MORADA, moradaText );
 | 
						|
		components.putComponent( EmpresaData.CODIGO_POSTAL, codigoPostalText );
 | 
						|
		components.putComponent( EmpresaData.LOCALIDADE, localText );
 | 
						|
		components.putComponent( EmpresaData.DISTRITO, distritoText );
 | 
						|
		components.putComponent( EmpresaData.CONCELHO, concelhoText );
 | 
						|
		components.putComponent( EmpresaData.DATA_PROPOSTA, envioPropostaPanel );
 | 
						|
		components.putComponent( EmpresaData.DATA_ACEITACAO, aceitacaoPropostaPanel );
 | 
						|
		components.putComponent( EmpresaData.INICIO_CONTRATO, inicioContratoPanel );
 | 
						|
		components.putComponent( EmpresaData.DURACAO, duracaoContratoText );
 | 
						|
		components.putComponent( EmpresaData.DATA_CANCELAMENTO, cancelamentoPanel );
 | 
						|
		components.putDummy( EmpresaData.PERFIL_1 );
 | 
						|
		components.putDummy( EmpresaData.PERFIL_2);
 | 
						|
		components.putComponent( EmpresaData.DATA_ENVIO_CONTRATO, envioContratoPanel );
 | 
						|
		components.putComponent( EmpresaData.DATA_RECEPCAO_CONTRATO, recepcaoContratoPanel );
 | 
						|
		components.putComponent( EmpresaData.DATA_ENVIO_IDICT, envioIdictPanel );
 | 
						|
		components.putComponent( EmpresaData.DATA_RELATORIO_ANUAL, relatorioAnualPanel );
 | 
						|
		components.putComponent( EmpresaData.CODIGO_1, codigo1Text );
 | 
						|
		components.putComponent( EmpresaData.CODIGO_2, codigo2Text );
 | 
						|
		components.putComponent( EmpresaData.CODIGO_3, codigo3Text );
 | 
						|
		components.putComponent( EmpresaData.CAE, caeText );
 | 
						|
		components.putComponent( EmpresaData.ACTIVIDADE, actividadeText );
 | 
						|
		components.putComponent( EmpresaData.CONTRIBUINTE, contribuinteText );
 | 
						|
		components.putComponent( EmpresaData.SEGURANCA_SOCIAL, segSocialText );
 | 
						|
		components.putComponent( EmpresaData.CONTACTO_1, contacto1Panel );
 | 
						|
		components.putComponent( EmpresaData.CONTACTO_2, contacto2Panel );
 | 
						|
		components.putComponent( EmpresaData.SERVICOS, servicosCombo );
 | 
						|
		components.putComponent( EmpresaData.PRECO_HIGIENE, precoHigieneText );
 | 
						|
		components.putComponent( EmpresaData.PRECO_MEDICINA, precoMedicinaText );
 | 
						|
		components.putComponent( EmpresaData.PERIODICIDADE, modalidadePagamentoText );
 | 
						|
		components.putDummy( EmpresaData.SERVICO_SAUDE_TIPO );
 | 
						|
		components.putDummy( EmpresaData.SERVICO_SAUDE_DESIGNACAO );
 | 
						|
		components.putDummy( EmpresaData.SERVICO_HIGIENE_TIPO );
 | 
						|
		components.putDummy( EmpresaData.SERVICO_HIGIENE_DESIGNACAO );
 | 
						|
		components.putDummy( EmpresaData.DESIGNACAO_SOCIAL_PLAIN );
 | 
						|
	}
 | 
						|
	
 | 
						|
	public void clear()
 | 
						|
	{
 | 
						|
		String names[] = (String[])components.keySet().toArray( new String[0] );
 | 
						|
		ComponentController.clear( names, components );
 | 
						|
		estabelecimentosModel.clearAll();
 | 
						|
		protocoloPanel.clear();
 | 
						|
		clearMarcacoes();
 | 
						|
		empresa = null;
 | 
						|
	}
 | 
						|
	
 | 
						|
	public void fill(Object value)
 | 
						|
	{
 | 
						|
		clear();
 | 
						|
		
 | 
						|
		if( value == null || ( ( Object[] )value )[ 0 ] == null )
 | 
						|
		{
 | 
						|
//			userPanel.setEmpresaID( null );
 | 
						|
			return;
 | 
						|
		}
 | 
						|
		empresa = ( EmpresaData ) ( ( Object [] )value )[ 0 ];
 | 
						|
		Integer elementosProtocolo[][] = ( Integer [][] ) ( ( Object [] )value )[ 1 ];
 | 
						|
		
 | 
						|
		String names[] = ( String[] ) components.keySet().toArray( new String[ components.size() ] );
 | 
						|
		ComponentController.fill( names, empresa.getHashData(), components );
 | 
						|
		id = (Integer) empresa.get( EmpresaData.ID );
 | 
						|
		IDObject estabelecimentos[];
 | 
						|
		try
 | 
						|
		{
 | 
						|
			estabelecimentos = provider.getAllEstabelecimentosForEmpresa( id );
 | 
						|
		}
 | 
						|
		catch( Exception ex )
 | 
						|
		{
 | 
						|
			DialogException.showExceptionMessage( ex, "Erro a carregar a lista de estabelecimentos", true );
 | 
						|
			estabelecimentos = new IDObject[0];
 | 
						|
		}
 | 
						|
		reloadMarcacoes();
 | 
						|
		Vector v = new Vector( Arrays.asList( estabelecimentos ) );
 | 
						|
		estabelecimentosModel.setValues( v );
 | 
						|
		
 | 
						|
		Vector dadosProtocolo[] = new Vector[]{ new Vector(), new Vector() };
 | 
						|
		boolean analisesExamesA[] = new boolean[2];
 | 
						|
		analisesExamesA[ 0 ] = "y".equals( empresa.get( EmpresaData.A_CONSULTAS ) );
 | 
						|
		analisesExamesA[ 1 ] = "y".equals( empresa.get( EmpresaData.A_EXAMES ) );
 | 
						|
		dadosProtocolo[ 0 ].add( analisesExamesA );
 | 
						|
		dadosProtocolo[ 0 ].add( elementosProtocolo[ 0 ] );
 | 
						|
		boolean analisesExamesB[] = new boolean[2];
 | 
						|
		analisesExamesB[ 0 ] = "y".equals( empresa.get( EmpresaData.B_CONSULTAS ) );
 | 
						|
		analisesExamesB[ 1 ] = "y".equals( empresa.get( EmpresaData.B_EXAMES ) );
 | 
						|
		dadosProtocolo[ 1 ].add( analisesExamesB );
 | 
						|
		dadosProtocolo[ 1 ].add( elementosProtocolo[ 1 ] );
 | 
						|
		protocoloPanel.fill( dadosProtocolo );
 | 
						|
//		if( webAware )
 | 
						|
//		{
 | 
						|
//			userPanel.setEmpresaID( (Integer) empresa.get( EmpresaData.ID ) );
 | 
						|
//			userPanel.setEnabled( id != null );
 | 
						|
//		}
 | 
						|
	}
 | 
						|
	
 | 
						|
	public Object save()
 | 
						|
	{
 | 
						|
		if( empresa == null )
 | 
						|
		{
 | 
						|
			empresa = new EmpresaData();
 | 
						|
		}
 | 
						|
			
 | 
						|
		String names[] = ( String[] ) components.keySet().toArray( new String[ components.size() ] );
 | 
						|
		Hashtable hash = empresa.getHashData();
 | 
						|
		ComponentController.save( names, hash, components );
 | 
						|
		empresa.setHashData( hash );
 | 
						|
		Vector dadosProtocolo[] = ( Vector[] ) protocoloPanel.save();
 | 
						|
		boolean analisesExamesA[] = ( boolean [] ) dadosProtocolo[ 0 ].elementAt( 0 );
 | 
						|
		empresa.set( EmpresaData.A_CONSULTAS, analisesExamesA[ 0 ] ? "y" : "n" );
 | 
						|
		empresa.set( EmpresaData.A_EXAMES, analisesExamesA[ 1 ] ? "y" : "n" );
 | 
						|
		boolean analisesExamesB[] = ( boolean [] ) dadosProtocolo[ 1 ].elementAt( 0 );
 | 
						|
		empresa.set( EmpresaData.B_CONSULTAS, analisesExamesB[ 0 ] ? "y" : "n" );
 | 
						|
		empresa.set( EmpresaData.B_EXAMES, analisesExamesB[ 1 ] ? "y" : "n" );
 | 
						|
		Integer elementosProtocolo[][] = 
 | 
						|
			new Integer[][]{ ( Integer [] ) dadosProtocolo[ 0 ].elementAt( 1 ), 
 | 
						|
								( Integer [] ) dadosProtocolo[ 1 ].elementAt( 1 ) };
 | 
						|
		return new Object[] { empresa, elementosProtocolo };
 | 
						|
	}
 | 
						|
	
 | 
						|
	public void setEnabled( boolean enable )
 | 
						|
	{
 | 
						|
		super.setEnabled( enable );
 | 
						|
		String names[] = (String[])components.keySet().toArray( new String[0] );
 | 
						|
		ComponentController.setEnabled( names, enable, components );
 | 
						|
		protocoloPanel.setEnabled( enable );
 | 
						|
		//estabelecimentosTable.setEnabled( enable );
 | 
						|
	}
 | 
						|
	
 | 
						|
	public void addListSelectionListener( ListSelectionListener listener )
 | 
						|
	{
 | 
						|
		listSelectionListeners.add( listener );
 | 
						|
	}
 | 
						|
	
 | 
						|
	public void removeListSelectionListener( ListSelectionListener listener )
 | 
						|
	{
 | 
						|
		listSelectionListeners.remove( listener );
 | 
						|
	}
 | 
						|
	
 | 
						|
	public void valueChanged( ListSelectionEvent e )
 | 
						|
	{
 | 
						|
		for( int n = 0; n < listSelectionListeners.size(); n++ )
 | 
						|
		{
 | 
						|
			ListSelectionEvent newEvent = 
 | 
						|
				new ListSelectionEvent( this, e.getFirstIndex(), e.getLastIndex(), e.getValueIsAdjusting() );
 | 
						|
			( (ListSelectionListener) listSelectionListeners.elementAt( n ) ).valueChanged( newEvent );
 | 
						|
		}
 | 
						|
	}
 | 
						|
	
 | 
						|
	public Integer getSelectedEstabelecimento()
 | 
						|
	{
 | 
						|
		int selected = estabelecimentosTable.getSelectedRow();
 | 
						|
		if( selected == -1 )
 | 
						|
		{
 | 
						|
			return null;
 | 
						|
		}
 | 
						|
		return ( (IDObject) estabelecimentosModel.getRowAt( selected ) ).getID();
 | 
						|
	}
 | 
						|
	
 | 
						|
	public void reload()
 | 
						|
	{
 | 
						|
		int selected = estabelecimentosTable.getSelectedRow();
 | 
						|
		fill( empresa );
 | 
						|
		if( selected != -1 )
 | 
						|
		{
 | 
						|
			estabelecimentosTable.setRowSelectionInterval( selected, selected );
 | 
						|
		}
 | 
						|
	}
 | 
						|
	
 | 
						|
	public JTable getEstabelecimentosTable()
 | 
						|
	{
 | 
						|
		return estabelecimentosTable;
 | 
						|
	}
 | 
						|
	
 | 
						|
	public void setSelectedEstabelecimento( EstabelecimentoData estab )
 | 
						|
	{
 | 
						|
		IDObject lista[] = (IDObject [])estabelecimentosModel.getValues().toArray( new IDObject[ 0 ] );
 | 
						|
		Integer id = (Integer)estab.get( EstabelecimentoData.ID );
 | 
						|
		for( int n = 0; n < lista.length; n++ )
 | 
						|
		{
 | 
						|
			if( lista[ n ].getID().equals( id ) )
 | 
						|
			{
 | 
						|
				estabelecimentosTable.setRowSelectionInterval( n, n );
 | 
						|
				return;
 | 
						|
			}
 | 
						|
		}
 | 
						|
		estabelecimentosTable.clearSelection();
 | 
						|
	}
 | 
						|
	
 | 
						|
	protected void reloadMarcacoes()
 | 
						|
	{
 | 
						|
		try
 | 
						|
		{
 | 
						|
			Collection marcacoesCollection =
 | 
						|
				JDO.listLoad( MarcacaoEmpresa.class, new Object[]{ empresa.get( EmpresaData.ID ) },
 | 
						|
								new String []{ "empresa.id" }, new String[]{ "data descending" } );
 | 
						|
			Vector marcacoes = new Vector();
 | 
						|
			marcacoes.add( new ColumnizedObject(){
 | 
						|
				public Object getValue( int col )
 | 
						|
				{
 | 
						|
					switch( col )
 | 
						|
					{
 | 
						|
						case 0: case 1:
 | 
						|
							return "";
 | 
						|
						case 2:
 | 
						|
							return "NOVA TAREFA...";
 | 
						|
					}
 | 
						|
					return null;
 | 
						|
				}
 | 
						|
			} );
 | 
						|
			if( marcacoesCollection != null )
 | 
						|
			{
 | 
						|
				marcacoes.addAll( marcacoesCollection );
 | 
						|
			}
 | 
						|
			marcacoesTable.clearSelection();
 | 
						|
			( (VectorTableModel) marcacoesTable.getModel() ).setValues( marcacoes );
 | 
						|
		}
 | 
						|
		catch( Exception ex )
 | 
						|
		{
 | 
						|
			DialogException.showExceptionMessage( ex, "Erro a carregar as Marca\u00e7\u00f5es", true );
 | 
						|
		}
 | 
						|
		showMarcacoes();
 | 
						|
	}
 | 
						|
	
 | 
						|
	protected void showMarcacoes()
 | 
						|
	{
 | 
						|
		marcacoesCardLayout.show( marcacoesPanel, MarcacaoEmpresaPanel.LIST_PANEL );
 | 
						|
	}
 | 
						|
	
 | 
						|
	protected void clearMarcacoes()
 | 
						|
	{
 | 
						|
		( (VectorTableModel) marcacoesTable.getModel() ).clearAll();
 | 
						|
	}
 | 
						|
}
 |