Package clips.directory.editors.cabinet

Source Code of clips.directory.editors.cabinet.PanelEditCabinets

/*
* PanelEditCabinets.java
*
* Created on 2 Октябрь 2008 г., 12:36
*/

package clips.directory.editors.cabinet;

import clips.delegate.directory.complex.DirectoryCabinet;
import clips.delegate.directory.complex.DirectoryCabinetItem;
import cli_fmw.delegate.directory.complex.DirectoryLocator;
import cli_fmw.delegate.DelegateLine2;
import cli_fmw.main.ClipsException;
import cli_fmw.main.PageContainer;
import cli_fmw.main.PageGeneric;
import cli_fmw.main.PrintCreators;
import cli_fmw.main.Printable;
import cli_fmw.utils.MessageBox;
import cli_fmw.utils.table_config_states.StateSaver;
import cli_fmw.utils.table_config_states.TableState;
import beans.directory.cabinet.entity.CabinetDetails;
import cli_fmw.report.ExtraField;
import cli_fmw.report.SampleMapEntry;
import clips.delegate.directory.ro.DirectoryLpu;
import clips.delegate.directory.ro.DirectoryLpuItem;
import clips.login.UserInfo;
import java.util.ArrayList;
import java.util.Map.Entry;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.DefaultComboBoxModel;
import javax.swing.ListSelectionModel;

/**
*
* @author  lacoste
*/
public class PanelEditCabinets extends PageGeneric implements Printable {
    private DirectoryCabinet directory;
    private TableModelEditCabinets tableModel;
  /** Creates new form PanelEditCabinets
   * @param container
   * @throws ClipsException
   */
    public PanelEditCabinets(PageContainer container) throws ClipsException {
        super(container);
        initComponents();
       
    DirectoryLpu        dirLpu = DirectoryLocator.getDirectory(DirectoryLpu.class);
    DefaultComboBoxModel    model = new DefaultComboBoxModel(dirLpu.toArray());
    model.setSelectedItem(UserInfo.get().getCollaborator().getLpu());
    cbLpu.setModel(model);
        directory = DirectoryLocator.getDirectory(DirectoryCabinet.class, false);
        tabCabinets.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
       
        setTable();
    resizeColumn();
    StateSaver.attachTo(this);
    }

  private DirectoryLpuItem getCurLpu(){
    DirectoryLpuItem    curLPu = (DirectoryLpuItem)cbLpu.getSelectedItem();
    return curLPu;
  }

    private void setTable() throws ClipsException {
       tableModel = new TableModelEditCabinets(directory.getFilteredItems(getCurLpu()));
       tabCabinets.setModel(tableModel);
    }
   
    private void resizeColumn() {
     TableState          state = new TableState();
    state.setPreferredWidth(TableModelEditCabinets.COL_ID,      2);
    state.setPreferredWidth(TableModelEditCabinets.COL_TITLE,    6);
    state.setPreferredWidth(TableModelEditCabinets.COL_DESCRIPTION,  12);
      StateSaver.setDefaultState(this, tabCabinets, state);
    }
   
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
   
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jPanel1 = new javax.swing.JPanel();
        btAdd = new javax.swing.JButton();
        btDel = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        tabCabinets = new cli_fmw.utils.sorted_table.SortedTable();
        jPanel2 = new javax.swing.JPanel();
        cbLpu = new javax.swing.JComboBox();
        jLabel1 = new javax.swing.JLabel();

        setBorder(javax.swing.BorderFactory.createEmptyBorder(5, 5, 5, 5));
        setLayout(new java.awt.BorderLayout(5, 5));

        jPanel1.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.RIGHT));

        btAdd.setText("Добавить");
        btAdd.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btAddActionPerformed(evt);
            }
        });
        jPanel1.add(btAdd);

        btDel.setText("Удалить");
        btDel.setPreferredSize(btAdd.getPreferredSize());
        btDel.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btDelActionPerformed(evt);
            }
        });
        jPanel1.add(btDel);

        add(jPanel1, java.awt.BorderLayout.SOUTH);

        jScrollPane1.addComponentListener(new java.awt.event.ComponentAdapter() {
            public void componentResized(java.awt.event.ComponentEvent evt) {
                jScrollPane1ComponentResized(evt);
            }
        });

        tabCabinets.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jScrollPane1.setViewportView(tabCabinets);

        add(jScrollPane1, java.awt.BorderLayout.CENTER);

        jPanel2.setLayout(new java.awt.BorderLayout(5, 0));

        cbLpu.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
        cbLpu.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                cbLpuItemStateChanged(evt);
            }
        });
        jPanel2.add(cbLpu, java.awt.BorderLayout.CENTER);

        jLabel1.setText("ЛПУ");
        jPanel2.add(jLabel1, java.awt.BorderLayout.LINE_START);

        add(jPanel2, java.awt.BorderLayout.PAGE_START);
    }// </editor-fold>//GEN-END:initComponents

private void btAddActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btAddActionPerformed
    try {
        CabinetDetails d = new CabinetDetails();   
        d.id = 0;   
        d.title = "Введите название кабинета";        
        d.description = "";
    d.lpuId = getCurLpu().getID();
        directory.getItems().append(new DirectoryCabinetItem(d));
    directory = DirectoryLocator.getDirectory(DirectoryCabinet.class, true);
        setTable();
    } catch (ClipsException ex) {
        MessageBox.showException(ex);
    }
}//GEN-LAST:event_btAddActionPerformed

private void btDelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btDelActionPerformed
    try {
        if (tabCabinets.getSelectedRowCount() > 0) {
            DirectoryCabinetItem itemAt = tableModel.getItemAt(tabCabinets.getSelectedRowSorted());
            directory.getItems().remove(itemAt);
        }
        directory = DirectoryLocator.getDirectory(DirectoryCabinet.class, true);
        setTable();
    } catch(ClipsException e) {
        MessageBox.showException(e);
    }  
}//GEN-LAST:event_btDelActionPerformed

private void jScrollPane1ComponentResized(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_jScrollPane1ComponentResized

}//GEN-LAST:event_jScrollPane1ComponentResized

private void cbLpuItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_cbLpuItemStateChanged
    try {
      setTable();
    } catch (ClipsException ex) {
      MessageBox.showException(ex);
    }
}//GEN-LAST:event_cbLpuItemStateChanged

    @Override
    public String getPageTitle() {
        return "Редактор данных кабинетов";
    }

    @Override
    public DelegateLine2 getDelegate() {
        return null;
    }

    @Override
    public boolean readyForPrint() {
        return true;
    }

    @Override
    public void print() {
        if (readyForPrint()) {
            String title = "Справочник кабинетов";
      ArrayList<Entry<String, Object>>    fields = new ArrayList<Entry<String, Object>>();
      fields.add(new SampleMapEntry<String, Object>("clinic", new ExtraField(getCurLpu(), "Клиника: ")));
            PrintCreators.createGeneratedReport(title, null, fields, null, tabCabinets.getModel(), getClass());
        }
    }


    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton btAdd;
    private javax.swing.JButton btDel;
    private javax.swing.JComboBox cbLpu;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JScrollPane jScrollPane1;
    private cli_fmw.utils.sorted_table.SortedTable tabCabinets;
    // End of variables declaration//GEN-END:variables

}
TOP

Related Classes of clips.directory.editors.cabinet.PanelEditCabinets

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.