Difference between revisions of "ApCoCoA-1:Eclipse GUI"

From ApCoCoAWiki
m
Line 1: Line 1:
==The Eclipse GUI Project: Goal of the Project==
+
=The Eclipse GUI Project: Goal of the Project=
 
The overall goal of the project can be described as follows:
 
The overall goal of the project can be described as follows:
  
 
   To create a state of the art, platform independent Graphical User Interface for faster CoCoAL program and prototype development.
 
   To create a state of the art, platform independent Graphical User Interface for faster CoCoAL program and prototype development.
  
==Project Plan==
 
  
==Scratchpad==
+
 
 +
 
 +
=Project Plan=
 +
 
 +
 
 +
 
 +
=Scratchpad=
 
Quick and dirty notes for myself, thought as a basis for extending to a proper developer documentation ....
 
Quick and dirty notes for myself, thought as a basis for extending to a proper developer documentation ....
  
===General Links===
+
==General Links==
 
* http://help.eclipse.org/ganymede/index.jsp
 
* http://help.eclipse.org/ganymede/index.jsp
 
* http://www.eclipse.org/articles/Article-UI-Guidelines/Index.html and http://wiki.eclipse.org/User_Interface_Guidelines
 
* http://www.eclipse.org/articles/Article-UI-Guidelines/Index.html and http://wiki.eclipse.org/User_Interface_Guidelines
Line 15: Line 20:
 
* http://wiki.eclipse.org/index.php/Eclipse_FAQs
 
* http://wiki.eclipse.org/index.php/Eclipse_FAQs
  
===Commands===
+
 
 +
==Developing Plugins for Eclipse within Eclipse==
 +
* Use [http://www.eclipse.org/downloads/|Eclipse for RCP/Plug-in Developers]
 +
* You can browse the code of other plugins (which is a great way to learn to know the Eclipse internals) as follows:
 +
** In the Eclipse package explorer: Right click > <code>Import...</code>
 +
** Plug-in development > Plug-ins and Fragments. Next.
 +
** Select 'Binary projects with linked content' in the 'Import As' section. This is a resource friendly way to import the Plug-in code. Next.
 +
** Select the plugins you would like to explore and browse. Finish.
 +
 
 +
==Commands==
 
Examples in our GUI: Starting external ApCoCoA process, sending CoCoAL code to esternal ApCoCoA process, history forward/back, starting Server.
 
Examples in our GUI: Starting external ApCoCoA process, sending CoCoAL code to esternal ApCoCoA process, history forward/back, starting Server.
  
Line 27: Line 41:
  
  
====Links====
+
===Links===
 
* Good starting point: http://richclientplatform.blogspot.com/2007/07/new-menu-contribution-extension.html
 
* Good starting point: http://richclientplatform.blogspot.com/2007/07/new-menu-contribution-extension.html
 
Just for redundancy, the previous link mentions among others the following links:
 
Just for redundancy, the previous link mentions among others the following links:
Line 33: Line 47:
 
* http://wiki.eclipse.org/Menu_Contributions
 
* http://wiki.eclipse.org/Menu_Contributions
 
* http://wiki.eclipse.org/Platform_Command_Framework
 
* http://wiki.eclipse.org/Platform_Command_Framework
*
+
 
 +
==Preparing a new release==

Revision as of 08:47, 2 March 2009

The Eclipse GUI Project: Goal of the Project

The overall goal of the project can be described as follows:

 To create a state of the art, platform independent Graphical User Interface for faster CoCoAL program and prototype development.



Project Plan

Scratchpad

Quick and dirty notes for myself, thought as a basis for extending to a proper developer documentation ....

General Links


Developing Plugins for Eclipse within Eclipse

  • Use for RCP/Plug-in Developers
  • You can browse the code of other plugins (which is a great way to learn to know the Eclipse internals) as follows:
    • In the Eclipse package explorer: Right click > Import...
    • Plug-in development > Plug-ins and Fragments. Next.
    • Select 'Binary projects with linked content' in the 'Import As' section. This is a resource friendly way to import the Plug-in code. Next.
    • Select the plugins you would like to explore and browse. Finish.

Commands

Examples in our GUI: Starting external ApCoCoA process, sending CoCoAL code to esternal ApCoCoA process, history forward/back, starting Server.

To add a command, extend these extension points in the plugin.xml:

  • org.eclipse.ui.commands: here just an ID together with other attributes (name, category,...) for a certain command is defined.
  • org.eclipse.ui.handlers: this is the link between the command ID and an actual handler, ie. a class that does something when the command is called. It is possible to implement more than one handler to a certain command and to determine certain conditions when to use which handler (elements activeWhen and enabledWhen
  • org.eclipse.ui.menues: here the actual visible menu and toolbar contributions are defined along with declarations, when they are visible, eg. they are visible when, say, an editor "is in a certain context".
  • org.eclipse.ui.contexts: this defines a context which is referenced by the visibility check of the menus, toolbars,... The context is set by the following code snippet in the class ApCoCoAEditor.
 IContextService contextService = (IContextService) getSite().getService(IContextService.class);
 contextService.activateContext("org.apcocoa.eclipse.contexts.ApCoCoA");


Links

Just for redundancy, the previous link mentions among others the following links:

Preparing a new release