KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > lucane > applications > sharedfolder > gui > actions > CreateFolderAction


1 /*
2  * Lucane - a collaborative platform
3  * Copyright (C) 2005 Vincent Fiack <vfiack@mail15.com>
4  *
5  * This library 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  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18  */

19 package org.lucane.applications.sharedfolder.gui.actions;
20
21 import org.lucane.client.widgets.DialogBox;
22 import org.lucane.applications.sharedfolder.gui.FolderTableModel;
23 import org.lucane.applications.sharedfolder.SharedFolderPlugin;
24
25 import javax.swing.*;
26 import java.awt.event.ActionEvent JavaDoc;
27
28 public class CreateFolderAction extends PerformableAction
29 {
30     private SharedFolderPlugin plugin;
31     private JTable table;
32     private boolean history;
33
34     public CreateFolderAction(SharedFolderPlugin plugin, JTable table, boolean history)
35     {
36         this.plugin = plugin;
37         this.table = table;
38         this.history = history;
39
40         putValue(Action.SMALL_ICON, plugin.getImageIcon("actions/createfolder.png"));
41         putValue(Action.SHORT_DESCRIPTION, plugin.tr("tip.createFolder"));
42     }
43
44     public boolean isPerformable()
45     {
46         FolderTableModel model = (FolderTableModel)table.getModel();
47         return !history && model.getCurrentFolder().isWritable();
48     }
49
50     public void actionPerformed(ActionEvent JavaDoc ae)
51     {
52         if(!isPerformable())
53             return;
54
55         FolderTableModel model = (FolderTableModel)table.getModel();
56         String JavaDoc name = DialogBox.input(plugin.tr("tip.createFolder"), plugin.tr("msg.enterFolderName"));
57         if(name == null || name.length() == 0)
58             return;
59
60         try {
61             plugin.createFolder(model.getCurrentFolder().getId(), name);
62             new RefreshAction(plugin, table, history).actionPerformed(ae);
63         } catch(Exception JavaDoc e) {
64             DialogBox.error(e.getMessage());
65             e.printStackTrace();
66         }
67     }
68 }
Popular Tags