r2703 - in trunk/src/main: java/org/chorem/jtimer/ui/report java/org/chorem/jtimer/ui/report/tree resources/org/chorem/jtimer/ui/report/resources
Author: echatellier Date: 2009-11-20 11:02:02 +0100 (Fri, 20 Nov 2009) New Revision: 2703 Modified: trunk/src/main/java/org/chorem/jtimer/ui/report/ReportView.java trunk/src/main/java/org/chorem/jtimer/ui/report/tree/CheckBoxTreeCellComponent.java trunk/src/main/java/org/chorem/jtimer/ui/report/tree/CheckBoxTreeCellEditor.java trunk/src/main/java/org/chorem/jtimer/ui/report/tree/CheckBoxTreeCellRenderer.java trunk/src/main/java/org/chorem/jtimer/ui/report/tree/CheckBoxTreeModel.java trunk/src/main/resources/org/chorem/jtimer/ui/report/resources/ReportView.properties trunk/src/main/resources/org/chorem/jtimer/ui/report/resources/ReportView_fr.properties Log: #80 : Pour la generation des rapports, pouvoir deselectionner tous les projets Modified: trunk/src/main/java/org/chorem/jtimer/ui/report/ReportView.java =================================================================== --- trunk/src/main/java/org/chorem/jtimer/ui/report/ReportView.java 2009-11-19 09:39:15 UTC (rev 2702) +++ trunk/src/main/java/org/chorem/jtimer/ui/report/ReportView.java 2009-11-20 10:02:02 UTC (rev 2703) @@ -260,12 +260,12 @@ panelProjects.add(showHiddenProjectBox, BorderLayout.NORTH); projectsTree = new JTree(); - projectsTree.setRootVisible(false); + projectsTree.setRootVisible(true); projectsTree.setEditable(true); - projectsTree.setModel(new CheckBoxTreeModel(core)); - projectsTree.setCellEditor(new CheckBoxTreeCellEditor(projectsTree, + projectsTree.setModel(new CheckBoxTreeModel(core, getResourceMap().getString("reportProjectsList") + " :")); + projectsTree.setCellEditor(new CheckBoxTreeCellEditor(core, projectsTree, uncheckedTaskSet)); - projectsTree.setCellRenderer(new CheckBoxTreeCellRenderer(projectsTree, + projectsTree.setCellRenderer(new CheckBoxTreeCellRenderer(core, projectsTree, uncheckedTaskSet)); JScrollPane jspTable = new JScrollPane(projectsTree); Modified: trunk/src/main/java/org/chorem/jtimer/ui/report/tree/CheckBoxTreeCellComponent.java =================================================================== --- trunk/src/main/java/org/chorem/jtimer/ui/report/tree/CheckBoxTreeCellComponent.java 2009-11-19 09:39:15 UTC (rev 2702) +++ trunk/src/main/java/org/chorem/jtimer/ui/report/tree/CheckBoxTreeCellComponent.java 2009-11-20 10:02:02 UTC (rev 2703) @@ -25,6 +25,7 @@ import javax.swing.JCheckBox; import javax.swing.JTree; +import org.chorem.jtimer.data.TimerCore; import org.chorem.jtimer.entities.TimerProject; import org.chorem.jtimer.entities.TimerTask; @@ -41,15 +42,26 @@ /** serialVersionUID */ private static final long serialVersionUID = 2497464481840318274L; + + /** Timer core. */ + protected TimerCore core; /** Parent tree. */ protected JTree parentTree; /** Unchecked task set. */ protected Set<TimerTask> uncheckedTaskSet; - - public CheckBoxTreeCellComponent(JTree parentTree, + + /** + * Constructor. + * + * @param core core reference + * @param parentTree tree reference + * @param uncheckedTaskList common unselected tasks list + */ + protected CheckBoxTreeCellComponent(TimerCore core, JTree parentTree, Set<TimerTask> uncheckedTaskList) { + this.core = core; this.parentTree = parentTree; this.uncheckedTaskSet = uncheckedTaskList; } Modified: trunk/src/main/java/org/chorem/jtimer/ui/report/tree/CheckBoxTreeCellEditor.java =================================================================== --- trunk/src/main/java/org/chorem/jtimer/ui/report/tree/CheckBoxTreeCellEditor.java 2009-11-19 09:39:15 UTC (rev 2702) +++ trunk/src/main/java/org/chorem/jtimer/ui/report/tree/CheckBoxTreeCellEditor.java 2009-11-20 10:02:02 UTC (rev 2703) @@ -35,6 +35,8 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.chorem.jtimer.data.TimerCore; +import org.chorem.jtimer.entities.TimerProject; import org.chorem.jtimer.entities.TimerTask; /** @@ -57,16 +59,17 @@ /** {@link CellEditorListener}s */ protected Collection<CellEditorListener> cellEditorListeners; - + /** * Constructor. * - * @param parentTree - * @param uncheckedTaskList + * @param core core + * @param parentTree tree + * @param uncheckedTaskList common unselected tasks list */ - public CheckBoxTreeCellEditor(JTree parentTree, + public CheckBoxTreeCellEditor(TimerCore core, JTree parentTree, Set<TimerTask> uncheckedTaskList) { - super(parentTree, uncheckedTaskList); + super(core, parentTree, uncheckedTaskList); addItemListener(this); cellEditorListeners = new ArrayList<CellEditorListener>(); @@ -174,9 +177,18 @@ uncheckedTaskSet.add(lastPathComponent); } - for (TimerTask subtask : lastPathComponent.getSubTasks()) { - TreePath subTreePath = treePath.pathByAddingChild(subtask); - updateChildreen(subTreePath, select); + // special case, root node selection + if (parentTree.getModel().getRoot() == lastPathComponent) { + for (TimerProject project : core.getData().getProjectsList()) { + TreePath subTreePath = treePath.pathByAddingChild(project); + updateChildreen(subTreePath, select); + } } + else { + for (TimerTask subtask : lastPathComponent.getSubTasks()) { + TreePath subTreePath = treePath.pathByAddingChild(subtask); + updateChildreen(subTreePath, select); + } + } } } Modified: trunk/src/main/java/org/chorem/jtimer/ui/report/tree/CheckBoxTreeCellRenderer.java =================================================================== --- trunk/src/main/java/org/chorem/jtimer/ui/report/tree/CheckBoxTreeCellRenderer.java 2009-11-19 09:39:15 UTC (rev 2702) +++ trunk/src/main/java/org/chorem/jtimer/ui/report/tree/CheckBoxTreeCellRenderer.java 2009-11-20 10:02:02 UTC (rev 2703) @@ -24,6 +24,7 @@ import javax.swing.JTree; import javax.swing.tree.TreeCellRenderer; +import org.chorem.jtimer.data.TimerCore; import org.chorem.jtimer.entities.TimerTask; /** @@ -41,9 +42,16 @@ /** serialVersionUID */ private static final long serialVersionUID = 2497464481840318274L; - public CheckBoxTreeCellRenderer(JTree parentTree, + /** + * Constructor. + * + * @param core core + * @param parentTree tree + * @param uncheckedTaskList common unselected tasks list + */ + public CheckBoxTreeCellRenderer(TimerCore core, JTree parentTree, Set<TimerTask> uncheckedTaskList) { - super(parentTree, uncheckedTaskList); + super(core, parentTree, uncheckedTaskList); } @Override Modified: trunk/src/main/java/org/chorem/jtimer/ui/report/tree/CheckBoxTreeModel.java =================================================================== --- trunk/src/main/java/org/chorem/jtimer/ui/report/tree/CheckBoxTreeModel.java 2009-11-19 09:39:15 UTC (rev 2702) +++ trunk/src/main/java/org/chorem/jtimer/ui/report/tree/CheckBoxTreeModel.java 2009-11-20 10:02:02 UTC (rev 2703) @@ -66,10 +66,11 @@ * Constructor. * * @param core core + * @param rootName root node name */ - public CheckBoxTreeModel(TimerCore core) { + public CheckBoxTreeModel(TimerCore core, String rootName) { this.core = core; - root = new TimerTask("Root"); + root = new TimerTask(rootName); modelSupport = new TreeModelSupport(this); } Modified: trunk/src/main/resources/org/chorem/jtimer/ui/report/resources/ReportView.properties =================================================================== --- trunk/src/main/resources/org/chorem/jtimer/ui/report/resources/ReportView.properties 2009-11-19 09:39:15 UTC (rev 2702) +++ trunk/src/main/resources/org/chorem/jtimer/ui/report/resources/ReportView.properties 2009-11-20 10:02:02 UTC (rev 2703) @@ -11,6 +11,7 @@ reportAnnotations=Include annotations reportProjects=Projects reportContent=Report +reportProjectsList=Projects list showHiddenProjects.Action.text = Show hidden projects showHiddenProjects.Action.shortDescription = Show hidden projects Modified: trunk/src/main/resources/org/chorem/jtimer/ui/report/resources/ReportView_fr.properties =================================================================== --- trunk/src/main/resources/org/chorem/jtimer/ui/report/resources/ReportView_fr.properties 2009-11-19 09:39:15 UTC (rev 2702) +++ trunk/src/main/resources/org/chorem/jtimer/ui/report/resources/ReportView_fr.properties 2009-11-20 10:02:02 UTC (rev 2703) @@ -11,6 +11,7 @@ reportAnnotations=Inclure les annotations reportProjects=Projets reportContent=Rapport +reportProjectsList=Liste des projets showHiddenProjects.Action.text = Afficher les cach\u00E9s showHiddenProjects.Action.shortDescription = Afficher les cach\u00E9s
participants (1)
-
echatellier@users.chorem.org