Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index International Gentoo Users Forum italiano (Italian) Forum di discussione italiano
  • Search

[OT]Aiuto x progetto ambizioso

Tutte le discussioni direttamente correlabili all'informatica e/o a GNU/*nix.

Moderator: ago

Post Reply
  • Print view
Advanced search
13 posts • Page 1 of 1
Author
Message
Luc@s
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 85
Joined: Sat Apr 26, 2003 9:47 am
Location: Italy(PV)

[OT]Aiuto x progetto ambizioso

  • Quote

Post by Luc@s » Wed May 21, 2003 4:50 am

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:
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à
Top
shev
Bodhisattva
Bodhisattva
User avatar
Posts: 4084
Joined: Mon Feb 03, 2003 3:12 pm
Location: Italy

  • Quote

Post by shev » Wed May 21, 2003 12:56 pm

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
Top
Luc@s
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 85
Joined: Sat Apr 26, 2003 9:47 am
Location: Italy(PV)

  • Quote

Post by Luc@s » Wed May 21, 2003 1:06 pm

GPL 4Ever!!!!
Lo facciamo per imparare a programmare e per, magari un dimani, poter dire che un editor con molte funzioni è nostro :D
Top
shev
Bodhisattva
Bodhisattva
User avatar
Posts: 4084
Joined: Mon Feb 03, 2003 3:12 pm
Location: Italy

  • Quote

Post by shev » Wed May 21, 2003 1:33 pm

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
Top
Luc@s
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 85
Joined: Sat Apr 26, 2003 9:47 am
Location: Italy(PV)

  • Quote

Post by Luc@s » Wed May 21, 2003 1:37 pm

ma tu nn avresti voglia di aiutarci?
Top
shev
Bodhisattva
Bodhisattva
User avatar
Posts: 4084
Joined: Mon Feb 03, 2003 3:12 pm
Location: Italy

  • Quote

Post by shev » Wed May 21, 2003 1:40 pm

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 )
Top
Luc@s
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 85
Joined: Sat Apr 26, 2003 9:47 am
Location: Italy(PV)

  • Quote

Post by Luc@s » Thu May 22, 2003 12:04 pm

principalmente cerco:
-Programmatore GTK su linux (x GUI di questo OS)
-Programmatore C++ per il motore
Top
AEn|gMa
n00b
n00b
Posts: 6
Joined: Sun May 18, 2003 11:16 am

  • Quote

Post by AEn|gMa » Thu May 22, 2003 4:36 pm

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.
Top
akiross
Veteran
Veteran
User avatar
Posts: 1170
Joined: Sun Mar 02, 2003 12:34 am
Location: Mostly on google.
Contact:
Contact akiross
Website

  • Quote

Post by akiross » Sun May 25, 2003 8:19 am

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/l ... l-dll.html
qui
http://www-106.ibm.com/developerworks/library/l-shobj/
e qui
http://www.tldp.org/HOWTO/Program-Libra ... aries.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
Top
Luc@s
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 85
Joined: Sat Apr 26, 2003 9:47 am
Location: Italy(PV)

  • Quote

Post by Luc@s » Sun May 25, 2003 8:26 am

ottima idea, tnk!
Si in effetti sulla teora del plugin avrei molte carenze...................mi puoi dare qualche base?
Top
akiross
Veteran
Veteran
User avatar
Posts: 1170
Joined: Sun Mar 02, 2003 12:34 am
Location: Mostly on google.
Contact:
Contact akiross
Website

  • Quote

Post by akiross » Sun May 25, 2003 9:48 am

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: Select all

#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: Select all


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
Top
Luc@s
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 85
Joined: Sat Apr 26, 2003 9:47 am
Location: Italy(PV)

  • Quote

Post by Luc@s » Sun May 25, 2003 10:00 am

+ o - ci sono!
Tnk 100000.
Top
Luc@s
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 85
Joined: Sat Apr 26, 2003 9:47 am
Location: Italy(PV)

  • Quote

Post by Luc@s » Mon Jun 02, 2003 10:16 am

ap!
Ora il progetto è alla 0.0.3.1!
Potrete skarikarlo qui e potrete3 anche aiutarmi se volete (vi prego :lol: )
Top
Post Reply
  • Print view

13 posts • Page 1 of 1

Return to “Forum di discussione italiano”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy