org.chorem.jtimer
Class JTimer

java.lang.Object
  extended by org.jdesktop.application.AbstractBean
      extended by org.jdesktop.application.Application
          extended by org.jdesktop.application.SingleFrameApplication
              extended by org.chorem.jtimer.JTimer
All Implemented Interfaces:
MouseListener, EventListener, TreeSelectionListener

public class JTimer
extends org.jdesktop.application.SingleFrameApplication
implements TreeSelectionListener, MouseListener

Main jTimer application window. Respect JSR-296

Version:
$Revision: 2656 $ Last update : $Date: 2009-09-09 10:32:30 +0200 (mer. 09 sept. 2009) $ By : $Author: echatellier $
Author:
chatellier

Nested Class Summary
 
Nested classes/interfaces inherited from class org.jdesktop.application.Application
org.jdesktop.application.Application.ExitListener
 
Field Summary
protected  TimerCore core
          Timer core controller.
protected  ProjectsAndTasksTable projectsAndTasksTable
          Tree structure.
protected  org.jdesktop.application.ResourceMap resourceMap
          I18n resources map.
protected  boolean selectedMultiplesElements
          Multiples elements selection.
protected  boolean selectedMultiplesProjects
          Multiples projects selection.
protected  boolean selectedMultiplesTasks
          Multiples tasks selection.
protected  boolean selectedSingleElement
          Single task or project selection.
protected  boolean selectedSingleProject
          Single project selection property.
protected  boolean selectedSingleRunningTask
          Single running task selection.
protected  boolean selectedSingleStoppedTask
          Single non running task selection.
protected  boolean selectedSingleTask
          Single task selection property.
protected  SystrayManager systrayManager
          Systray manager.
 
Constructor Summary
JTimer()
           
 
Method Summary
 void about()
          Show about frame.
protected  void addActionToMenu(JComponent menu, String[] actionNames)
          Add saf action to an existing menu.
 void addAnnotation()
          Add annotation action.
 int askIdleOption()
          Ask user what to do in idle case.
 void closeProject()
          Close project.
 void closeTask()
          Close task.
protected  JComponent createMainComponent()
          Create main component.
protected  JMenu createMenu(String menuName, String[] actionNames)
          Create single menu.
protected  JMenuBar createMenuBar()
          Create application menu bar.
protected  JComponent createToolBar()
          Create toolbar.
protected  ProjectsAndTasksTable createTreeTable()
          Create complex tree table.
 void decrement1Task()
          Decrement task time.
 void decrement30Task()
          Decrement task time.
 void decrement5Task()
          Decrement task time.
 void deleteProject()
          Delete project.
 void deleteTask()
          Delete task.
protected  void displayErrorMessage(String errorMessageKey)
          Display a popup error message.
 void editAlert()
          Edit alert action.
 void editProject()
          Edit project Enabled when a project is selected
 void editTask()
          Edit task.
protected  Action getAction(String actionName)
          Get action for named component.
protected  RunTaskJob getJobForRunningTask(TimerTask task)
          Return job that manage running task.
 void hide()
          Show window
 void increment1Task()
          Increment task time.
 void increment30Task()
          Increment task time.
 void increment5Task()
          Increment task time.
protected  void incrementTaskTime(long increment)
          Increment task time.
protected  void initialize(String[] args)
          Initialize application.
 boolean isSelectedMultiplesElements()
          Is selected multiples elements.
 boolean isSelectedMultiplesProjects()
          Is selected multiples projects.
 boolean isSelectedMultiplesTasks()
          Is selected multiples tasks.
 boolean isSelectedSingleElement()
          Is selected task or project.
 boolean isSelectedSingleProject()
          Is selected project.
 boolean isSelectedSingleRunningTask()
          Is selected running task.
 boolean isSelectedSingleStoppedTask()
          Is selected non running task.
 boolean isSelectedSingleTask()
          Is selected task.
 void isShowClosed(ActionEvent event)
          Increment task time.
