package siprp.higiene.legislacoes; import static com.evolute.utils.strings.UnicodeLatin1Map.atilde; import static com.evolute.utils.strings.UnicodeLatin1Map.ccedil; import static com.evolute.utils.strings.UnicodeLatin1Map.otilde; import javax.swing.SwingUtilities; import siprp.ui.SIPRPFrame; import com.evolute.utils.tracker.TrackableWindow; public class GestaoLegislacoesWindow extends SIPRPFrame implements TrackableWindow { private static final long serialVersionUID = 1L; public static final String TITLE = "Gest" + atilde + "o de Legisla" + ccedil + otilde + "es"; // // private static final Dimension SIZE = new Dimension( 800, 400 ); // // private DefaultMutableTreeNode root = new DefaultMutableTreeNode( "Legisla" + ccedil + atilde + "o em Higiene e Seguran" + ccedil + "a no Trabalho" ); // // private final DefaultTreeModel model = new DefaultTreeModel( root ); // // private final JTree tree = new JTree( model ); // // private final JScrollPane scroll = new JScrollPane( tree ); // // private final JButton buttonCriar = new JButton("Criar"); // // private final JButton buttonRemover = new JButton("Remover"); // // private final JButton buttonGuardar = new JButton("Guardar"); // // private final JButton buttonCancelar = new JButton("Cancelar"); // // private final JTextArea text = new JTextArea(); // // private final JPanel panelTree = new JPanel(); // // private final JPanel panelText = new JPanel(); // // private final PlanoActuacaoDAO provider = new PlanoActuacaoDAO(); // // private Legislacao newLegislacao = null; // // public static void main( String[] args ) // { // GestaoLegislacoesWindow window = new GestaoLegislacoesWindow(); // window.setDefaultCloseOperation( SIPRPFrame.EXIT_ON_CLOSE ); // window.setVisible( true ); // } public GestaoLegislacoesWindow() { // this.setTitle( TITLE ); // this.setSize( SIZE ); // startupComponents(); // startupLayout(); // startupListeners(); // placeComponents(); // refresh(); } // private void startupComponents() // { // panelText.setBorder( BorderFactory.createEtchedBorder() ); // buttonRemover.setEnabled( false ); // buttonGuardar.setEnabled( false ); // buttonCancelar.setEnabled( false ); // text.setEnabled( false ); // tree.getSelectionModel().setSelectionMode( TreeSelectionModel.SINGLE_TREE_SELECTION ); // tree.setRootVisible( true ); // } // // private void startupLayout() // { // startupPanelTextLayout(); // startupPanelTreeLayout(); // this.getContentPane().setLayout( new GridLayout(1,0,5,5) ); // } // // private void startupPanelTextLayout() // { // TableLayout layout = new TableLayout( // new double[]{ TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.FILL }, // new double[]{ TableLayout.FILL, TableLayout.MINIMUM } // ); // layout.setHGap( 5 ); // layout.setVGap( 5 ); // panelText.setLayout( layout ); // } // // private void startupPanelTreeLayout() // { // TableLayout layout = new TableLayout( // new double[]{ TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.FILL }, // new double[]{ TableLayout.FILL, TableLayout.MINIMUM } // ); // layout.setHGap( 5 ); // layout.setVGap( 5 ); // panelTree.setLayout( layout ); // } // // private void startupListeners() // { // buttonCriar.addActionListener( new ActionListener() // { // @Override // public void actionPerformed( ActionEvent e ) // { // criarLegislacao( ); // } // } ); // buttonRemover.addActionListener( new ActionListener() // { // @Override // public void actionPerformed( ActionEvent e ) // { // removerLegislacao(); // } // } ); // buttonGuardar.addActionListener( new ActionListener() // { // @Override // public void actionPerformed( ActionEvent e ) // { // guardarLegislacao(); // } // } ); // buttonCancelar.addActionListener( new ActionListener() // { // @Override // public void actionPerformed( ActionEvent e ) // { // cancelarEdicao(); // } // } ); // tree.getSelectionModel().addTreeSelectionListener( new TreeSelectionListener() // { // @Override // public void valueChanged( TreeSelectionEvent e ) // { // TreePath path = tree.getSelectionPath(); // Legislacao legislacao = getSelectedLegislacao(); // if( path != null ) // { // buttonRemover.setEnabled( !root.equals( path.getLastPathComponent() ) ); // text.setEnabled( !root.equals( path.getLastPathComponent() ) ); // text.setText( legislacao == null ? "" : legislacao.getDescription() ); // } // else // { // text.setEnabled( false ); // buttonRemover.setEnabled( false ); // text.setText( "" ); // } // } // } ); // text.addCaretListener( new CaretListener() // { // @Override // public void caretUpdate( CaretEvent e ) // { // if( text.getText().length() > 0) // { // Legislacao legislacao = null; // if( newLegislacao != null ) // { // legislacao = newLegislacao; // } // else // { // legislacao = getSelectedLegislacao(); // } // boolean changed = legislacao == null ? false : !legislacao.getDescription().equals( text.getText() ); // buttonGuardar.setEnabled( changed ); // text.setBorder( changed ? BorderFactory.createLineBorder( Color.RED, 2 ) : BorderFactory.createEtchedBorder() ); // } // else // { // buttonGuardar.setEnabled( false ); // text.setBorder( BorderFactory.createEtchedBorder() ); // } // } // } ); // } // // private void placeComponents() // { // panelTree.add( scroll, new TableLayoutConstraints( 0, 0, 2, 0 ) ); // panelTree.add( buttonCriar, new TableLayoutConstraints( 0, 1 ) ); // panelTree.add( buttonRemover, new TableLayoutConstraints( 1, 1 ) ); // // panelText.add( text, new TableLayoutConstraints( 0, 0, 2, 0 ) ); // panelText.add( buttonGuardar, new TableLayoutConstraints( 0, 1 ) ); // panelText.add( buttonCancelar, new TableLayoutConstraints( 1, 1 ) ); // // this.getContentPane().add( panelTree ); // this.getContentPane().add( panelText ); // } // // private void criarLegislacao() // { // text.setText( "" ); // Legislacao selected = getSelectedLegislacao(); // if( selected != null ) // { // newLegislacao = provider.createNovaLegislacao( selected ); // } // else // { // newLegislacao = provider.createNovaLegislacao( getSelectedLegislacao() ); // } // prepareEditar( false ); // textInputOnly( true ); // } // // private void prepareEditar( boolean editar ) // { // buttonGuardar.setText( editar ? "Editar" : "Criar" ); // buttonCancelar.setText( editar ? "Reverter" : "Cancelar" ); // } // // private void textInputOnly( boolean doTextInput ) // { // text.setEnabled( doTextInput ); // buttonCancelar.setEnabled( doTextInput ); // buttonCriar.setEnabled( !doTextInput ); // tree.setEnabled( !doTextInput ); // text.setBorder( doTextInput ? BorderFactory.createLineBorder( Color.RED, 2 ) : BorderFactory.createEtchedBorder()); // if( doTextInput ){ // text.setCaretPosition( 0 ); // text.requestFocus(); // buttonRemover.setEnabled( false ); // } // } // // private void guardarLegislacao() // { // TreePath path = tree.getSelectionPath(); // if( newLegislacao != null ) // { // newLegislacao.setDescription( text.getText() ); // provider.commit(); // newLegislacao = null; // prepareEditar( true ); // textInputOnly( false ); // refresh(); // } // else if( path != null ) // { // Legislacao legislacao = getSelectedLegislacao(); // legislacao.setDescription( text.getText() ); // provider.commit(); // prepareEditar( true ); // textInputOnly( false ); // refresh(); // } // } // // private void cancelarEdicao() // { // TreePath path = tree.getSelectionPath(); // if( newLegislacao != null ) // { // newLegislacao = null; // prepareEditar( true ); // textInputOnly( false ); // refresh(); // tree.setSelectionPath( path ); // } // else if( path != null ) // { // prepareEditar( true ); // textInputOnly( false ); // refresh(); // tree.setSelectionPath( path ); // } // } // // private Legislacao getSelectedLegislacao() // { // Legislacao result = null; // TreePath path = tree.getSelectionPath(); // if( path != null ) // { // Object o = ( (DefaultMutableTreeNode) path.getLastPathComponent() ).getUserObject(); // if( o instanceof Legislacao ) // { // result = (Legislacao) o; // } // } // return result; // } // // private void removerLegislacao() // { // Legislacao legislacao = getSelectedLegislacao(); // if( legislacao != null ) // { // provider.delete( legislacao ); // } // refresh(); // } // @Override public void refresh() { // clearTree(); // fillTree(); } // // private void clearTree() // { // root.removeAllChildren(); // refreshTree(); // } // // private void fillTree() // { // List legislacoes = provider.getAllLegislacoes( null ); // for( Legislacao legislacao : legislacoes ) // { // DefaultMutableTreeNode node = new DefaultMutableTreeNode( legislacao ); // fillWithChildren( node, legislacao ); // root.add( node ); // } // refreshTree(); // } // // private void fillWithChildren( DefaultMutableTreeNode node, Legislacao legislacao ) // { // if( legislacao != null ) // { // for( Legislacao child : legislacao.getChildrenArray() ) // { // DefaultMutableTreeNode childNode = new DefaultMutableTreeNode(child); // fillWithChildren( childNode, child ); // node.add( childNode ); // } // } // } // // private void refreshTree() // { // model.nodeStructureChanged( root ); // } @Override public boolean closeIfPossible() { close(); return true; } private void close() { SwingUtilities.invokeLater( new Runnable() { public void run() { setVisible( false ); dispose(); } } ); } @Override public void open() { setVisible( true ); } }