Skip to main content
aboutsummaryrefslogtreecommitdiffstats
blob: a1e8650c93a4a57ef4fa83f1b758db816181c166 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
/*
 * Copyright (c) 2007 Borland Software Corp.
 * 
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *    bblajer (Borland) - initial API and implementation
 */

import "http://www.eclipse.org/emf/2002/Ecore";
import "http://www.eclipse.org/emf/2002/GenModel";
import "http://www.eclipse.org/gmf/2006/GenModel";

extension xpt::diagram::parts::NotationModelRefresher;
extension xpt::diagram::parts::LinkNotationModelRefresher;

boolean isSelectable(gmfgen::GenCommonBase gcb) :
	true
;

boolean isSelectable(gmfgen::GenNodeLabel label) :
	false
;

boolean isSelectable(gmfgen::GenExternalNodeLabel label) :
	true
;

boolean isSelectable(gmfgen::GenCompartment compartment) :
	false
;

boolean needsTransactionalUpdateManager(gmfgen::GenCommonBase gcb) :
	gcb.needsDomainModelRefresher() || gcb.needsLinkNotationModelRefresher()
;

boolean needsTransactionalUpdateManager(gmfgen::GenDiagram diagram) :
	true	//Force for the diagram, used by activate/deactivate 
;

boolean needsTransactionalUpdateManager(gmfgen::GenContainerBase gcb) :
	gcb.needsDomainModelRefresher() || gcb.needsNotationModelRefresher() || gcb.needsLinkNotationModelRefresher()
;

boolean needsDomainModelRefresher(gmfgen::GenCommonBase gcb) :
	false
;

boolean needsDomainModelRefresher(gmfgen::GenLink link) :
	needsDomainModelRefresher(link.modelFacet)
;

boolean needsDomainModelRefresher(gmfgen::LinkModelFacet facet) :
	false
;

boolean needsDomainModelRefresher(gmfgen::TypeLinkModelFacet facet) :
	facet.metaClass != null
;

boolean needsDomainModelRefresher(gmfgen::GenDiagram diagram) :
	!diagram.sansDomain
;

boolean needsDomainModelRefresher(gmfgen::GenNode node) :
	!node.sansDomain
;

gmfgen::GenLabel getPrimaryLabel(gmfgen::GenCommonBase gcb) :
	null
;

gmfgen::GenLabel getPrimaryLabel(gmfgen::GenNode node) :
	node.labels.select(e| !e.readOnly).first()
;

gmfgen::GenLabel getPrimaryLabel(gmfgen::GenLink link) :
	link.labels.select(e| !e.readOnly).first()
;

gmfgen::GenLabel getPrimaryLabel(gmfgen::GenChildLabelNode node) :
	null
;

Collection[gmfgen::GenLabel] getAllLabels(gmfgen::GenCommonBase gcb) :
	{}
;

Collection[gmfgen::GenLabel] getAllLabels(gmfgen::GenNode node) :
	node.labels
;

Collection[gmfgen::GenLabel] getAllLabels(gmfgen::GenLink link) :
	link.labels
;

Back to the top