<div dir="ltr">Hi Cinthya,<div><br></div><div>You'd have to implement a decorator. I'd start with the Visual C++>GME Decorator project type in Visual Studio 2010. (There is currently no support for creating a decorator in later Visual Studio versions, but you can upgrade the project after creation)</div><div>1) Use the MouseRightButtonDown method</div><div>2) Use the MouseLeftButtonDoubleClick method<br></div><div><br></div><div>Then set the Decorator attribute in the metamodel to your decorator's ProgID</div><div><img src="cid:ii_161538ef096f4ac5" alt="Inline image 1" width="441" height="172"><br></div><div><br></div><div>Kevin</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 1, 2018 at 4:18 PM, Cinthya Lopez <span dir="ltr"><<a href="mailto:Cinthya_K_Lopez@raytheon.com" target="_blank">Cinthya_K_Lopez@raytheon.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="EN-US" link="blue" vlink="purple">
<div class="m_4766563991119822549WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">That was it. The attribute value did not change so the parameter was null. I used a combination of #1 and #2 from your suggestions and I got it to do what I wanted.
 Thank you.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">On a separate topic, my add-on pops up a form whenever the user changes the value of an attribute. In my case, the attribute I am interested in is an Enum. Right
 now, if the user wishes to display the form again without changing the value of the attribute, they have to click on the drop down arrow and select the same item. I would like to make this more intuitive for the user.
<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">I have 2 ideas, but I am not sure if it would be possible to do in GME.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="m_4766563991119822549MsoListParagraph"><u></u><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><span>1)<span style="font:7.0pt "Times New Roman"">     
</span></span></span><u></u><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Add a custom option in the GME context menu when they right-click on Atoms of a certain Kind<u></u><u></u></span></p>
<p class="m_4766563991119822549MsoListParagraph"><u></u><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><span>2)<span style="font:7.0pt "Times New Roman"">     
</span></span></span><u></u><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Catch the double-click event on Atoms of a certain Kind<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Is this possible? Do you have any suggestions on how I would be able to achieve something like this?<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Cinthya<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> gme-users [mailto:<a href="mailto:gme-users-bounces@list.isis.vanderbilt.edu" target="_blank">gme-users-bounces@<wbr>list.isis.vanderbilt.edu</a>]
<b>On Behalf Of </b>Kevin Smyth<br>
<b>Sent:</b> Thursday, February 1, 2018 10:16 AM</span></p><div><div class="h5"><br>
<b>To:</b> A list for GME users to share thoughts and discuss bugs and fixes. <<a href="mailto:gme-users@list.isis.vanderbilt.edu" target="_blank">gme-users@list.isis.<wbr>vanderbilt.edu</a>><br>
<b>Subject:</b> [External] Re: [gme-users] Creating read-only attributes in a meta-model<u></u><u></u></div></div><p></p><div><div class="h5">
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">The third parameter should not be null if the type is OBJEVENT_ATTR and an attribute's value has changed. (It may be null if the attribute was set to the same value)<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Kevin<u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">On Thu, Feb 1, 2018 at 10:37 AM, Cinthya Lopez <<a href="mailto:Cinthya_K_Lopez@raytheon.com" target="_blank">Cinthya_K_Lopez@raytheon.com</a>> wrote:<u></u><u></u></p>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Hi Kevin,</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">For #1, the third parameter that is passed into ObjectEvent is of type object. When I look at it in
 the debugger its value is null so casting it to object[] shows null as well. Am I missing something? I am working with GME 14.</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">I think this would be the information I need. If I can get the “attibuteName” to check which attribute
 is being modified, I can avoid falling into the case where my add-on code executes again when I modify my “read-only” attribute on the same object.</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Thanks,</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Cinthya</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"> </span><u></u><u></u></p>
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> gme-users [mailto:<a href="mailto:gme-users-bounces@list.isis.vanderbilt.edu" target="_blank">gme-users-bounces@<wbr>list.isis.vanderbilt.edu</a>]
<b>On Behalf Of </b>Kevin Smyth<br>
<b>Sent:</b> Thursday, February 1, 2018 8:58 AM<br>
<b>To:</b> A list for GME users to share thoughts and discuss bugs and fixes. <<a href="mailto:gme-users@list.isis.vanderbilt.edu" target="_blank">gme-users@list.isis.<wbr>vanderbilt.edu</a>><br>
<b>Subject:</b> [External] Re: [gme-users] Creating read-only attributes in a meta-model</span><u></u><u></u></p>
<div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<p class="MsoNormal">Hi Cinthya,<u></u><u></u></p>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">It is not possible to disable editing of an attribute through the GUI. You can only hide attributes from the GUI.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">I'd suggest:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">1. Your add-on detects when the user modifies the attribute and sets the value back to the original value. When your addon receives OBJEVENT_ATTR in ObjectEvent, the third parameter
 contains the old value. For C#, cast it to object[], and you'll see {"ATTR:", "attributeName", "oldValue"}. Or<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">2. Look at OBJEVENT_ATTR and return E_MGA_CONSTRAINT_<wbr>VIOLATION to signify the GME transaction should be aborted. In C#, you can do this like <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">int E_MGA_CONSTRAINT_VIOLATION = 0x87657fff;<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">throw new COMException("Constraint violation", E_MGA_CONSTRAINT_VIOLATION );<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">3. Create a hidden attribute in your meta-model. Your add-on sets this attribute and your original attribute to the same value. Then write a constraint that the attributes must
 be equal<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Kevin<u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<p class="MsoNormal">On Wed, Jan 31, 2018 at 5:22 PM, Cinthya Lopez <<a href="mailto:Cinthya_K_Lopez@raytheon.com" target="_blank">Cinthya_K_Lopez@raytheon.com</a>> wrote:<u></u><u></u></p>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal">Hello,<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">I am looking for a way to create a read-only attribute in my meta-model. Basically I want to be able to populate the value of my attribute through my add-on and it will only be
 informational to the user when they create their model.<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">Does anyone know of a way to do this in GME?<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">Thank you,<u></u><u></u></p>
