Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [ve-dev] Few questions please




"Janak Mulani" <janak.mulani@xxxxxxxxx>
Sent by: ve-dev-admin@xxxxxxxxxxx

09/13/2004 11:22 PM

Please respond to
ve-dev

To
<ve-dev@xxxxxxxxxxx>
cc
Subject
RE: [ve-dev] Few questions please





Dear Rich,

a. Our EClass has some SFs of primitive type "int" (pl see the attached
file). How do we specify "int" for an eType? Or do we have to use type
Integer?


----- Your example already has it. It had an eType of int.

      <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="BoxPaneContainment/column" name="column"
        eType="org.eclipse.jem.java:JavaDataType java:/#int">
      </eStructuralFeatures>

----------------------------------------------------------------------------

>>> RK >>>>
We observed that for the 1st command no CodeGen adapters are called because
the "owner" ConstraintComponent is not notified  "if
(owner.eNotificationRequired())" while setting the SF "component" with the
child object (JButton). The stack trace is as follows:

------- The reason it wasn't notified is because at that point in time there
are no decoders on the ConstraintComponent. We were in the process of
creating it and
didn't exist before this point.
The decoders aren't added until the apply of the constraint component to
JPanel.
At that point in time the JPanel decoder sees the addition and will go and
add
the decoders to the new guy.

>>> RK >>>

True. ConstraintComponent is not notified because it has no adapters
whatsoever.

We would like to have a similar behaviour when we set SF "containment" on
our ULCComponent with a layout value object while we are adding it to a
conatiner. We would not like our ULCComponent to be notified while the
"containment" SF
is being set. However we would like to add the decoders to the ULCComponent
when it is applied to a ULCComponent.

Is there a way to do this declaratively or through code?


------ If it is a brand new ULCComponent that is being created, then there won't be
any decoders on it. The decoders won't be added until the new ULCComponent is
added to its parent. The parent will then cause the decoders to be added. However,
if it is an existing one, then the decoders will already be there and cannot be removed.
I don't understand your containment hierarchy well enough to answer this question. I don't
know how are your ULCComponent is "added" to the parent, and what "containment" feature
means, and what "layout" means. Maybe if you gave an example of the generated code of
a ULCComponent added to its parent with layout value maybe I can understand the question better.


Is it possible to do it by setting/unsetting eDeliver() on the object?


----- I don't recommend this. This often screws things up because there are something besides
just the decoder that needs notification and they won't get it.

--------------------------------------------------------------

---- Within weeks.

Is it likely be before September end/ 1st week of October?


---- I don't know. Within weeks is the best I can say. :-(

-------------------------------------------------------------------

Many thanks,

Janak

Attachment: boxPaneContainment.ecore
Description: Binary data


Back to the top