Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [ve-dev] Model does not change on property set

Hi Sri,
 
Yes. The code gen and property sheet are fine.
 
The model changes are not shown in XMI viewer and neither are they saved in the cache. So, next time when one opens the class, the button does not show the text and neither has the preferredSize.
 
The scenario is as follows:
 
1. Drop the button on the canvas
2. A CreationPolicy command sets text on the on the button
3. Button appears on the canvas correctly - it shows text, the property sheet shows text, the code has setText. But model does not show text.
 
After Step 3:
 
4. Resize the button on canvas. setPreferredSize is genearted in code. Property sheet shows new preferredSize. The button size on canvas too is correct. However, preferredSize does not appear in the model.
 
After step 4: (Scenario A)
 
I save and close the file.  On reopen, reverse parser is started. However, the button on the canvas does not show text and preferredSize.
When I do refresh, I do not see any of the properties of the button in propertysheet. However, if I have done clean build of the project before doing steps 1 to 4.
Refresh works ok.
 
Suppose after step 4 above:
 
5. Do a refresh.
6. XMI model shows text and preferredSize.
7. On close and reopen, button appears with text and right size. NOTE: No reverse parsing is done.
 
Suppose after step 3 above: (Scenario B)
 
4. In propertySheet, change the text. The XMI model now shows text. The old setText stmt in code shows the newly set text. No new exprn is generated.
5. In propertySheet, change preferredSize. The XMI model now shows preferredSize and old setPreferredSize stmt in code shows new size. No new exprn is generated.
6. Save: close: reopen.
7. Button appears with correct text and size. However, reverse parser still runs and takes some time.
 
 
Conclusion:
 
Refresh before close works the best. It save the model correctly and no reverse parsing is done on reopen.
 
If I have not doen refresh before close. Then, in scnario A the model is bad and reverse parser is started on reopen. Or in Scnario B, the model is correct but even then the reverse parser is started.
 
No new exprns are generated when properties are changed. Old exprns are updated.
 
Clean build has some role to play in all this. It seems cached models are somehow getting corrupted.
 
Hope these scenarios help you in tracking the problem.
 
Thanks and regards,
 
Janak
  
 
 
-----Original Message-----
From: ve-dev-bounces@xxxxxxxxxxx [mailto:ve-dev-bounces@xxxxxxxxxxx]On Behalf Of Srimanth Gunturi
Sent: Saturday, December 24, 2005 12:26 AM
To: Discussions people developing code for the Visual Editor project
Subject: Re: [ve-dev] Model does not change on property set


Hi Janak,
        The mere fact that codegen is generating the setPreferredSize() and setText()
means that the properties are being set in the model. Even the propertysheet is verifying
this. If the values were being unset/removed from the model, then codegen would have
reacted accordingly and removed/changed in the source.
        Whats puzzling is that these changes are not being shown in the XMI viewer,
and also not cached properly. When you set the text/size, and later change it does it create
a new _expression_ in source, or just update the existing one?
         It could be that the XMI serialization is somehow broken which might explain
why its not able to refresh the XMI viewer dynamically, and also not cache properly the
set properties. So because of this problem if you set 'text', 'preferredSize' and 'backgroundColor'
on an ULCButton, save, close and reopen the file, none of the above properties are set?
Regards,
Sri.






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

12/23/2005 03:59 AM

Please respond to
Discussions people developing code for the Visual Editor project

To
"Discussions people developing code for the Visual Editor project" <ve-dev@xxxxxxxxxxx>
cc
Subject
[ve-dev] Model does not change on property set





Hi Sri,
 
There is only one property being set on resize and it is the preferredSize. The code gen generates setPreferredSize().
 
For that matter, even if one changes the text (setText() is generated for this) property to set the button text, this is not reflected on the model.
 
The code is as follows:
 
private ULCButton getUlcButton() {
 if (ulcButton == null) {
  ulcButton = new ULCButton();
  ulcButton.setPreferredSize(new com.ulcjava.base.application.util.Dimension(131,79));
  ulcButton.setText("ULCButton");
 }
 return ulcButton;
}

 
So the code and propertysheet are fine when I set the preferredSize and text properties. But the model is not updated.
 
However, if I do refresh/synch then the model is ok - it shows preferredSize and text.
 
So the question is why the model is not updated as soon as I set properties? Why is the refresh necessary to have effect in the model?
 
Am I missing some adapter? If so which one?
 
Thanks and regards,
 
Janak
-----Original Message-----
From:
ve-dev-bounces@xxxxxxxxxxx [mailto:ve-dev-bounces@xxxxxxxxxxx]On Behalf Of Srimanth Gunturi
Sent:
Thursday, December 22, 2005 5:51 PM
To:
Discussions people developing code for the Visual Editor project
Subject:
Re: [ve-dev] FW: Do you have some time today?


Hi Janak,

       So when the resize is done on a dropped ULCButton, the only property being set

is 'size' in the EMF model. But when you reload the source, both the 'size' and 'preferredSize'
properties are being set? How many expressions in the source are being generated when

you do the resize?
       It could be that in the runtime, two different API are being called to set the size. One
which doesnt notify of 'preferredSize' change (when you resize in UI), and one which
does  (when you reload the source). Could you please have a look if thats the case?

Regards,

Sri.




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

12/21/2005 06:31 AM

Please respond to
Discussions people developing code for the Visual Editor project


To
"ve-Dev@Eclipse. Org" <ve-dev@xxxxxxxxxxx>
cc
Subject
[ve-dev] FW: Do you have some time today?







Hi VE Team,

Consider the following scenario:

1. Put ULCButton on canvas
2. Resize it.
3. Code gen is fine, property sheet is fine.
4. But the xml model does not show preferredSize.
5. Do a refresh/synch. Now the xml model shows preferredSize.

This means if the user saves before step 5 above, the cached model won't
have preferredSize and when the class is reopened the button will still
appear small.

Could you tell me what the problem could be? Is some adapter missing
somewhere?

Thanks and regards,

Janak

_______________________________________________
ve-dev mailing list
ve-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ve-dev

_______________________________________________
ve-dev mailing list
ve-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ve-dev


Back to the top