--------------------------------------------------------------------------------
                                       Jif
                                      v 1.0
Configurazione                                      
--------------------------------------------------------------------------------

JIF - a java editor for Inform
© 2003 - Alessandro Schillaci
http://www.freec0de.netfirms.com
silver.slade@tiscalinet.it


INDICE

0. TASTI RAPIDI

1. CONFIGURAZIONE

2. FILE DI CONFIGURAZIONE

	2.1 Menu
	2.2 config.ini
	2.3 helpedcode.ini	
	2.4 mapping.ini	
	2.5 switches.ini
	2.6 functionKeys.ini
	2.7 symbols.ini
	2.8 syntax.ini
	2.9 links.ini

3. TEMPLATE MANAGER





--------------------------------------------------------------------------------
0. TASTI RAPIDI
--------------------------------------------------------------------------------

CTRL+A                  Seleziona Tutto
CTRL+X                  Taglia
CTRL+C,CTRL+INS         Copia
CTRL+V,SHIFT+INS        Incolla

CTRL+Z                  Undo (Annulla)
CTRL+Y                  Redo (Ripristina)

ALT+FRECCIA A DESTRA    Shift a destra   del blocco di codice selezionato
ALT+FRECCIA A SINISTRA  Shift a sinistra del blocco di codice selezionato

TASTO DESTRO DEL MOUSE  Menu Popup 1 (se il puntatore è sull'Editor di testo)
                        Menu Popup 2 (se il puntatore è sulla lista-file del
                                      progetto)

ALT+1                   Finestra Simboli
ALT+2                   Finestra Oggetti  (attualmente presenti nel sorgente)
ALT+3                   Finestra Funzioni (prese dai file contenuti nella LIB)

CTRL+F                  Cerca la stringa selezionata

F1,..., F10             Caratteri personalizzati
F11 e F12               Lancia programmi esterni a JIF




--------------------------------------------------------------------------------
1. CONFIGURAZIONE
--------------------------------------------------------------------------------

L'archivio di Jif contiene i seguenti file/directory:

[DIRECTORY]:

backup            - directory dove vengono memorizzate le copie dei sorgenti 
                    editati (se il sistema di backup è attivato)
compiler          - directory di default per il compilatore Inform
config            - directory dei file di configurazione di Jif
doc               - directory dei documenti su Jif
games             - directory dei sorgenti (*.inf) e dei compilati (*.z5,*.z8)
interpreter       - directory di default per l'interprete Inform
lib               - directory dei file di libreria
projects          - directory dei progetti
tutorial          - directory che contiene tutorial vari su Inform

config/menu       - directory della funzione configurabile "Inserisci nuovo" 			
config/template	  - directory relativa ai template



[FILE DI CONFIGURAZIONE]
Sono localizzati nella directory JIF_INSTALL/config
Tutti questi file sono editabili e personalizzabili.
Tra questi, il file "mapping.ini" non dovrebbe essere editato perchè già
impostato nel modo corretto.
L'eccezione è rappresentata dal file "config.jif" che non dev'essere editato
manualmente.


config.ini         - impostazioni dei path
config.jif         - impostazioni generali di Jif 
functionKeys.ini   - gestione dei tasti funzione F1..F10 personalizzabile
helpedcode.ini	   - lista dei comandi per il "codice assistito"
links.ini          - lista dei link WEB
mapping.ini        - mappatura dei caratteri speciali
switches.ini       - tutti gli switch selezionabili per la compilazione 
symbols.ini        - lista dei simboli inseribili da JIF
syntax.ini         - gestione della syntax highlight


spellcheck_ENG.diz - Lista di Word in Inglese riconosciute dal correttore 
spellcheck_ES.diz  - Lista di Word in Spagnolo riconosciute dal correttore
spellcheck_IT.diz  - Lista di Word in Italiano riconosciute dal correttore


[LOGGING DEGLI ERRORI A RUN TIME]

In caso di errori e/o anomalie, il logging di tali errori è effettuato
sul file "err.txt" che viene generato ad ogni avvio di JIF, nella 
directory di installazione di JIF.
In caso di segnalazione di errori, raccomando che tale segnalazione sia
accompagnata dall'invio di questo file...



     
     


--------------------------------------------------------------------------------
2. FILE DI CONFIGURAZIONE
--------------------------------------------------------------------------------

Vediamoli in dettaglio.


--------------------------------------------------------------------------------
2.1 Menu - JIF_PATH/config/menu
--------------------------------------------------------------------------------

Per Jif è previsto l'utilizzo di una funzione tipo "Inserisci nuovo oggetto", 
dove per oggetto si intende semplicemente una parte di testo da scegliere in una 
lista già esistente.  Questa lista parte dal percorso "JIF_PATH/config/menu" e 
viene utilizzata per creare un menu a due livelli.

Esempio:

JIF_PATH/config/menu
|
|____Attribute A-O         menu.ini
|____Attribute P-Z         menu.ini
|____Class                 menu.ini
|...
|____Verb T-W              menu.ini

      LEVEL 1              LEVEL2



Per aggiungere una voce nel menu:
a) creare una nuova directory dentro la directory "JIF_PATH/config/menu"
b) nella directory appena creata creare un file "menu.ini"
c) all'interno del file menu.ini inserire le righe relative ad un nuovo 
   inserimento


