r2938 - trunk/src/main/java/org/chorem/jtimer/ui/treetable
Author: tchemit Date: 2013-09-24 09:36:39 +0200 (Tue, 24 Sep 2013) New Revision: 2938 Url: http://chorem.org/projects/jtimer/repository/revisions/2938 Log: fixes Evolution #948: Add shortcuts to navigate (expand/collapse) in the task's tree Modified: trunk/src/main/java/org/chorem/jtimer/ui/treetable/ProjectsAndTasksTable.java Modified: trunk/src/main/java/org/chorem/jtimer/ui/treetable/ProjectsAndTasksTable.java =================================================================== --- trunk/src/main/java/org/chorem/jtimer/ui/treetable/ProjectsAndTasksTable.java 2013-09-24 06:54:44 UTC (rev 2937) +++ trunk/src/main/java/org/chorem/jtimer/ui/treetable/ProjectsAndTasksTable.java 2013-09-24 07:36:39 UTC (rev 2938) @@ -5,7 +5,7 @@ * $Id$ * $HeadURL$ * %% - * Copyright (C) 2007 - 2012 CodeLutin, Chatellier Eric + * Copyright (C) 2007 - 2012 CodeLutin, Chatellier Eric, Chemit Tony * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as @@ -26,9 +26,14 @@ package org.chorem.jtimer.ui.treetable; import java.awt.Color; +import java.awt.event.ActionEvent; +import java.awt.event.KeyEvent; import java.util.ArrayList; import java.util.List; +import javax.swing.AbstractAction; +import javax.swing.Action; +import javax.swing.KeyStroke; import javax.swing.tree.TreePath; import org.chorem.jtimer.data.TimerCore; @@ -104,6 +109,43 @@ // enable drag n drop setDragEnabled(true); setTransferHandler(new TimerTaskTransferHandler(application, core.getData())); + + { // add action to collapse (left arrow) selected node + Action action = new AbstractAction("collapseSelectedNode") { + private static final long serialVersionUID = 1L; + + @Override + public void actionPerformed(ActionEvent e) { + int selectedRow = getSelectedRow(); + if (selectedRow != -1) { + collapseRow(selectedRow); + } + } + }; + + getInputMap(WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put( + KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, 0), + action.getValue(Action.NAME)); + getActionMap().put(action.getValue(Action.NAME), action); + } + { // add action to expand (right arrow) selected node + Action action = new AbstractAction("expandSelectedNode") { + private static final long serialVersionUID = 1L; + + @Override + public void actionPerformed(ActionEvent e) { + int selectedRow = getSelectedRow(); + if (selectedRow != -1) { + expandRow(selectedRow); + } + } + }; + + getInputMap(WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put( + KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, 0), + action.getValue(Action.NAME)); + getActionMap().put(action.getValue(Action.NAME), action); + } } /**
participants (1)
-
tchemit@users.chorem.org