| [news.eclipse.modeling.gmf] Re: Change Popup Strings and Icons in Mindmap example |
Joe,
Please forget the previous tricky solution.
Koji
Koji Hashimoto wrote:
Joe,
Customizing ElementType's ID is a way to solve your problem.
In XXXElementTypes.java generated in your diagram's project, you can find IElementType fields which are initialized by XXXElementTypes.getElementType(String id). You edit their ids, mark "@generated NOT", and add new ElementTypes with the customized ids in your custom project.
I think this tricky way works, but the original ElementTypes remain redundantly in the diagram project...
Does anyone have a better idea?
Koji
From: "Joe Dente" <jdente@xxxxxxxxxxxxxxxxxx> Subject: Re: Change Popup Strings and Icons in Mindmap example Date: Fri, 28 Sep 2007 13:45:45 -0500
IThanks for the response.
This worked well for replacing the icons as well as the labels in the popup menus. I have one issue in that I needed to modify the elementTypes extension point in my diagram project. If I added that extension in my own custom project, it would not override the behavior already dictated in the diagram's extension. If I edit the diagram's extensions, then the changes
sharemake will get overwritten the next time I generate diagram code. Is there any way around this?
Thanks,
Joe.
"Koji Hashimoto" <kojihashi@xxxxxxxxx> wrote in message news:44443b10f08e1716293a6f79b6750aa5$1@xxxxxxxxxxxxxxxxxx
> Joe,
>
> You can change the text of a popup menu by modifying the "name" attribute > of ElementType. ElementTypes are registered in > org.eclipse.gmf.runtime.emf.type.core.elementTypes extension point.
>
> To customize the icons, from p.12 to p.24 of the following slides will > help you.
>
> http://eclipsezilla.eclipsecon.org/php/attachment.php?bugid=3739
>
> Koji
>
>
> Joe Dente wrote:
>
>> Upon further investigation, it does not seem possible to adjust the text >> and icons of a popup menu based on attributes in an EObject. The icons >> are looked up based upon an EClass, not an EObject or instance of an >> EClass. In the mindmap example, Depends, Extends, and Includes all
and>> the same EClass (Relationship), meaning they all fetch identical text
for>> icons for any popup menus. So even though using OCL, the tooling and >> graphical definitions, I can assign different figures and tools to each >> of these relationships, there is no way to provide unique popup menus
menus,>> using the 3 different tools. In my scenario, I have 14 different enum >> attribute values that have individual tooling, which would mean that the >> popup menus will have 14 identical appearing options that reference >> different tools!!! If I model these 14 different attribute values as 14 >> different classes, I can assign unique icons and text to the popup
have>> but I lose flexibility in the way the user can edit and change the >> properties.
>
>> Is there a solution to this issue? It seems somebody out there would
types>> run into this problem, especially since it exists in the Mindmap >> tutorial.
>
>> Thanks,
>> Joe
>
>> "Joe Dente" <jdente@xxxxxxxxxxxxxxxxxx> wrote in message >> news:fdet6o$fvi$1@xxxxxxxxxxxxxxxxxxxx
>>> Hi,
>>>
>>> Does anybody know how to change the icon and string that gets displayed >>> in hover/popup menus?
>>>
>>> In part 2 of the mindmap example, >>> http://wiki.eclipse.org/index.php/GMF_Tutorial_Part_2, there are 3
this>>> of relationships (depends, includes, and extends). These relationships >>> are created by 3 seperate tools and distinguished by an enumeration as >>> explained in the tutorial. There is a problem with this approach >>> however. Since there is a single class for all 3 types (depends, >>> includes, and extends), I cannot assign these 3 types unique icons and >>> strings. So if I create a relationship without using the pallet, (by >>> dragging an arrow from one node to another node), the popup menu will >>> ask me to "Create a Relationship" three times and simply displays the >>> generic Relationship icon for all 3 options. Instead, I would like
"Create>>> popup menu to say something like "Create a DependsRelationship",
The>>> an ExtendsRelationship", "Create an Includes Reltionship" and display >>> custom icons for each action. This problem does not exist in the >>> pallet, because the pallet extracts names and icons from the tools.
>>> popup menus, however, appear to extract names and icons from the edit >>> and model code. How can I customize the icons and strings in the popup >>> menus depending on an attribute value?
>>>
>>> Thanks,
>>> Joe
>>>
>
>