Skip to main content



      Home
Home » Eclipse Projects » Sirius » How to give the ID for dynamically created elements, and where to save the values
How to give the ID for dynamically created elements, and where to save the values [message #1792107] Wed, 11 July 2018 10:54 Go to next message
Eclipse UserFriend
Hello all,
I am creating elements dynamically in to a section as in the attached screenshot.
index.php/fa/33363/0/
I didn't do the createInstance method as I need only standard elements. Hope this approach is ok.
Now my question is - how do I give the IDs to the newly added elements and big question is where I store them? Hope I don't need to define the placeholders in the ecore! Can I store them in a Java service? may be?
Appreciate any help in this regard.
- P

[Updated on: Wed, 11 July 2018 10:56] by Moderator

Re: How to give the ID for dynamically created elements, and where to save the values [message #1792162 is a reply to message #1792107] Thu, 12 July 2018 05:27 Go to previous messageGo to next message
Eclipse UserFriend
Hi,

I'm not sure I correctly understand the question, and in particular which IDs for which "newly added elements". If the question is about the "Id" of the widgets that will be instanciated at runtime by the "For" loop visible in your screenshot, a fixed Id is enough inside the .odesign. If at runtime the "For" loop instanciates 10 concrete "Default Logout CN" widgets, the Sirius/EEF runtime will make sure they each get a unique id internally.

Regards,
Re: How to give the ID for dynamically created elements, and where to save the values [message #1792173 is a reply to message #1792162] Thu, 12 July 2018 06:21 Go to previous messageGo to next message
Eclipse UserFriend
Hi Pierre, thanks for your reply. Its great to know that each element inside my for loop (yes, you are right in your assumption) indeed is getting a unique id. That makes my life much easier. However, I'm not sure about -
a. how to get the dynamic ids that are generated
b. where does the value getting stored so that we can read the values that are set. We need this information in two places - one in the control itself (Value Expression) and the other (in the Feature Name) under the Set operation.
Regards
-Pratiksha
Re: How to give the ID for dynamically created elements, and where to save the values [message #1792186 is a reply to message #1792173] Thu, 12 July 2018 08:12 Go to previous messageGo to next message
Eclipse UserFriend
We may not be talking about the same things after all. The ones I was referring to are purely technical details of how the Sirius/EEF runtime produces the SWT UI elements needed for a particular semantic element you select. They are never stored anywhere and there is no reason I can see to need them in the Value Expression or Set operation.

In the Value Expression of Set operation, you are in the context of your semantic elements. If your "For" loop has produced 10 Text Widgets for different values of your iterator ("i" in your example), each widget will have the same value of "self", but a different value of "i". You can use those in your "Value Expression" to compute the text that should be displayed for the "i" property of the "self" semantic element. Inside the "Begin" callback (which is called when the user changes the content of the text widget) you still have access to those and also to the "newValue" which corresponds to the text entered by the user. So you can use those 3 to set the "i" property of the "self" semantic element to the "newValue" (whatever that means concretely in you context).

At no point should you need the ids of the model elements that Sirius has created internally to render the properties view's widgets and wire them and their callbacks together.
Re: How to give the ID for dynamically created elements, and where to save the values [message #1792244 is a reply to message #1792186] Fri, 13 July 2018 03:54 Go to previous messageGo to next message
Eclipse UserFriend
Hello Pierre, thanks once again for bringing the clarity in to this. Here is my problem. I have no issues in displaying the dynamic texts in the pop up. However, I do have text boxes and other elements in the popup for whose I need to store the values for my further processing.
index.php/fa/33391/0/
So, if I dont mention the variable in the Set, how do I read it back?
Thanks in advance Pierre for your patience ;)
-Pratiksha
Re: How to give the ID for dynamically created elements, and where to save the values [message #1792489 is a reply to message #1792244] Wed, 18 July 2018 11:18 Go to previous message
Eclipse UserFriend
Sorry for the delay, I had missed your answer.

The wizards and dialogs configure in the Sirius VSM actually behave exactly like a property sheet (for all intent and purpose, they are just property sheets displayed in a top-level window). When you open such a dialog, it must be bound to a particular element in your model, and every edition performed in the widgets is immediatly applied to the model. Exactly like in the property view. So the answer to "where does this get stored" is "somewhere in your model" (exactly where is up to you, and depends on how you configures your modeler).
Previous Topic:Any support for spinning wheel/ wait gif in Sirius?
Next Topic:create and modify external resources for each diagram
Goto Forum:
  


Current Time: Wed Jul 23 15:46:10 EDT 2025

Powered by FUDForum. Page generated in 0.03537 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top