Hi,

I' have discovered Monkey Eclipse today. Congratulation for your work!
I wrote you because I'm Akrogen Eclipse Plugin developer and perhaps you
could be interested
with this Plugin.

With Akrogen <http://akrogen.sourceforge.net/>you can describe Eclipse
wizard with XML/XUL and Javascript (to manage logic) and linked to a
template (Freemarker, Velocity..) to generate code. Akrogen works with
Catalog (Folder wich contains
templates, XML component (XUL of wizard page), scripts...

So I think Monkey+Akrogen could be godd solution to manage Eclipse with
scripts.


I wrote a simple (monkey) script to Open a Wizard described with XML/XUL and
javascript.
To works this script, you must :

1. Install Akrogen. See
here<http://akrogen.sourceforge.net/plugin_installation.html>for more
information.
2. Create Eclipse Project and with contectuel menu "Add Akrogen
Capabilities..." See here <http://akrogen.sourceforge.net/plugin_using.html>for
more information.
3. Copy/Paste the script Akrogen_OpenComponent.em (the content of the file
is at end of this mail)
4. Open Akrogen Vue. See here
<http://akrogen.sourceforge.net/plugin_using/catalog.html>for more
information.
5. Run Script Akrogen_OpenComponent with Shift+W

I hope I don't disturb this mailling list. Don't hesitate to contact me if
you have questions
or features about Akrogen.

Regards Angelo

Akrogen_OpenComponent.em file :

/*
 * Use this as a template to open XMl component Akrogen.
 *
http://www.aptana.com/docs/index.php/Adding_metadata_to_an_Eclipse_Monkey_script#Key_metadata
 *
 * Note that M1 is Control/Command, M2 is Shift, and M3 is Alt/Option
 *
 * Key: M2+W
 * Menu: Akrogen
 * Kudos: Angelo ZERR (Akrogen).
 * License: GPL
 * DOM:
 */

function main()
{
        // 1. Load Akrogen Bundle
        loadBundle("org.akrogen.eclipse");

        // 2. Search selected project into workspace
        var ResourcesPlugin =
Packages.org.eclipse.core.resources.ResourcesPlugin;
        var projects = ResourcesPlugin.getWorkspace
().getRoot().getProjects();
        var projectSelected = null;
        for (var i = 0; i < projects.length; i++) {
            projectSelected = projects[i];
            if (!projectSelected.isOpen()) {
                projectSelected = null;
            } else
                break;
        }

        if (projectSelected != null) {
            // Project is selected, get the Akrogen project (works only if
selected project
            // has Akrogen Nature (use contextual menu Add Akrogen
Capabilities...)
            var akrogenProject =
Packages.org.akrogen.eclipse.project.AkrogenProject.getAkrogenProject
(projectSelected);
            if(akrogenProject != null) {
                // It's Akrogen Project

                // Get just IFile instance (FIXME : Akrogen API will change
to avoid that...)
                var file = projectSelected.getFile('EMPTY');
                // Get the first available catalogs
                var catalog = akrogenProject.getAvailableCatalogs()[0];
                // Get the first component resource of the catalogue

                catalogResource = catalog.getElementsByTagName
('component-ref').item(0);

                // Open Catalog resource with OpenCatalogResourceAction
Akrogen class.
                var action = new
Packages.org.akrogen.eclipse.actions.catalog.
                    OpenCatalogResourceAction(akrogenProject,
catalogResource, file, null);

                action.run();
            }
        }
}
_______________________________________________
dash-dev mailing list
dash-dev@eclipse.org
https://dev.eclipse.org/mailman/listinfo/dash-dev

Reply via email to