esempio:
<--------- inizio esempio ----------->	

#
# Questa è una riga di commento.
#
#####################################################################

Comment Block,!=====================================================================!§! CommentBlock§! §!=====================================================================!
Comment Line,!=====================================================================!

<--------- fine  esempio ----------->	


Dove:
- le righe che iniziano con il carattere "#" (cancelletto) e le righe vuote 
  sono ignorate e considerate linee di commento.
- il carattere "§" è considerato come un carattere di newline.

Nell'esempio, durante l'esecuzione di Jif, è possibile richiamare il menu di 
selezione usando il tasto destro del mouse.
Se si sceglie "Inserisci nuovo"->"Comment"->"CommentBlock", verrà inserita 
nell'area di editing di Jif la stringa:

!=====================================================================!
! CommentBlock
! 
!=====================================================================!






--------------------------------------------------------------------------------
2.2 config.ini
--------------------------------------------------------------------------------

E' possibile impostare i seguenti "path" che verranno utilizzati da JIF
per compilare, lanciare l'interprete, o lanciare il "Web Browser" predefinito.
Questo file può essere editato, ma è consigliabile usare il pannello di
configurazione di JIF che effettua l'aggiornamento del file automaticamente.


Esempio di config.ini:

	libPath=C:\Jif\lib
	libPathSecondary=C:\Jif\lib1 
	gamesDir=C:\Jif\games
	interpreter=C:\Jif\interpreter\WindowsFrotz2002\Frotz.exe
	compiler=C:\Jif\compiler\infrmw32.exe
	defaultBrowser=C:\Program Files\Internet Explorer\IEXPLORE.EXE


* Librerie
     La variabile "libPath" contiene il riferimento alla directory fisica
     che contiene le librerie inform, compresi quelli relativi alla lingua 
     italiana (infit, copyright di Giovanni Riccardi).
     Il riferimento alla directory viene passata al compilatore tramite il flag 
     "+include_path". Se non viene cambiato il file config.ini, Jif farà 
     riferimento a [%PATH_DI_INSTALLAZIONE%\lib\] come valore di default.
     
* Librerie Secondarie
     Come per la precedente. Jif dà la possibilità di avere due directory
     diverse dove inserire le librerie inform.
     
* Directory dei sorgenti
     La variabile "gamesDir" contiene il riferimento alla directory dei
     sorgenti.
     Se non viene cambiato il file config.ini, Jif farà riferimento a
     [%PATH_DI_INSTALLAZIONE%\games] come valore di default
     
