From 54a756a05a7e26510e3dbe4880bf29a356a9200f Mon Sep 17 00:00:00 2001 From: Diogo Neves Date: Wed, 25 Aug 2010 12:26:13 +0000 Subject: [PATCH] marcacoes h&s passam para shst git-svn-id: https://svn.coded.pt/svn/SIPRP@1425 bb69d46d-e84e-40c8-a05a-06db0d633741 --- trunk/SIPRPSoft/lib/shst.jar | Bin 1498072 -> 1468875 bytes trunk/SIPRPSoft/src/siprp/SIPRPTracker.java | 3 +- .../marcacoes/CorTecnicoCellRenderer.java | 45 -- .../marcacoes/MarcacaoVisitaHSTPanel.java | 353 ----------- .../marcacoes/MarcacaoVisitaHSTPanel.xml | 93 --- .../marcacoes/MarcacoesHigieneUpperPanel.java | 207 ------- .../marcacoes/MarcacoesHigieneWindow.java | 572 ------------------ .../higiene/marcacoes/TecnicoEditor.java | 323 ---------- .../higiene/marcacoes/TecnicoRenderer.java | 61 -- 9 files changed, 2 insertions(+), 1655 deletions(-) delete mode 100644 trunk/SIPRPSoft/src/siprp/higiene/marcacoes/CorTecnicoCellRenderer.java delete mode 100644 trunk/SIPRPSoft/src/siprp/higiene/marcacoes/MarcacaoVisitaHSTPanel.java delete mode 100644 trunk/SIPRPSoft/src/siprp/higiene/marcacoes/MarcacaoVisitaHSTPanel.xml delete mode 100644 trunk/SIPRPSoft/src/siprp/higiene/marcacoes/MarcacoesHigieneUpperPanel.java delete mode 100644 trunk/SIPRPSoft/src/siprp/higiene/marcacoes/MarcacoesHigieneWindow.java delete mode 100644 trunk/SIPRPSoft/src/siprp/higiene/marcacoes/TecnicoEditor.java delete mode 100644 trunk/SIPRPSoft/src/siprp/higiene/marcacoes/TecnicoRenderer.java diff --git a/trunk/SIPRPSoft/lib/shst.jar b/trunk/SIPRPSoft/lib/shst.jar index ca4e5f7d92db5f3e2a3006bf787a983c825a5a36..4d66b288a6d3cf03110b9a049a1cb9a5d1749397 100644 GIT binary patch delta 64817 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

