⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tasktablemodel.java

📁 Memoranda( 从前以jNotes2而闻名) 是一个日志管理和个人项目管理工具
💻 JAVA
字号:
/** * TaskTableModel.java          * ----------------------------------------------------------------------------- * Project           Memoranda * Package           net.sf.memoranda.ui * Original author   Alex V. Alishevskikh *                   [alexeya@gmail.com] * Created           18.05.2005 15:16:11 * Revision info     $RCSfile: TaskTableModel.java,v $ $Revision: 1.7 $ $State: Exp $   * * Last modified on  $Date: 2005/12/01 08:12:26 $ *               by  $Author: alexeya $ *  * @VERSION@  * * @COPYRIGHT@ *  * @LICENSE@  */package net.sf.memoranda.ui;import javax.swing.event.*;import javax.swing.tree.TreePath;import net.sf.memoranda.*;import net.sf.memoranda.date.CurrentDate;import net.sf.memoranda.ui.treetable.AbstractTreeTableModel;import net.sf.memoranda.ui.treetable.TreeTableModel;import net.sf.memoranda.util.Local;import net.sf.memoranda.util.Context;import java.util.Hashtable;/** * JAVADOC: * <h1>TaskTableModel</h1> *  * @version $Id: TaskTableModel.java,v 1.7 2005/12/01 08:12:26 alexeya Exp $ * @author $Author: alexeya $ */public class TaskTableModel extends AbstractTreeTableModel implements TreeTableModel {    String[] columnNames = {"", Local.getString("To-do"),            Local.getString("Start date"), Local.getString("End date"),            Local.getString("Priority"), Local.getString("Status"),            "% " + Local.getString("done") };    protected EventListenerList listenerList = new EventListenerList();    private boolean activeOnly = check_activeOnly();            /**     * JAVADOC: Constructor of <code>TaskTableModel</code>     *      * @param root     */    public TaskTableModel(){        super(CurrentProject.get());    }    /**     * @see net.sf.memoranda.ui.treetable.TreeTableModel#getColumnCount()     */    public int getColumnCount() {        return columnNames.length;    }    /**     * @see net.sf.memoranda.ui.treetable.TreeTableModel#getColumnName(int)     */    public String getColumnName(int column) {        return columnNames[column];    }    /**     * @see net.sf.memoranda.ui.treetable.TreeTableModel#getValueAt(java.lang.Object,     *      int)     */    public Object getValueAt(Object node, int column) {        if (node instanceof Project)            return null;        Task t = (Task) node;        switch (column) {        case 0:            return "";        case 1:            return t;        case 2:            return t.getStartDate().getDate();        case 3:            if (t.getEndDate() == null)                return null;            else                return t.getEndDate().getDate();                case 4:            return getPriorityString(t.getPriority());        case 5:            return getStatusString(t.getStatus(CurrentDate.get()));        case 6:                        //return new Integer(t.getProgress());			return t;        case TaskTable.TASK_ID:            return t.getID();        case TaskTable.TASK:            return t;        }        return "";    }    String getStatusString(int status) {        switch (status) {        case Task.ACTIVE:            return Local.getString("Active");        case Task.DEADLINE:            return Local.getString("Deadline");        case Task.COMPLETED:            return Local.getString("Completed");        case Task.FAILED:            return Local.getString("Failed");        case Task.FROZEN:            return Local.getString("Frozen");        case Task.LOCKED:            return Local.getString("Locked");        case Task.SCHEDULED:            return Local.getString("Scheduled");        }        return "";    }    String getPriorityString(int p) {        switch (p) {        case Task.PRIORITY_NORMAL:            return Local.getString("Normal");        case Task.PRIORITY_LOW:            return Local.getString("Low");        case Task.PRIORITY_LOWEST:            return Local.getString("Lowest");        case Task.PRIORITY_HIGH:            return Local.getString("High");        case Task.PRIORITY_HIGHEST:            return Local.getString("Highest");        }        return "";    }    /**     * @see javax.swing.tree.TreeModel#getChildCount(java.lang.Object)     */    public int getChildCount(Object parent) {        if (parent instanceof Project) {		if( activeOnly() ){			return CurrentProject.getTaskList().getActiveSubTasks(null, CurrentDate.get()).size();		}		else return CurrentProject.getTaskList().getTopLevelTasks().size();        }        Task t = (Task) parent;        if(activeOnly()) return CurrentProject.getTaskList().getActiveSubTasks(t.getID(), CurrentDate.get()).size();	else return t.getSubTasks().size();    }    /**     * @see javax.swing.tree.TreeModel#getChild(java.lang.Object, int)     */    public Object getChild(Object parent, int index) {        if (parent instanceof Project)            if( activeOnly() ) return CurrentProject.getTaskList().getActiveSubTasks(null, CurrentDate.get()).toArray()[index];	    else return CurrentProject.getTaskList().getTopLevelTasks().toArray()[index];        Task t = (Task) parent;        if(activeOnly()) return CurrentProject.getTaskList().getActiveSubTasks(t.getID(), CurrentDate.get()).toArray()[index];	else return t.getSubTasks().toArray()[index];    }    /**     * @see net.sf.memoranda.ui.treetable.TreeTableModel#getColumnClass(int)     */    public Class getColumnClass(int column) {        try {            switch (column) {            case 1:                return TreeTableModel.class;            case 0:                return TaskTable.class;            case 4:            case 5:                return Class.forName("java.lang.String");            case 2:            case 3:                return Class.forName("java.util.Date");            case 6:                return Class.forName("java.lang.Integer");            }        } catch (Exception ex) {            ex.printStackTrace();        }        return null;    }        public void fireTreeStructureChanged(){	    	    fireTreeStructureChanged( this,	    			new Object[]{getRoot()},				new int[0],				new Object[0]				);    }            /**     * Update cached data     */    public void fireUpdateCache(){		activeOnly = check_activeOnly();    }    public static boolean check_activeOnly(){		Object o = Context.get("SHOW_ACTIVE_TASKS_ONLY");		if(o == null) return false;		return o.toString().equals("true");	}    public boolean activeOnly(){		return activeOnly;    }        public boolean isCellEditable(Object node, int column) {		if(column == 6) return true;         return super.isCellEditable(node, column);     }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -