Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: com/fm/gui/action/stopRefreshAction.java


1   /****************************************************************************
2    * Copyright (c) 2003 Andrew Duka | aduka@users.sourceforge.net
3    * All right reserved.
4    *
5    * This program is free software; you can redistribute it and/or
6    * modify it under the terms of the GNU Lesser General Public
7    * License as published by the Free Software Foundation; either
8    * version 2.1 of the License, or (at your option) any later version.
9    *
10   ****************************************************************************/
11  package com.fm.gui.action;
12  
13  import com.fm.gui.fmUITheme;
14  import com.fm.gui.fmCategoryTree;
15  import com.fm.gui.fmTreeNode;
16  
17  import com.fm.rss.rssChannelCategory;
18  import com.fm.rss.rssChannel;
19  import com.fm.update.updateFactory;
20  import com.fm.update.Updateable;
21  
22  import javax.swing.AbstractAction;
23  import javax.swing.KeyStroke;
24  import javax.swing.ImageIcon;
25  
26  import java.awt.event.ActionEvent;
27  import java.awt.event.KeyEvent;
28  
29  import java.util.Map;
30  import java.util.Iterator;
31  
32  /**
33   * Remove passed item
34   */
35  public class stopRefreshAction extends AbstractAction
36  {
37      private fmCategoryTree categoryTree;
38      private updateFactory  factory;
39  
40      /**
41       * Constructor to use with Tree component
42       *
43       * @param catTree
44       */
45      public stopRefreshAction(fmCategoryTree catTree, updateFactory fact)
46      {
47          super();
48          categoryTree = catTree;
49          factory = fact;
50  
51          putValue(NAME, fmUITheme.getString("action.stop_refresh"));
52          putValue(ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_F7,0));
53          putValue(SHORT_DESCRIPTION,
54                        fmUITheme.getString("action.stop_refresh.tooltip"));
55      }
56  
57      /**
58       * Constructor to use with Tree component
59       *
60       * @param catTree
61       */
62      public stopRefreshAction(fmCategoryTree catTree, ImageIcon icon, updateFactory fact)
63      {
64          super();
65          categoryTree = catTree;
66          factory = fact;
67  
68          putValue(SMALL_ICON, icon);
69          putValue(ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_F7,0));
70          putValue(SHORT_DESCRIPTION,
71                        fmUITheme.getString("action.stop_refresh.tooltip"));
72      }
73  
74      /**
75       * Invoked when an action occurs.
76       */
77      public void actionPerformed(ActionEvent e)
78      {
79  
80          fmTreeNode selectedNode = (fmTreeNode)categoryTree.getLastSelectedPathComponent();
81  
82          if (selectedNode == null)
83              return;
84  
85          Object selectedObject = selectedNode.getUserObject();
86  
87          if (selectedObject instanceof rssChannelCategory)
88          {
89              Map channels = ((rssChannelCategory)selectedObject).getChannels();
90  
91              for (Iterator i = channels.values().iterator(); i.hasNext();)
92                  factory.dequeueFromUpdate((Updateable)i.next());
93          }
94          else if (selectedObject instanceof rssChannel)
95          {
96              factory.dequeueFromUpdate((Updateable)selectedObject);
97          }
98      }
99  }