]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scenegraph.profile/src/org/simantics/scenegraph/profile/Group.java
8d1a111244aea56b2caf6a63d0629882870b7411
[simantics/platform.git] / bundles / org.simantics.scenegraph.profile / src / org / simantics / scenegraph / profile / Group.java
1 /*******************************************************************************
2  * Copyright (c) 2007, 2010 Association for Decentralized Information Management
3  * in Industry THTH ry.
4  * All rights reserved. This program and the accompanying materials
5  * are made available under the terms of the Eclipse Public License v1.0
6  * which accompanies this distribution, and is available at
7  * http://www.eclipse.org/legal/epl-v10.html
8  *
9  * Contributors:
10  *     VTT Technical Research Centre of Finland - initial API and implementation
11  *******************************************************************************/
12 package org.simantics.scenegraph.profile;
13
14 import org.simantics.db.RequestProcessor;
15 import org.simantics.db.Resource;
16 import org.simantics.db.procedure.SetListener;
17
18
19 /**
20  * Groups are a part of the diagram profile framework. They are used to form and
21  * keep track of the group of objects on which {@link Style}s operate.
22  * 
23  * @author Antti Villberg
24  */
25 public interface Group {
26
27     /**
28      * Allows styles to start tracking the set of objects (resources) listed by
29      * this Group implementation through the specified {@link SetListener}.
30      * 
31      * @param processor graph database access handle
32      * @param runtimeDiagram runtime resource of the active diagram editor
33      *        instance
34      * @param configuration variable access to the diagram's mapped
35      *        configuration
36      * @param listener the listener to notify of changes in the tracked set of
37      *        objects. Usually one just delegates normal database listener
38      *        events to this listener.
39      */
40     void trackItems(RequestProcessor processor, Resource runtimeDiagram, SetListener<Resource> listener);
41
42 }