Newsgroup: it.comp.os.linux.development
Titolo: Creare una piccola interfaccia grafica

Salve,
sviluppo, in linux, piccole applicazioni di calcolo 
nell'ambito di un progetto di ricerca. Uso il fortran 77 
(per ereditare alcune librerie, e per integrazione con altri 
membri del gruppo che solo il fortran conoscono. E perché 
non conosco altri linguaggi...!).
In pratica tutti i programmilli che scrivo leggono i 
parametri e i dati da file ascii, e scrivono l'output in 
altri files. Così posso scrivermi dei piccolissimi script 
bash per automatizzare un gran numero di calcoli.
Ora la mia esigenza è di dare in uso ad altri questi 
programmilli: e vorrei creare (il più velocemente possibile, 
compatibilmente alla mia ignoranza informatica...) una 
piccola interfaccia grafica che in pratica permetta di 
modificare al volo 'visualmente' i file dei parametri 
(insomma, una specie di form) e di 'comporre' la corretta 
riga di testo che la bash deve eseguire, richiamando cioé 
gli eseguibili fortran con in argomento i giusti file di 
parametri.
Più avanti, magari, potrei integrare nell'interfaccia 
grafica anche un visualizzatore dei risultati, con chiamate 
a gnuplot, ad esempio.
Quali strumenti mi consigliate? E perché?
Leggendo qua' e la' ho visto nominare Tcl/Tk, Python, perltk 
come facili costruttori di interfacce. Pro, contro?
Avrei bisogno anche della relativa documentazione, gradita 
in italiano ma non indispensabile.
Premetto che sono veramente ignorante in materia OOP e 
grafica (posto che siano indispensabili l'uno all'altra...), 
e questa forse è l'occasione buona per mettermici un po'. Ad 
ogni modo direi che il requisito fondamentale ora è la 
velocità di implementazione e la semplicità direi 'concettuale'.
Il tutto deve girare solo su linux o al massimo un qualche unix.
Grazie dell'ascolto,
Scionforbai fiducioso

 a gnuplot, ad esempio.
Deve girare in console o sotto X ?
In console, credo che non si scappi dalle ncurses, sotto X ne hai per
tutti i gusti.
Se la GUI è *veramente* semplice semplice, potresti provare con dialog
(che va bene sia in console, sia sotto X..):
DESCRIPTION
       Dialog is a program that will let you to present a variety of
questions or display messages using dialog boxes  from  a  shell 
script. These types  of  dialog boxes are implemented (though not all
are necessarily compiled into dialog):
calendar, checklist, form, fselect,  gauge,  infobox,  inputbox,
inputmenu, menu, msgbox (message), password, radiolist, tailbox,
tailboxbg, textbox, timebox, and yesno (yes/no).
Sotto X hai delle varianti un filo più avanzate tipo Xdialog e Kdialog
(per quest'ultima devi avere installato Kde).
Per qualcosa di più avanzato, python potrebbe essere un buona soluzione,
lo puoi utilizzare con tk, gtk, qt..
Ma qui passo la parola ad altri :)
Ciao.
-- 
*** Linux user # 198661 --- ICQ 33500725 ***
***  Home  
http://web.tiscali.it/kailed
  ***
       ***  Powered by SuSeLinux  ***

 Ma qui passo la parola ad altri :)
Attendo fiducioso...
Scionforbai

 cominciare sì, ma che poi permetta di progredire...
potresti provare kommander (
http://kommander.kdewebdev.org/
)
se conosci la shell e' di una banalita' disarmante lavorarci :)
-- 
Torno subito

 costruttori di interfacce. Pro, contro?
