Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[OT]Aiuto x progetto ambizioso
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Forum di discussione italiano
View previous topic :: View next topic  
Author Message
Luc@s
Tux's lil' helper
Tux's lil' helper


Joined: 26 Apr 2003
Posts: 85
Location: Italy(PV)

PostPosted: Wed May 21, 2003 4:50 am    Post subject: [OT]Aiuto x progetto ambizioso Reply with quote

Avrei bisogno di 2/3 persone che si uniscano al mio team(formato da me e un altro) per creare un nuovo editor.
Il progetto si chiama Teck Edit e questo è il suo manifesto:

Quote:
Manifesto sviluppoTeck Edit


Planing:
--------------------------------------------------------------------------------------------------------------------------------------
| 0,1 | | 0,2| | 0,3 | | 0,4 | | 0,5 |
--------------------------------------------------------------------------------------------------------------------------------------
20-06 20-07 20-08 20-10 25-12
SDI MDI CE

Compiti:

Versione ORIGINALE( OFFICIAL )

Luca:
- GUI
- Motore
-
-

Andrea:
- Skin
- Motore
-
-

Divisione programma:

Motore Base -> Salvare/aprire/stampare files, compatibilita UNICODE, formato RTF/TXT [FUTURO.............]

GUI -> Menu tendina, accesso rapido, SDI, [FUTURO.............]

Plugin:

Cambio Colore ->
Sintax Higligthing ->
Salvataggio su host remoto (whitout FTP Client) ->
Html ->
Compatibilita Office(11)->
Esandecimale ->(SENZA SPERANZA)


Il lavoro è molto e le persone poche.
Devo anche studiarmi come fare una architettura a plugin.
Il motore è in C++ Standard x la portabilità: al momento è in dll ma vorrei poterlo compilare su *NIX (essendo Standard) come libreria condivisa(usabile da terzi).
La GUI Win32 è gia pronta, fatta in Borland C++ Builder.
Chiunque voglia aiutarmi mi contatti via PVT!!!

Vi ringrazio x l'attenzione & tnk in anticipo a chi ci aiuterà
Back to top
View user's profile Send private message
shev
Bodhisattva
Bodhisattva


Joined: 03 Feb 2003
Posts: 4084
Location: Italy

PostPosted: Wed May 21, 2003 12:56 pm    Post subject: Reply with quote

Ciao, posso fare il curioso?
Perchè proprio un editor? Ci sono motivi profondi alla base o è solo perchè vi piaceva tale idea? Non credete che ci sia già uno sterminato numero di editor liberi e non? Pensate di inserirvi in un ambito particolarmente di nicchia ( ? ) o scoperto ( ? ), oppure lo fate tanto per divertirvi, senza nessuna ambizione particolare?
Non avete pensato a qualcosa che si andasse ad inserire in un contesto meno coperto dal software libero ( spero che vogliate sviluppare software opensource )?

Scusami per le mille domande, ma sono curioso :D
Back to top
View user's profile Send private message
Luc@s
Tux's lil' helper
Tux's lil' helper


Joined: 26 Apr 2003
Posts: 85
Location: Italy(PV)

PostPosted: Wed May 21, 2003 1:06 pm    Post subject: Reply with quote

GPL 4Ever!!!!
Lo facciamo per imparare a programmare e per, magari un dimani, poter dire che un editor con molte funzioni è nostro :D
Back to top
View user's profile Send private message
shev
Bodhisattva
Bodhisattva


Joined: 03 Feb 2003
Posts: 4084
Location: Italy

PostPosted: Wed May 21, 2003 1:33 pm    Post subject: Reply with quote

Bhe, se lo scopo è quello di approfondire la conoscenza della programmazione perchè non prendete due piccioni con una fava e vi lanciate su un programma meno diffuso, qualcosa di più originale ( e perchè no, utile ) e che magari vi aiuti ad approfondire anche altri aspetti (database, suite tcp/ip, audio ecc...)?

Sia chiaro non voglio smontarvi, ci mancherebbe! Era solo un consiglio spassionato, visto che anch'io sto pensando da qualche mese ad una cosa del genere ( nel senso di programma che sia utile a qualcuno e a me per approfondire certi aspetti non solo di programmazione ).
L'unica difficoltà è trovare qualcosa che risponda al mio consiglio! :D
Back to top
View user's profile Send private message
Luc@s
Tux's lil' helper
Tux's lil' helper


