01: /*
02: * Copyright 2006-2007 Pentaho Corporation. All rights reserved.
03: * This software was developed by Pentaho Corporation and is provided under the terms
04: * of the Mozilla Public License, Version 1.1, or any later version. You may not use
05: * this file except in compliance with the license. If you need a copy of the license,
06: * please go to http://www.mozilla.org/MPL/MPL-1.1.txt.
07: *
08: * Software distributed under the Mozilla Public License is distributed on an "AS IS"
09: * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. Please refer to
10: * the license for the specific language governing your rights and limitations.
11: *
12: * Additional Contributor(s): Martin Schmid gridvision engineering GmbH
13: */
14: package org.pentaho.reportdesigner.lib.client.commands;
15:
16: import org.jetbrains.annotations.NotNull;
17:
18: import java.util.ArrayList;
19: import java.util.Iterator;
20:
21: /**
22: * User: Martin
23: * Date: 23.11.2004
24: * Time: 20:04:53
25: */
26: public class TemplatePresentation extends Presentation {
27: @NotNull
28: private WeakList<Presentation> createdPresentations;
29:
30: public TemplatePresentation(@NotNull
31: Command command, @NotNull
32: String text, @NotNull
33: String description, boolean enabled, boolean visible) {
34: super (command, text, description, enabled, visible, null, '\0',
35: -1);
36: createdPresentations = new WeakList<Presentation>();
37: }
38:
39: @NotNull
40: public Presentation getCopy(@NotNull
41: CommandApplicationRoot commandApplicationRoot) {
42: Presentation presentation = new Presentation(getCommand(),
43: getText(), getDescription(), isEnabled(), isVisible(),
44: getAccelerator(), getMnemonic(),
45: getDisplayedMnemonicIndex());
46: presentation.setIcons(getIcons());
47: presentation.setCommandApplicationRoot(commandApplicationRoot);
48: createdPresentations.add(presentation);
49: return presentation;
50: }
51:
52: @NotNull
53: public ArrayList<Presentation> getCreatedPresentations() {
54: Iterator<Presentation> iterator = createdPresentations
55: .iterator();
56: ArrayList<Presentation> presentations = new ArrayList<Presentation>();
57: while (iterator.hasNext()) {
58: Presentation presentation = iterator.next();
59: presentations.add(presentation);
60: }
61:
62: return presentations;
63: }
64:
65: }
|