01: /*******************************************************************************
02: * Copyright (c) 2004, 2005 IBM Corporation and others.
03: * All rights reserved. This program and the accompanying materials
04: * are made available under the terms of the Eclipse Public License v1.0
05: * which accompanies this distribution, and is available at
06: * http://www.eclipse.org/legal/epl-v10.html
07: *
08: * Contributors:
09: * IBM Corporation - initial API and implementation
10: *******************************************************************************/package org.eclipse.ui.wizards;
11:
12: import org.eclipse.core.runtime.IPath;
13:
14: /**
15: * A wizard category may contain other categories or wizard elements.
16: * <p>
17: * This interface is not intended to be implemented by clients.
18: * </p>
19: *
20: * @since 3.1
21: */
22: public interface IWizardCategory {
23:
24: /**
25: * Returns the category child object corresponding to the passed path
26: * (relative to this object), or <code>null</code> if such an object could
27: * not be found. The segments of this path should correspond to category ids.
28: *
29: * @param path
30: * the search path
31: * @return the category or <code>null</code>
32: */
33: IWizardCategory findCategory(IPath path);
34:
35: /**
36: * Find a wizard that has the provided id. This will search recursivly over
37: * this categories children.
38: *
39: * @param id
40: * the id to search for
41: * @return the wizard or <code>null</code>
42: */
43: IWizardDescriptor findWizard(String id);
44:
45: /**
46: * Return the immediate child categories.
47: *
48: * @return the child categories. Never <code>null</code>.
49: */
50: IWizardCategory[] getCategories();
51:
52: /**
53: * Return the identifier of this category.
54: *
55: * @return the identifier of this category
56: */
57: String getId();
58:
59: /**
60: * Return the label for this category.
61: *
62: * @return the label for this category
63: */
64: String getLabel();
65:
66: /**
67: * Return the parent category.
68: *
69: * @return the parent category. May be <code>null</code>.
70: */
71: IWizardCategory getParent();
72:
73: /**
74: * Return this wizards path. The segments of this path will correspond to
75: * category ids.
76: *
77: * @return the path
78: */
79: IPath getPath();
80:
81: /**
82: * Return the wizards in this category.
83: *
84: * @return the wizards in this category. Never <code>null</code>
85: */
86: IWizardDescriptor[] getWizards();
87: }
|