Joined: 26 Apr 2003
Posts: 85
Location: Italy(PV)

PostPosted: Wed May 21, 2003 1:37 pm    Post subject: Reply with quote

ma tu nn avresti voglia di aiutarci?
Back to top
View user's profile Send private message
shev
Bodhisattva
Bodhisattva


Joined: 03 Feb 2003
Posts: 4084
Location: Italy

PostPosted: Wed May 21, 2003 1:40 pm    Post subject: Reply with quote

Luc@s wrote:
ma tu nn avresti voglia di aiutarci?


Più che la voglia è il tempo che mi manca :( ( morellik ne sa qualcosa, ancora sta aspettando la mia traduzione del framebuffer & boot etc howto :P )
Back to top
View user's profile Send private message
Luc@s
Tux's lil' helper
Tux's lil' helper


Joined: 26 Apr 2003
Posts: 85
Location: Italy(PV)

PostPosted: Thu May 22, 2003 12:04 pm    Post subject: Reply with quote

principalmente cerco:
-Programmatore GTK su linux (x GUI di questo OS)
-Programmatore C++ per il motore
Back to top
View user's profile Send private message
AEn|gMa
n00b
n00b


Joined: 18 May 2003
Posts: 6

PostPosted: Thu May 22, 2003 4:36 pm    Post subject: Reply with quote

Per quanto riguarda i plug-in cerca documentazione su dlopen() e le funzioni connesse.
Inoltre cerca su google "scintilla" che è un modulo per realizzare pannelli di editing con una marea di funzioni e completamente configurabile.
Back to top
View user's profile Send private message
akiross
Veteran
Veteran


Joined: 02 Mar 2003
Posts: 1170
Location: Mostly on google.

PostPosted: Sun May 25, 2003 8:19 am    Post subject: Reply with quote

Sui plugin sto lavorando io in questi giorni.

Collaborando con il progetto OpenC6 sto proprio facendo il lavoro di sviluppare un sistema che utilizza dei plugin per questo client chat, volendo posso darti una mano io, almeno ti posso spiegare le basi.

Comunque, guarda qui, e' molto utile:
http://www-106.ibm.com/developerworks/linux/library/l-dll.html
qui
http://www-106.ibm.com/developerworks/library/l-shobj/
e qui
http://www.tldp.org/HOWTO/Program-Library-HOWTO/dl-libraries.html

Se poi hai altre domande, chiedi a me. Se vuoi ti passo il sistema a plugin ceh sto facendo pr OpenC6 appena l'ho finito (pero' ho delle difficolta' riguardo alle pipe, e cose simili, che non conosco ancora bene ma ke mi servono).

Ah, perche' non fai una bella cosa sul tuo editor, che non ho mai visto su altri: la selezione multipla del testo.

Cioe', premi ctrl, e selezioni un testo, poi selezioni un altro pezzo e ancora un'altro. L'editor li copia in memoria concatenati l'uno con l'altro e poi incolli normalmente con il tasto centrale del mouse.

Piu' di una volta una finzionalita' del genere mi sarebbe servita :)

ciao
_________________
Libera scienza in libero stato.
Horizon of Events
Back to top
View user's profile Send private message
Luc@s
Tux's lil' helper
Tux's lil' helper


Joined: 26 Apr 2003
Posts: 85
Location: Italy(PV)

PostPosted: Sun May 25, 2003 8:26 am    Post subject: Reply with quote

ottima idea, tnk!
Si in effetti sulla teora del plugin avrei molte carenze...................mi puoi dare qualche base?
Back to top
View user's profile Send private message
akiross
Veteran
Veteran


Joined: 02 Mar 2003
Posts: 1170
Location: Mostly on google.

PostPosted: Sun May 25, 2003 9:48 am    Post subject: Reply with quote

Hai letto le doc? li e' spiegato tutto bene bene, vabe... non proprio tutto

PREMETTO:
Il sistema che ho imparato io e' in C, non C++, va quindi compilato con GCC. Per esperienza personale ti assicuro che compilando in G++ da molti problemi (che non ho mai risolto), quindi compila sempre i plugin con GCC (probabilmente il main puo' andare anche con G++)
Inoltre, io ho studiato plugin specifii per le chat, non ho mai pensato di farne qualcuno per un programma tipo questo, pero' suppongo che i concetti siano validi anche per questo.

