forked from Coded/SIPRP
				
			git-svn-id: https://svn.coded.pt/svn/SIPRP@809 bb69d46d-e84e-40c8-a05a-06db0d633741
	
		
	
				
					
				
			
							parent
							
								
									dd5412e5e4
								
							
						
					
					
						commit
						08b9f2c410
					
				| @ -0,0 +1,126 @@ | |||||||
|  | package siprp.higiene.relatorio; | ||||||
|  | 
 | ||||||
|  | import info.clearthought.layout.TableLayout; | ||||||
|  | import info.clearthought.layout.TableLayoutConstraints; | ||||||
|  | 
 | ||||||
|  | import javax.swing.JPanel; | ||||||
|  | import javax.swing.JScrollPane; | ||||||
|  | import javax.swing.JTree; | ||||||
|  | import javax.swing.event.TreeSelectionEvent; | ||||||
|  | import javax.swing.event.TreeSelectionListener; | ||||||
|  | import javax.swing.tree.DefaultMutableTreeNode; | ||||||
|  | import javax.swing.tree.DefaultTreeModel; | ||||||
|  | import javax.swing.tree.TreePath; | ||||||
|  | import javax.swing.tree.TreeSelectionModel; | ||||||
|  | 
 | ||||||
|  | import leaf.ui.LeafButton; | ||||||
|  | import leaf.ui.TreeTools; | ||||||
|  | import siprp.database.cayenne.objects.HsRelatorio; | ||||||
|  | import siprp.database.cayenne.objects.HsRelatorioPosto; | ||||||
|  | import siprp.logic.HigieneSegurancaLogic; | ||||||
|  | 
 | ||||||
