Package clips.directory.editors.servicePacketTemplate

Source Code of clips.directory.editors.servicePacketTemplate.PanelEditPacketTemplates

/*
* PanelEditPacketTemplates.java
*
* Created on 17 Июнь 2008 г., 16:23
*/

package clips.directory.editors.servicePacketTemplate;

import cli_fmw.delegate.DelegateLine2;
import beans.directory.packet.entity.PacketTemplateDetails;
import cli_fmw.delegate.directory.complex.DirectoryLocator;
import clips.delegate.directory.complex.DirectoryPacketTemplate;
import clips.delegate.directory.complex.DirectoryPacketTemplateItem;
import cli_fmw.main.ClipsException;
import cli_fmw.main.MainWindow;
import cli_fmw.main.PageContainer;
import cli_fmw.main.PageGeneric;
import cli_fmw.main.PrintCreators;
import cli_fmw.main.Printable;
import cli_fmw.report.TableReportOptions;
import cli_fmw.utils.MessageBox;
import cli_fmw.utils.table_config_states.StateSaver;
import cli_fmw.utils.table_config_states.TableState;
import clips.delegate.directory.simple.medexam.DirectoryMedexamType;
import clips.login.UserInfo;
import javax.swing.DefaultCellEditor;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JComboBox;
import javax.swing.ListSelectionModel;
import javax.swing.table.TableColumn;

/**
* панель редактирования справочника "пакет услуг"
* @author  lacoste
*/
public class PanelEditPacketTemplates extends PageGeneric implements Printable {
    private DirectoryPacketTemplate directory;

    /** Creates new form PanelEditPacketTemplates */
    public PanelEditPacketTemplates(PageContainer container) throws ClipsException {
        super(container);
        initComponents();
        directory = (DirectoryPacketTemplate) DirectoryLocator.getDirectory(DirectoryPacketTemplate.class, false);
        tabPacketTemplates.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

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

    private void setTable() throws ClipsException {
        tabPacketTemplates.setModel(new TableModelEditPacketTemplates(directory));
        DirectoryMedexamType dirTypes = DirectoryLocator.getDirectory(DirectoryMedexamType.class);
        DefaultComboBoxModel modelTypes = new DefaultComboBoxModel(dirTypes.toArray());
        JComboBox comboType = new JComboBox(modelTypes);
        tabPacketTemplates.getColumnModel().getColumn(TableModelEditPacketTemplates.COL_TYPE).setCellEditor(new DefaultCellEditor(comboType));
    }
   
    private void resizeColumn() {
    TableState          state = new TableState();
    state.setPreferredWidth(TableModelEditPacketTemplates.COL_ID,    2);
    state.setPreferredWidth(TableModelEditPacketTemplates.COL_TITLE,  7);
    state.setPreferredWidth(TableModelEditPacketTemplates.COL_TYPE,     5);
    state.setPreferredWidth(TableModelEditPacketTemplates.COL_ITEMS,  15);
    state.setPreferredWidth(TableModelEditPacketTemplates.COL_DIRTY,  2);
      StateSaver.setDefaultState(this, tabPacketTemplates, 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();
        tabPacketTemplates = new cli_fmw.utils.sorted_table.SortedTable();

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

        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.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);
            }
        });

        tabPacketTemplates.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                tabPacketTemplatesMouseClicked(evt);
            }
        });
        tabPacketTemplates.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
            public void mouseMoved(java.awt.event.MouseEvent evt) {
                tabPacketTemplatesMouseMoved(evt);
            }
        });
        jScrollPane1.setViewportView(tabPacketTemplates);

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

private void btAddActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btAddActionPerformed
    try {
        PacketTemplateDetails d = new PacketTemplateDetails();
        d.id = 0;
        d.title = "Введите название пакета";
        d.lpuID = UserInfo.get().getCollaborator().getLpu().getID();
        DirectoryPacketTemplateItem item = new DirectoryPacketTemplateItem(d);
        directory.getItems().append(item);
        setTable();
    } catch (ClipsException ex) {
        MessageBox.showException(ex);
    }
}//GEN-LAST:event_btAddActionPerformed

private void btDelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btDelActionPerformed
    try {
        int row = tabPacketTemplates.getSelectedRowSorted();
        if (row < 0) {
            return;
        }
        DirectoryPacketTemplateItem item = ((TableModelEditPacketTemplates) tabPacketTemplates.getModel()).getItem(row);
        directory.getItems().remove(item);
        //directory = (DirectoryPacketTemplate) DirectoryLocator.getDirectory(DirectoryPacketTemplate.class, true);
        setTable();
    } catch (ClipsException ex) {
        MessageBox.showException(ex);
    }
}//GEN-LAST:event_btDelActionPerformed

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

private void tabPacketTemplatesMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_tabPacketTemplatesMouseClicked
    if (evt.getClickCount() < 2) {
        return;
    }
    int col = tabPacketTemplates.columnAtPoint(evt.getPoint());
    TableColumn coll = tabPacketTemplates.getColumnModel().getColumn(col);
    col = coll.getModelIndex();
    int row = tabPacketTemplates.getSelectedRowSorted();
   
    try {
        DirectoryPacketTemplateItem packet = directory.getFilteredItems(UserInfo.get().getCollaborator().getLpu()).get(row);
        if (packet.getID() == 0) {
            return;
        }
        DlgEditTemplateItems dlg = new DlgEditTemplateItems(MainWindow.mainWindow, packet, getAuditManager());
        dlg.setVisible(true);
        setTable();
    } catch (ClipsException e) {
        MessageBox.showException(e);
    }
}//GEN-LAST:event_tabPacketTemplatesMouseClicked

private void tabPacketTemplatesMouseMoved(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_tabPacketTemplatesMouseMoved
    int col = tabPacketTemplates.columnAtPoint(evt.getPoint());
    TableColumn coll = tabPacketTemplates.getColumnModel().getColumn(col);
    col = coll.getModelIndex();
    if (col == TableModelEditPacketTemplates.COL_ITEMS) {
        tabPacketTemplates.setToolTipText("Двойной клик, чтобы редактировать состав пакета");
    }
    else {
        tabPacketTemplates.setToolTipText(null);
    }
}//GEN-LAST:event_tabPacketTemplatesMouseMoved


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

    @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 = "Шаблоны пакетов услуг";
            TableReportOptions ops = new TableReportOptions(TableReportOptions.PageOrentation.horizontal);
            PrintCreators.createGeneratedReport(title, ops, null, null, tabPacketTemplates.getModel(), getClass());
        }
    }
}
TOP

Related Classes of clips.directory.editors.servicePacketTemplate.PanelEditPacketTemplates

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.