Thank you!

 

From: Laszlo Kishalmi <laszlo.kisha...@gmail.com> 
Sent: Sunday, November 29, 2020 2:56 AM
To: users@netbeans.apache.org
Subject: Re: How to get Project from custom action ?

 

Pretty easy. If you have the FileObject (that cna be acquired by the DataObject 
if needed), Then get use the:

http://bits.netbeans.org/dev/javadoc/org-netbeans-modules-projectapi/org/netbeans/api/project/FileOwnerQuery.html#getOwner-org.openide.filesystems.FileObject-

On 11/28/20 3:13 PM, Orlyanskiy Vladimir wrote:

Do you mean replace DataObject to Project as I have done in new example? In 
this case my action is disabled in context menu. I have added picture with 
example.

I need to know DataObject/File and Project in one time. 

If I will know Project how can I find what DataObject/File has been selected 
for action?

 

package org.vorlyanskiy.netbeans.groovy;

 

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.Collection;

import org.netbeans.api.project.Project;

import org.openide.awt.ActionID;

import org.openide.awt.ActionReference;

import org.openide.awt.ActionReferences;

import org.openide.awt.ActionRegistration;

import org.openide.loaders.DataObject;

import org.openide.util.Lookup;

import org.openide.util.NbBundle.Messages;

import org.openide.util.Utilities;

 

@ActionID(

        category = "Build",

        id = "org.vorlyanskiy.netbeans.groovy.SomeAction"

)

@ActionRegistration(

        displayName = "#CTL_SomeAction"

)

@ActionReferences({

    @ActionReference(path = "Loaders/text/x-groovy/Actions", position = 566),

})

@Messages("CTL_SomeAction=My Action")

public final class SomeAction implements ActionListener {

 

    private final Project context;

 

    public SomeAction(Project context) {

        this.context = context;

    }

 

    @Override

    public void actionPerformed(ActionEvent ev) {

        Project project = 
Utilities.actionsGlobalContext().lookup(Project.class);

        Project project2 = context.getLookup().lookup(Project.class);

    }

}

 

 



 

From: Geertjan Wielenga  <mailto:geertjan.wiele...@googlemail.com.INVALID> 
<geertjan.wiele...@googlemail.com.INVALID> 
Sent: Sunday, November 29, 2020 1:41 AM
To: Orlyanskiy Vladimir  <mailto:en...@mail.ru.invalid> <en...@mail.ru.invalid>
Cc: users@netbeans.apache.org <mailto:users@netbeans.apache.org> 
Subject: Re: How to get Project from custom action ?

 

Replace DataObject with Project.

 

Gj

 

On Sat, 28 Nov 2020 at 23:38, Orlyanskiy Vladimir <en...@mail.ru.invalid 
<mailto:en...@mail.ru.invalid> > wrote:

Hello.

I try to create module with new action for existing file type. 

I have created action with code that I have put below. 

I have problem with loading Project in method actionPerformed. Project is null 
in both cases.

How to load current Project from action ?

 

 

@ActionID(

        category = "Build",

        id = "org.xxx.netbeans.groovy.SomeAction"

)

@ActionRegistration(

        displayName = "#CTL_SomeAction"

)

@ActionReferences({

    @ActionReference(path = "Loaders/text/x-groovy/Actions", position = 566),

})

@Messages("CTL_SomeAction=My Action")

public final class SomeAction implements ActionListener {

 

    private final DataObject context;

 

    public SomeAction(DataObject context) {

        this.context = context;

    }

 

    @Override

    public void actionPerformed(ActionEvent ev) {

        Project project = 
Utilities.actionsGlobalContext().lookup(Project.class);

        Project project2 = context.getLookup().lookup(Project.class);

    }

}

 

                

Reply via email to