static void main(String[] args)
          Main. launch UI
 void makeReport()
          Create report.
 void mergeTasks()
          Merge multiples tasks action.
 void mouseClicked(MouseEvent e)
           
 void mouseEntered(MouseEvent e)
           
 void mouseExited(MouseEvent e)
           
 void mousePressed(MouseEvent e)
           
 void mouseReleased(MouseEvent e)
           
 void newProject()
          New project action.
 void newTask()
          Create new task action.
 void postIdleDetect()
          Notified by job on post idle detect.
 void preIdleDetect()
          Notified by job on pre idle detect.
protected  void ready()
          Ready.
protected  void scheduleTreeRefresh()
          Refresh tree at midnight.
 void setSelectedMultiplesElements(boolean selectedMultiplesElements)
          Change selected multiples elements property.
 void setSelectedMultiplesProjects(boolean selectedMultiplesProjects)
          Change selected multiples projects property.
 void setSelectedMultiplesTasks(boolean selectedMultiplesTasks)
          Change selected multiples tasks property.
 void setSelectedSingleElement(boolean selectedSingleElement)
          Change selected task or project property.
 void setSelectedSingleProject(boolean selectedSingleProject)
          Change selected project property.
 void setSelectedSingleRunningTask(boolean selectedSingleRunningTask)
          Change selected running task property.
 void setSelectedSingleStoppedTask(boolean selectedSingleStoppedTask)
          Change selected non running task property.
 void setSelectedSingleTask(boolean selectedSingleTask)
          Change selected task property.
 void setToZero()
          Reset task time to zero.
 void show()
          Show window
protected  void shutdown()
          Called on application shutdown.
 void startedTask(TimerTask task)
          Called by task job manager when task as been started.
 org.jdesktop.application.Task<?,?> startTask()
          Start selected task in tree.
protected  void startup()
          startup.
 void stopTask()
          Stop selected task in tree.
 void stopTask(TimerTask task)
          Stop a task.
 void valueChanged(TreeSelectionEvent e)
           
 
Methods inherited from class org.jdesktop.application.SingleFrameApplication
configureWindow, getMainFrame, getMainView, setMainFrame, show, show, show, show
 
Methods inherited from class org.jdesktop.application.Application
addExitListener, end, exit, exit, getContext, getExitListeners, getInstance, getInstance, hide, launch, quit, removeExitListener
 
Methods inherited from class org.jdesktop.application.AbstractBean
addPropertyChangeListener, addPropertyChangeListener, firePropertyChange, firePropertyChange, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

core

protected TimerCore core
Timer core controller.


projectsAndTasksTable

protected ProjectsAndTasksTable projectsAndTasksTable
Tree structure.


systrayManager

protected SystrayManager systrayManager
Systray manager.


resourceMap

protected org.jdesktop.application.ResourceMap resourceMap
I18n resources map.


selectedSingleProject

protected boolean selectedSingleProject
Single project selection property.


selectedSingleTask

protected boolean selectedSingleTask
Single task selection property.


selectedSingleElement

protected boolean selectedSingleElement
Single task or project selection.


selectedSingleRunningTask

protected boolean selectedSingleRunningTask
Single running task selection.


selectedSingleStoppedTask

protected boolean selectedSingleStoppedTask
Single non running task selection.


selectedMultiplesProjects

protected boolean selectedMultiplesProjects
Multiples projects selection.


selectedMultiplesTasks

protected boolean selectedMultiplesTasks
Multiples tasks selection.


selectedMultiplesElements

protected boolean selectedMultiplesElements
Multiples elements selection.

Constructor Detail

JTimer

public JTimer()
Method Detail

main

public static void main(String[] args)
Main. launch UI

Parameters:
args - args

initialize

protected void initialize(String[] args)
Initialize application. Called before UI build.

Overrides:
initialize in class org.jdesktop.application.Application
Parameters:
args - args
See Also:
Application.initialize(String[])

startup

protected void startup()
startup. Create frame menu bar. Create main component.

Specified by:
startup in class org.jdesktop.application.Application
See Also:
Application.startup()

createMainComponent

protected JComponent createMainComponent()
Create main component. Toolbar on top. Tree middle. Status bar on bottom.

Returns:
The component

createTreeTable

protected ProjectsAndTasksTable createTreeTable()
Create complex tree table.