In?MATrbe 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 delta 93032 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 -{ - - private static final long serialVersionUID = 1L; - private MarcacoesEstabelecimentoData marcacaoEstabelecimentosData; - private final ComponentsHashtable components = new ComponentsHashtable(); - - protected final SQLExecuter EXECUTER; - - private final JLabel dataLabel = new JLabel( "Data da visita", JLabel.RIGHT ); - private final EvoDatePicker dataPanel = new EvoDatePicker(); - private final JButton emailButton = new JButton( "Enviar Email" ); - private final JLabel dataFichaLabel = new JLabel( "Data do Relat\u00f3rio(externo)", JLabel.RIGHT ); - private final EvoDatePicker dataFichaPanel = new EvoDatePicker(); - private final JLabel tecnicoLabel = new JLabel( "T\u00e9cnico", JLabel.RIGHT ); - private final JLabel tecnicoSuperiorLabel = new JLabel( "T\u00e9cnico Superior", JLabel.RIGHT ); - private final JComboBox tecnicoList = new JComboBox(); - private final JComboBox tecnicoSuperiorList = new JComboBox(); - private RadioButtonFixedPanel estadoList; - private final JScrollPane observacoesTextScroll = new JScrollPane(); - private final StateTextArea observacoesText = new StateTextArea(); - - public MarcacaoVisitaHSTPanel() - throws Exception - { - DBManager dbm = ( DBManager )Singleton.getInstance( Singleton.DEFAULT_DBMANAGER ); - if( dbm != null ) - { - EXECUTER = ( SQLExecuter )dbm.getSharedExecuter( this ); - } - else - { - EXECUTER = null; - } - setupComponents(); - setupComponentsHashtable(); - place(); - } - - public void setupComponents() - throws Exception - { -// emailButton.setMinimumSize( new Dimension( 300, 20 ) ); -// emailButton.setPreferredSize( new Dimension( 200, 20 ) ); - - tecnicoList.addItem( new MappableObject( new Integer( -1 ), "" ) ); - tecnicoList.setSelectedIndex( 0 ); - - tecnicoSuperiorList.addItem( new MappableObject( new Integer( -1 ), "" ) ); - tecnicoSuperiorList.setSelectedIndex( 0 ); - - IDObject estadoListOptions[] = new IDObject[]{ - new MappableObject( new Integer( 0 ), "Por realizar" ), - new MappableObject( new Integer( 2 ), "Realizada" ), - new MappableObject( new Integer( 3 ), "Desmarcada pela empresa" ), - new MappableObject( new Integer( 4 ), "Desmarcada pela SIPRP" ), - }; - estadoList = new RadioButtonFixedPanel( estadoListOptions, 6, 1, RadioButtonFixedPanel.ORIENTATION_VERTICAL, false, null ); - estadoList.setBorder( BorderFactory.createTitledBorder( BorderFactory.createEtchedBorder(), "Estado" ) ); - - observacoesText.setLineWrap( true ); - observacoesText.setWrapStyleWord( true ); - observacoesText.setRows( 5 ); - - observacoesTextScroll.setHorizontalScrollBarPolicy( JScrollPane.HORIZONTAL_SCROLLBAR_NEVER ); - observacoesTextScroll.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED ); - observacoesTextScroll.setViewportView( observacoesText ); - - } - - public void place() - { - TableLayout layout = new TableLayout( - new double[]{ TableLayout.FILL, TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.FILL }, - new double[]{ TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.MINIMUM, - TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.MINIMUM, - TableLayout.PREFERRED} - ); - layout.setHGap(5); - layout.setVGap(5); - this.setLayout( layout ); - this.add( dataLabel, new TableLayoutConstraints(1,0) ); - this.add( dataPanel, new TableLayoutConstraints(2,0) ); - this.add( emailButton, new TableLayoutConstraints(2,1) ); - this.add( dataFichaLabel, new TableLayoutConstraints(1,2) ); - this.add( dataFichaPanel, new TableLayoutConstraints(2,2) ); - this.add( tecnicoLabel, new TableLayoutConstraints(1,3) ); - this.add( tecnicoList, new TableLayoutConstraints(2,3) ); - this.add( tecnicoSuperiorLabel, new TableLayoutConstraints(1,4) ); - this.add( tecnicoSuperiorList, new TableLayoutConstraints(2,4) ); - this.add( estadoList, new TableLayoutConstraints(1,5,2,5) ); - JPanel panel = new JPanel( new BorderLayout() ); - panel.setBorder( BorderFactory.createTitledBorder( BorderFactory.createEtchedBorder(), "Observa\u00e7\u00f5es" ) ); - panel.add( observacoesTextScroll ); - this.add( panel, new TableLayoutConstraints(1,6,2,6) ); -// -// JPanel MarcacaoVisitaHSTPanel = this; -// GridBagConstraints MarcacaoVisitaHSTPanelGBC = new GridBagConstraints(); -// MarcacaoVisitaHSTPanelGBC.insets = new Insets( 1, 1, 1, 1 ); -// GridBagLayout MarcacaoVisitaHSTPanelLayout = new GridBagLayout(); -// MarcacaoVisitaHSTPanel.setLayout( MarcacaoVisitaHSTPanelLayout ); -// MarcacaoVisitaHSTPanelGBC.gridx = 0; -// MarcacaoVisitaHSTPanelGBC.gridy = 0; -// MarcacaoVisitaHSTPanelGBC.gridwidth = 1; -// MarcacaoVisitaHSTPanelGBC.gridheight = 1; -// MarcacaoVisitaHSTPanelGBC.weightx = 0.0; -// MarcacaoVisitaHSTPanelGBC.weighty = 0.0; -// MarcacaoVisitaHSTPanelGBC.fill = GridBagConstraints.HORIZONTAL; -// MarcacaoVisitaHSTPanelLayout.setConstraints( dataLabel, MarcacaoVisitaHSTPanelGBC ); -// MarcacaoVisitaHSTPanel.add( dataLabel ); -// -// MarcacaoVisitaHSTPanelGBC.gridx = 1; -// MarcacaoVisitaHSTPanelGBC.gridy = 0; -// MarcacaoVisitaHSTPanelGBC.gridwidth = 1; -// MarcacaoVisitaHSTPanelGBC.gridheight = 1; -// MarcacaoVisitaHSTPanelGBC.weightx = 0.5; -// MarcacaoVisitaHSTPanelGBC.weighty = 0.0; -// MarcacaoVisitaHSTPanelGBC.fill = GridBagConstraints.HORIZONTAL; -// MarcacaoVisitaHSTPanelLayout.setConstraints( dataPanel, MarcacaoVisitaHSTPanelGBC ); -// MarcacaoVisitaHSTPanel.add( dataPanel ); -// -// MarcacaoVisitaHSTPanelGBC.gridx = 2; -// MarcacaoVisitaHSTPanelGBC.gridy = 0; -// MarcacaoVisitaHSTPanelGBC.gridwidth = 1; -// MarcacaoVisitaHSTPanelGBC.gridheight = 1; -// MarcacaoVisitaHSTPanelGBC.weightx = 0.5; -// MarcacaoVisitaHSTPanelGBC.weighty = 0.0; -// MarcacaoVisitaHSTPanelGBC.fill = GridBagConstraints.NONE; -// MarcacaoVisitaHSTPanelLayout.setConstraints( emailButton, MarcacaoVisitaHSTPanelGBC ); -// MarcacaoVisitaHSTPanel.add( emailButton ); -// -// MarcacaoVisitaHSTPanelGBC.gridx = 0; -// MarcacaoVisitaHSTPanelGBC.gridy = 1; -// MarcacaoVisitaHSTPanelGBC.gridwidth = 1; -// MarcacaoVisitaHSTPanelGBC.gridheight = 1; -// MarcacaoVisitaHSTPanelGBC.weightx = 0.0; -// MarcacaoVisitaHSTPanelGBC.weighty = 0.0; -// MarcacaoVisitaHSTPanelGBC.fill = GridBagConstraints.HORIZONTAL; -// MarcacaoVisitaHSTPanelLayout.setConstraints( dataFichaLabel, MarcacaoVisitaHSTPanelGBC ); -// MarcacaoVisitaHSTPanel.add( dataFichaLabel ); -// -// MarcacaoVisitaHSTPanelGBC.gridx = 1; -// MarcacaoVisitaHSTPanelGBC.gridy = 1; -// MarcacaoVisitaHSTPanelGBC.gridwidth = 1; -// MarcacaoVisitaHSTPanelGBC.gridheight = 1; -// MarcacaoVisitaHSTPanelGBC.weightx = 0.5; -// MarcacaoVisitaHSTPanelGBC.weighty = 0.0; -// MarcacaoVisitaHSTPanelGBC.fill = GridBagConstraints.HORIZONTAL; -// MarcacaoVisitaHSTPanelLayout.setConstraints( dataFichaPanel, MarcacaoVisitaHSTPanelGBC ); -// MarcacaoVisitaHSTPanel.add( dataFichaPanel ); -// -// MarcacaoVisitaHSTPanelGBC.gridx = 0; -// MarcacaoVisitaHSTPanelGBC.gridy = 2; -// MarcacaoVisitaHSTPanelGBC.gridwidth = 1; -// MarcacaoVisitaHSTPanelGBC.gridheight = 1; -// MarcacaoVisitaHSTPanelGBC.weightx = 0.0; -// MarcacaoVisitaHSTPanelGBC.weighty = 0.0; -// MarcacaoVisitaHSTPanelGBC.fill = GridBagConstraints.HORIZONTAL; -// MarcacaoVisitaHSTPanelLayout.setConstraints( tecnicoLabel, MarcacaoVisitaHSTPanelGBC ); -// MarcacaoVisitaHSTPanel.add( tecnicoLabel ); -// -// MarcacaoVisitaHSTPanelGBC.gridx = 1; -// MarcacaoVisitaHSTPanelGBC.gridy = 2; -// MarcacaoVisitaHSTPanelGBC.gridwidth = 1; -// MarcacaoVisitaHSTPanelGBC.gridheight = 1; -// MarcacaoVisitaHSTPanelGBC.weightx = 0.5; -// MarcacaoVisitaHSTPanelGBC.weighty = 0.0; -// MarcacaoVisitaHSTPanelGBC.fill = GridBagConstraints.HORIZONTAL; -// MarcacaoVisitaHSTPanelLayout.setConstraints( tecnicoList, MarcacaoVisitaHSTPanelGBC ); -// MarcacaoVisitaHSTPanel.add( tecnicoList ); -// -// MarcacaoVisitaHSTPanelGBC.gridx = 0; -// MarcacaoVisitaHSTPanelGBC.gridy = 3; -// MarcacaoVisitaHSTPanelGBC.gridwidth = 3; -// MarcacaoVisitaHSTPanelGBC.gridheight = 1; -// MarcacaoVisitaHSTPanelGBC.weightx = 1.0; -// MarcacaoVisitaHSTPanelGBC.weighty = 0.5; -// MarcacaoVisitaHSTPanelGBC.fill = GridBagConstraints.BOTH; -// MarcacaoVisitaHSTPanelLayout.setConstraints( estadoList, MarcacaoVisitaHSTPanelGBC ); -// MarcacaoVisitaHSTPanel.add( estadoList ); -// -// MarcacaoVisitaHSTPanelGBC.gridx = 0; -// MarcacaoVisitaHSTPanelGBC.gridy = 4; -// MarcacaoVisitaHSTPanelGBC.gridwidth = 3; -// MarcacaoVisitaHSTPanelGBC.gridheight = 1; -// MarcacaoVisitaHSTPanelGBC.weightx = 1.0; -// MarcacaoVisitaHSTPanelGBC.weighty = 0.5; -// -// MarcacaoVisitaHSTPanelGBC.fill = GridBagConstraints.BOTH; -// MarcacaoVisitaHSTPanelLayout.setConstraints( observacoesTextScroll, MarcacaoVisitaHSTPanelGBC ); -// MarcacaoVisitaHSTPanel.add( observacoesTextScroll ); - } - - private void setupComponentsHashtable() - { - components.putComponent( MarcacoesEstabelecimentoData.DATA, dataPanel ); - components.putComponent( MarcacoesEstabelecimentoData.DATA_RELATORIO, dataFichaPanel ); - components.putComponent( MarcacoesEstabelecimentoData.TECNICO_HST, tecnicoList ); - components.putComponent( MarcacoesEstabelecimentoData.TECNICO_SUPERIOR_HST, tecnicoSuperiorList ); - components.putComponent( MarcacoesEstabelecimentoData.ESTADO, estadoList ); - components.putComponent( MarcacoesEstabelecimentoData.OBSERVACOES, observacoesText ); - } - - @Override - public void fill( MarcacoesEstabelecimentoData toFill ) - { - marcacaoEstabelecimentosData = toFill; -// if( toFill == null || !( toFill instanceof PropertyObject ) ) -// { -// return; -// } -// Map data = null; -// if( toFill instanceof PropertyObject ) -// { -// data = ( (PropertyObject) toFill ).getHashData(); -// if( toFill instanceof MarcacoesEstabelecimentoData ) -// { -// marcacaoEstabelecimentosData = (MarcacoesEstabelecimentoData) toFill; -// } -// } -// else if( toFill instanceof Hashtable ) -// { -// data = (Hashtable) toFill; -// } -// else -// { -// return; -// } -// if( marcacaoEstabelecimentosData == null ) -// { -// clear(); -// marcacaoEstabelecimentosData = new MarcacoesEstabelecimentoData(); -// marcacaoEstabelecimentosData.setHashData( data ); -// } -// PropertyObject po = (PropertyObject) toFill; -// String properties[] = (String[]) components.keySet().toArray( new String[ 0 ] ); - ComponentController.fillFrom( marcacaoEstabelecimentosData, components ); - } - - @Override - public MarcacoesEstabelecimentoData save() - { - if( marcacaoEstabelecimentosData == null ) - { - marcacaoEstabelecimentosData = new MarcacoesEstabelecimentoData(); - } -// marcacaoEstabelecimentosData.setHashData( ComponentController.save( components ) ); -// if( !( marcacaoEstabelecimentosData instanceof PropertyObject ) ) -// { -// return marcacaoEstabelecimentosData; -// } - return ComponentController.saveTo( marcacaoEstabelecimentosData, components ); -// marcacaoEstabelecimentosData.setHashData( data ); -// return marcacaoEstabelecimentosData; - } - - public void clear() - { - marcacaoEstabelecimentosData = null; - String properties[] = (String[]) components.keySet().toArray( new String[ 0 ] ); - ComponentController.clear( properties, components ); - } - - public void setEnabled( boolean enable ) - { - String properties[] = (String[]) components.keySet().toArray( new String[ 0 ] ); - ComponentController.setEnabled( properties, enable, components ); - } - - public Class getDataClass() - { - return MarcacoesEstabelecimentoData.class; - } - - public JLabel getDataFichaLabel() - { - return dataFichaLabel; - } - - public EvoDatePicker getDataFichaPanel() - { - return dataFichaPanel; - } - - public JLabel getDataLabel() - { - return dataLabel; - } - - public EvoDatePicker getDataPanel() - { - return dataPanel; - } - - public JButton getEmailButton() - { - return emailButton; - } - - public RadioButtonFixedPanel getEstadoList() - { - return estadoList; - } - - public StateTextArea getObservacoesText() - { - return observacoesText; - } - - public JLabel getTecnicoLabel() - { - return tecnicoLabel; - } - - public JComboBox getTecnicoList() - { - return tecnicoList; - } - - public JComboBox getTecnicoSuperiorList() - { - return tecnicoSuperiorList; - } - -} diff --git a/trunk/SIPRPSoft/src/siprp/higiene/marcacoes/MarcacaoVisitaHSTPanel.xml b/trunk/SIPRPSoft/src/siprp/higiene/marcacoes/MarcacaoVisitaHSTPanel.xml deleted file mode 100644 index 04a78a45..00000000 --- a/trunk/SIPRPSoft/src/siprp/higiene/marcacoes/MarcacaoVisitaHSTPanel.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - siprp.data.* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - Estado - - 6 - - - Por realizar - Realizada - Desmarcada pela empresa - Desmarcada pela SIPRP - - - - - - Observa\u00e7\u00f5es - - - 5 - - - - diff --git a/trunk/SIPRPSoft/src/siprp/higiene/marcacoes/MarcacoesHigieneUpperPanel.java b/trunk/SIPRPSoft/src/siprp/higiene/marcacoes/MarcacoesHigieneUpperPanel.java deleted file mode 100644 index 64c9c2d1..00000000 --- a/trunk/SIPRPSoft/src/siprp/higiene/marcacoes/MarcacoesHigieneUpperPanel.java +++ /dev/null @@ -1,207 +0,0 @@ -/* - * MarcacoesHigieneUpperPanel.java - * - * Created on February 2, 2006, 12:40 AM - * - * To change this template, choose Tools | Template Manager - * and open the template in the editor. - */ - -package siprp.higiene.marcacoes; - -import java.awt.GridBagConstraints; -import java.awt.GridBagLayout; -import java.awt.Insets; -import java.util.Arrays; -import java.util.Vector; - -import javax.swing.JPanel; -import javax.swing.JScrollPane; -import javax.swing.ListSelectionModel; -import javax.swing.event.ListSelectionEvent; -import javax.swing.event.ListSelectionListener; - -import siprp.higiene.HigieneDataProvider; - -import com.evolute.utils.dataui.ControllableComponent; -import com.evolute.utils.tables.BaseTable; -import com.evolute.utils.tables.ColumnizedMappable; -import com.evolute.utils.tables.VectorTableModel; -import com.evolute.utils.ui.DialogException; - -/** - * - * @author fpalma - */ -public class MarcacoesHigieneUpperPanel extends JPanel - implements ListSelectionListener, ControllableComponent -{ - protected BaseTable empresasTable; - protected VectorTableModel empresasModel; - protected BaseTable estabelecimentosTable; - protected VectorTableModel estabelecimentosModel; - - protected HigieneDataProvider provider; - - protected final Vector listeners; - - /** Creates a new instance of MedicinaUpperPanel */ - public MarcacoesHigieneUpperPanel() - throws Exception - { - provider = ( HigieneDataProvider ) HigieneDataProvider.getProvider(); - listeners = new Vector(); - setupComponents(); - } - - private void setupComponents() - throws Exception - { - empresasModel = new VectorTableModel( new String[]{ "empresas" } ); - empresasTable = new BaseTable( empresasModel ); - empresasTable.setSelectionMode( ListSelectionModel.SINGLE_SELECTION ); - empresasTable.setNonResizableNorReordable(); - JScrollPane empresasScroll = - new JScrollPane( empresasTable, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, - JScrollPane.HORIZONTAL_SCROLLBAR_NEVER ); - empresasTable.getSelectionModel().addListSelectionListener( this ); - estabelecimentosModel = new VectorTableModel( new String[]{ "estabelecimentos" } ); - estabelecimentosTable = new BaseTable( estabelecimentosModel ); - estabelecimentosTable.setSelectionMode( ListSelectionModel.SINGLE_SELECTION ); - estabelecimentosTable.setNonResizableNorReordable(); - JScrollPane estabelecimentosScroll = - new JScrollPane( estabelecimentosTable, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, - JScrollPane.HORIZONTAL_SCROLLBAR_NEVER ); - estabelecimentosTable.getSelectionModel().addListSelectionListener( this ); - - GridBagLayout gridbag = new GridBagLayout(); - setLayout( gridbag ); - GridBagConstraints constraints = new GridBagConstraints(); - constraints.insets = new Insets( 1, 1, 1, 1 ); - constraints.fill = GridBagConstraints.BOTH; - constraints.gridwidth = 1; - constraints.gridheight = GridBagConstraints.REMAINDER; - constraints.weightx = 0.5; - constraints.weighty = 1; - - gridbag.setConstraints( empresasScroll, constraints ); - - constraints.gridwidth = GridBagConstraints.REMAINDER; - gridbag.setConstraints( estabelecimentosScroll, constraints ); - - add( empresasScroll ); - add( estabelecimentosScroll ); - - ColumnizedMappable empresas[] = provider.getAllEmpresas(); - Vector values = empresasModel.getValues(); - values.addAll( Arrays.asList( empresas ) ); - empresasModel.setValues( values ); - } - - public void valueChanged( ListSelectionEvent e ) - { - Object source = e.getSource(); - if( e.getValueIsAdjusting() ) - { - return; - } - if( source.equals( empresasTable.getSelectionModel() ) ) - { - carregarEstabelecimentos(); - } - else if( source.equals( estabelecimentosTable.getSelectionModel() ) ) - { - notifyListeners( e ); - } - } - - protected void carregarEstabelecimentos() - { - estabelecimentosTable.clearSelection(); - int selected = empresasTable.getSelectedRow(); - estabelecimentosModel.clearAll(); - if( selected > -1 ) - { - try - { - Integer empresaID = ( ( ColumnizedMappable ) empresasModel.getRowAt( selected ) ).getID(); - ColumnizedMappable estabelecimentos[] = provider.getAllEstabelecimentosForEmpresa( empresaID); - Vector values = estabelecimentosModel.getValues(); - values.addAll( Arrays.asList( estabelecimentos ) ); - estabelecimentosModel.setValues( values ); - } - catch( Exception ex ) - { - DialogException.showExceptionMessage( ex, "Erro a carregar os estabelecimentos.", true ); - estabelecimentosModel.clearAll(); - } - } - } - - protected void notifyListeners( ListSelectionEvent e ) - { - for( int n = 0; n < listeners.size(); n++ ) - { - ListSelectionEvent event = - new ListSelectionEvent( this, e.getFirstIndex(), e.getLastIndex(), e.getValueIsAdjusting() ); - ( ( ListSelectionListener ) listeners.elementAt( n ) ).valueChanged( event ); - } - } - - public void addListSelectionListener( ListSelectionListener listener ) - { - listeners.add( listener ); - } - - public void removeSelectionListener( ListSelectionListener listener ) - { - listeners.remove( listener ); - } - - public void clear() - { -// empresasTable.clearSelection(); - } - - public void fill( Object value ) - { - if( value == null ) - { - clear(); - } - Integer ids[] = ( Integer [] ) value; - for( int n = 0; n < empresasTable.getRowCount(); n++ ) - { - if( ( ( ColumnizedMappable ) empresasModel.getRowAt( n ) ).getID().equals( ids[ 0 ] ) ) - { - empresasTable.setRowSelectionInterval( n, n ); - break; - } - } - - for( int n = 0; n < estabelecimentosTable.getRowCount(); n++ ) - { - if( ( ( ColumnizedMappable ) estabelecimentosModel.getRowAt( n ) ).getID().equals( ids[ 1 ] ) ) - { - estabelecimentosTable.setRowSelectionInterval( n, n ); - break; - } - } - } - - public Object save() - { - int empresaSelected = empresasTable.getSelectedRow(); - int estabelecimentoSelected = estabelecimentosTable.getSelectedRow(); - return new Integer[]{ - empresaSelected == -1 ? null : ( ( ColumnizedMappable ) empresasModel.getRowAt( empresaSelected ) ).getID(), - estabelecimentoSelected == -1 ? null : ( ( ColumnizedMappable ) estabelecimentosModel.getRowAt( estabelecimentoSelected ) ).getID() - }; - } - - public void setEnabled( boolean enable ) - { - empresasTable.setEnabled( enable ); - estabelecimentosTable.setEnabled( enable ); - } -} diff --git a/trunk/SIPRPSoft/src/siprp/higiene/marcacoes/MarcacoesHigieneWindow.java b/trunk/SIPRPSoft/src/siprp/higiene/marcacoes/MarcacoesHigieneWindow.java deleted file mode 100644 index 5281d1f3..00000000 --- a/trunk/SIPRPSoft/src/siprp/higiene/marcacoes/MarcacoesHigieneWindow.java +++ /dev/null @@ -1,572 +0,0 @@ -/* - * MarcacoesHigieneWindow.java - * - * Created on January 31, 2006, 11:32 PM - * - * To change this template, choose Tools | Template Manager - * and open the template in the editor. - */ - -package siprp.higiene.marcacoes; - -import java.awt.Dimension; -import java.awt.GridBagConstraints; -import java.awt.GridBagLayout; -import java.awt.Insets; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; -import java.text.DateFormat; -import java.util.Date; -import java.util.Hashtable; -import java.util.Locale; - -import javax.swing.JComboBox; -import javax.swing.JOptionPane; -import javax.swing.JPanel; -import javax.swing.event.ListSelectionEvent; -import javax.swing.event.ListSelectionListener; - -import shst.SHSTTrackerInterface; -import shst.higiene.marcacoes.MarcacoesHigieneInterface; -import siprp.SingletonConstants; -import siprp.clientes.AvisosPanel; -import siprp.companydataloaders.CompanyDataLoader; -import siprp.data.AvisoConstants; -import siprp.data.Marcacao; -import siprp.data.outer.ContactosData; -import siprp.data.outer.EstabelecimentosData; -import siprp.data.outer.MarcacoesEstabelecimentoData; -import siprp.higiene.HigieneDataProvider; -import siprp.ui.SIPRPEditorWindow; - -import com.evolute.entity.ProviderInterface; -import com.evolute.utils.Singleton; -import com.evolute.utils.arrays.Object2DArray; -import com.evolute.utils.data.MappableObject; -import com.evolute.utils.ui.DialogException; -import com.evolute.utils.ui.panel.TableEditorPanel; -import com.evolute.utils.ui.text.CopyPasteHandler; - -/** - * - * @author fpalma - */ -public class MarcacoesHigieneWindow extends SIPRPEditorWindow - implements ItemListener, ActionListener, ListSelectionListener, MarcacoesHigieneInterface -{ - - private static final long serialVersionUID = 1L; - - public final static String TITLE = "Marca\u00e7\u00f5es de Higiene e Seguran\u00e7a"; - - private final static int iPermissionArray[][] = - new int[][]{ {}, { NEW_INDEX, EDIT_INDEX, CANCEL_INDEX, SAVE_INDEX, DELETE_INDEX } }; - - private static final int INDEX_MAIN = 0; - private static final int INDEX_VISITA = 1; - - private static final DateFormat DATE_FORMAT = - DateFormat.getDateInstance( DateFormat.SHORT, new Locale( "PT", "pt" ) ); - - protected MarcacoesHigieneUpperPanel upperPanel; - protected MarcacaoVisitaHSTPanel marcacaoPanel; - protected TableEditorPanel marcacaoEditorPanel; - - protected HigieneDataProvider higieneProvider; - protected ProviderInterface objectProvider; - protected SHSTTrackerInterface tracker; - - private Hashtable tecnicosHash; - - private Integer empresaID; -// protected String empresa; - private Integer estabelecimentoID; - private EstabelecimentosData estabelecimento; - - protected boolean editing = false; - - /** Creates a new instance of MarcacoesHigieneWindow */ - public MarcacoesHigieneWindow() - throws Exception - { - super( iPermissionArray ); - - this.higieneProvider = ( HigieneDataProvider ) HigieneDataProvider.getProvider(); - this.objectProvider = ( ProviderInterface ) Singleton.getInstance( Singleton.DEFAULT_OBJECT_PROVIDER ); - - this.tecnicosHash = new Hashtable(); - this.setupComponents(); - this.setSize( 800, 700 ); - this.setLocationRelativeTo(null); - this.setExtendedState( getExtendedState() | MAXIMIZED_BOTH ); - } - - private void setupComponents() - throws Exception - { - setTitle( TITLE ); - upperPanel = new MarcacoesHigieneUpperPanel(); - JPanel panel = new JPanel(); - - GridBagLayout gridbag = new GridBagLayout(); - GridBagConstraints constraints = new GridBagConstraints(); - getContentPane().setLayout( gridbag ); - constraints.insets = new Insets( 2, 2, 2, 2 ); - constraints.fill = GridBagConstraints.BOTH; - constraints.gridwidth = GridBagConstraints.REMAINDER; - constraints.weightx = 1; - constraints.gridheight = 1; - - constraints.weighty = 1; - gridbag.setConstraints( upperPanel, constraints ); - - constraints.weighty = 0; - gridbag.setConstraints( panel, constraints ); - - getContentPane().add( upperPanel ); - getContentPane().add( panel ); - - changeGroupName( INDEX_VISITA, "Visitas" ); - setActionName( INDEX_VISITA, NEW_INDEX, "Nova" ); - setActionTooltip( INDEX_VISITA, NEW_INDEX, "Nova" ); - JPanel toolbar = getToolbarPanel( INDEX_VISITA ); - - gridbag = new GridBagLayout(); -// GridBagConstraints constraints = new GridBagConstraints(); - panel.setLayout( gridbag ); - constraints.insets = new Insets( 2, 2, 2, 2 ); - constraints.fill = GridBagConstraints.BOTH; - constraints.gridwidth = GridBagConstraints.REMAINDER; - constraints.weightx = 1.0; - constraints.weighty = 0; - - gridbag.setConstraints( toolbar, constraints ); - panel.add( toolbar ); - - constraints.gridheight = 1; - constraints.weighty = 0; - try - { - marcacaoEditorPanel = - new TableEditorPanel( new String[]{ "Data", - "Estado" }, - new int[]{0,2}, new int[]{0,0}, - 0.0, 1.0, new Dimension( 350, 100 ) ); - marcacaoPanel = new MarcacaoVisitaHSTPanel(); - new CopyPasteHandler( marcacaoPanel.getObservacoesText() ); - marcacaoEditorPanel.addComponent( marcacaoPanel, - new int[]{0,2}, new int[]{1,2}, - 1.0, 1.0 ); - marcacaoEditorPanel.addListSelectionListener( new ListSelectionListener() - { - @Override - public void valueChanged(javax.swing.event.ListSelectionEvent listSelectionEvent) - { - if( marcacaoEditorPanel.getID() != null ) - { - reload(INDEX_VISITA); - select(INDEX_VISITA); - } - else - { - clear( INDEX_VISITA ); - } - } - } ); - } - catch( Exception ex ) - { - DialogException.showException( ex ); - return; - } - gridbag.setConstraints( marcacaoEditorPanel, constraints ); - panel.add( marcacaoEditorPanel ); - marcacaoPanel.getEmailButton().addActionListener( this ); - - fillCombos(); - upperPanel.addListSelectionListener( this ); - } - - public void fillCombos() - throws Exception - { - JComboBox tecnicosList = marcacaoPanel.getTecnicoList(); - JComboBox tecnicosSuperioresList = marcacaoPanel.getTecnicoSuperiorList(); - tecnicosHash.clear(); - tecnicosList.removeItemListener( this ); - tecnicosSuperioresList.removeItemListener( this ); - fillTecnicos(tecnicosList,false); - fillTecnicos(tecnicosSuperioresList,true); - tecnicosList.addItemListener( this ); - tecnicosSuperioresList.addItemListener( this ); - } - - private void fillTecnicos( JComboBox tecnicosList, boolean superiores ) throws Exception - { - tecnicosList.removeAllItems(); - Object tecnicos[][] = higieneProvider.getTecnicosHST( superiores ); - tecnicosList.addItem( new MappableObject( new Integer( -2 ), " " ) ); - for( int n = 0; n < tecnicos.length; n++ ) - { - Object tecnico[] = new Object[ 4 ]; - tecnico[ 0 ] = new Integer( ( (Number)tecnicos[n][0] ).intValue() ); - tecnico[ 1 ] = tecnicos[ n ][ 1 ]; - tecnico[ 2 ] = tecnicos[ n ][ 2 ]; - tecnico[ 3 ] = new Integer( n ); - tecnicosHash.put( tecnicos[ n ][ 0 ], tecnico ); - tecnicosList.addItem( new MappableObject( (Integer) tecnico[ 0 ], tecnico[ 1 ] ) ); - } - tecnicosList.setSelectedIndex( 0 ); - - tecnicosList.addItem( new MappableObject( new Integer( -1 ), "Novo/Editar" ) ); - } - - @Override - public void itemStateChanged( ItemEvent itemEvent ) - { - JComboBox tecnicos = null; - if( itemEvent.getSource().equals( marcacaoPanel.getTecnicoList() ) ) - { - tecnicos = marcacaoPanel.getTecnicoList(); - } - else if( itemEvent.getSource().equals( marcacaoPanel.getTecnicoSuperiorList() ) ) - { - tecnicos = marcacaoPanel.getTecnicoSuperiorList(); - } - if( tecnicos != null && itemEvent.getStateChange() == ItemEvent.SELECTED ) - { - int index = tecnicos.getSelectedIndex(); - if( index == tecnicos.getItemCount() - 1 ) - { - try - { - TecnicoEditor te = new TecnicoEditor( this ); - te.setVisible( true ); - Integer id = te.getID(); - if( id == null ) - { - tecnicos.setSelectedIndex( 0 ); - } - else - { - fillCombos(); - if( id != null ) - { - Object[] tecnico = tecnicosHash.get( id ); - tecnicos.setSelectedIndex( ( (Integer)tecnico[ 3 ] ).intValue() + 1 ); - } - } - - } - catch( Exception ex ) - { - DialogException.showExceptionMessage( ex, "Erro na janela de edi\u00e7\u00e3o...", true ); - ex.printStackTrace(); - tecnicos.setSelectedIndex( 0 ); - return; - } - } - } - } - - @Override - public boolean save(int index) - { - switch( index ) - { - case INDEX_VISITA: - MarcacoesEstabelecimentoData visita = ( MarcacoesEstabelecimentoData ) marcacaoPanel.save(); - Date data = ( Date ) visita.get( MarcacoesEstabelecimentoData.DATA ); - if( data == null ) - { - JOptionPane.showMessageDialog( this, "Tem de preencher uma data para a visita.", - "Erro", JOptionPane.ERROR_MESSAGE ); - return false; - } - visita.setToEstabelecimento_id( estabelecimento ); - try - { - visita.set( MarcacoesEstabelecimentoData.REALIZADA, - ( ( Integer )visita.get( MarcacoesEstabelecimentoData.ESTADO ) ).intValue() == - HigieneDataProvider.ESTADO_REALIZADO ? "y" : "n" ); - System.out.println( "DATA " + visita.get( MarcacoesEstabelecimentoData.DATA ) ); - Integer tecnico = ( Integer ) visita.get( MarcacoesEstabelecimentoData.TECNICO_HST ); - if( tecnico != null && tecnico.intValue() < 0 ) - { - visita.set( MarcacoesEstabelecimentoData.TECNICO_HST, null ); - } - Integer tecnicoSup = ( Integer ) visita.get( MarcacoesEstabelecimentoData.TECNICO_SUPERIOR_HST ); - if( tecnicoSup != null && tecnicoSup.intValue() < 0 ) - { - visita.set( MarcacoesEstabelecimentoData.TECNICO_SUPERIOR_HST, null ); - } - visita.save(); - } - catch( Exception ex ) - { - DialogException.showExceptionMessage( ex, "Erro a gravar", true ); - return false; - } - - break; - } - reload( INDEX_MAIN ); - editing = false; - return true; - } - - @Override - public boolean delete(int index) - { - int option = JOptionPane.showConfirmDialog( this, "Tem a certeza que quer apagar a marca\u00e7\u00e3o?", - "Apagar", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE ); - if( option == JOptionPane.OK_OPTION ) - { - switch( index ) - { - case INDEX_VISITA: - MarcacoesEstabelecimentoData visita = ( MarcacoesEstabelecimentoData ) marcacaoPanel.save(); - try - { - visita.delete(); - } - catch( Exception ex ) - { - DialogException.showExceptionMessage( ex, "Erro a apagar.", true ); - return false; - } - break; - } - reload( INDEX_MAIN ); - return true; - } - return false; - } - - @Override - public void clear(int index) - { - switch( index ) - { - case INDEX_MAIN: - empresaID = null; - estabelecimentoID = null; - estabelecimento = null; - upperPanel.clear(); - marcacaoEditorPanel.clear(); - break; - - case INDEX_VISITA: - marcacaoPanel.clear(); - marcacaoPanel.getEmailButton().setText( "Enviar email" ); - break; - } - } - - public void enableComponents(int index, boolean enable) - { - switch( index ) - { - case INDEX_MAIN: - - break; - - case INDEX_VISITA: - marcacaoPanel.setEnabled( enable ); - marcacaoPanel.getEmailButton().setEnabled( enable ); - upperPanel.setEnabled( !enable ); - editing = enable; - break; - } - if( tracker != null ) - { - ( ( AvisosPanel ) tracker.getAvisosPanel() ).setEnabled( ! editing, AvisoConstants.TIPO_ESTABELECIMENTO ); - } - } - - @Override - protected void enableSelect( int index, boolean select ) - { - switch( index ) - { - case INDEX_VISITA: - marcacaoEditorPanel.setEnabled( select ); - break; - } - } - - @Override - public void reload( int index ) - { - switch( index ) - { - case INDEX_MAIN: - try - { -// EmpresasData empresa = (EmpresasData) objectProvider.load( EmpresasData.class, empresaID ); - estabelecimento = estabelecimentoID == null ? null : ((EstabelecimentosData) objectProvider.load( EstabelecimentosData.class, estabelecimentoID )); -// upperPanel.getEmpresaText().setText( empresa ); -// upperPanel.getEstabelecimentoText().setText( estabelecimento ); -// upperPanel.getTrabalhadorText().setText( ( String ) trabalhador.get( TrabalhadoresData.NOME ) ); - Object visitas[][] = higieneProvider.getVisitasEstabelecimento( estabelecimentoID ); - if( visitas.length > 0 ) - { - marcacaoEditorPanel.setData( new Object2DArray( visitas ) ); - } - else - { - marcacaoEditorPanel.clear(); - } - } - catch( Exception ex ) - { - DialogException.showExceptionMessage( ex, "Erro a carregar os dados.", true ); - } - break; - - case INDEX_VISITA: - Integer visitaID = marcacaoEditorPanel.getID(); - if( visitaID == null ) - { - return; - } - try - { - MarcacoesEstabelecimentoData visita = (MarcacoesEstabelecimentoData) objectProvider.load( MarcacoesEstabelecimentoData.class, visitaID ); - marcacaoPanel.fill( visita ); - Date dataEmailVisita = ( Date ) visita.get( MarcacoesEstabelecimentoData.DATA_EMAIL ); - if( dataEmailVisita != null ) - { - marcacaoPanel.getEmailButton().setText( "Enviar email (" + DATE_FORMAT.format( dataEmailVisita ) + ")" ); - } - else - { - marcacaoPanel.getEmailButton().setText( "Enviar email" ); - } - } - catch( Exception ex ) - { - DialogException.showExceptionMessage( ex, "Erro a carregar os dados da visita.", true ); - } - break; - } - } - - @Override - public void actionPerformed( ActionEvent e ) - { - Object source = e.getSource(); - if( source.equals( marcacaoPanel.getEmailButton() ) ) - { - enviarEmailVisita(); - } - } - - protected void enviarEmailVisita() - { - MarcacoesEstabelecimentoData visita = ( MarcacoesEstabelecimentoData ) marcacaoPanel.save(); - - String subject = ( String ) Singleton.getInstance( SingletonConstants.SUBJECT_VISITA ); - String texto = ( String ) Singleton.getInstance( SingletonConstants.LETTER_VISITA ); - - Date today = new Date(); - marcacaoPanel.getEmailButton().setText( "Enviar email (" + DATE_FORMAT.format( today ) + ")" ); - - try - { - enviarEmail( subject, texto, ( Date )visita.get( MarcacoesEstabelecimentoData.DATA ) ); - visita.set( Marcacao.DATA_EMAIL, today ); - } - catch( Exception ex ) - { - DialogException.showExceptionMessage( ex, "Erro a enviar mail", true ); - } - } - - protected void enviarEmail( String subject, String texto, Date data ) - throws Exception - { - String sede = ( String )estabelecimento.get( EstabelecimentosData.NOME ); - String dataStr = DATE_FORMAT.format( data ); - subject = subject.replaceAll( CompanyDataLoader.NOME, sede ); - String morada = ( String )estabelecimento.get( EstabelecimentosData.MORADA ); - - texto = texto.replaceAll( CompanyDataLoader.DATA, dataStr ); - texto = texto.replaceAll( CompanyDataLoader.NOME, sede ); - texto = texto.replaceAll( CompanyDataLoader.MORADA, morada ); - - ContactosData contacto = estabelecimento.toContacto_id(); - String mail = ""; - if( contacto != null ) - { - mail = ( String )contacto.get( ContactosData.EMAIL ); - } - - if( System.getProperty( "os.name" ).startsWith( "Windows" ) ) - { - mail = mail.replaceAll( " ", "%20" ); - subject = subject.replaceAll( " ", "%20" ); - texto = texto.replaceAll( " ", "%20" ); - Process proc = Runtime.getRuntime().exec( "cmd.exe /c start mailto:\"" + mail - + "?subject=" + subject + "&body=" - - + texto - ); - } - else - { - mail = mail.replaceAll( " ", "%20" ); - subject = subject.replaceAll( " ", "%20" ); - texto = texto.replaceAll( " ", "%20" ); - - Process proc = Runtime.getRuntime().exec( new String[]{ "/usr/bin/open", "/Applications/Mail.app", "mailto:" + mail - + "?subject=" + subject + "&body=" - + texto } ); - } - } - - @Override - public void valueChanged( ListSelectionEvent e ) - { - Object source = e.getSource(); - if( source.equals( upperPanel ) ) - { - Integer ids[] = ( Integer [] ) upperPanel.save(); - empresaID = ids[ 0 ]; - estabelecimentoID = ids[ 1 ]; - if( ids[ 1 ] == null ) - { - clear( INDEX_MAIN ); - unselect( INDEX_MAIN ); - } - else - { - reload( INDEX_MAIN ); - select( INDEX_MAIN ); - } - } - } - - @Override - public void setEmpresaAndEstabelecimento( Integer empresaID, Integer estabelecimentoID ) - { - if( editing ) - { - JOptionPane.showMessageDialog( this, "Esta janela est\u00e1 em edi\u00e7\u00e3o.", "Erro...", - JOptionPane.ERROR_MESSAGE ); - } - else - { - upperPanel.fill( new Integer[]{ empresaID, estabelecimentoID } ); - } - } - - @Override - public void setTracker( SHSTTrackerInterface tracker ) - { - this.tracker = tracker; - } - -} diff --git a/trunk/SIPRPSoft/src/siprp/higiene/marcacoes/TecnicoEditor.java b/trunk/SIPRPSoft/src/siprp/higiene/marcacoes/TecnicoEditor.java deleted file mode 100644 index 54c8123c..00000000 --- a/trunk/SIPRPSoft/src/siprp/higiene/marcacoes/TecnicoEditor.java +++ /dev/null @@ -1,323 +0,0 @@ -package siprp.higiene.marcacoes; - - -import static com.evolute.utils.strings.UnicodeLatin1Map.eacute; - -import java.awt.Dimension; -import java.awt.GridBagConstraints; -import java.awt.GridBagLayout; -import java.awt.GridLayout; -import java.awt.Insets; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.util.Vector; - -import javax.swing.BoxLayout; -import javax.swing.JButton; -import javax.swing.JCheckBox; -import javax.swing.JLabel; -import javax.swing.JOptionPane; -import javax.swing.JPanel; -import javax.swing.JRadioButton; -import javax.swing.JScrollPane; -import javax.swing.JTextField; -import javax.swing.ListSelectionModel; -import javax.swing.event.ListSelectionEvent; -import javax.swing.event.ListSelectionListener; - -import siprp.data.outer.MarcacoesTecnicosHstData; -import siprp.higiene.HigieneDataProvider; -import siprp.ui.SIPRPEditorWindow; - -import com.evolute.entity.ProviderInterface; -import com.evolute.utils.Singleton; -import com.evolute.utils.tables.BaseTable; -import com.evolute.utils.tables.ColumnizedObjectArray; -import com.evolute.utils.tables.VectorTableModel; -import com.evolute.utils.ui.CustomJDialog; -import com.evolute.utils.ui.DialogException; -import com.evolute.utils.ui.button.BetterButtonGroup; -import com.evolute.utils.ui.text.CopyPasteHandler; - -/** - * - * @author fpalma - */ -public class TecnicoEditor extends CustomJDialog - implements ActionListener, ListSelectionListener -{ - - private static final long serialVersionUID = 1L; - - private ProviderInterface JDO; - private HigieneDataProvider provider; - private BaseTable table; - private VectorTableModel model; - private JButton okButton; - private JButton cancelarButton; - private JButton novoButton; - private JTextField nomeText; - private JTextField iniciaisText; - private JCheckBox checkSuperior; - private Integer id; - private boolean isNew = false; - private BetterButtonGroup corGroup; - private JRadioButton cores[]; - - /** Creates a new instance of MedicoEditor */ - public TecnicoEditor( SIPRPEditorWindow owner ) - throws Exception - { - super( owner, true ); - provider = (HigieneDataProvider)HigieneDataProvider.getProvider(); - JDO = ( ProviderInterface ) Singleton.getInstance( Singleton.DEFAULT_EVO_DATA_PROVIDER ); - setupComponents(); - } - - private void setupComponents() - throws Exception - { - setSize( 600, 300 ); - setResizable( false ); - setTitle( "Criar/Editar T\u00e9cnico" ); - centerSuper(); - - model = new VectorTableModel( new String[]{ "Nome", "Iniciais", "Cor", "Superior" } ); - table = new BaseTable( model ); - table.setSelectionMode( ListSelectionModel.SINGLE_SELECTION ); - table.setTableCellRenderer( new TecnicoRenderer() ); - JScrollPane scp = new JScrollPane(); - scp.setMinimumSize( new Dimension( 300, 200 ) ); - scp.setMaximumSize( new Dimension( 300, 200 ) ); - scp.setPreferredSize( new Dimension( 300, 200 ) ); - scp.setSize( new Dimension( 300, 200 ) ); - scp.setViewportView( table ); - scp.setHorizontalScrollBarPolicy( JScrollPane.HORIZONTAL_SCROLLBAR_NEVER ); - scp.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_ALWAYS ); - table.fixColumnWidth( 0, 200 ); - table.setNonResizableNorReordable(); - table.getSelectionModel().addListSelectionListener( this ); - Object obj[][] = provider.getAllTecnicosHST(); - Vector tecnicosHST = new Vector(); - for( int n = 0; n < obj.length; n++ ) - { - tecnicosHST.add( new ColumnizedObjectArray( obj[ n ], true ) ); - } - model.setValues( tecnicosHST ); - - okButton = new JButton( "OK" ); - cancelarButton = new JButton( "Cancelar" ); - novoButton = new JButton( "Novo" ); - okButton.addActionListener( this ); - cancelarButton.addActionListener( this ); - novoButton.addActionListener( this ); - - nomeText = new JTextField(); - nomeText.setEnabled( false ); - iniciaisText = new JTextField(); - iniciaisText.setEnabled( false ); - checkSuperior = new JCheckBox( "T" + eacute + "cnico Superior" ); - checkSuperior.setEnabled( false ); - JPanel corPanel = new JPanel(); - corPanel.setLayout( new BoxLayout( corPanel, BoxLayout.Y_AXIS ) ); - corGroup = new BetterButtonGroup( false ); - cores = new JRadioButton[ HigieneDataProvider.CORES_TECNICOS.length ]; - for( int n = 0; n < HigieneDataProvider.CORES_TECNICOS.length; n++ ) - { - cores[ n ] = new JRadioButton( " " ); - cores[ n ].setBackground( HigieneDataProvider.CORES_TECNICOS[ n ] ); - corPanel.add( cores[ n ] ); - corGroup.add( cores[ n ] ); - } - JScrollPane corScroll = - new JScrollPane( corPanel, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, - JScrollPane.HORIZONTAL_SCROLLBAR_NEVER ); - - GridBagLayout gridbag = new GridBagLayout(); - getContentPane().setLayout( gridbag ); - GridBagConstraints constraints = new GridBagConstraints(); - constraints.insets = new Insets( 1, 1, 1, 1 ); - constraints.fill = GridBagConstraints.BOTH; - constraints.weighty = 1; - constraints.weightx = 1; - constraints.gridwidth = GridBagConstraints.REMAINDER; - constraints.gridheight = 1; - - JPanel upperPanel = new JPanel(); - upperPanel.setLayout( new GridLayout( 1, 2 ) ); - upperPanel.add( scp ); - JPanel textPanel = new JPanel(); - upperPanel.add( textPanel ); - gridbag.setConstraints( upperPanel, constraints ); - getContentPane().add( upperPanel ); - - constraints.fill = GridBagConstraints.HORIZONTAL; - constraints.weighty = 0; - constraints.weightx = 0.3; - constraints.gridwidth = 1; - constraints.gridheight = GridBagConstraints.REMAINDER;; - - gridbag.setConstraints( novoButton, constraints ); - getContentPane().add( novoButton ); - - gridbag.setConstraints( okButton, constraints ); - getContentPane().add( okButton ); - - constraints.gridwidth = GridBagConstraints.REMAINDER; - gridbag.setConstraints( cancelarButton, constraints ); - getContentPane().add( cancelarButton ); - - gridbag = new GridBagLayout(); - textPanel.setLayout( gridbag ); - constraints.weighty = 0; - constraints.weightx = 1; - constraints.gridwidth = GridBagConstraints.REMAINDER; - constraints.gridheight = 1; - - JLabel nomeLabel = new JLabel( "Nome" ); - gridbag.setConstraints( nomeLabel, constraints ); - textPanel.add( nomeLabel ); - - gridbag.setConstraints( nomeText, constraints ); - textPanel.add( nomeText ); - - JLabel iniciaisLabel = new JLabel( "Iniciais" ); - gridbag.setConstraints( iniciaisLabel, constraints ); - textPanel.add( iniciaisLabel ); - - gridbag.setConstraints( iniciaisText, constraints ); - textPanel.add( iniciaisText ); - - gridbag.setConstraints( checkSuperior, constraints ); - textPanel.add( checkSuperior ); - - JLabel corLabel = new JLabel( "Cor" ); - gridbag.setConstraints( corLabel, constraints ); - textPanel.add( corLabel ); - - constraints.weighty = 1; - constraints.gridheight = GridBagConstraints.REMAINDER; - constraints.fill = GridBagConstraints.BOTH; - - gridbag.setConstraints( corScroll, constraints ); - textPanel.add( corScroll ); - - new CopyPasteHandler( nomeText ); - new CopyPasteHandler( iniciaisText ); - } - - @Override - public void actionPerformed( ActionEvent e ) - { - if( e.getSource().equals( okButton ) ) - { - if( save() ) - { - close(); - } - } - else if( e.getSource().equals( cancelarButton ) ) - { - id = null; - close(); - } - if( e.getSource().equals( novoButton ) ) - { - table.getSelectionModel().removeListSelectionListener( this ); - nomeText.setText( "" ); - iniciaisText.setText( "" ); - corGroup.setIntSelected( 0 ); - nomeText.setEnabled( true ); - iniciaisText.setEnabled( true ); - corGroup.setEnabled( true ); - checkSuperior.setSelected( false ); - checkSuperior.setEnabled( true ); - id = null; - isNew = true; - } - } - - @Override - public void valueChanged( ListSelectionEvent listSelectionEvent ) - { - int selected = table.getSelectedRow(); - if( selected == -1 ) - { - return; - } - ColumnizedObjectArray row = model.getRowAt( selected ); - id = row.getID(); - String nome = (String) row.getValue( 0 ); - String iniciais = (String) row.getValue( 1 ); - Integer cor = ( Integer ) row.getValue( 2 ); - String superior = ( String) row.getValue( 3 ); - nomeText.setText( nome ); - iniciaisText.setText( iniciais ); - corGroup.setIntSelected( cor.intValue() ); - nomeText.setEnabled( true ); - iniciaisText.setEnabled( true ); - corGroup.setEnabled( true ); - checkSuperior.setEnabled( true ); - checkSuperior.setSelected( superior != null && "y".equals(superior) ); - } - - private void close() - { - setVisible( false ); - dispose(); - } - - public boolean getIsNew() - { - return isNew; - } - - public Integer getID() - { - return id; - } - - private boolean save() - { - String nome = nomeText.getText().trim(); - String nomePlain = com.evolute.utils.strings.StringPlainer.convertString( nome ); - String iniciais = iniciaisText.getText().trim(); - Integer cor = new Integer( corGroup.getIntSelected() ); - if( nome.length() == 0 || iniciais.length() == 0 ) - { - JOptionPane.showMessageDialog( this, "O Nome e as iniciais n\u00e3o podem ser vazios.", "Erro...", - JOptionPane.ERROR_MESSAGE ); - return false; - } - try - { - MarcacoesTecnicosHstData tecnico; - if( id != null ) - { - tecnico = ( MarcacoesTecnicosHstData ) JDO.load( MarcacoesTecnicosHstData.class, id ); - } - else - { - tecnico = new MarcacoesTecnicosHstData(); - } - tecnico.set( MarcacoesTecnicosHstData.IS_SUPERIOR, checkSuperior.isSelected() ? "y" : "n" ); - tecnico.set( MarcacoesTecnicosHstData.NOME, nome ); - tecnico.set( MarcacoesTecnicosHstData.NOME_PLAIN, nomePlain ); - tecnico.set( MarcacoesTecnicosHstData.INICIAIS, iniciais ); - tecnico.set( MarcacoesTecnicosHstData.IDENTIFICADOR, cor ); - tecnico.save(); - if( id == null ) - { - id = (Integer)tecnico.get( MarcacoesTecnicosHstData.ID ); - } - } - catch( Exception ex ) - { - DialogException.showExceptionMessage( ex, "Erro a gravar...", false ); - return false; - } - - return true; - } - -} diff --git a/trunk/SIPRPSoft/src/siprp/higiene/marcacoes/TecnicoRenderer.java b/trunk/SIPRPSoft/src/siprp/higiene/marcacoes/TecnicoRenderer.java deleted file mode 100644 index 5510e309..00000000 --- a/trunk/SIPRPSoft/src/siprp/higiene/marcacoes/TecnicoRenderer.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * DiaRenderer.java - * - * Created on 8 de Fevereiro de 2006, 21:45 - * - * To change this template, choose Tools | Template Manager - * and open the template in the editor. - */ - -package siprp.higiene.marcacoes; - -import java.awt.Color; -import java.awt.Component; - -import javax.swing.JLabel; -import javax.swing.JTable; -import javax.swing.table.TableCellRenderer; - -import siprp.higiene.HigieneDataProvider; - -/** - * - * @author Frederico - */ -public class TecnicoRenderer - implements TableCellRenderer -{ - protected JLabel labels[]; - protected Color defaultColor; - - /** Creates a new instance of DiaRenderer */ - public TecnicoRenderer() - { - labels = new JLabel[ 4 ]; - for( int n = 0; n < 4; n++ ) - { - labels[ n ] = new JLabel(); - } - defaultColor = labels[ 0 ].getBackground(); - labels[ 2 ].setOpaque( true ); - } - - public Component getTableCellRendererComponent( JTable table, Object value, - boolean isSelected, - boolean hasFocus, - int row, int column ) - { - switch( column ) - { - case 2: - labels[ 2 ].setText( " " ); - labels[ 2 ].setBackground( value == null ? defaultColor : - HigieneDataProvider.CORES_TECNICOS[ ( ( Integer ) value ).intValue() ] ); - break; - default: - labels[ column ].setText( ( String ) value ); - break; - } - return labels[ column ]; - } -}