Comunque:
i plugin sono qualcosa di simile alle shared object, ma non esattamente uguali.
praticamente il plugin viene compilato da gcc con l'opzione -shared, questo consente di poterlo condividere e di renderlo indipendente.

In sostanza:
il sistema basilare che consente di gestire i plugin e' formato da un corpo principale main, dai plugin e da un'interfaccia che il programmatore fornisce ai plugin per lavorare.

Il main, che come l'ho studiato io usa le librerie dlcfn.h, non deve fare altro che aprire i plugin, gestire eventuali errori, verificare se hanno l'entry point stabilito e infine tenere una "tabella" dei plugin caricati.

L'interfaccia, e' in genere una serie di funzioni, elencate in un file .h che viene utilizzato dai plugin. Queste funzioni di interfaccia, sono delle funzioni "generalizzate" che permettono di controllare il tuo programma e di interfacciare il programma con il plugin.
Nel caso di una chat, queste funzioni servranno per:
- Leggere il testo scritto dagli altri utenti
- Scrivere il testo verso gli altri utenti
- Associare il plugin ad un comando (ad esempio il comando /saluta_tutti)
e magari altre cose, ma queste sono basilari

Queste funzioni di interfaccia, DEVONO utilizzare le callback, per poter fare quello che vuole l'utente.

Il plugin invece si presenta come un programma normale, che ha un'entry point fisso (ad esempio la funzione plugin_main) e utilizza le funzioni di interfaccia per dire al main che cosa da il plugin.

Il main, quando darica un plugin, vede se c'e' l'entry point, se c'e' lo esegue. In questo entry poin succedono determinate cose:
- al plugin viene assegnato un identificatore
- l'esecuzione delle funzioni di interfaccia, fa in modo che quello che deve fare il plugin venga registrato nella tabella del main.

So che non ci si capisce molto per ora, ma adesso faccio un esempio (ovviamente inventato e non funzionante :)

IL MAIN
Code:

#include <dlfcn.h>
#include <stdio.h>

int main()
{
   caricamento_del_plugin();
   /*questa funzione chiede all'utente il come del plugin da caricare, e lo apre con le librerie dlfcn (e' un po lunga la cosa: guarda sui link che ho messo) in caso di errore, la funzione termina il programma con un msg di errore*/

   verifica_entry_point("plugin_main");
   /* anche qui un riassunto: si utilizza la funzione getsimbol (o simili) delle dlfcn per ferificare se c'e' l'entry point. In caso non ci fosse, questa funzione esce con un msg di errore*/
   
   esegui_entry_point(ID_Plugin); /* guarda link :)*/
   
   .. resto del programma (eventualmente si registra il plugin nella tabella, che devi inventarti tu, ma questo esempio usa un solo plugin...
}



PLUGIN
Code:


plug_handler *ph;

void funzione_saluta_tutti()
{
   // le funzioni plug_iface sono le funzioni di interfaccia fatte da te
   plug_iface_message("CIAO A TUTTI")
}

void funzione_away()
{
   plu_iface_set_me_away();
}

void plugin_main(plug_handler *Plug, )
{
   ph = Plug; /* Plug viene passato dal main all'entry poin con valore ID_Plugin... in fondo, questa e' una funzione :)*/

   plug_iface_associa_comando("/saluta_tutti", funzione_saluta_tutti);
   /* associo la funzione al comando /saluta_tutti*/
   plug_iface_associa_comando("/sono_away", funzione_away);
   return 0; // successo
}



spero si sia capito un po

se ci sono probl, scrivi
ciao
_________________
Libera scienza in libero stato.
Horizon of Events
Back to top
View user's profile Send private message
Luc@s
Tux's lil' helper
Tux's lil' helper


Joined: 26 Apr 2003
Posts: 85
Location: Italy(PV)

PostPosted: Sun May 25, 2003 10:00 am    Post subject: Reply with quote

+ o - ci sono!
Tnk 100000.
Back to top
View user's profile Send private message
Luc@s
Tux's lil' helper
Tux's lil' helper


Joined: 26 Apr 2003
Posts: 85
Location: Italy(PV)

PostPosted: Mon Jun 02, 2003 10:16 am    Post subject: Reply with quote

ap!
Ora il progetto è alla 0.0.3.1!
Potrete skarikarlo qui e potrete3 anche aiutarmi se volete (vi prego :lol: )
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Forum di discussione italiano All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum