Página 1 de 1
Información para crear plugins
Publicado: Jue Abr 05, 2012 10:24 am
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
Información para crear plugins
Publicado: Lun Abr 09, 2012 1:50 pm
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
//---------------------------------------------------------- --------------------
Información para crear plugins
Publicado: Mar Abr 10, 2012 1:57 pm
por TSALES
Gracias Jose