1 /*
2 * This file is a part of CAST project.
3 * (c) Copyright 2007, AGH University of Science & Technology
4 * https://caribou.iisg.agh.edu.pl/trac/cast
5 *
6 * Licensed under the Eclipse Public License, Version 1.0 (the "License").
7 * You may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 * http://www.eclipse.org/legal/epl-v10.html
10 */
11 /*
12 * File: INavigatorTreeItem.java
13 * Created: 2009-07-16
14 * Author: czerwin
15 * $Id$
16 */
17
18 package pl.edu.agh.cast.navigator;
19
20 import java.util.List;
21
22 import org.eclipse.swt.graphics.Image;
23
24 /**
25 * Interface for navigator tree items.
26 *
27 * @author AGH CAST Team
28 */
29 public interface INavigatorTreeItem {
30
31 /**
32 * Returns object held by this item.
33 *
34 * @return object held by item
35 */
36 public Object getObject();
37
38 /**
39 * Returns item label.
40 *
41 * @return item label
42 */
43 public String getLabel();
44
45 /**
46 * Returns item icon image.
47 *
48 * @return item icon image
49 */
50 public Image getIcon();
51
52 /**
53 * Returns navigator tree items specific for concrete navigator provider.
54 *
55 * @return list of children
56 */
57 public List<INavigatorTreeItem> getChildren();
58
59 /**
60 * Returns true if navigator provider has children.
61 *
62 * @return true if navigator provider has children
63 */
64 public boolean hasChildren();
65
66 }