Vai al contenuto


Foto
- - - - -

Come scrivere un plugin per wwSmsClient


  • Please log in to reply
5 risposte a questa discussione

#1 solariN

solariN

    BANNED! ~ Programmatore folle di wwSmsClient

  • Root Admin
  • 5563 Messaggi:
  • Sesso:maschio
  • Città:Perugia
  • Interessi:Il mio nuovo progetto, nato a dicembre 2017 e' DomusCoins, una nuova cripto valuta legata alle proprieta' immobiliari che stravolgera' letteralmente questo mondo! Vieni a scoprire questo progetto anche sulla pagina Facebook di DomusCoins.
  • PSM: azz

Inviato 13 January 2006 - 07:23 PM

Scrivere un plugin per wwSmsClient e' semplicissimo, non vi dovete preoccupare della grafica e di sistemare i pulsanti, perche' il motore grafico di wwSmsClient pensera' a sistemarlo in base alle proprieta' che specificate quando costruite il plugin.

Il plugin che vi allego come esempio e' perfettamente funzionante e compilante sotto visual studio .net 2005 e si tratta del logger che trovate in wwSmsClient.

Cose da sapere: per semplificare la vita a me e a chi volesse scrivere dei plugin ho fatto una classe, tale DefaultPlugin. Quando voi scrivete il vostro plugin ereditate da tale classe e fate cio' che segue:

using System;

using System.Collections.Generic;

using System.Text;

using SmsClientLib.plugin;

using System.IO;



namespace MioNameSpace

{

    public class IL_MIO_BEL_PLUGIN : DefaultPlugin

    {

        GuiManager guim;

        GUIComponent guiComponent;



        public IL_MIO_BEL_PLUGIN ()

            : base()

        {

            guim = (GuiManager)base.guiMngr;



            guim.Text = "Questo testo apparira' nel bottone";

            guim.Image = MioNameSpace.Properties.Resources.NOME_IMG;



            guiComponent = new GUIComponent(this);

            guim.AddControl(guiComponent);



            base.pluginType = SmsClientLib.PluginType.Statistics;

        }

    }

}

Ecco qua, avete gia' creto il vostro plugin...

1° osservazione:
           base.pluginType = SmsClientLib.PluginType.Statistics;
PluginType puo' assumere 3 valori possibili:
Statistics significa che questo plugin e' usato per fare le statistiche, in altre parole il gestore grafico lo mette in basso (vicino al logger e sms report).

General: se il plugin e' di questo tipo viene piazzato sulla sinistra

BackGround: se il plugin e' di questo tipo allora non viene piazzato da nessuna parte.

Tutti i tipi di plugin possono avere una voce sul menu Tools->plugins.

2° osservazione:
           guiComponent = new GUIComponent(this);

            guim.AddControl(guiComponent);

Qesto pezzo di codice ci deve essere solo se il plugin ha un controllo grafico associato.
Che cos'e' GUIComponent? GUIComponent e' una classe che scrivete voi e che deve ereditare da System.Windows.Forms.UserControl e implementare l'interfaccia IGuiControl.

Sembra una cosa difficilissima, invece e' molto facile: per ereditare la classe UserControl basta che creiate un nuovo componente con il wizard di visual studio.
Per quanto riguarda l'interfaccia IGuiControl prevede solo la proprieta' public GuiType GuiType{get; } vale a dire che deve ritornare un valore tra questi 3: MainPanel, MainTabbedPanel, RelatedActionsPanel.

Questo valore indica semplicemente se il componente grafico deve apparire sulla sinistra (al posto della rubrica) oppure e' il componente grafico principale. MainTabbedPanel per ora non e' supportato.

3° osservazione: Ho un programmino figo che avevo implementato usando un linguaggio NON .NET (C,C++...),posso integrarlo?
Si, basta che fai un plugin che fa da wrapper degli eventi e delle chiamate lanciate da wwSmsClient, se non sai come fare chiedi sotto.

Please Login HERE or Register HERE to see this link!



#2 solariN

solariN

    BANNED! ~ Programmatore folle di wwSmsClient

  • Root Admin
  • 5563 Messaggi:
  • Sesso:maschio
  • Città:Perugia
  • Interessi:Il mio nuovo progetto, nato a dicembre 2017 e' DomusCoins, una nuova cripto valuta legata alle proprieta' immobiliari che stravolgera' letteralmente questo mondo! Vieni a scoprire questo progetto anche sulla pagina Facebook di DomusCoins.
  • PSM: azz

Inviato 13 January 2006 - 09:26 PM

Chiaramente questo e' il plugin veramente minimale...
un plugin ha accesso a quasi tutte le risorse del core, basti pensare che tutto quello che vedete in wwSmsClient e' un plugin (rubrica, composer, updater..)

ogni plugin, se si sottoscrive agli eventi pubblici messi a disposizione, puo' essere notificato praticamente di qualsiasi evento accade in wwSmsClient.

#3 nitrogen

nitrogen

    Ricaricatore professionista!

  • Utenti Veterani
  • 618 Messaggi:

Inviato 17 December 2006 - 12:45 PM

wow non ci ho capito un acca :applause: :applause: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :P :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry:

#4 lemon

lemon

    Tabaccaio?! addio!!

  • Utenti Veterani
  • 275 Messaggi:
  • Sesso:maschio

Inviato 18 December 2006 - 11:13 PM

wow non ci ho capito un acca :shock: :? :? :? :? :) :? :? :) :) :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry:



menomale...avevo pensato di essere scemo :shock:

#5 eccomiqui

eccomiqui

    Tabaccaio?! addio!!

  • Utenti Veterani
  • 382 Messaggi:
  • Sesso:maschio
  • Città:Bari
  • Feedback Mercatino Positivi:5

Inviato 25 May 2012 - 06:23 PM

Il sito non è più raggiungibile, sarebbe possibile ricaricare la classe del plugin?
FAI UNA BUONA AZIONE DONA CON QUALCHE SMS

#6 Alfredone

Alfredone

    Ricaricatore folle!!!

  • Vip User
  • 2063 Messaggi:
  • Sesso:maschio
  • Città:Bari
  • Feedback Mercatino Positivi:2
  • PSM: Insieme, si può!!!

Inviato 25 May 2012 - 06:26 PM

menomale...avevo pensato di essere scemo Immagine inserita


Siamo in tre allora :)

alfredone.gifSms_Client6_Day.gifalfredone.gif





1 utente(i) stanno leggendo questa discussione

0 utenti, 1 ospiti, 0 utenti anonimi