Bio
Mi avatar Blog de un pequeño informaticú y sus ocurrencias y pequeñas notas de ayuda.
AddThis Feed Button
AddThis Social Bookmark Button
Avilés, Altos hornos.
Avilés
La Dársena de Fernando, Restaurante
El ataque de los  troyanos
IMGP2135
IMGP2134
IMGP2133
IMGP2120
IMGP2107
IMGP2104
This Month Last Year
Categories
links
12
Sep

Crear plugins para Windows Live! Writer

(QR Code)

Crear un plugin para Windows Live! Writer puede resultar muy sencillo. Existen dos formas de crear los plugins, una “Simple” donde simplemente mostramos un dialogo donde pedimos los datos que queramos y después creamos el HTML y otro método mas complejo en el cual además proveemos un control para poder editar el contenido que hemos insertado.

Hoy voy a explicar como hacer el plugin más simple. Solo hemos de empezar creando una Biblioteca de clases de .NET, Windows Live! Writer acepta vb.net y c# tanto sobre .NET 1.1 como 2.0 para los plugins

A este proyecto hemos de importarle el ensamblado WindowsLive.Writer.Api.dll que se encuentra el la carpeta de nuestra instalación de Windows Live! Writer e importar el espacio de nombres WindowsLive.Writer.Api, con esto ya tenemos todo listo para empezar a trabajar

 

  1. using System.Windows.Forms;
  2. using WindowsLive.Writer.Api;
  3. namespace HelloWorldPlugin{
  4. [WriterPlugin("605EEA63-B54B-4e6d-A290-F5E9E8229FC1", "Simple Hola Mundo",
  5. ImagePath = "Imagenes.icono.png",
  6. PublisherUrl = "http://www.dubasdey.com",
  7. Description = "Escribe un mensaje en h2.")]
  8. [InsertableContentSource( "Simple Hola Mundo" )]
  9. public class SimpleHelloWorldPlugin : ContentSource{
  10. public SimpleHelloWorldPlugin(){}
  11. public override DialogResult CreateContent(IWin32Window dialogOwner, ref string newContent){
  12. // Creamos el dialogo HelloWorldInsertForm, que contiene
  13. // una caja de texto y la propiedad Message para obteber su valor
  14. HelloWorldInsertForm insertForm = new HelloWorldInsertForm();
  15. DialogResult result = insertForm.ShowDialog();
  16. if(result==DialogResult.OK){ // Si el resultado es OK creamos el contenido
  17. newContent = "<h2>" + insertForm.Message + "</h2>";
  18. }
  19. return result;
  20. }
  21. }
  22. }

 

 

Bien lo primero que vemos en el código son una serie de atributos entre corchetes.
El primero, WriterPlugin, se usa para especificar que es un plugin de WindowsLive.Writer asi como una serie de propiedades del mismo. La primera cadena corresponde a un GUID que identificara &úacute;nicamente al plugin (cada plugin tiene que tener su GUID), después tenemos el nombre del plugin, que es el nombre que tendrá a la vista, la siguiente cadena corresponde a la ruta (dentro del ensamblado) de una imagen PNG de 20×18 píxeles insertada como recurso incrustado que se usara como icono del plugin, los siguientes dos textos corresponden a una URL y una descripción para el Plugin.

 

El siguiente atributo InsertableContentSource solo lleva el nombre del plugin y sirve para indicar que el plugin pertenece a un contenido insertable.

 

Lo siguiente que necesitamos despues de añadir estos atributos a nuestra clase es que la clase herede de ContentSource y sobreescribir como vemos el metodo CreateContent.

 

CreateContent recive 2 parametros, el primero es el manejador de la ventana propietaria, para hacer un dialogo modal a esa ventana y el segundo es un valor de cadena por referencia donde escribiremos el codigo HTML que queramos depositar. Por ultimo el metodo devuelve un DialogResult con el que indicaremos si el usuario acepto las operaciones y cancelo. En esta funcion podremos hacer lo que necesitemos, por ejemplo crear un dialogo para pedir un texto como en el ejemplo y devolver ese texto como Heading 2 reescribiendo la cadena NewContent.


Nadie ha comentado (aun...)

No hay comentarios

Quieres dejar un comentario?