Skip to content

Commit ae85bd7

Browse files
committed
Temp 2
1 parent 1a42c0d commit ae85bd7

File tree

6 files changed

+40
-26
lines changed

6 files changed

+40
-26
lines changed

com.archimatetool.editor/src/com/archimatetool/editor/diagram/figures/AbstractDiagramModelObjectFigure.java

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -270,16 +270,8 @@ protected int getLineWidth() {
270270
}
271271

272272
protected int getLineStyle() {
273-
int value = fDiagramModelObject.getLineStyle();
274-
275-
if(value == IDiagramModelObject.LINE_STYLE_DEFAULT) {
276-
IObjectUIProvider provider = ObjectUIFactory.INSTANCE.getProvider(getDiagramModelObject());
277-
if(provider != null && provider.getDefaultFeatureValue(IDiagramModelObject.FEATURE_LINE_STYLE) instanceof Integer val) {
278-
value = val;
279-
}
280-
}
281-
282-
return value;
273+
IObjectUIProvider provider = ObjectUIFactory.INSTANCE.getProvider(getDiagramModelObject());
274+
return provider != null && provider.getFeatureValue(IDiagramModelObject.FEATURE_LINE_STYLE) instanceof Integer val ? val : IDiagramModelObject.LINE_STYLE_SOLID;
283275
}
284276

285277
@Override

com.archimatetool.editor/src/com/archimatetool/editor/propertysections/LineStyleComposite.java

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -111,16 +111,8 @@ private boolean isValidObject(EObject eObject) {
111111
}
112112

113113
private int getLineStyle(IDiagramModelObject dmo) {
114-
int value = dmo.getLineStyle();
115-
116-
if(value == IDiagramModelObject.LINE_STYLE_DEFAULT) {
117-
IObjectUIProvider provider = ObjectUIFactory.INSTANCE.getProvider(dmo);
118-
if(provider != null && provider.getDefaultFeatureValue(IDiagramModelObject.FEATURE_LINE_STYLE) instanceof Integer val) {
119-
value = val;
120-
}
121-
}
122-
123-
return value;
114+
IObjectUIProvider provider = ObjectUIFactory.INSTANCE.getProvider(dmo);
115+
return provider != null && provider.getFeatureValue(IDiagramModelObject.FEATURE_LINE_STYLE) instanceof Integer val ? val : IDiagramModelObject.LINE_STYLE_SOLID;
124116
}
125117

126118
void updateControl() {

com.archimatetool.editor/src/com/archimatetool/editor/ui/factory/AbstractGraphicalObjectUIProvider.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import org.eclipse.draw2d.geometry.Dimension;
99
import org.eclipse.swt.graphics.Color;
1010

11+
import com.archimatetool.model.IDiagramModelObject;
1112
import com.archimatetool.model.ITextAlignment;
1213
import com.archimatetool.model.ITextPosition;
1314

@@ -62,4 +63,26 @@ public int getDefaultTextPosition() {
6263
public boolean hasIcon() {
6364
return false;
6465
}
66+
67+
@Override
68+
public Object getDefaultFeatureValue(String featureName) {
69+
if(IDiagramModelObject.FEATURE_LINE_STYLE.equals(featureName)) {
70+
return IDiagramModelObject.LINE_STYLE_SOLID;
71+
}
72+
73+
return super.getDefaultFeatureValue(featureName);
74+
}
75+
76+
@Override
77+
public Object getFeatureValue(String featureName) {
78+
if(IDiagramModelObject.FEATURE_LINE_STYLE.equals(featureName) && instance instanceof IDiagramModelObject dmo) {
79+
int value = dmo.getLineStyle();
80+
if(value == IDiagramModelObject.LINE_STYLE_DEFAULT) {
81+
return getDefaultFeatureValue(featureName);
82+
}
83+
return value;
84+
}
85+
86+
return super.getFeatureValue(featureName);
87+
}
6588
}

com.archimatetool.editor/src/com/archimatetool/editor/ui/factory/AbstractObjectUIProvider.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,4 @@ public boolean shouldExposeFeature(EAttribute feature) {
6666
public boolean shouldExposeFeature(String featureName) {
6767
return true;
6868
}
69-
70-
@Override
71-
public Object getDefaultFeatureValue(String featureName) {
72-
return null;
73-
}
7469
}

com.archimatetool.editor/src/com/archimatetool/editor/ui/factory/IObjectUIProvider.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,5 +63,15 @@ public interface IObjectUIProvider {
6363
* @param featureName The feature in question
6464
* @return a default value for a given feature. Default is null
6565
*/
66-
Object getDefaultFeatureValue(String featureName);
66+
default Object getDefaultFeatureValue(String featureName) {
67+
return null;
68+
}
69+
70+
/**
71+
* @param featureName The feature in question
72+
* @return a value for a given feature. Default is null
73+
*/
74+
default Object getFeatureValue(String featureName) {
75+
return null;
76+
}
6777
}

com.archimatetool.editor/src/com/archimatetool/editor/ui/factory/elements/GroupingUIProvider.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,13 @@ public int getDefaultTextPosition() {
7676
return ITextPosition.TEXT_POSITION_TOP;
7777
}
7878

79+
7980
@Override
8081
public Object getDefaultFeatureValue(String featureName) {
8182
if(IDiagramModelObject.FEATURE_LINE_STYLE.equals(featureName)) {
8283
return IDiagramModelObject.LINE_STYLE_DASHED;
8384
}
85+
8486
return super.getDefaultFeatureValue(featureName);
8587
}
8688
}

0 commit comments

Comments
 (0)