Io sono un appassionato di Tcl e Tk perche` sono semplici, diretti,
facili, cross-platform, e in generale una buona soluzione per chi vuole
avere qualcosa di funzionante al piu` presto.  Sono soluzioni meno
adatte, forse, se intendi scrivere un suite office, ma direi che non e`
il tuo caso.  Come esempio:
----
#!/usr/bin/tclsh
package require Tk
proc vai {} {
    catch {destroy .results}
    toplevel .results
    set t [text .results.restxt]
    $t insert end [exec ls -l]
    grid .results.restxt -sticky news
}
label .fool -text "Inserisci foo"
entry .foo
label .barl -text "Inserisci bar"
entry .bar
label .beel -text "Inserisci bee"
entry .bee
label .bopl -text "Inserisci bop"
entry .bop
button .runit -text "Vai!" -command vai
grid .fool .foo -sticky ew
grid .barl .bar -sticky ew
grid .beel .bee -sticky ew
grid .bopl .bop -sticky ew
grid .runit -
grid columnconfigure . 1 -weight 1
----
Naturalmente non e` completo, e non fa alcune delle cose che ti servono,
ma non e` male avere qualcosa in poche righe che gira...
Saluti,
-- 
David N. Welton
- 
http://www.dedasys.com/davidw/
Linux, Open Source Consulting
- 
http://www.dedasys.com/

scionforbai wrote:

Io uso gambas se si tratta di un semplicissimo frontend.
-- 
<<>><<>><<>><<>><<>><<>><<<>><<>><<>><<
Luca Paredi
Computing technical supporter              
Universita' degli Studi dell'Insubria  
<<>><<>><<>><<>><<>><<>><<<>><<>><<>><<

www.wxWidgets.org
/helix
----------- 
Value your freedom, or you will lose it, teaches history.
-- Richard M. Stallman (
www.gnu.org
)

 avere qualcosa di funzionante al piu` presto.  
Be', cercando documentazione ho trovato un CookBook con esempi davvero 
incredibili, come un minipaint bianco/nero in una ventina di righe (!).
Mi sai indicare qualche risorsa online? Tutorial, manuali, testi un po' 
completi. Non ho trovato molto, soprattutto sul tk. Mi intriga molto 
questo linguaggio, spero di trovare rapidamente tempo e risorse.
Ho poi installato e compilato wxWidget, il che sarebbe il grande salto 
nel C++, che mi tenta, ma per il momento...
Grazie a tutti,
scionforbai che fra poco packerà .

 nel C++, che mi tenta, ma per il momento...
Se opti per wxWindows, penso che Python sia piu` indicato per fare
un'applicazione velocemente.


 di parametri.
Ciao,
 non posso aiutarti sulla grafica ... ti scrivo perche' mi hai 
incuriosito: riesci a passare degli argomenti a dei programmi scritti in 
Fortran? Questo mi e' totalmente nuovo!! Quale Fortran usi,77, 90 o 95?
 Ciao
 Federico

 Fortran? Questo mi e' totalmente nuovo!! Quale Fortran usi,77, 90 o 95?
Su linux, uso il g77 (da gcc, insomma, il compilatore gnu).
Ci sono le semplicissime funzioni intrinseche iargc() (la usi cosě:
var_integer=iargc() e in var_integer c'e' il numero di argomenti. Poi con:
call getarg(1,arg1)
call getarg(2,arg2)
eccetera,
metti nelle variabili arg1 il primo argomento, in arg2 il
secondo ecc. Solo caratteri. Occhio che devi controllare te
la lunghezza degli argomenti. Comunque nella doc di g77 c'č tutto.
Scionforbai


Io non conosco il linguaggio per niente, ma conosco chi nel mondo Tcl
deve gestire sistemi fortran, e hanno pensato di creare qualche pagina
sul wiki con idee su come fare:
http://wiki.tcl.tk/3359
http://wiki.tcl.tk/4000


 
http://wiki.tcl.tk/4000
Ciao,
 grazie per le dritte! Non uso il Fortran da un bel po', pero' in fisica 
puo' sempre fare comodo ... grazie mille!
 Ciao
 Federico