* Compilatore
     La variabile "compiler" contiene il riferimento al compilatore.
     Se non viene cambiato il file config.ini, Jif farà riferimento al file 
     [%PATH_DI_INSTALLAZIONE%\compiler\infrmw32.exe] come valore di default

* Interprete
     La variabile "interpreter" contiene il riferimento all'interprete.
     Se non viene cambiato il file config.ini, Jif farà riferimento al file 
     [%PATH_DI_INSTALLAZIONE%\interpreter\WindowsFrotz2002\Frotz.exe]

* Web Browser preferito
     La variabile "defaultBrowser" contiene il riferimento al web browser
     preferito dall'utente. Questo variabile viene utilizzata quando si 
     apre un "link" dal menu "link" di JIF.



Se si utilizza l'editor con le opzioni predefinite, questo file non dev'essere 
editato.In caso contrario è possibile editarlo, utilizzando la funzione 
"Impostazioni->configurazione Path"




--------------------------------------------------------------------------------
2.3 helpedcode.ini
--------------------------------------------------------------------------------
File che contiene tutte le keyword riconosciute da Jif per la gestione del 
"codice assistito": se l'opzione è attiva, quando si inserisce una parola 
chiave nella TextArea dell'editor, la stringa viene completata con un testo.

Esempio:

digito -> "IF"+[SPAZIO]
ottengo nel mio documento inf -> "IF ( ){ }"

Il file helpedcode.ini è configurabile a piacere.





--------------------------------------------------------------------------------
2.4 mapping.ini
--------------------------------------------------------------------------------
Per "mapping" intendo la gestione dei caratteri speciali in INFORM: 
"mapping" consiste nel trasformare i caratteri da ASCII a ZSCII
es. è --> @'e

Nel sorgente INFORM che scrivi con JIF puoi scegliere di utilizzare un mapping 
automatico in fase di scrittura oppure tramite file temporaneo.


Esempio:

1) mapping automatico in fase di scrittura

Se l'opzione "Mapping dei caratteri in editing mode" è abilitata, il mapping
dei caratteri viene abilitato in fase di editing del file di testo.
Se digito il carattere "è", viene tradotto sul testo direttamente in formato 
ZSCII (cioè con "@`e"), quindi evitando di scrivere ogni volta tre caratteri 
(@`e) per scrivere una lettera accentata. Lo stesso vale per tutte le lettere 
accentate/speciali. Tutti quei caratteri che non sono presenti sulla keyboard 
italiana ma che possono essere usati nella stesura di un'avventura 
(esempio: il carattere "È"), possono essere inseriti ugualmente tramite la 
finestra "SIMBOLI". Se il mapping in fase di scrittura è attivo, il carattere 
inserito (restando nell'esempio, "È"), viene automaticamente convertito 
in "@`E"





2) tramite file temporaneo

In questo caso la trasformazione dei caratteri viene eseguita a parte, con la 
creazione di un file di appoggio "temporaneo". Questo file temporaneo è la 
traduzione in formato ZSCII del sorgente in fase di scrittura e viene 
automaticamente creato nella cartella JIF/games/mapped.
Scrivo tutto il sorgente utilizzando le lettere accentate comuni a noi umani 
(cioè utilizzando i caratteri è ò à ì ù). In questo modo ho un sorgente 
"leggibile". 
Con l'opzione mapping automatico tramite file temporaneo, viene automaticamente 
creata una copia del sorgente in questione con tutte le lettere "mappate", cioè
con i caratteri "@`e", "@`a", "@`i" e via dicendo. In questo modo ho una copia 
del sorgente in formato accentato e una copia del sorgente in formato ZSCII 
che verrà utilizzato per la compilazione vera e propria, mantenendo la 
portabilità con tutti i tipi di interpreti per Zcode. In questo caso, il mapping 
viene esteso anche ai file inclusi nel sorgente principale, in maniera 
automatica.
Se l'opzione "Mapping dei caratteri via file temporaneo" è abilitata, il file 
mapping.ini viene utilizzato per trasformare caratteri speciali, prima della 
compilazione.

