[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Newsgroup Home]
|
[news.eclipse.modeling.gmf] Re: How to call own layoutProvider from "Arrange All"
|
Martin,
Is there another layout defined with the highest priority ?
If you externalize your layout in a plug-in check that you plug-in started without errors ("Show View" -> "Other" -> "Plug-in Registry").
If you install GMF sdk there is also an example of layout provider ("New" -> "Example/ GMF PLugins/Square layout provider") to compare.
Regards,
Mariot
Martin Jacob a écrit :
> Hi Mariot,
>
> the package and class name in plugin.xml is correct. (I just delete some
> parts for posting it here)
> And yes u are right system.out is evil, its just a old habit from C
> programming....
>
> Now I used the debugger but got the same result. My layout provider will
> not be called :(
>
> Any other suggestions?
>
> Cheers, Martin
>
> Mariot Chauvin wrote, On 29.01.2009 09:49:
>> Hi Martin,
>>
>> It seems to me that your class value in plugin.xml is not the right one :
>>
>> <layoutProvider class="ui.diagram.providers.LayoutProvider">
>>
>> should be :
>>
>> <layoutProvider class="yourcompany.yourpackage.PscViewerLayoutProvider">
>>
>> BTW debugging with system.out is evil :P, why you do not simply add
>> breakpoints ?
>>
>> Regards,
>>
>> Mariot
>>
>> Martin Jacob a écrit :
>>> Hi everyone,
>>>
>>> I was searching on the mailing list but did not find a sufficient
>>> answer fop my problem.
>>>
>>> I want to use my own layoutProvider while using the already existing
>>> menu item "Arrange All".
>>>
>>>
>>> I did the following things so far:
>>>
>>> 1. Add the extension point, see below:
>>>
>>> <extension name="PSC Viewer Layout Provider"
>>> point="org.eclipse.gmf.runtime.diagram.ui.layoutProviders">
>>> <layoutProvider class="ui.diagram.providers.LayoutProvider">
>>> <Priority name="Highest">
>>> </Priority>
>>> </layoutProvider>
>>> </extension>
>>>
>>>
>>> 2. Create a class derived from
>>> org.eclipse.gmf.runtime.diagram.ui.services.layout.AbstractLayoutNodeProvider
>>>
>>>
>>>
>>> public class PscViewerLayoutProvider extends
>>> AbstractLayoutNodeProvider {
>>>
>>> public Runnable layoutLayoutNodes(List layoutNodes,
>>> boolean offsetFromBoundingBox, IAdaptable layoutHint) {
>>> System.out.println("layoutNodes: "+layoutNodes.toString());
>>> System.out.println("offsetFromBoundingBox: "+offsetFromBoundingBox);
>>> System.out.println("layoutHint: "+layoutHint.toString());
>>> return null;
>>> }
>>>
>>> public boolean provides(IOperation operation) {
>>> System.out.println(""+operation.toString());
>>> if (operation instanceof
>>> org.eclipse.gmf.runtime.diagram.ui.services.layout.ILayoutNodeOperation)
>>> {
>>> System.out.println("true");
>>> return true;
>>> }
>>> System.out.println("false");
>>> return false;
>>> }
>>> }
>>>
>>> I would expect to see at least the println while calling "Arrange All".
>>> But I don't see any thing at System.out!
>>>
>>> Does any one could please give me a hint how to solve the problem?
>>>
>>> Thanks, Martin