[gme-users] Hierarchical menus for Tools | Run Interpreter...

James H. Hill hillj at cs.iupui.edu
Mon Jul 19 12:42:31 CDT 2010


Hi,

I would think that such a feature would be possible without break 
existing functionality via the following steps:

1. Design a new interface (e.g., IMgaMenuLocation) that enables 
Components to control the location in the Tools menu depending on their 
type (i.e, Interpreter vs. Plugin).

2. Components implement the new interface.

3. GME queries for the interface via QueryInterface. Since its COM, if 
the component implements the interface, then it will be returned. 
Otherwise, an exception should be thrown (I think).

4. If the IMgaMenuLocation interface is returned, then invoke the method 
that returns the location of the component (such as A | B where A and B 
are parents). GME the places the component under that tree in the 
appropriate menu.

5. If the interface does not exist, then place in in the root part of 
the tree. This would happen for pre-existing components that have not 
been updated to implement the interface.

6. We should be good to go now with normal invoking behavior in GME.

This is what I just thought of off the top of my head. The idea may need 
a little tweaking since I'm still dusting off my COM experience. ;-)

Thanks,

James

On 7/19/10 1:32 PM, James H. Hill wrote:
> Hi Larry,
>
> Your suggestions are all good options.
>
> I just seems more intuitive from an end-user point of view to enable
> customization of the menu functionality to give the tool better look and
> feel for the distributed DSML (i.e., make the menus more domain-specific).
>
> Thanks,
>
> James
>
> On 7/19/10 12:43 PM, Larry Howard wrote:
>> Why not just implement your own launcher component and put it on the toolbar?  You could even augment GME's native support for modal launching (DisableCompForKinds) by dynamically building a list for the current invocation context.
>>
>> Just a thought.
>>
>> Regards,
>> lph
>> --
>> Larry Howard, Sr. Research Scientist
>> Institute for Software Integrated Systems, Vanderbilt University
>>
>>
>>
>>
>> On Jul 19, 2010, at 11:14 AM, James H. Hill wrote:
>>
>>> Hi,
>>>
>>> Right now we have a DSML that has at 16 different interpreters, and this
>>> does not include those that are disabled. Moreover, the number of
>>> interpreters for the DSML will continue to grow.
>>>
>>> When we select Tools | Run Interpreter... we get a LONG list of
>>> interpreters. Although this is very useful, its hard for our sponsors to
>>> navigate to the correct interpreter.
>>>
>>> Is there a way to add hierarchy to the interpreters displayed under
>>> Tools | Run Interpreter... based on a logic provided by a DSML developer.
>>>
>>> For example:
>>>
>>>     Tools>
>>>       Run Interpreter...>
>>>         Interpreter A
>>>         Interpreter B
>>>         [USER DEFINED GROUP]>
>>>           Interpreter C
>>>           Interpreter D
>>>         [USER DEFINED GROUP]>
>>>           Interpreter E
>>>           [USER DEFINED GROUP]>
>>>             Interpreter F
>>>         Interpreter G
>>>         ...
>>>
>>> If such a feature does not exist, is there a way to request this in the
>>> upcoming version of GME and can you point me to the location to make the
>>> request?
>>>
>>> Thanks,
>>>
>>> James
>>>
>>>
>>>
>>> _______________________________________________
>>> gme-users mailing list
>>> gme-users at list.isis.vanderbilt.edu
>>> http://list.isis.vanderbilt.edu/mailman/listinfo/gme-users
>>
>>
>>
>> _______________________________________________
>> gme-users mailing list
>> gme-users at list.isis.vanderbilt.edu
>> http://list.isis.vanderbilt.edu/mailman/listinfo/gme-users
> _______________________________________________
> gme-users mailing list
> gme-users at list.isis.vanderbilt.edu
> http://list.isis.vanderbilt.edu/mailman/listinfo/gme-users


More information about the gme-users mailing list