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