<p class="MsoNormal">Cinthya<u></u><u></u></p>
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
______________________________<wbr>_________________<br>
gme-users mailing list<br>
<a href="mailto:gme-users@list.isis.vanderbilt.edu" target="_blank">gme-users@list.isis.<wbr>vanderbilt.edu</a><br>
<a href="http://list.isis.vanderbilt.edu/cgi-bin/mailman/listinfo/gme-users" target="_blank">http://list.isis.vanderbilt.<wbr>edu/cgi-bin/mailman/listinfo/<wbr>gme-users</a><u></u><u></u></p>
</blockquote>
</div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
______________________________<wbr>_________________<br>
gme-users mailing list<br>
<a href="mailto:gme-users@list.isis.vanderbilt.edu" target="_blank">gme-users@list.isis.<wbr>vanderbilt.edu</a><br>
<a href="http://list.isis.vanderbilt.edu/cgi-bin/mailman/listinfo/gme-users" target="_blank">http://list.isis.vanderbilt.<wbr>edu/cgi-bin/mailman/listinfo/<wbr>gme-users</a><u></u><u></u></p>
</blockquote>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div></div></div>
</div>

<br>______________________________<wbr>_________________<br>
gme-users mailing list<br>
<a href="mailto:gme-users@list.isis.vanderbilt.edu">gme-users@list.isis.<wbr>vanderbilt.edu</a><br>
<a href="http://list.isis.vanderbilt.edu/cgi-bin/mailman/listinfo/gme-users" rel="noreferrer" target="_blank">http://list.isis.vanderbilt.<wbr>edu/cgi-bin/mailman/listinfo/<wbr>gme-users</a><br>
<br></blockquote></div><br></div>