|  | public class AdicionarAreasRelatorioPanel extends JPanel | ||||||
|  | { | ||||||
|  | 
 | ||||||
|  | 	private static final long serialVersionUID = 1L; | ||||||
|  | 
 | ||||||
|  | 	public static final String SELECTION_CHANGED = "SELECTION_CHANGED"; | ||||||
|  | 	 | ||||||
|  | 	private final LeafButton buttonAdicionar = new LeafButton("Adicionar"); | ||||||
|  | 	 | ||||||
|  | 	private final LeafButton buttonRemover = new LeafButton("Remover"); | ||||||
|  | 	 | ||||||
|  | 	private final DefaultMutableTreeNode root = new DefaultMutableTreeNode(); | ||||||
|  | 	 | ||||||
|  | 	private final DefaultTreeModel model = new DefaultTreeModel( root ); | ||||||
|  | 	 | ||||||
|  | 	public final JTree tree = new JTree( model ); | ||||||
|  | 	 | ||||||
|  | 	private final JScrollPane scroll = new JScrollPane( tree ); | ||||||
|  | 
 | ||||||
|  | 	private HsRelatorio relatorio = null; | ||||||
|  | 
 | ||||||
|  | 	public AdicionarAreasRelatorioPanel() | ||||||
|  | 	{ | ||||||
|  | 		startupComponents(); | ||||||
|  | 		setupLayout(); | ||||||
|  | 		placeComponents(); | ||||||
|  | 		startupListeners(); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	private void startupComponents() | ||||||
|  | 	{ | ||||||
|  | 		buttonAdicionar.setEnabled( false ); | ||||||
|  | 		buttonRemover.setEnabled( false ); | ||||||
|  | 		tree.setRootVisible( false ); | ||||||
|  | 		tree.getSelectionModel().setSelectionMode( TreeSelectionModel.SINGLE_TREE_SELECTION ); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	private void setupLayout() | ||||||
|  | 	{ | ||||||
|  | 		TableLayout layout = new TableLayout( | ||||||
|  | 				new double[]{ TableLayout.FILL }, | ||||||
|  | 				new double[]{ TableLayout.MINIMUM, TableLayout.FILL } | ||||||
|  | 				); | ||||||
|  | 		layout.setHGap( 5 ); | ||||||
|  | 		layout.setVGap( 5 ); | ||||||
|  | 		setLayout( layout ); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	private void placeComponents() | ||||||
|  | 	{ | ||||||
|  | 		JPanel panel = new JPanel(); | ||||||
|  | 		TableLayout layout = new TableLayout( | ||||||
|  | 				new double[]{ TableLayout.MINIMUM, TableLayout.FILL, TableLayout.MINIMUM }, | ||||||
|  | 				new double[]{ TableLayout.MINIMUM } | ||||||
|  | 				); | ||||||
|  | 		layout.setHGap( 5 ); | ||||||
|  | 		layout.setVGap( 5 ); | ||||||
|  | 		panel.setLayout( layout ); | ||||||
|  | 		panel.add( buttonAdicionar, new TableLayoutConstraints( 0, 0 ) ); | ||||||
|  | 		panel.add( buttonRemover, new TableLayoutConstraints( 2, 0 ) ); | ||||||
|  | 			 | ||||||
|  | 		add( panel, new TableLayoutConstraints( 0, 0 ) ); | ||||||
|  | 		add( scroll, new TableLayoutConstraints( 0, 1 ) ); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	private void startupListeners() | ||||||
|  | 	{ | ||||||
|  | 		tree.getSelectionModel().addTreeSelectionListener( new TreeSelectionListener(){ | ||||||
|  | 			@Override | ||||||
|  | 			public void valueChanged( TreeSelectionEvent e ) | ||||||
|  | 			{ | ||||||
|  | 				setEnabled(); | ||||||
|  | 				TreePath path = tree.getSelectionPath(); | ||||||
|  | 				Object object = path == null ? null : path.getLastPathComponent(); | ||||||
|  | 				HsRelatorioPosto posto = object == null ? null : ( (object instanceof PostoRelatorioNode) ? (HsRelatorioPosto) ((PostoRelatorioNode) object).getUserObject() : null);  | ||||||
|  | 				firePropertyChange( SELECTION_CHANGED, null,  posto ); | ||||||
|  | 			} | ||||||
|  | 		} ); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	private void setEnabled() | ||||||
|  | 	{ | ||||||
|  | 		buttonAdicionar.setEnabled( false ); | ||||||
|  | 		buttonRemover.setEnabled( false ); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	public void refresh() | ||||||
|  | 	{ | ||||||
|  | 		root.removeAllChildren(); | ||||||
|  | 		if( relatorio != null ) | ||||||
|  | 		{ | ||||||
|  | 			TreeTools.merge( root, HigieneSegurancaLogic.getAreasRelatorioTree( relatorio ) ); | ||||||
|  | 		} | ||||||
|  | 		setEnabled(); | ||||||
|  | 		TreeTools.refreshTree( tree, root ); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	public void setRelatorio( HsRelatorio relatorio ) | ||||||
|  | 	{ | ||||||
|  | 		this.relatorio  = relatorio; | ||||||
|  | 		refresh(); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | } | ||||||
| @ -0,0 +1,148 @@ | |||||||
|  | package siprp.higiene.relatorio; | ||||||
|  | 
 | ||||||
|  | import info.clearthought.layout.TableLayout; | ||||||
|  | import info.clearthought.layout.TableLayoutConstraints; | ||||||
|  | 
 | ||||||
|  | import javax.swing.JPanel; | ||||||
|  | import javax.swing.JScrollPane; | ||||||
|  | import javax.swing.JTree; | ||||||
|  | import javax.swing.event.TreeSelectionEvent; | ||||||
|  | import javax.swing.event.TreeSelectionListener; | ||||||
|  | import javax.swing.tree.DefaultMutableTreeNode; | ||||||
|  | import javax.swing.tree.DefaultTreeModel; | ||||||
|  | import javax.swing.tree.TreePath; | ||||||
|  | import javax.swing.tree.TreeSelectionModel; | ||||||
|  | 
 | ||||||
|  | import leaf.ui.LeafButton; | ||||||
|  | import leaf.ui.TreeTools; | ||||||
|  | import siprp.database.cayenne.objects.HsRelatorioPostoMedida; | ||||||
|  | import siprp.database.cayenne.objects.HsRelatorioPosto; | ||||||
|  | import siprp.database.cayenne.objects.HsRelatorioPostoRisco; | ||||||
|  | 
 | ||||||
|  | public class AdicionarRiscosRelatorioPanel extends JPanel | ||||||
|  | { | ||||||
|  | 
 | ||||||
|  | 	private static final long serialVersionUID = 1L; | ||||||
|  | 
 | ||||||
|  | 	public static final String SELECTION_CHANGED = "RISCOS_SELECTION_CHANGED"; | ||||||
|  | 	 | ||||||
|  | 	private final LeafButton buttonAdicionar = new LeafButton("Adicionar"); | ||||||
|  | 	 | ||||||
|  | 	private final LeafButton buttonRemover = new LeafButton("Remover"); | ||||||
|  | 	 | ||||||
|  | 	private final DefaultMutableTreeNode root = new DefaultMutableTreeNode(); | ||||||
|  | 	 | ||||||
|  | 	private final DefaultTreeModel model = new DefaultTreeModel( root ); | ||||||
|  | 	 | ||||||
|  | 	public final JTree tree = new JTree( model ); | ||||||
|  | 	 | ||||||
|  | 	private final JScrollPane scroll = new JScrollPane( tree ); | ||||||
|  | 	 | ||||||
|  | 	private HsRelatorioPosto posto = null; | ||||||
|  | 
 | ||||||
|  | 	public AdicionarRiscosRelatorioPanel() | ||||||
|  | 	{ | ||||||
|  | 		startupComponents(); | ||||||
|  | 		setupLayout(); | ||||||
|  | 		placeComponents(); | ||||||
|  | 		startupListeners(); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	private void startupComponents() | ||||||
|  | 	{ | ||||||
|  | 		buttonAdicionar.setEnabled( false ); | ||||||
|  | 		buttonRemover.setEnabled( false ); | ||||||
|  | 		tree.setRootVisible( false ); | ||||||
|  | 		tree.getSelectionModel().setSelectionMode( TreeSelectionModel.SINGLE_TREE_SELECTION ); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	private void setupLayout() | ||||||
|  | 	{ | ||||||
|  | 		TableLayout layout = new TableLayout( | ||||||
|  | 				new double[]{ TableLayout.FILL }, | ||||||
|  | 				new double[]{ TableLayout.MINIMUM, TableLayout.FILL } | ||||||
|  | 				); | ||||||
|  | 		layout.setHGap( 5 ); | ||||||
|  | 		layout.setVGap( 5 ); | ||||||
|  | 		setLayout( layout ); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	private void placeComponents() | ||||||
|  | 	{ | ||||||
|  | 		JPanel panel = new JPanel(); | ||||||
|  | 		TableLayout layout = new TableLayout( | ||||||
|  | 				new double[]{ TableLayout.MINIMUM, TableLayout.FILL, TableLayout.MINIMUM }, | ||||||
|  | 				new double[]{ TableLayout.MINIMUM } | ||||||
|  | 				); | ||||||
|  | 		layout.setHGap( 5 ); | ||||||
|  | 		layout.setVGap( 5 ); | ||||||
|  | 		panel.setLayout( layout ); | ||||||
|  | 		panel.add( buttonAdicionar, new TableLayoutConstraints( 0, 0 ) ); | ||||||
|  | 		panel.add( buttonRemover, new TableLayoutConstraints( 2, 0 ) ); | ||||||
|  | 			 | ||||||
|  | 		add( panel, new TableLayoutConstraints( 0, 0 ) ); | ||||||
|  | 		add( scroll, new TableLayoutConstraints( 0, 1 ) ); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	private void startupListeners() | ||||||
|  | 	{ | ||||||
|  | 		tree.getSelectionModel().addTreeSelectionListener( new TreeSelectionListener(){ | ||||||
|  | 			@Override | ||||||
|  | 			public void valueChanged( TreeSelectionEvent e ) | ||||||
|  | 			{ | ||||||
|  | 				setEnabled(); | ||||||
|  | 				Object object = null; | ||||||
|  | 				TreePath path = tree.getSelectionPath(); | ||||||
|  | 				if( path != null ) | ||||||
|  | 				{ | ||||||
|  | 					Object selection = path.getLastPathComponent(); | ||||||
|  | 					if( selection instanceof RiscoRelatorioNode ) | ||||||
|  | 					{ | ||||||
|  | 						object = selection == null ? null : ((RiscoRelatorioNode)selection).getUserObject(); | ||||||
|  | 					} | ||||||
|  | 					else if( selection instanceof MedidaRelatorioNode ) | ||||||
|  | 					{ | ||||||
|  | 						object = selection == null ? null : ((MedidaRelatorioNode)selection).getUserObject(); | ||||||
|  | 					} | ||||||
|  | 				} | ||||||
|  | 				firePropertyChange( SELECTION_CHANGED, null, object ); | ||||||
|  | 			} | ||||||
|  | 		} ); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	private void setEnabled() | ||||||
|  | 	{ | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	public void refresh() | ||||||
|  | 	{ | ||||||
|  | 		root.removeAllChildren(); | ||||||
|  | 		if( posto != null ) | ||||||
|  | 		{ | ||||||
|  | 			for( HsRelatorioPostoRisco rel : posto.getHsRelatorioPostoRiscoArray() ) | ||||||
|  | 			{ | ||||||
|  | 				RiscoRelatorioNode node = new RiscoRelatorioNode( rel ); | ||||||
|  | 				if( rel.getToHsRelatorioRisco() != null ) | ||||||
|  | 				{ | ||||||
|  | 					for( HsRelatorioPostoMedida medida : posto.getHsRelatorioPostoMedidaArray() ) | ||||||
|  | 					{ | ||||||
|  | 						if( rel.getToHsRelatorioPosto().equals( medida.getToHsRelatorioPosto() ) ) | ||||||
|  | 						{ | ||||||
|  | 							node.add( new MedidaRelatorioNode(medida) ); | ||||||
|  | 						} | ||||||
|  | 					} | ||||||
|  | 				} | ||||||
|  | 				root.add( node ); | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 		setEnabled(); | ||||||
|  | 		TreeTools.refreshTree( tree, root ); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	public void setPosto( HsRelatorioPosto posto ) | ||||||
|  | 	{ | ||||||
|  | 		this.posto = posto; | ||||||
|  | 		refresh(); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | } | ||||||
| @ -0,0 +1,17 @@ | |||||||
|  | package siprp.higiene.relatorio; | ||||||
|  | 
 | ||||||
|  | import javax.swing.tree.DefaultMutableTreeNode; | ||||||
|  | 
 | ||||||
|  | import siprp.database.cayenne.objects.HsRelatorioArea; | ||||||
|  | 
 | ||||||
|  | public class AreaRelatorioNode extends DefaultMutableTreeNode | ||||||
|  | { | ||||||
|  | 
 | ||||||
|  | 	private static final long serialVersionUID = 1L; | ||||||
|  | 	 | ||||||
|  | 	public AreaRelatorioNode( HsRelatorioArea risco ) | ||||||
|  | 	{ | ||||||
|  | 		super( risco ); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | } | ||||||
| @ -0,0 +1,263 @@ | |||||||
|  | package siprp.higiene.relatorio; | ||||||
|  | 
 | ||||||
|  | import static com.evolute.utils.strings.UnicodeLatin1Map.atilde; | ||||||
|  | import static com.evolute.utils.strings.UnicodeLatin1Map.ccedil; | ||||||
|  | import info.clearthought.layout.TableLayout; | ||||||
|  | import info.clearthought.layout.TableLayoutConstraints; | ||||||
|  | 
 | ||||||
|  | import java.awt.Insets; | ||||||
|  | import java.awt.event.ActionEvent; | ||||||
|  | import java.awt.event.ActionListener; | ||||||
|  | 
 | ||||||
|  | import javax.swing.JCheckBox; | ||||||
|  | import javax.swing.JLabel; | ||||||
|  | import javax.swing.JPanel; | ||||||
|  | import javax.swing.JScrollPane; | ||||||
|  | import javax.swing.JTextArea; | ||||||
|  | import javax.swing.event.CaretEvent; | ||||||
|  | import javax.swing.event.CaretListener; | ||||||
|  | 
 | ||||||
|  | import leaf.ui.LeafButton; | ||||||
|  | import siprp.database.cayenne.objects.HsRelatorioPostoMedida; | ||||||
|  | 
 | ||||||
|  | import com.evolute.utils.images.ImageException; | ||||||
|  | import com.evolute.utils.images.ImageIconLoader; | ||||||
|  | 
 | ||||||
|  | public class GerirMedidaRelatorioPanel extends JPanel | ||||||
|  | { | ||||||
|  | 
 | ||||||
|  | 	public static final String MEDIDA_CHANGED = "MEDIDA_CHANGED"; | ||||||
|  | 
 | ||||||
|  | 	private static final long serialVersionUID = 1L; | ||||||
|  | 	 | ||||||
|  | 	private static final String ICON_NAME_SAVE = "siprp/higiene/gestao/riscos/save.png"; | ||||||
|  | 	 | ||||||
|  | 	private static final String ICON_NAME_REVERT = "siprp/higiene/gestao/riscos/revert.png"; | ||||||
|  | 
 | ||||||
|  | 	private LeafButton buttonSaveMedida; | ||||||
|  | 	 | ||||||
|  | 	private LeafButton buttonRevertMedida; | ||||||
|  | 	 | ||||||
|  | 	private LeafButton buttonSaveRequesito; | ||||||
|  | 	 | ||||||
|  | 	private LeafButton buttonRevertRequesito; | ||||||
|  | 	 | ||||||
|  | 	private final JCheckBox checkPlanoActuacao = new JCheckBox("Plano de actua" + ccedil + atilde + "o"); | ||||||
|  | 	 | ||||||
|  | 	private final JTextArea fieldTextMedida = new JTextArea(); | ||||||
|  | 	 | ||||||
|  | 	private final JScrollPane scrollMedida = new JScrollPane(fieldTextMedida); | ||||||
|  | 	 | ||||||
|  | 	private final JTextArea fieldTextRequisitosLegais = new JTextArea(); | ||||||
|  | 	 | ||||||
|  | 	private final JScrollPane scrollRequesitos = new JScrollPane(fieldTextRequisitosLegais); | ||||||
|  | 	 | ||||||
|  | 	private HsRelatorioPostoMedida relacao = null; | ||||||
|  | 	 | ||||||
|  | 	public GerirMedidaRelatorioPanel() | ||||||
|  | 	{ | ||||||
|  | 		try | ||||||
|  | 		{ | ||||||
|  | 			buttonSaveMedida = new LeafButton( ImageIconLoader.loadImageIcon( ICON_NAME_SAVE ) ); | ||||||
|  | 			buttonRevertMedida = new LeafButton( ImageIconLoader.loadImageIcon( ICON_NAME_REVERT ) ); | ||||||
|  | 			buttonSaveRequesito = new LeafButton( ImageIconLoader.loadImageIcon( ICON_NAME_SAVE ) ); | ||||||
|  | 			buttonRevertRequesito = new LeafButton( ImageIconLoader.loadImageIcon( ICON_NAME_REVERT ) ); | ||||||
|  | 		} catch( ImageException e ) | ||||||
|  | 		{ | ||||||
|  | 			e.printStackTrace(); | ||||||
|  | 		} | ||||||
|  | 		startupComponents(); | ||||||
|  | 		startupLayout(); | ||||||
|  | 		placeComponents(); | ||||||
|  | 		setupListeners(); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	private void startupComponents() | ||||||
|  | 	{ | ||||||
|  | 		fieldTextMedida.setWrapStyleWord( true ); | ||||||
|  | 		fieldTextMedida.setLineWrap( true ); | ||||||
|  | 		fieldTextRequisitosLegais.setWrapStyleWord( true ); | ||||||
|  | 		fieldTextRequisitosLegais.setLineWrap( true ); | ||||||
|  | 		scrollMedida.setHorizontalScrollBarPolicy( JScrollPane.HORIZONTAL_SCROLLBAR_NEVER ); | ||||||
|  | 		scrollMedida.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_ALWAYS ); | ||||||
|  | 		scrollRequesitos.setHorizontalScrollBarPolicy( JScrollPane.HORIZONTAL_SCROLLBAR_NEVER ); | ||||||
|  | 		scrollRequesitos.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_ALWAYS ); | ||||||
|  | 		buttonSaveMedida.setMargin( new Insets(0,0,0,0) ); | ||||||
|  | 		buttonSaveRequesito.setMargin( new Insets(0,0,0,0) ); | ||||||
|  | 		buttonRevertMedida.setMargin( new Insets(0,0,0,0) ); | ||||||
|  | 		buttonRevertRequesito.setMargin( new Insets(0,0,0,0) ); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	private void setupListeners() | ||||||
|  | 	{ | ||||||
|  | 		checkPlanoActuacao.addActionListener( new ActionListener() | ||||||
|  | 		{ | ||||||
|  | 			@Override | ||||||
|  | 			public void actionPerformed( ActionEvent e ) | ||||||
|  | 			{ | ||||||
|  | 				savePlano(); | ||||||
|  | 			} | ||||||
|  | 		} ); | ||||||
|  | 		fieldTextRequisitosLegais.addCaretListener( new CaretListener() | ||||||
|  | 		{ | ||||||
|  | 			@Override | ||||||
|  | 			public void caretUpdate( CaretEvent e ) | ||||||
|  | 			{ | ||||||
|  | 				setEnabled(); | ||||||
|  | 			} | ||||||
|  | 		} ); | ||||||
|  | 		fieldTextMedida.addCaretListener( new CaretListener() | ||||||
|  | 		{ | ||||||
|  | 			@Override | ||||||
|  | 			public void caretUpdate( CaretEvent e ) | ||||||
|  | 			{ | ||||||
|  | 				setEnabled(); | ||||||
|  | 			} | ||||||
|  | 		} ); | ||||||
|  | 		buttonSaveMedida.addActionListener( new ActionListener() | ||||||
|  | 		{ | ||||||
|  | 			@Override | ||||||
|  | 			public void actionPerformed( ActionEvent e ) | ||||||
|  | 			{ | ||||||
|  | 				saveMedida(); | ||||||
|  | 			} | ||||||
|  | 		} ); | ||||||
|  | 		buttonSaveRequesito.addActionListener( new ActionListener() | ||||||
|  | 		{ | ||||||
|  | 			@Override | ||||||
|  | 			public void actionPerformed( ActionEvent e ) | ||||||
|  | 			{ | ||||||
|  | 				saveRequesito(); | ||||||
|  | 			} | ||||||
|  | 		} ); | ||||||
|  | 		buttonRevertMedida.addActionListener( new ActionListener() | ||||||
|  | 		{ | ||||||
|  | 			@Override | ||||||
|  | 			public void actionPerformed( ActionEvent e ) | ||||||
|  | 			{ | ||||||
|  | 				revertMedida(); | ||||||
|  | 			} | ||||||
|  | 		} ); | ||||||
|  | 		buttonRevertRequesito.addActionListener( new ActionListener() | ||||||
|  | 		{ | ||||||
|  | 			@Override | ||||||
|  | 			public void actionPerformed( ActionEvent e ) | ||||||
|  | 			{ | ||||||
|  | 				revertRequesito(); | ||||||
|  | 			} | ||||||
|  | 		} ); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	private void startupLayout() | ||||||
|  | 	{ | ||||||
|  | 		TableLayout	layout = new TableLayout( | ||||||
|  | 				new double[]{ TableLayout.FILL, TableLayout.MINIMUM, TableLayout.MINIMUM },  | ||||||
|  | 				new double[]{ TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.FILL, TableLayout.MINIMUM, TableLayout.FILL } | ||||||
|  | 		); | ||||||
|  | 		layout.setHGap( 5 ); | ||||||
|  | 		layout.setVGap( 5 ); | ||||||
|  | 		setLayout( layout ); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	private void placeComponents() | ||||||
|  | 	{ | ||||||
|  | 		JPanel panel = new JPanel(); | ||||||
|  | 		TableLayout	layout = new TableLayout( | ||||||
|  | 				new double[]{ TableLayout.MINIMUM, TableLayout.FILL },  | ||||||
|  | 				new double[]{ TableLayout.MINIMUM } | ||||||
|  | 		); | ||||||
|  | 		layout.setHGap( 5 ); | ||||||
|  | 		layout.setVGap( 5 ); | ||||||
|  | 		panel.setLayout( layout ); | ||||||
|  | 		panel.add( checkPlanoActuacao, new TableLayoutConstraints(0,0) ); | ||||||
|  | 		add( panel, new TableLayoutConstraints(0,0,2,0) ); | ||||||
|  | 		add( new JLabel("Requesitos legais"), new TableLayoutConstraints(0,1) ); | ||||||
|  | 		add( buttonSaveRequesito, new TableLayoutConstraints(1,1) ); | ||||||
|  | 		add( buttonRevertRequesito, new TableLayoutConstraints(2,1) ); | ||||||
|  | 		add( scrollRequesitos, new TableLayoutConstraints(0,2,2,2) ); | ||||||
|  | 		add( new JLabel("Medida"), new TableLayoutConstraints(0,3) ); | ||||||
|  | 		add( buttonSaveMedida, new TableLayoutConstraints(1,3) ); | ||||||
|  | 		add( buttonRevertMedida, new TableLayoutConstraints(2,3) ); | ||||||
|  | 		add( scrollMedida, new TableLayoutConstraints(0,4,2,4) ); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	private void setEnabled() | ||||||
|  | 	{ | ||||||
|  | 		boolean medidaChanged = false; | ||||||
|  | 		boolean requesitoChanged = false; | ||||||
|  | 		if( relacao != null ) | ||||||
|  | 		{ | ||||||
|  | 			medidaChanged = !fieldTextMedida.getText().equals( relacao.getToHsRelatorioMedida().getDescription() ); | ||||||
|  | 			requesitoChanged = !fieldTextRequisitosLegais.getText().equals( relacao.getToHsRelatorioMedida().getRequesitosLegais() ); | ||||||
|  | 		} | ||||||
|  | 		buttonSaveMedida.setEnabled( medidaChanged ); | ||||||
|  | 		buttonSaveRequesito.setEnabled( requesitoChanged ); | ||||||
|  | 		buttonRevertMedida.setEnabled( medidaChanged ); | ||||||
|  | 		buttonRevertRequesito.setEnabled( requesitoChanged ); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	private void savePlano() | ||||||
|  | 	{ | ||||||
|  | 		if( relacao != null ) | ||||||
|  | 		{ | ||||||
|  | 			relacao.setIsPlanoActuacao( checkPlanoActuacao.isSelected() ); | ||||||
|  | 			relacao.save(); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	private void saveMedida() | ||||||
|  | 	{ | ||||||
|  | 		if( relacao != null ) | ||||||
|  | 		{ | ||||||
|  | 			relacao.getToHsRelatorioMedida().setDescription( fieldTextMedida.getText() ); | ||||||
|  | 			relacao.save(); | ||||||
|  | 			refresh(); | ||||||
|  | 		} | ||||||
|  | 		setEnabled(); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	private void saveRequesito() | ||||||
|  | 	{ | ||||||
|  | 		if( relacao != null ) | ||||||
|  | 		{ | ||||||
|  | 			relacao.getToHsRelatorioMedida().setRequesitosLegais(fieldTextRequisitosLegais.getText() ); | ||||||
|  | 			relacao.save(); | ||||||
|  | 			refresh(); | ||||||
|  | 		} | ||||||
|  | 		setEnabled(); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	private void revertMedida() | ||||||
|  | 	{ | ||||||
|  | 		if( relacao != null ) | ||||||
|  | 		{ | ||||||
|  | 			fieldTextMedida.setText( relacao.getToHsRelatorioMedida().getDescription() ); | ||||||
|  | 		} | ||||||
|  | 		setEnabled(); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	private void revertRequesito() | ||||||
|  | 	{ | ||||||
|  | 		if( relacao != null ) | ||||||
|  | 		{ | ||||||
|  | 			fieldTextRequisitosLegais.setText( relacao.getToHsRelatorioMedida().getRequesitosLegais() ); | ||||||
|  | 		} | ||||||
|  | 		setEnabled(); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	private void refresh() | ||||||
|  | 	{ | ||||||
|  | 		firePropertyChange( MEDIDA_CHANGED, null, relacao ); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	public void setMedida( HsRelatorioPostoMedida medida ) | ||||||
|  | 	{ | ||||||
|  | 		this.relacao = medida; | ||||||
|  | 		fieldTextMedida.setText( medida == null ? null : medida.getToHsRelatorioMedida().getDescription() ); | ||||||
|  | 		fieldTextRequisitosLegais.setText( medida == null ? null : medida.getToHsRelatorioMedida().getRequesitosLegais() ); | ||||||
|  | 		checkPlanoActuacao.setSelected( medida == null ? false : ( medida.getIsPlanoActuacao() == null ? false : medida.getIsPlanoActuacao() ) ); | ||||||
|  | 		setEnabled(); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	 | ||||||
|  | } | ||||||
| @ -0,0 +1,275 @@ | |||||||
|  | package siprp.higiene.relatorio; | ||||||
|  | 
 | ||||||
|  | import info.clearthought.layout.TableLayout; | ||||||
|  | import info.clearthought.layout.TableLayoutConstraints; | ||||||
|  | 
 | ||||||
|  | import java.awt.Dimension; | ||||||
|  | import java.awt.event.ActionEvent; | ||||||
|  | import java.awt.event.ActionListener; | ||||||
|  | 
 | ||||||
|  | import javax.swing.AbstractButton; | ||||||
|  | import javax.swing.ButtonGroup; | ||||||
|  | import javax.swing.JComboBox; | ||||||
|  | import javax.swing.JComponent; | ||||||
|  | import javax.swing.JLabel; | ||||||
|  | import javax.swing.JPanel; | ||||||
|  | import javax.swing.JRadioButton; | ||||||
|  | import javax.swing.JTextField; | ||||||
|  | import javax.swing.event.CaretEvent; | ||||||
|  | import javax.swing.event.CaretListener; | ||||||
|  | import javax.swing.event.ChangeEvent; | ||||||
|  | import javax.swing.event.ChangeListener; | ||||||
|  | 
 | ||||||
|  | import leaf.ui.LeafButton; | ||||||
|  | import leaf.ui.LeafIconButton; | ||||||
|  | import siprp.database.cayenne.objects.HsRelatorioPostoRisco; | ||||||
|  | import siprp.database.cayenne.objects.HsRelatorioRiscoValorQualitativo; | ||||||
|  | import siprp.logic.HigieneSegurancaLogic; | ||||||
|  | 
 | ||||||
|  | public class GerirValoresRiscoPanel extends JPanel implements ActionListener, CaretListener | ||||||
|  | { | ||||||
|  | 
 | ||||||
|  | 	private static final long serialVersionUID = 1L; | ||||||
|  | 	 | ||||||
|  | 	private static final String ICON_NAME_SAVE = "siprp/higiene/gestao/riscos/save.png"; | ||||||
|  | 	 | ||||||
|  | 	private static final String ICON_NAME_REVERT = "siprp/higiene/gestao/riscos/revert.png"; | ||||||
|  | 	 | ||||||
|  | 	private final JRadioButton radioValorQuantitativo = new JRadioButton(); | ||||||
|  | 	 | ||||||
|  | 	private final JRadioButton radioValorQualitativo = new JRadioButton(); | ||||||
|  | 	 | ||||||
|  | 	private final JTextField textSeveridade = new JTextField(); | ||||||
|  | 	 | ||||||
|  | 	private final JTextField textProbabilidade = new JTextField(); | ||||||
|  | 	 | ||||||
|  | 	private final JComboBox comboValorQualitativo = new JComboBox(); | ||||||
|  | 	 | ||||||
|  | 	private final LeafButton buttonSave = LeafIconButton.createButton( ICON_NAME_SAVE ); | ||||||
|  | 	 | ||||||
|  | 	private final LeafButton buttonRevert = LeafIconButton.createButton( ICON_NAME_REVERT); | ||||||
|  | 	 | ||||||
|  | 	private final ButtonGroup bg = new ButtonGroup(); | ||||||
|  | 	 | ||||||
|  | 	private HsRelatorioPostoRisco valoresRisco = null; | ||||||
|  | 
 | ||||||
|  | 	public GerirValoresRiscoPanel() | ||||||
|  | 	{ | ||||||
|  | 		startupListeners(); | ||||||
|  | 		startupComponents(); | ||||||
|  | 		startupLayout(); | ||||||
|  | 		placeComponents(); | ||||||
|  | 		loadValoresQualitativos(); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	private void startupListeners() | ||||||
|  | 	{ | ||||||
|  | 		radioValorQualitativo.addActionListener( this ); | ||||||
|  | 		radioValorQuantitativo.addActionListener( this ); | ||||||
|  | 		comboValorQualitativo.addActionListener( this ); | ||||||
|  | 		textProbabilidade.addCaretListener( this ); | ||||||
|  | 		textSeveridade.addCaretListener( this ); | ||||||
|  | 		buttonSave.addActionListener( new ActionListener() | ||||||
|  | 		{ | ||||||
|  | 			@Override | ||||||
|  | 			public void actionPerformed( ActionEvent e ) | ||||||
|  | 			{ | ||||||
|  | 				save(); | ||||||
|  | 			} | ||||||
|  | 		} ); | ||||||
|  | 		buttonRevert.addActionListener( new ActionListener() | ||||||
|  | 		{ | ||||||
|  | 			@Override | ||||||
|  | 			public void actionPerformed( ActionEvent e ) | ||||||
|  | 			{ | ||||||
|  | 				refresh(); | ||||||
|  | 			} | ||||||
|  | 		} ); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	private void startupComponents() | ||||||
|  | 	{ | ||||||
|  | 		textSeveridade.setPreferredSize( new Dimension( 30, 0 ) ); | ||||||
|  | 		textProbabilidade.setPreferredSize( new Dimension( 30, 0 ) ); | ||||||
|  | 		buttonSave.setEnabled( false ); | ||||||
|  | 		buttonRevert.setEnabled( false ); | ||||||
|  | 		bg.add( radioValorQualitativo ); | ||||||
|  | 		bg.add( radioValorQuantitativo ); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	private void startupLayout() | ||||||
|  | 	{ | ||||||
|  | 		TableLayout layout = new TableLayout( | ||||||
|  | 				new double[]{ TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.PREFERRED, TableLayout.FILL, TableLayout.MINIMUM, TableLayout.PREFERRED, TableLayout.FILL }, | ||||||
|  | 				new double[]{ TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.MINIMUM } | ||||||
|  | 				); | ||||||
|  | 		layout.setVGap( 5 ); | ||||||
|  | 		layout.setHGap( 5 ); | ||||||
|  | 		setLayout( layout ); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	private void placeComponents() | ||||||
|  | 	{ | ||||||
|  | 		TableLayout layout = new TableLayout( | ||||||
|  | 				new double[]{ TableLayout.FILL, TableLayout.MINIMUM, TableLayout.MINIMUM }, | ||||||
|  | 				new double[]{ TableLayout.MINIMUM } | ||||||
|  | 				); | ||||||
|  | 		layout.setVGap( 5 ); | ||||||
|  | 		layout.setHGap( 5 ); | ||||||
|  | 		JPanel panel = new JPanel(); | ||||||
|  | 		panel.setLayout( layout ); | ||||||
|  | 		panel.add( buttonSave, new TableLayoutConstraints( 1, 0 ) ); | ||||||
|  | 		panel.add( buttonRevert, new TableLayoutConstraints( 2, 0 ) ); | ||||||
|  | 		 | ||||||
|  | 		add( panel, new TableLayoutConstraints(1,0,6,0) ); | ||||||
|  | 		add( radioValorQuantitativo, new TableLayoutConstraints( 0, 1 ) ); | ||||||
|  | 		add( new JLabel("Severidade"), new TableLayoutConstraints( 1, 1 ) ); | ||||||
|  | 		add( textSeveridade, new TableLayoutConstraints( 2, 1 ) ); | ||||||
|  | 		add( new JLabel("Probabilidade"), new TableLayoutConstraints( 4, 1 ) ); | ||||||
|  | 		add( textProbabilidade, new TableLayoutConstraints( 5, 1 ) ); | ||||||
|  | 		add( radioValorQualitativo, new TableLayoutConstraints( 0, 2 ) ); | ||||||
|  | 		add( comboValorQualitativo, new TableLayoutConstraints( 1, 2, 5, 2 ) ); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	private void loadValoresQualitativos() | ||||||
|  | 	{ | ||||||
|  | 		comboValorQualitativo.removeAllItems(); | ||||||
|  | 		for( HsRelatorioRiscoValorQualitativo valor : HigieneSegurancaLogic.getAllValoresQualitativos() ) | ||||||
|  | 		{ | ||||||
|  | 			comboValorQualitativo.addItem( valor ); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	private void refresh() | ||||||
|  | 	{ | ||||||
|  | 		if( valoresRisco != null ) | ||||||
|  | 		{ | ||||||
|  | 			boolean qualitativo = valoresRisco.getToHsRelatorioRiscoValorQualitativo() != null; | ||||||
|  | 			radioValorQuantitativo.setSelected( !qualitativo ); | ||||||
|  | 			radioValorQualitativo.setSelected( qualitativo ); | ||||||
|  | 			String severidade = (valoresRisco.getSeveridade() == null ? null : valoresRisco.getSeveridade() + ""); | ||||||
|  | 			String probabilidade = (valoresRisco.getProbabilidade() == null ? null : valoresRisco.getProbabilidade() + ""); | ||||||
|  | 			textSeveridade.setText( severidade  ); | ||||||
|  | 			textProbabilidade.setText( probabilidade ); | ||||||
|  | 			if( valoresRisco.getToHsRelatorioRiscoValorQualitativo() != null ) | ||||||
|  | 			{ | ||||||
|  | 				comboValorQualitativo.setSelectedItem( valoresRisco.getToHsRelatorioRiscoValorQualitativo() ); | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 		else | ||||||
|  | 		{ | ||||||
|  | 			bg.clearSelection(); | ||||||
|  | 			textSeveridade.setText( null ); | ||||||
|  | 			textProbabilidade.setText( null ); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	private void setEnabled() | ||||||
|  | 	{ | ||||||
|  | 		textProbabilidade.setEnabled( valoresRisco != null && radioValorQuantitativo.isSelected() ); | ||||||
|  | 		textSeveridade.setEnabled( valoresRisco != null && radioValorQuantitativo.isSelected() ); | ||||||
|  | 		radioValorQualitativo.setEnabled( valoresRisco != null ); | ||||||
|  | 		radioValorQuantitativo.setEnabled( valoresRisco != null ); | ||||||
|  | 		comboValorQualitativo.setEnabled( valoresRisco != null && radioValorQualitativo.isSelected() ); | ||||||
|  | 		if( valoresRisco != null ) | ||||||
|  | 		{ | ||||||
|  | 			boolean changes = false; | ||||||
|  | 			boolean wasQual = valoresRisco.getToHsRelatorioRiscoValorQualitativo() != null; | ||||||
|  | 			boolean isQual = radioValorQualitativo.isSelected(); | ||||||
|  | 			if(!isQual) | ||||||
|  | 			{ | ||||||
|  | 				changes = wasQual; | ||||||
|  | 				if(!changes) | ||||||
|  | 				{  | ||||||
|  | 					boolean probChanged = false; | ||||||
|  | 					boolean sevChanged = false; | ||||||
|  | 					String prob = textProbabilidade.getText(); | ||||||
|  | 					String sev = textSeveridade.getText(); | ||||||
|  | 					if( prob == null ) | ||||||
|  | 					{ | ||||||
|  | 						probChanged = valoresRisco.getProbabilidade() != null; | ||||||
|  | 					} | ||||||
|  | 					else | ||||||
|  | 					{ | ||||||
|  | 						probChanged = !prob.equals(valoresRisco.getProbabilidade() == null ? "" : valoresRisco.getProbabilidade() + ""); | ||||||
|  | 					} | ||||||
|  | 					if( sev == null ) | ||||||
|  | 					{ | ||||||
|  | 						sevChanged = valoresRisco.getSeveridade() != null; | ||||||
|  | 					} | ||||||
|  | 					else | ||||||
|  | 					{ | ||||||
|  | 						sevChanged = !sev.equals(valoresRisco.getSeveridade() == null ? "" : valoresRisco.getSeveridade() + "" ); | ||||||
|  | 					} | ||||||
|  | 					changes = probChanged || sevChanged; | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 			else | ||||||
|  | 			{ | ||||||
|  | 				changes = !wasQual; | ||||||
|  | 				if(!changes) | ||||||
|  | 				{  | ||||||
|  | 					changes = !comboValorQualitativo.getSelectedItem().equals( valoresRisco.getToHsRelatorioRiscoValorQualitativo() ); | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 			buttonSave.setEnabled( changes ); | ||||||
|  | 			buttonRevert.setEnabled( changes ); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	public void setRelatorioPostoRisco( HsRelatorioPostoRisco rel ) | ||||||
|  | 	{ | ||||||
|  | 		this.valoresRisco  = rel; | ||||||
|  | 		refresh(); | ||||||
|  | 		setEnabled(); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	private void save() | ||||||
|  | 	{ | ||||||
|  | 		if( valoresRisco != null ) | ||||||
|  | 		{ | ||||||
|  | 			if( radioValorQualitativo.isSelected() ) | ||||||
|  | 			{ | ||||||
|  | 				valoresRisco.setToHsRelatorioRiscoValorQualitativo( (HsRelatorioRiscoValorQualitativo) comboValorQualitativo.getSelectedItem() ); | ||||||
|  | 			} | ||||||
|  | 			else | ||||||
|  | 			{ | ||||||
|  | 				valoresRisco.setToHsRelatorioRiscoValorQualitativo( null ); | ||||||
|  | 				Integer probabilidade = 0; | ||||||
|  | 				Integer severidade = 0; | ||||||
|  | 				try{ | ||||||
|  | 					probabilidade = new Integer(textProbabilidade.getText() != null ? textProbabilidade.getText() : "0" ); | ||||||
|  | 				} | ||||||
|  | 				catch (NumberFormatException e1) | ||||||
|  | 				{ | ||||||
|  | 					e1.printStackTrace(); | ||||||
|  | 				} | ||||||
|  | 				try{ | ||||||
|  | 					severidade = new Integer(textSeveridade.getText() != null ? textSeveridade.getText() : "0" ); | ||||||
|  | 				} | ||||||
|  | 				catch (NumberFormatException e2) | ||||||
|  | 				{ | ||||||
|  | 					e2.printStackTrace(); | ||||||
|  | 				} | ||||||
|  | 				valoresRisco.setProbabilidade( probabilidade ); | ||||||
|  | 				valoresRisco.setSeveridade( severidade ); | ||||||
|  | 			} | ||||||
|  | 			valoresRisco.save(); | ||||||
|  | 			refresh(); | ||||||
|  | 			setEnabled(); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	@Override | ||||||
|  | 	public void caretUpdate( CaretEvent e ) | ||||||
|  | 	{ | ||||||
|  | 		setEnabled(); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	@Override | ||||||
|  | 	public void actionPerformed( ActionEvent e ) | ||||||
|  | 	{ | ||||||
|  | 		setEnabled(); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,16 @@ | |||||||
|  | package siprp.higiene.relatorio; | ||||||
|  | 
 | ||||||
|  | import javax.swing.tree.DefaultMutableTreeNode; | ||||||
|  | 
 | ||||||
|  | import siprp.database.cayenne.objects.HsRelatorioPostoMedida; | ||||||
|  | 
 | ||||||
|  | public class MedidaRelatorioNode extends DefaultMutableTreeNode | ||||||
|  | { | ||||||
|  | 	private static final long serialVersionUID = 1L; | ||||||
|  | 	 | ||||||
|  | 	public MedidaRelatorioNode( HsRelatorioPostoMedida medida ) | ||||||
|  | 	{ | ||||||
|  | 		super( medida ); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | } | ||||||
| @ -1,38 +1,139 @@ | |||||||
| package siprp.higiene.relatorio; | package siprp.higiene.relatorio; | ||||||
| 
 | 
 | ||||||
|  | import static com.evolute.utils.strings.UnicodeLatin1Map.atilde; | ||||||
|  | import static com.evolute.utils.strings.UnicodeLatin1Map.ccedil; | ||||||
|  | import info.clearthought.layout.TableLayout; | ||||||
|  | import info.clearthought.layout.TableLayoutConstraints; | ||||||
|  | 
 | ||||||
|  | import java.awt.CardLayout; | ||||||
|  | import java.beans.PropertyChangeEvent; | ||||||
|  | import java.beans.PropertyChangeListener; | ||||||
|  | 
 | ||||||
|  | import javax.swing.BorderFactory; | ||||||
| import javax.swing.JPanel; | import javax.swing.JPanel; | ||||||
| 
 | 
 | ||||||
|  | import com.evolute.utils.ui.image.ImagePanel; | ||||||
|  | 
 | ||||||
|  | import leaf.ui.LeafButton; | ||||||
|  | import siprp.database.cayenne.objects.HsRelatorio; | ||||||
|  | import siprp.database.cayenne.objects.HsRelatorioMedida; | ||||||
|  | import siprp.database.cayenne.objects.HsRelatorioPosto; | ||||||
|  | import siprp.database.cayenne.objects.HsRelatorioPostoMedida; | ||||||
|  | import siprp.database.cayenne.objects.HsRelatorioPostoRisco; | ||||||
|  | 
 | ||||||
| public class PlanoActuacaoPanel extends JPanel | public class PlanoActuacaoPanel extends JPanel | ||||||
| { | { | ||||||
| 
 | 
 | ||||||
| 	private static final long serialVersionUID = 1L; | 	private static final long serialVersionUID = 1L; | ||||||
| 	 | 	 | ||||||
|  | 	private static final String RISCO_PANEL = "RISCO_PANEL"; | ||||||
|  | 	 | ||||||
|  | 	private static final String MEDIDA_PANEL = "MEDIDA_PANEL"; | ||||||
|  | 	 | ||||||
|  | 	private static final String EMPTY_PANEL = "EMPTY_PANEL"; | ||||||
|  | 	 | ||||||
|  | 	private final AdicionarAreasRelatorioPanel areas = new AdicionarAreasRelatorioPanel(); | ||||||
|  | 	 | ||||||
|  | 	private final AdicionarRiscosRelatorioPanel riscos = new AdicionarRiscosRelatorioPanel(); | ||||||
|  | 	 | ||||||
|  | 	private final GerirValoresRiscoPanel valoresRisco = new GerirValoresRiscoPanel(); | ||||||
|  | 	 | ||||||
|  | 	private final GerirMedidaRelatorioPanel valoresMedida = new GerirMedidaRelatorioPanel(); | ||||||
|  | 	 | ||||||
|  | 	private final JPanel emptyPanel = new JPanel(); | ||||||
|  | 	 | ||||||
|  | 	private final JPanel valoresPanel = new JPanel(); | ||||||
|  | 	 | ||||||
|  | 	private final CardLayout cards = new CardLayout(); | ||||||
|  | 	 | ||||||
|  | 	private final LeafButton submeterButton = new LeafButton( "Submeter plano de actua" + ccedil + atilde + "o" ); | ||||||
|  | 
 | ||||||
| 	public PlanoActuacaoPanel() | 	public PlanoActuacaoPanel() | ||||||
| 	{ | 	{ | ||||||
| 		startupListeners(); | 		startupListeners(); | ||||||
| 		startupComponents(); | 		startupComponents(); | ||||||
| 		startupLayout(); | 		startupLayout(); | ||||||
| 		placeComponents(); | 		placeComponents(); | ||||||
|  | 		cards.show( valoresPanel, EMPTY_PANEL ); | ||||||
| 	} | 	} | ||||||
| 	 | 	 | ||||||
| 	private void startupListeners() | 	private void startupListeners() | ||||||
| 	{ | 	{ | ||||||
| 		 | 		areas.addPropertyChangeListener( AdicionarAreasRelatorioPanel.SELECTION_CHANGED, new PropertyChangeListener() | ||||||
|  | 		{ | ||||||
|  | 			@Override | ||||||
|  | 			public void propertyChange( PropertyChangeEvent evt ) | ||||||
|  | 			{ | ||||||
|  | 				if( evt.getNewValue() instanceof HsRelatorioPosto ) | ||||||
|  | 				{ | ||||||
|  | 					riscos.setPosto( (HsRelatorioPosto) evt.getNewValue() ); | ||||||
|  | 				} | ||||||
|  | 				else | ||||||
|  | 				{ | ||||||
|  | 					riscos.setPosto( null ); | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 		} ); | ||||||
|  | 		riscos.addPropertyChangeListener( AdicionarRiscosRelatorioPanel.SELECTION_CHANGED, new PropertyChangeListener() | ||||||
|  | 		{ | ||||||
|  | 			@Override | ||||||
|  | 			public void propertyChange( PropertyChangeEvent evt ) | ||||||
|  | 			{ | ||||||
|  | 				if( evt.getNewValue() instanceof HsRelatorioPostoRisco ) | ||||||
|  | 				{ | ||||||
|  | 					cards.show( valoresPanel, RISCO_PANEL ); | ||||||
|  | 					valoresRisco.setRelatorioPostoRisco( (HsRelatorioPostoRisco) evt.getNewValue() ); | ||||||
|  | 				} | ||||||
|  | 				else if( evt.getNewValue() instanceof HsRelatorioPostoMedida ) | ||||||
|  | 				{ | ||||||
|  | 					cards.show( valoresPanel, MEDIDA_PANEL ); | ||||||
|  | 					valoresMedida.setMedida( (HsRelatorioPostoMedida) evt.getNewValue() ); | ||||||
|  | 				} | ||||||
|  | 				else | ||||||
|  | 				{ | ||||||
|  | 					cards.show( valoresPanel, EMPTY_PANEL ); | ||||||
|  | 					valoresRisco.setRelatorioPostoRisco( null ); | ||||||
|  | 					valoresMedida.setMedida( null ); | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 		} ); | ||||||
| 	} | 	} | ||||||
| 	 | 	 | ||||||
| 	private void startupComponents() | 	private void startupComponents() | ||||||
| 	{ | 	{ | ||||||
| 		 | 		riscos.setBorder( BorderFactory.createTitledBorder( "Riscos" ) ); | ||||||
|  | 		areas.setBorder( BorderFactory.createTitledBorder( "Postos de trabalho" ) ); | ||||||
| 	} | 	} | ||||||
| 	 | 	 | ||||||
| 	private void startupLayout() | 	private void startupLayout() | ||||||
| 	{ | 	{ | ||||||
| 		 | 		TableLayout layout = new TableLayout( | ||||||
|  | 				new double[]{ TableLayout.FILL, TableLayout.FILL, TableLayout.FILL }, | ||||||
|  | 				new double[]{ TableLayout.MINIMUM, TableLayout.FILL } | ||||||
|  | 		); | ||||||
|  | 		layout.setHGap( 5 ); | ||||||
|  | 		layout.setVGap( 5 ); | ||||||
|  | 		setLayout( layout ); | ||||||
|  | 		valoresPanel.setLayout(cards); | ||||||
| 	} | 	} | ||||||
| 	 | 	 | ||||||
| 	private void placeComponents() | 	private void placeComponents() | ||||||
| 	{ | 	{ | ||||||
|  | 		valoresPanel.add( valoresRisco, RISCO_PANEL); | ||||||
|  | 		valoresPanel.add( valoresMedida, MEDIDA_PANEL ); | ||||||
|  | 		valoresPanel.add( emptyPanel, EMPTY_PANEL ); | ||||||
|  | 		add(areas,new TableLayoutConstraints(0,0,0,1)); | ||||||
|  | 		add(riscos,new TableLayoutConstraints(1,0,1,1)); | ||||||
|  | 		add(valoresPanel,new TableLayoutConstraints(2,0,2,1)); | ||||||
|  | 	} | ||||||
| 
 | 
 | ||||||
|  | 	public void setRelatorio( HsRelatorio relatorio ) | ||||||
|  | 	{ | ||||||
|  | 		areas.setRelatorio( relatorio ); | ||||||
|  | 		riscos.setPosto( null ); | ||||||
|  | 		valoresRisco.setRelatorioPostoRisco( null ); | ||||||
|  | 		valoresMedida.setMedida( null ); | ||||||
| 	} | 	} | ||||||
| 	 | 	 | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | |||||||
| @ -0,0 +1,17 @@ | |||||||
|  | package siprp.higiene.relatorio; | ||||||
|  | 
 | ||||||
|  | import javax.swing.tree.DefaultMutableTreeNode; | ||||||
|  | 
 | ||||||
|  | import siprp.database.cayenne.objects.HsRelatorioPosto; | ||||||
|  | 
 | ||||||
|  | public class PostoRelatorioNode extends DefaultMutableTreeNode | ||||||
|  | { | ||||||
|  | 
 | ||||||
|  | 	private static final long serialVersionUID = 1L; | ||||||
|  | 	 | ||||||
|  | 	public PostoRelatorioNode( HsRelatorioPosto risco ) | ||||||
|  | 	{ | ||||||
|  | 		super( risco ); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | } | ||||||
| @ -0,0 +1,16 @@ | |||||||
|  | package siprp.higiene.relatorio; | ||||||
|  | 
 | ||||||
|  | import javax.swing.tree.DefaultMutableTreeNode; | ||||||
|  | 
 | ||||||
|  | import siprp.database.cayenne.objects.HsRelatorioPostoRisco; | ||||||
|  | 
 | ||||||
|  | public class RiscoRelatorioNode extends DefaultMutableTreeNode | ||||||
|  | { | ||||||
|  | 	private static final long serialVersionUID = 1L; | ||||||
|  | 	 | ||||||
|  | 	public RiscoRelatorioNode( HsRelatorioPostoRisco risco ) | ||||||
|  | 	{ | ||||||
|  | 		super( risco ); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | } | ||||||
					Loading…
					
					
				
		Reference in new issue