Il file corrente "XXX.inf" viene salvato nella directory
"JIF_PATH/games/mapped/" 
Il file trasformato "JIF_PATH/games/mapped/XXX.inf" contiene la traduzione dei
caratteri inseriti in questo file.

Es: 
Ogni carattere "è" del file XXX.inf
viene tradotto in "@`e" nel file JIF_PATH/games/mapped/XXX.inf


Il file mapping.ini è configurabile a piacere.

Ricordo che è necessario applicare il "mapping" dei caratteri alla propria 
Avventura, affinchè il file compilato (in formato z5 o z8) possa essere eseguito 
su diverse piattaforme (interpreti Inform).






--------------------------------------------------------------------------------
2.5 switches.ini
--------------------------------------------------------------------------------
Con Jif è possibile creare una lista di possibili switch da passare in linea
al compilatore, editando il file switches.ini.
Per ogni switch è possibile impostare se attivo oppure no.
Dalla lista di switches è possibile scegliere quelli da usare, di volta
in volta, usando il componente "Switch Manager"

E' possibile editare/inserire gli switch inserendo righe con questo formato nel
file switches.ini

[SWITCH],[on,off],[Commento]

Tutti gli switch che sono abilitati (on) sono 
abilitati per default quando si attiva la compilazione





--------------------------------------------------------------------------------
2.6 functionKeys.ini
--------------------------------------------------------------------------------
E' possibile personalizzare i tasti funzione F1,F2,F3,F4,F5,F6,F7,F8,F9,F10

Questa personalizzazione può essere utile nel caso di caratteri particolari, 
tipo:

~,^,{,`.......ecc.



I tasti F11 e F12 rappresentano un'eccezione. Infatti con questi 2 tasti 
speciali, è possibile eseguire un programma esterno a JIF.

Esempio:
	F11,hh.exe C:\Jif\doc\dm4.chm
	F12,explorer


Il file "functionKeys.ini" è completamente personalizzabile



--------------------------------------------------------------------------------
2.7 symbols.ini
--------------------------------------------------------------------------------
E' possibile personalizzare la lista dei simboli che si possono inserire nel
file INF attraverso JIF, tramite la finesta apposita.



--------------------------------------------------------------------------------
2.8 syntax.ini
--------------------------------------------------------------------------------
Questo file contiene le liste di KEYWORDS riconosciute da JIF per la syntax
highlight. E' configurabile a piacere.


--------------------------------------------------------------------------------
2.9 links.ini
--------------------------------------------------------------------------------
Questo file contiene le liste di URL che riguardano l'IF, apribili direttamente 
da JIF.







--------------------------------------------------------------------------------
3 TEMPLATE MANAGER
--------------------------------------------------------------------------------

Con il Template Manager è possibile creare/utilizzare template statici/dinamici.
E' stata inserita l'opzione per l'aggiornamento dei template via WEB o 
attraverso un file.

I template statici si comportano come frammenti di codice con alcune 
informazioni aggiuntive(versione, autore ecc).
I template dinamici si comportano come frammenti di codice da "personalizzare" 
con l'utilizzo di parametri.

Esempio di Template DINAMICO:

Class tesoro
 with punti 7,
      after
      [; Take: if (location==§*stanza§) "Preso!";        
      ];


Il testo inserito nei caratteri "§*" e "§" è considerato parametro, cioè 
inseribile dall'utente in fase di utilizzo del template dinamico.

Quando l'utente utilizza il template dinamico, gli verrà chiesto di inserire il 
valore del parametro ("stanza"), che verrà utilizzato per l'inserimento del 
template all'interno del codice.


Con il tasto "Esporta", è possibile esportare tutti i template locali su file...

Ulteriori spiegazioni, verranno incluse nelle prossime versioni di JIF




--------------------------------------------------------------------------------
Inviare commenti, osservazioni, segnalazioni e complimenti(!) al seguente 
indirizzo:

silver.slade@tiscalinet.it
--------------------------------------------------------------------------------