Package clips.administrator.certificate.tagList

Source Code of clips.administrator.certificate.tagList.PanelTagList

/*
* PanelServiceList.java
*
* Created on 21 Февраль 2008 г., 15:30
*/
package clips.administrator.certificate.tagList;

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 clips.delegate.doctor.certificate.tag.CertTagFactory;
import clips.delegate.doctor.certificate.tag.interfaces.CertTag;
import framework.utils.PairIntStr;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.TableModel;
import clips.delegate.doctor.certificate.tag.interfaces.AbstrMultiTag;
import javax.swing.ListSelectionModel;
import javax.swing.border.TitledBorder;
/**
* Панель просмотра и добавления услуг клиента работником регистратуры. Содержит
* таблицу услуг. После создания панели необходимо дать панели
* клиента методом setClient(ClientLocal client)
* @author  vip
*/
public class PanelTagList extends PageGeneric implements Printable {
    TableModelTagList modelTagList;
    TableModelResultList modelResultList;


  public PanelTagList(PageContainer container) throws ClipsException {
        super(container);
        initComponents();
        tabTagList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        tabResultList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        updateTableTagList();
        updateTableResultList();

        tabTagList.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
            @Override
            public void valueChanged(ListSelectionEvent e) {
                try {
                    updateTableResultList();
                } catch (ClipsException ex) {
                    MessageBox.showException(ex);
                }
            }
        });

        resizeColumn();
    StateSaver.attachTo(this);
    }

    private void updateTableTagList() {
        modelTagList = new TableModelTagList();
        tabTagList.setModel(modelTagList);
    }

    private void updateTableResultList() throws ClipsException {
        int row = tabTagList.getSelectedRowSorted();
        TitledBorder border = (TitledBorder) jScrollPane2.getBorder();
        if (row >=0 && row < modelTagList.getRowCount()) {
            String tagName = modelTagList.getTagNameAt(row);
            Class<? extends CertTag> classTag = CertTagFactory.getClassByTag(tagName);
            if (AbstrMultiTag.class.isAssignableFrom(classTag)) {
                CertTag tag = null;
                try {
                    Constructor<? extends CertTag> constructor = classTag.getConstructor();
                    tag = constructor.newInstance();
                } catch (NoSuchMethodException ex) {
                    throw new ClipsException("Ошибка в теге справки", ex);
                } catch (SecurityException ex) {
                    throw new ClipsException("Ошибка в теге справки", ex);
                } catch (InstantiationException ex) {
                    throw new ClipsException("Ошибка в теге справки", ex);
                } catch (IllegalAccessException ex) {
                    throw new ClipsException("Ошибка в теге справки", ex);
                } catch (IllegalArgumentException ex) {
                    throw new ClipsException("Ошибка в теге справки", ex);
                } catch (InvocationTargetException ex) {
                    if (!(ex.getTargetException() instanceof ClipsException)) {
                        throw new ClipsException("Ошибка в теге справки", ex);
                    }
                }
                if (tag != null) {
                    //все нормально
                    modelResultList = new TableModelResultList(((AbstrMultiTag) tag).getAllItems());
                    border.setTitle("Список результатов");
                } else {
                    //невозможно получить список результатов тега
                    modelResultList = new TableModelResultList(null);
                    border.setTitle("Список результатов - динамический");
                }
            } else {
                //не мультитег
                modelResultList = new TableModelResultList(null);
                border.setTitle("Список результатов - не существует");
            }
        } else {
            //не выбрана строка в таблице
            modelResultList = new TableModelResultList(null);
            border.setTitle("Список результатов - тэг не выбран");
        }
        tabResultList.setModel(modelResultList);
        jScrollPane2.repaint();
    }
    /** 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() {

        jLabel1 = new javax.swing.JLabel();
        jSplitPane1 = new javax.swing.JSplitPane();
        jScrollPane1 = new javax.swing.JScrollPane();
        tabTagList = new cli_fmw.utils.sorted_table.SortedTable();
        jScrollPane2 = new javax.swing.JScrollPane();
        tabResultList = new cli_fmw.utils.sorted_table.SortedTable();

        jLabel1.setText("В заболевании");

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

        jSplitPane1.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT);
        jSplitPane1.setResizeWeight(0.5);

        jScrollPane1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Список тегов", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, jLabel1.getFont()));
        jScrollPane1.addComponentListener(new java.awt.event.ComponentAdapter() {
            public void componentResized(java.awt.event.ComponentEvent evt) {
                jScrollPane1ComponentResized(evt);
            }
        });

        tabTagList.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_NEXT_COLUMN);
        jScrollPane1.setViewportView(tabTagList);

        jSplitPane1.setLeftComponent(jScrollPane1);

        jScrollPane2.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Список результатов - тэг не выбран", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, jLabel1.getFont()));
        jScrollPane2.setViewportView(tabResultList);

        jSplitPane1.setRightComponent(jScrollPane2);

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


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

}//GEN-LAST:event_jScrollPane1ComponentResized
   
    private void resizeColumn() {
    TableState state = new TableState();
    state.setPreferredWidth(TableModelTagList.COL_NAME,    3);
    state.setPreferredWidth(TableModelTagList.COL_TYPE,    2);
    state.setPreferredWidth(TableModelTagList.COL_VALUE,  1);
    state.setPreferredWidth(TableModelTagList.COL_DESC,    5);
      StateSaver.setDefaultState(this, tabTagList, state);
    state = new TableState();
    state.setPreferredWidth(TableModelResultList.COL_ID,  1);
        state.setPreferredWidth(TableModelResultList.COL_VALUE,  3);
      StateSaver.setDefaultState(this, tabResultList, state);
    }
   
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JLabel jLabel1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JSplitPane jSplitPane1;
    private cli_fmw.utils.sorted_table.SortedTable tabResultList;
    private cli_fmw.utils.sorted_table.SortedTable tabTagList;
    // End of variables declaration//GEN-END:variables

    @Override
    public String getPageTitle() {
        return "Список тегов справок";
    }

    @Override
    public boolean readyForPrint() {
        return true;
    }
       
    @Override
    public void print() {
        String title = "Список тегов, используемых в справках";
        TableModel model = new TableModelTagList();
        PrintCreators.createGeneratedReport(title, null, null, null, model, getClass());
    }

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

Related Classes of clips.administrator.certificate.tagList.PanelTagList

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.