Returns:
ProjectsAndTaskTable instance

createToolBar

protected JComponent createToolBar()
Create toolbar.

Returns:
tool bar builded

createMenuBar

protected JMenuBar createMenuBar()
Create application menu bar.

Returns:
menu bar

createMenu

protected JMenu createMenu(String menuName,
                           String[] actionNames)
Create single menu.

Parameters:
menuName - menu name
actionNames - associated actions
Returns:
menu

addActionToMenu

protected void addActionToMenu(JComponent menu,
                               String[] actionNames)
Add saf action to an existing menu. Menu have to be a JMenu or JPopupMenu.

Parameters:
menu - parent menu
actionNames - action names

ready

protected void ready()
Ready. Called when UI is ready and displayed.

Overrides:
ready in class org.jdesktop.application.Application
See Also:
Application.ready()

shutdown

protected void shutdown()
Called on application shutdown. Save context.

Overrides:
shutdown in class org.jdesktop.application.SingleFrameApplication
See Also:
SingleFrameApplication.shutdown()

scheduleTreeRefresh

protected void scheduleTreeRefresh()
Refresh tree at midnight.


displayErrorMessage

protected void displayErrorMessage(String errorMessageKey)
Display a popup error message.

Parameters:
errorMessageKey - saf error message key

newProject

@Action
public void newProject()
New project action. Ask user for project name


editProject

@Action(enabledProperty="selectedSingleProject")
public void editProject()
Edit project Enabled when a project is selected


newTask

@Action(enabledProperty="selectedSingleElement")
public void newTask()
Create new task action. Enabled when a project or a task is selected


editTask

@Action(enabledProperty="selectedSingleTask")
public void editTask()
Edit task. Enabled when a task is selected


startTask

@Action(enabledProperty="selectedSingleStoppedTask")
public org.jdesktop.application.Task<?,?> startTask()
Start selected task in tree. If it not already been running

Returns:
TimerTask scheduled for start
See Also:
Task

startedTask

public void startedTask(TimerTask task)
Called by task job manager when task as been started.

Parameters:
task - started task

getJobForRunningTask

protected RunTaskJob getJobForRunningTask(TimerTask task)
Return job that manage running task.

Parameters:
task - timer task to get job
Returns:
job or null

stopTask

@Action(enabledProperty="selectedSingleRunningTask")
public void stopTask()
Stop selected task in tree. Verify if it has been started


stopTask

public void stopTask(TimerTask task)
Stop a task. Delegate method. Called by idle detect ?

Parameters:
task - task to stop

closeProject

@Action(enabledProperty="selectedSingleProject")
public void closeProject()
Close project.


closeTask

@Action(enabledProperty="selectedSingleTask")
public void closeTask()
Close task.


deleteProject

@Action(enabledProperty="selectedSingleProject")
public void deleteProject()
Delete project.


deleteTask

@Action(enabledProperty="selectedSingleTask")
public void deleteTask()
Delete task.


isShowClosed

@Action
public void isShowClosed(ActionEvent event)
Increment task time.

Parameters:
event - action event

increment5Task

@Action(enabledProperty="selectedSingleTask")
public void increment5Task()
Increment task time.


increment30Task

@Action(enabledProperty="selectedSingleTask")
public void increment30Task()
Increment task time.


decrement1Task

@Action(enabledProperty="selectedSingleTask")
public void decrement1Task()
Decrement task time.


decrement5Task

@Action(enabledProperty="selectedSingleTask")
public void decrement5Task()
Decrement task time.


decrement30Task

@Action(enabledProperty="selectedSingleTask")
public void decrement30Task()
Decrement task time.


increment1Task

@Action(enabledProperty="selectedSingleTask")
public void increment1Task()
Increment task time.


incrementTaskTime

protected void incrementTaskTime(long increment)
Increment task time. To decrement, set negative increment:)

Parameters:
increment - increment in seconds

setToZero

@Action(enabledProperty="selectedSingleTask")
public void setToZero()
Reset task time to zero.


mergeTasks

@Action(enabledProperty="selectedMultiplesTasks")
public void mergeTasks()
Merge multiples tasks action.


addAnnotation

