Package clips.directory.editors.workTypes

Source Code of clips.directory.editors.workTypes.PanelEditWorkTypes

/*
* PanelEditWorkTypes.java
*
* Created on 5 Июнь 2008 г., 10:23
*/

package clips.directory.editors.workTypes;

import cli_fmw.delegate.directory.complex.DirectoryLocator;
import clips.delegate.directory.complex.DirectoryWorkTypeItem;
import clips.delegate.directory.complex.DirectoryWorkType;
import cli_fmw.delegate.DelegateLine2;
import beans.directory.worktypes.entities.WorkTypeDetails;
import cli_fmw.main.ClipsException;
import cli_fmw.main.DirectoryItemNotFoundException;
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.ModalDialog;
import cli_fmw.utils.Selector;
import cli_fmw.utils.table_config_states.StateSaver;
import cli_fmw.utils.table_config_states.TableState;
import clips.delegate.directory.simple.receptionType.DirectoryReceptionType;
import clips.delegate.directory.simple.receptionType.DirectoryReceptionTypeItem;
import java.awt.Color;
import javax.swing.JComboBox;
import javax.swing.ListSelectionModel;
import javax.swing.table.TableColumn;

/**
* редактор справочника WorkTypes...
* @author  lacoste
*/
public class PanelEditWorkTypes extends PageGeneric implements Printable {
    private DirectoryWorkType directory;   
    private JComboBox box;
   
    /** Creates new form PanelEditWorkTypes */
    public PanelEditWorkTypes(PageContainer container) throws ClipsException {
        super(container);
        initComponents();
               
        directory = DirectoryLocator.getDirectory(DirectoryWorkType.class, false);            
       
        tabWorkTypes.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
       
        box = new JComboBox();
        DirectoryReceptionType recTypeDir = DirectoryLocator.getDirectory(DirectoryReceptionType.class);
        Selector<DirectoryReceptionTypeItem> items = recTypeDir.getItems();
        for (int i = 0; i < items.size(); i++) {
            DirectoryReceptionTypeItem item = items.get(i);
            box.addItem(item);
        }
       
        setTable();
    resizeColumn();
    StateSaver.attachTo(this);
    }
   
    private void setTable() throws ClipsException {
        tabWorkTypes.setModel(new TableModelEditWorkTypes(directory))
        tabWorkTypes.setDefaultRenderer(Object.class, new TableCellRendererWorkTypes());
        tabWorkTypes.getColumnModel().getColumn(TableModelEditWorkTypes.COL_HIGHLIGHT).setCellEditor(new TableColorEditorWorkTypes());
        tabWorkTypes.getColumnModel().getColumn(TableModelEditWorkTypes.COL_SHADOW).setCellEditor(new TableColorEditorWorkTypes());
    }
   
    private void resizeColumn() {
    TableState          state = new TableState();
    state.setPreferredWidth(TableModelEditWorkTypes.COL_ID,        2);
    state.setPreferredWidth(TableModelEditWorkTypes.COL_TITLE,      8);
    state.setPreferredWidth(TableModelEditWorkTypes.COL_AVAILIABLE,    5);
    state.setPreferredWidth(TableModelEditWorkTypes.COL_CANBEOVERLAPPED,5);
    state.setPreferredWidth(TableModelEditWorkTypes.COL_HIGHLIGHT,    5);
    state.setPreferredWidth(TableModelEditWorkTypes.COL_SHADOW,      5);
        state.setPreferredWidth(TableModelEditWorkTypes.COL_TIME,      5);
      StateSaver.setDefaultState(this, tabWorkTypes, 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() {

        jScrollPane1 = new javax.swing.JScrollPane();
        tabWorkTypes = new cli_fmw.utils.sorted_table.SortedTable();
        jPanel1 = new javax.swing.JPanel();
        btAdd = new javax.swing.JButton();
        btDel = new javax.swing.JButton();

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

        tabWorkTypes.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                tabWorkTypesMouseClicked(evt);
            }
        });
        jScrollPane1.setViewportView(tabWorkTypes);

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

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

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

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 525, Short.MAX_VALUE)
                    .addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 525, Short.MAX_VALUE))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 273, Short.MAX_VALUE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
    }// </editor-fold>//GEN-END:initComponents

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

    }//GEN-LAST:event_jScrollPane1ComponentResized

    private void btAddActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btAddActionPerformed
        try {
            WorkTypeDetails d = new WorkTypeDetails();
            d.colorHightlight = new Color(255, 255, 255);
            d.colorShadow = new Color(255, 255, 255);
            d.availiable = true;
            d.canBeOverlapped = true;
            d.id = 0;
            d.title = "Введите название";        
            directory.getItems().append(new DirectoryWorkTypeItem(d));
            setTable();
           
        } catch (ClipsException e) {
            MessageBox.showException(e);
        }
       
    }//GEN-LAST:event_btAddActionPerformed

    private void btDelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btDelActionPerformed
        try {
            int k = tabWorkTypes.getSelectedRowSorted();       
            if (k > -1) {
                directory.getItems().remove(k);
            }
            directory = DirectoryLocator.getDirectory(DirectoryWorkType.class, true);
            setTable();
        } catch(ClipsException e) {
            MessageBox.showException(e);
        }           
    }//GEN-LAST:event_btDelActionPerformed

    private void tabWorkTypesMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_tabWorkTypesMouseClicked
    //    try {
            if (evt.getClickCount() < 2) {
                return;
            }

            int col = tabWorkTypes.columnAtPoint(evt.getPoint());
            TableColumn coll = tabWorkTypes.getColumnModel().getColumn(col);
            col = coll.getModelIndex();

            if (col == TableModelEditWorkTypes.COL_TIME) {
                int row = tabWorkTypes.getSelectedRowSorted();
                if (row > -1) {
                    DirectoryWorkTypeItem item = directory.getItems().get(row);
                    DlgWorkTypeSetTime dlg = new DlgWorkTypeSetTime(MainWindow.mainWindow, item, getAuditManager());
                    dlg.setVisible(true);
                    if (dlg.getDlgResult() == ModalDialog.DLG_OK) {
                        tabWorkTypes.updateUI();
                    }
                }
            }
      /*  } catch (DirectoryItemNotFoundException e) {
            MessageBox.showException(e);
        }*/
    }//GEN-LAST:event_tabWorkTypesMouseClicked
       
    // 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 tabWorkTypes;
    // End of variables declaration//GEN-END:variables

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

    @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, tabWorkTypes.getModel(), getClass());
        }
    }

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

}
TOP

Related Classes of clips.directory.editors.workTypes.PanelEditWorkTypes

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.