In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Información para crear plugins

Foro público de Xailer en español
Responder
TSALES
Mensajes: 15
Registrado: Lun Ago 09, 2010 10:40 am

Información para crear plugins

Mensaje por TSALES »

Hola
Necesito crear un plugin para obtener información sobre el proyecto activo, en concreto la siguiente:
- Nombre del proyecto en el que estoy
- Relación de ficheros del proyecto
- Nombre del fichero seleccionado (pestaña activa del ide)
- Nombre del Metodo o funcion en el que estoy (ComboBox del ide que proporciona este información).
¿Como puedo acceder a ello y/o donde se puede obtener información sobre los contruccion de plugins con Xailer?
Saludos
Toni Sales
jlalin
Mensajes: 926
Registrado: Sab Dic 25, 2010 11:10 pm

Información para crear plugins

Mensaje por jlalin »

/*
* Project: HelloWorld plugin
* File: HelloWorld.prg
* Description: Testing IPlugin interface
* Author: Jose Lalin
* Date:
*/
#include "Xailer.ch"
//---------------------------------------------------------- --------------------
INIT PROC HelloWorldPluginRegister()
WITH OBJECT IHelloWorld():New()
:cName := "IHelloWorld"
:cDescription := "Basic plugin sample"
:cVersion := "0.1"
:cCategory := "Samples"
:cImage := "IHelloWorld"
:Install()
END
RETURN
//---------------------------------------------------------- --------------------
CLASS IHelloWorld FROM IPlugin
METHOD Install()
METHOD About()
METHOD Run()
ENDCLASS
//---------------------------------------------------------- --------------------
METHOD Install() CLASS IHelloWorld
LOCAL IMenu := ::GetMainMenu()
LOCAL oItem
oItem := IMenu:AddSeparator( 6 )
::RegisterMenuItem( oItem )
oItem := IMenu:AddItem( "&Toni plugin", 6 )
oItem:OnClick := {|| ::Run() }
::RegisterMenuItem( oItem )
::Register()
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD About() CLASS IHelloWorld
MsgInfo( ::cDescription + " " + ::cVersion + CRLF + CRLF + ;
"Ejecutar->Toni" + CRLF + ;
"Run->Toni" + CRLF, ::cName )
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD Run() CLASS IHelloWorld
LOCAL IEditor := ::GetEditor()
LOCAL IProject := ::GetProject()
MsgInfo( "Modulo: " + IEditor:cModule )
MsgInfo( "Proyecto: " + IProject:cFile )
MsgInfo( "Files: " + ToString( Len( IProject:aFiles ) ) )
MsgInfo( "Combo: " + IEditor:oRebar:aItems[1]:oControl:aItems[1]:Classname() )
//MsgInfo( "Combo: " + IEditor:oRebar:aItems[1]:oControl:aItems[1]:cText )
RETURN Nil
//---------------------------------------------------------- --------------------
TSALES
Mensajes: 15
Registrado: Lun Ago 09, 2010 10:40 am

Información para crear plugins

Mensaje por TSALES »

Gracias Jose
Responder