01: /*
02: * Copyright (c) 2007, Sun Microsystems, Inc. All rights reserved.
03: *
04: * Redistribution and use in source and binary forms, with or without
05: * modification, are permitted provided that the following conditions are met:
06: *
07: * * Redistributions of source code must retain the above copyright notice,
08: * this list of conditions and the following disclaimer.
09: *
10: * * Redistributions in binary form must reproduce the above copyright notice,
11: * this list of conditions and the following disclaimer in the documentation
12: * and/or other materials provided with the distribution.
13: *
14: * * Neither the name of Sun Microsystems, Inc. nor the names of its contributors
15: * may be used to endorse or promote products derived from this software without
16: * specific prior written permission.
17: *
18: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19: * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21: * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
22: * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23: * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24: * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25: * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26: * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27: * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
28: * THE POSSIBILITY OF SUCH DAMAGE.
29: */
30:
31: package org.netbeans.paint;
32:
33: import org.openide.DialogDisplayer;
34: import org.openide.NotifyDescriptor;
35: import org.openide.util.HelpCtx;
36: import org.openide.util.NbBundle;
37: import org.openide.util.actions.CallableSystemAction;
38:
39: public final class NewCanvasAction extends CallableSystemAction {
40:
41: private static final int MAX_PAINT_TC_COUNT = 8;
42:
43: public void performAction() {
44: if (PaintTopComponent.getPaintTCCount() < MAX_PAINT_TC_COUNT) {
45: PaintTopComponent tc = new PaintTopComponent();
46: tc.open();
47: tc.requestActive();
48: } else {
49: DialogDisplayer.getDefault().notify(
50: new NotifyDescriptor.Message(NbBundle.getMessage(
51: NewCanvasAction.class,
52: "MSG_CannotCreateNewCanvas")));
53: }
54: }
55:
56: public String getName() {
57: return NbBundle.getMessage(NewCanvasAction.class,
58: "CTL_NewCanvasAction");
59: }
60:
61: protected String iconResource() {
62: return "org/netbeans/paint/new.PNG";
63: }
64:
65: public HelpCtx getHelpCtx() {
66: return HelpCtx.DEFAULT_HELP;
67: }
68:
69: protected boolean asynchronous() {
70: return false;
71: }
72:
73: }
|