@Action(enabledProperty="selectedSingleTask")
public void addAnnotation()
Add annotation action.


editAlert

@Action(enabledProperty="selectedSingleTask")
public void editAlert()
Edit alert action.


makeReport

@Action
public void makeReport()
Create report.


about

@Action
public void about()
Show about frame.


isSelectedSingleProject

public boolean isSelectedSingleProject()
Is selected project.

Returns:
selected project property

setSelectedSingleProject

public void setSelectedSingleProject(boolean selectedSingleProject)
Change selected project property.

Parameters:
selectedSingleProject - selected project property

isSelectedSingleTask

public boolean isSelectedSingleTask()
Is selected task.

Returns:
selected task property

setSelectedSingleTask

public void setSelectedSingleTask(boolean selectedSingleTask)
Change selected task property.

Parameters:
selectedSingleTask - selected task property

isSelectedSingleElement

public boolean isSelectedSingleElement()
Is selected task or project.

Returns:
selected task or project property

setSelectedSingleElement

public void setSelectedSingleElement(boolean selectedSingleElement)
Change selected task or project property.

Parameters:
selectedSingleElement - selected task or project property

isSelectedSingleRunningTask

public boolean isSelectedSingleRunningTask()
Is selected running task.

Returns:
the selectedSingleRunningTask

setSelectedSingleRunningTask

public void setSelectedSingleRunningTask(boolean selectedSingleRunningTask)
Change selected running task property.

Parameters:
selectedSingleRunningTask - selected running task property

isSelectedSingleStoppedTask

public boolean isSelectedSingleStoppedTask()
Is selected non running task.

Returns:
selected non running task

setSelectedSingleStoppedTask

public void setSelectedSingleStoppedTask(boolean selectedSingleStoppedTask)
Change selected non running task property.

Parameters:
selectedSingleStoppedTask - selected non running task

isSelectedMultiplesProjects

public boolean isSelectedMultiplesProjects()
Is selected multiples projects.

Returns:
selected multiples projects

setSelectedMultiplesProjects

public void setSelectedMultiplesProjects(boolean selectedMultiplesProjects)
Change selected multiples projects property.

Parameters:
selectedMultiplesProjects - selected multiples projects

isSelectedMultiplesTasks

public boolean isSelectedMultiplesTasks()
Is selected multiples tasks.

Returns:
selected multiples tasks

setSelectedMultiplesTasks

public void setSelectedMultiplesTasks(boolean selectedMultiplesTasks)
Change selected multiples tasks property.

Parameters:
selectedMultiplesTasks - selected multiples tasks

isSelectedMultiplesElements

public boolean isSelectedMultiplesElements()
Is selected multiples elements.

Returns:
selected multiples elements

setSelectedMultiplesElements

public void setSelectedMultiplesElements(boolean selectedMultiplesElements)
Change selected multiples elements property.

Parameters:
selectedMultiplesElements - selected multiples elements

valueChanged

public void valueChanged(TreeSelectionEvent e)
Specified by:
valueChanged in interface TreeSelectionListener

askIdleOption

public int askIdleOption()
Ask user what to do in idle case.

Returns:
chosen option

getAction

protected Action getAction(String actionName)
Get action for named component. Util method.

Parameters:
actionName - action name
Returns:
swing action

show

@Action
public void show()
Show window


hide

@Action
public void hide()
Show window


preIdleDetect

public void preIdleDetect()
Notified by job on pre idle detect.


postIdleDetect

public void postIdleDetect()
Notified by job on post idle detect.


mouseClicked

public void mouseClicked(MouseEvent e)
Specified by:
mouseClicked in interface MouseListener

mouseEntered

public void mouseEntered(MouseEvent e)
Specified by:
mouseEntered in interface MouseListener

mouseExited

public void mouseExited(MouseEvent e)
Specified by:
mouseExited in interface MouseListener

mousePressed

public void mousePressed(MouseEvent e)
Specified by:
mousePressed in interface MouseListener

mouseReleased

public void mouseReleased(MouseEvent e)
Specified by:
mouseReleased in interface MouseListener


Copyright © 2007-2009 CodeLutin. All Rights Reserved.