projects
/
Mograsim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Created GUIdff4_invwe
[Mograsim.git]
/
net.mograsim.logic.model
/
src
/
net
/
mograsim
/
logic
/
model
/
modeladapter
/
ViewLogicModelAdapter.java
diff --git
a/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/ViewLogicModelAdapter.java
b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/ViewLogicModelAdapter.java
index
f41c407
..
17dc22f
100644
(file)
--- a/
net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/ViewLogicModelAdapter.java
+++ b/
net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/ViewLogicModelAdapter.java
@@
-61,7
+61,7
@@
public class ViewLogicModelAdapter
WireCrossPoint guiCompCasted = (WireCrossPoint) guiComp;
guiCompCasted.setLogicModelBinding(logicWiresPerPin.get(guiCompCasted.getPin()).createReadOnlyEnd());
} else if (!(guiComp instanceof SubmodelInterface))// nothing to do for SubmodelInterfaces
WireCrossPoint guiCompCasted = (WireCrossPoint) guiComp;
guiCompCasted.setLogicModelBinding(logicWiresPerPin.get(guiCompCasted.getPin()).createReadOnlyEnd());
} else if (!(guiComp instanceof SubmodelInterface))// nothing to do for SubmodelInterfaces
- createAndLinkComponent(timeline, params, guiComp, logicWiresPerPinUnmodifiable
, componentAdapters.get(guiComp.getClass())
);
+ createAndLinkComponent(timeline, params, guiComp, logicWiresPerPinUnmodifiable);
}
}
}
}
@@
-144,8
+144,15
@@
public class ViewLogicModelAdapter
@SuppressWarnings("unchecked")
private static <G extends GUIComponent> void createAndLinkComponent(Timeline timeline, LogicModelParameters params,
@SuppressWarnings("unchecked")
private static <G extends GUIComponent> void createAndLinkComponent(Timeline timeline, LogicModelParameters params,
- GUIComponent guiComponent, Map<Pin, Wire> logicWiresPerPin
, ComponentAdapter<G> adapter
)
+ GUIComponent guiComponent, Map<Pin, Wire> logicWiresPerPin)
{
{
+ Class<?> cls = guiComponent.getClass();
+ ComponentAdapter<? super G> adapter = null;
+ while (cls != GUIComponent.class && adapter == null)
+ {
+ adapter = (ComponentAdapter<? super G>) componentAdapters.get(cls);
+ cls = cls.getSuperclass();
+ }
if (adapter == null)
throw new IllegalArgumentException("Unknown component class: " + guiComponent.getClass());
adapter.createAndLinkComponent(timeline, params, (G) guiComponent, logicWiresPerPin);
if (adapter == null)
throw new IllegalArgumentException("Unknown component class: " + guiComponent.getClass());
adapter.createAndLinkComponent(timeline, params, (G) guiComponent, logicWiresPerPin);