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.
975 lines
35 KiB
975 lines
35 KiB
/*
|
|
* EmpresaPanel.java
|
|
*
|
|
* Created on 12 de Maio de 2004, 19:08
|
|
*/
|
|
|
|
package siprp.clientes;
|
|
|
|
import info.clearthought.layout.TableLayout;
|
|
import info.clearthought.layout.TableLayoutConstraints;
|
|
|
|
import java.awt.BorderLayout;
|
|
import java.awt.CardLayout;
|
|
import java.awt.Dimension;
|
|
import java.awt.GridBagConstraints;
|
|
import java.awt.GridBagLayout;
|
|
import java.awt.GridLayout;
|
|
import java.awt.Insets;
|
|
import java.util.Arrays;
|
|
import java.util.Collection;
|
|
import java.util.Map;
|
|
import java.util.Vector;
|
|
|
|
import javax.swing.BorderFactory;
|
|
import javax.swing.JComboBox;
|
|
import javax.swing.JLabel;
|
|
import javax.swing.JPanel;
|
|
import javax.swing.JScrollPane;
|
|
import javax.swing.JTabbedPane;
|
|
import javax.swing.JTable;
|
|
import javax.swing.JTextField;
|
|
import javax.swing.ListSelectionModel;
|
|
import javax.swing.event.ListSelectionEvent;
|
|
import javax.swing.event.ListSelectionListener;
|
|
|
|
import siprp.FichaDataProvider;
|
|
import siprp.SingletonConstants;
|
|
import siprp.data.outer.EmpresasData;
|
|
import siprp.data.outer.EstabelecimentosData;
|
|
import siprp.data.outer.MarcacoesEmpresaData;
|
|
import siprp.database.cayenne.objects.Image;
|
|
import siprp.database.cayenne.providers.ImageDAO;
|
|
|
|
import com.evolute.entity.ProviderInterface;
|
|
import com.evolute.utils.Singleton;
|
|
import com.evolute.utils.data.IDObject;
|
|
import com.evolute.utils.data.MappableObject;
|
|
import com.evolute.utils.dataui.ComponentController;
|
|
import com.evolute.utils.dataui.ComponentsHashtable;
|
|
import com.evolute.utils.dataui.ControllableComponent;
|
|
import com.evolute.utils.documents.DoubleDocument;
|
|
import com.evolute.utils.documents.IntegerDocument;
|
|
import com.evolute.utils.documents.MaximumLengthDocument;
|
|
import com.evolute.utils.tables.BaseTable;
|
|
import com.evolute.utils.tables.ColumnizedObject;
|
|
import com.evolute.utils.tables.VectorTableModel;
|
|
import com.evolute.utils.ui.DialogException;
|
|
import com.evolute.utils.ui.calendar.JCalendarPanel;
|
|
import com.evolute.utils.ui.text.CopyPasteHandler;
|
|
import com.evolute.utils.ui.text.StateTextField;
|
|
|
|
/**
|
|
*
|
|
* @author fpalma
|
|
*/
|
|
public class EmpresaPanel extends JPanel
|
|
implements ControllableComponent, ListSelectionListener
|
|
{
|
|
|
|
private static final long serialVersionUID = 1L;
|
|
|
|
private static final String STRING_TRABALHADORES_ACTIVOS = "Trabalhadores activos";
|
|
|
|
private ProviderInterface objectProvider;
|
|
|
|
private FichaDataProvider provider;
|
|
private EmpresasData 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 final ImagePanel logotipo = new ImagePanel( true );
|
|
private final JLabel labelTrabalhadoresActivos = new JLabel( getTextForTrabalhadoresActivos(0) );
|
|
private final ImageDAO imageDAO = new ImageDAO();
|
|
// 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();
|
|
objectProvider = ( ProviderInterface ) Singleton.getInstance( Singleton.DEFAULT_JDO_PROVIDER );
|
|
setupComponents();
|
|
setupComponentsHashtable();
|
|
}
|
|
|
|
private String getTextForTrabalhadoresActivos( long numTrabalhadoresActivos )
|
|
{
|
|
return STRING_TRABALHADORES_ACTIVOS + " (" + numTrabalhadoresActivos + ")";
|
|
}
|
|
|
|
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();
|
|
|
|
TableLayout tableLayout = new TableLayout(
|
|
new double[]
|
|
{
|
|
TableLayout.PREFERRED, TableLayout.MINIMUM, TableLayout.MINIMUM,
|
|
TableLayout.PREFERRED, TableLayout.MINIMUM, TableLayout.FILL,
|
|
TableLayout.MINIMUM, TableLayout.PREFERRED,
|
|
TableLayout.MINIMUM, TableLayout.PREFERRED
|
|
},
|
|
new double[]
|
|
{
|
|
TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.PREFERRED
|
|
}
|
|
);
|
|
tableLayout.setHGap( 5 );
|
|
tableLayout.setVGap( 3 );
|
|
upperPanel.setLayout( tableLayout );
|
|
|
|
upperPanel.add( logotipo, new TableLayoutConstraints( 0, 0, 0, 2 ) );
|
|
upperPanel.add( designacaoSocialLabel, new TableLayoutConstraints( 1, 0, 2, 0 ) );
|
|
upperPanel.add( designacaoSocialText, new TableLayoutConstraints( 3, 0, 5, 0 ) );
|
|
upperPanel.add( codigoLabel, new TableLayoutConstraints( 6, 0 ) );
|
|
upperPanel.add( codigoPanel, new TableLayoutConstraints( 7, 0 ) );
|
|
upperPanel.add( caeLabel, new TableLayoutConstraints( 1, 1 ) );
|
|
caeText.setPreferredSize( new Dimension( 80, 0 ) );
|
|
upperPanel.add( caeText, new TableLayoutConstraints( 2, 1, 3, 1 ) );
|
|
upperPanel.add( actividadeLabel, new TableLayoutConstraints( 4, 1 ) );
|
|
upperPanel.add( actividadeText, new TableLayoutConstraints( 5, 1 ) );
|
|
upperPanel.add( contribuinteLabel, new TableLayoutConstraints( 6, 1 ) );
|
|
contribuinteText.setPreferredSize( new Dimension( 120, 0 ) );
|
|
upperPanel.add( contribuinteText, new TableLayoutConstraints( 7, 1 ) );
|
|
upperPanel.add( segSocialLabel, new TableLayoutConstraints( 8, 1 ) );
|
|
segSocialText.setPreferredSize( new Dimension(120,0) );
|
|
upperPanel.add( segSocialText, new TableLayoutConstraints( 9, 1 ) );
|
|
|
|
|
|
GridBagLayout gridbag = new GridBagLayout();
|
|
dadosEmpresaPanel.setLayout( gridbag );
|
|
GridBagConstraints 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;
|
|
gridbag.setConstraints( labelTrabalhadoresActivos, constraints );
|
|
formalidadesPanel.add( labelTrabalhadoresActivos );
|
|
|
|
// 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 MarcacoesEmpresaData )
|
|
{
|
|
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( EmpresasData.DESIGNACAO_SOCIAL, designacaoSocialText );
|
|
components.putComponent( EmpresasData.MORADA, moradaText );
|
|
components.putComponent( EmpresasData.CODIGO_POSTAL, codigoPostalText );
|
|
components.putComponent( EmpresasData.LOCALIDADE, localText );
|
|
components.putComponent( EmpresasData.DISTRITO, distritoText );
|
|
components.putComponent( EmpresasData.CONCELHO, concelhoText );
|
|
components.putComponent( EmpresasData.DATA_PROPOSTA, envioPropostaPanel );
|
|
components.putComponent( EmpresasData.DATA_ACEITACAO, aceitacaoPropostaPanel );
|
|
components.putComponent( EmpresasData.INICIO_CONTRATO, inicioContratoPanel );
|
|
components.putComponent( EmpresasData.DURACAO, duracaoContratoText );
|
|
components.putComponent( EmpresasData.DATA_CANCELAMENTO, cancelamentoPanel );
|
|
components.putDummy( EmpresasData.PERFIL_1 );
|
|
components.putDummy( EmpresasData.PERFIL_2);
|
|
components.putComponent( EmpresasData.DATA_ENVIO_CONTRATO, envioContratoPanel );
|
|
components.putComponent( EmpresasData.DATA_RECEPCAO_CONTRATO, recepcaoContratoPanel );
|
|
components.putComponent( EmpresasData.DATA_ENVIO_IDICT, envioIdictPanel );
|
|
components.putComponent( EmpresasData.DATA_RELATORIO_ANUAL, relatorioAnualPanel );
|
|
components.putComponent( EmpresasData.CODIGO_1, codigo1Text );
|
|
components.putComponent( EmpresasData.CODIGO_2, codigo2Text );
|
|
components.putComponent( EmpresasData.CODIGO_3, codigo3Text );
|
|
components.putComponent( EmpresasData.CAE, caeText );
|
|
components.putComponent( EmpresasData.ACTIVIDADE, actividadeText );
|
|
components.putComponent( EmpresasData.CONTRIBUINTE, contribuinteText );
|
|
components.putComponent( EmpresasData.SEGURANCA_SOCIAL, segSocialText );
|
|
components.putComponent( EmpresasData.TO_CONTACTO_1, contacto1Panel );
|
|
components.putComponent( EmpresasData.TO_CONTACTO_2, contacto2Panel );
|
|
components.putComponent( EmpresasData.SERVICOS, servicosCombo );
|
|
components.putComponent( EmpresasData.PRECO_HIGIENE, precoHigieneText );
|
|
components.putComponent( EmpresasData.PRECO_MEDICINA, precoMedicinaText );
|
|
components.putComponent( EmpresasData.PERIODICIDADE, modalidadePagamentoText );
|
|
components.putDummy( EmpresasData.SERVICO_SAUDE_TIPO );
|
|
components.putDummy( EmpresasData.SERVICO_SAUDE_DESIGNACAO );
|
|
components.putDummy( EmpresasData.SERVICO_HIGIENE_TIPO );
|
|
components.putDummy( EmpresasData.SERVICO_HIGIENE_DESIGNACAO );
|
|
components.putDummy( EmpresasData.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 = ( EmpresasData ) ( ( 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( EmpresasData.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( EmpresasData.A_CONSULTAS ) );
|
|
analisesExamesA[ 1 ] = "y".equals( empresa.get( EmpresasData.A_EXAMES ) );
|
|
dadosProtocolo[ 0 ].add( analisesExamesA );
|
|
dadosProtocolo[ 0 ].add( elementosProtocolo[ 0 ] );
|
|
boolean analisesExamesB[] = new boolean[2];
|
|
analisesExamesB[ 0 ] = "y".equals( empresa.get( EmpresasData.B_CONSULTAS ) );
|
|
analisesExamesB[ 1 ] = "y".equals( empresa.get( EmpresasData.B_EXAMES ) );
|
|
dadosProtocolo[ 1 ].add( analisesExamesB );
|
|
dadosProtocolo[ 1 ].add( elementosProtocolo[ 1 ] );
|
|
protocoloPanel.fill( dadosProtocolo );
|
|
Integer empresaID = empresa == null ? null : (Integer) empresa.get( EmpresasData.ID );
|
|
if( empresaID != null )
|
|
{
|
|
Long numTrabalhadoresActivos = provider.countTrabalhadoresActivosForEmpresa( empresaID );
|
|
labelTrabalhadoresActivos.setText( getTextForTrabalhadoresActivos( numTrabalhadoresActivos ) );
|
|
Image logo = imageDAO.getImageForEmpresaID( empresaID );
|
|
logotipo.fill( logo == null ? null : logo.getImageData() );
|
|
}
|
|
// if( webAware )
|
|
// {
|
|
// userPanel.setEmpresaID( (Integer) empresa.get( EmpresasData.ID ) );
|
|
// userPanel.setEnabled( id != null );
|
|
// }
|
|
|
|
}
|
|
|
|
public Object save()
|
|
{
|
|
if( empresa == null )
|
|
{
|
|
empresa = new EmpresasData();
|
|
}
|
|
|
|
String names[] = ( String[] ) components.keySet().toArray( new String[ components.size() ] );
|
|
Map<String,Object> 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( EmpresasData.A_CONSULTAS, analisesExamesA[ 0 ] ? "y" : "n" );
|
|
empresa.set( EmpresasData.A_EXAMES, analisesExamesA[ 1 ] ? "y" : "n" );
|
|
boolean analisesExamesB[] = ( boolean [] ) dadosProtocolo[ 1 ].elementAt( 0 );
|
|
empresa.set( EmpresasData.B_CONSULTAS, analisesExamesB[ 0 ] ? "y" : "n" );
|
|
empresa.set( EmpresasData.B_EXAMES, analisesExamesB[ 1 ] ? "y" : "n" );
|
|
Integer elementosProtocolo[][] =
|
|
new Integer[][]{ ( Integer [] ) dadosProtocolo[ 0 ].elementAt( 1 ),
|
|
( Integer [] ) dadosProtocolo[ 1 ].elementAt( 1 ) };
|
|
imageDAO.setImageForEmpresaID( (Integer) empresa.get( EmpresasData.ID ), (byte[]) logotipo.save() );
|
|
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 );
|
|
logotipo.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( EstabelecimentosData estab )
|
|
{
|
|
IDObject lista[] = (IDObject [])estabelecimentosModel.getValues().toArray( new IDObject[ 0 ] );
|
|
Integer id = (Integer)estab.get( EstabelecimentosData.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 =
|
|
objectProvider.listLoad( MarcacoesEmpresaData.class, new Object[]{ empresa.getId() },
|
|
new String []{ MarcacoesEmpresaData.EMPRESA_ID }, new String[]{ "data desc" } );
|
|
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();
|
|
}
|
|
}
|