Package clips.directory.editors.workTypes

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

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package clips.directory.editors.workTypes;

import clips.delegate.directory.complex.DirectoryWorkTypeItem;
import clips.delegate.directory.complex.DirectoryWorkType;
import cli_fmw.main.ClipsException;
import cli_fmw.utils.MessageBox;
import cli_fmw.utils.Selector;
import java.awt.Color;
import java.util.ArrayList;
import javax.swing.table.AbstractTableModel;

/**
*
* @author lacoste
*/
public class TableModelEditWorkTypes extends AbstractTableModel {
    public static final int COLCOUNT = 7;
    public static final int COL_ID = 0;
    public static final int COL_TITLE = 1;
    public static final int COL_AVAILIABLE = 2;
    public static final int COL_CANBEOVERLAPPED = 3;
    public static final int COL_HIGHLIGHT = 4;
    public static final int COL_SHADOW = 5;
    public static final int COL_TIME = 6
   
    private DirectoryWorkType workType;
    private ArrayList<DirectoryWorkTypeItem> workTypes = new ArrayList<DirectoryWorkTypeItem>();

    public TableModelEditWorkTypes(DirectoryWorkType workType) throws ClipsException {
        this.workType = workType;
       
        workTypes.clear();
        if (workType != null) {
            Selector iie = workType.getItems();
            for (int i = 0; i < iie.size(); i++) {
                DirectoryWorkTypeItem item = (DirectoryWorkTypeItem) iie.get(i);               
                workTypes.add(item);               
            }
        }
    }
   
    @Override
    public int getRowCount() {
        return workTypes.size();
    }

    @Override
    public int getColumnCount() {
        return COLCOUNT;
    }

    @Override
    public String getColumnName(int column) {       
        switch (column) {
            case COL_ID : return "ID";
            case COL_TITLE: return "Наименование";
            case COL_AVAILIABLE: return "Доступен";
            case COL_CANBEOVERLAPPED : return "Перекрываемый";
            case COL_HIGHLIGHT: return "Цвет(верхний)";
            case COL_SHADOW: return "Цвет(нижний)";
            case COL_TIME: return "Интервал";
            default: return "";           
        }
    }

    @Override
    public boolean isCellEditable(int rowIndex, int columnIndex) {
        if (workTypes.get(rowIndex).getID() == 0) {
            return false;
        }
        if (columnIndex == COL_ID || columnIndex == COL_TIME) {
            return false;
        }
        return true;
    }
      
    @Override
    public Class getColumnClass(int columnIndex) {
        if(columnIndex == COL_AVAILIABLE || columnIndex == COL_CANBEOVERLAPPED) {
            return Boolean.class;
        }
        return super.getColumnClass(columnIndex);
    }
   
    @Override
    public void setValueAt(Object obj, int row, int col) {
        try {
            if (col == COL_TITLE) {
                workTypes.get(row).setTitle(obj.toString());
            }
            if (col == COL_AVAILIABLE) {
                workTypes.get(row).setAvailiable((Boolean)obj);
            }
            if (col == COL_CANBEOVERLAPPED) {
                workTypes.get(row).setCanBeOverlapped((Boolean)obj);
            }
            if (col == COL_HIGHLIGHT) {
                workTypes.get(row).setColorHightlight((Color)obj);
            }
            if (col == COL_SHADOW) {
                workTypes.get(row).setColorShadow((Color)obj);
            }
            fireTableCellUpdated(row, col);
        } catch(ClipsException e) {
            MessageBox.showException(e);
        }
    }

   
    @Override
    public Object getValueAt(int rowIndex, int columnIndex) {
        DirectoryWorkTypeItem item = workTypes.get(rowIndex);
        switch (columnIndex) {
            case COL_ID : return item.getID();
            case COL_TITLE: return item;
            case COL_AVAILIABLE: return item.isAvailiable();
            case COL_CANBEOVERLAPPED: return item.canBeOverlapped();
            case COL_HIGHLIGHT: return item.getColorHightlight();
            case COL_SHADOW: return item.getColorShadow();
            case COL_TIME: return item.timeToString();
            default: return null;
        }
    }

}
TOP

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

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.