GUI e Gestione Finestre

Hello world!

GUI e Gestione Finestre

Messaggioda Allanon » ven gen 08, 2010 11:24 am

Eccomi qua con un nuovo dilemma :ride:

Dato che con lo sviluppo di LookHere, l'implementazione di nuove funzioni in ScuiLib (la mia libreria per creare GUI sotto Hollywood) e la nuova versione di Hollywood, mi hanno permesso di creare un gestore di finestre e relative GUI mi domandavo se:

- E' importante che l'applicazione ricordi la posizione delle proprie finestre al momento del riavvio dell'applicazione?
- E' altresi' importante che ricordi anche la dimensione delle proprie finestre?

In caso negativo il dilemma è già risolto!

In caso affermativo ho due opzioni:
1) Gestire a livello di ScuiLib in maniera automatica queste variabili salvandoli da qualche parte
2) Farle gestire al programmatore fornendo delle funzioni che ne facilitino la gestione

In quest'ultimo caso la scelta di dove salvare queste informazioni e' delegata al programmatore.

Nel caso invece 1) ho il dilemma di dove salvare queste informazioni:
a) Nella cartella del programma interessato
b) In ENV: (questo per il mondo Amiga... ma per Windows cosa faccio? Le metto nel registro? :sbam: )

La soluzione piu' semplice è la a) mentre la piu' logica e' la b) ma in quest'ultimo caso se l'utente decide di disinstallare il programma queste informazioni rimarranno a giacere la a meno che non crei una procedura di disinstallazione che "cozza" con la filosofia di semplicità: stiamo parlando di una manciata di byte niente di particolarmente ingombrante.

Questi spunti mi serviranno anche in seguito quando la libreria sarà completa per poter decidere su come gestire i temi: se a livello locale (cartella dell'applicazione) oppure globale (cartella di sistema).

Che dite... sto impazzendo?
:skull:
Avatar utente
Allanon

Eroe
 
Messaggi: 982
Iscritto il: lun giu 12, 2006 11:32 am
Località: Grosseto

Re: GUI e Gestione Finestre

Messaggioda NubeCheCorre » ven gen 08, 2010 3:39 pm

io dico, semplificati la vita, salvi i dati da qualche parte (come hai detto tu). Poi hai due possibilita', o fai un uninstaller oppure nel readme file citi la cosa e dici all' utente finale dove andare a cancellare il file manualmente.. considera cmq che ad oggi, buona parte dei programmi amiga lasciano file in envarc, quindi vedi tu.. io metterei i dati da qualche parte e poi farei presente la cosa nel readme file.. :felice:
W il Veneto :ride:
Avatar utente
NubeCheCorre

Leggenda
 
Messaggi: 10624
Iscritto il: dom set 21, 2003 9:21 pm
Località: San remo

Re: GUI e Gestione Finestre

Messaggioda pvanni » mer gen 13, 2010 10:33 am

Io su questo ho dei pensieri contrastanti, forse la cosa più furba
è fare come con MUI, cioè avere un gadget che permetta di memorizzare
la posizione e dimensione di una finestra così uno fà quello che vuole,
ma anche dare al programmatore gli strumenti per salvare questi dati in modo
che si possa implementare nel programma un meccanismo basato sulle preferenze
del programma, ovvero chi scrive un'applicazione può far decidere
all'utilizzatore se vuole che le posizioni/dimensioni delle finestre vengano
ricordate quando si chiude il programma.
Per quanto riguarda il dove memorizzare questi dati, io farei una directory
di preferenze all'interno della directory del programma, in modo che se lo si sposta
da qualche altra parte rimangono anche queste informazioni e se si elimina
sparisce tutto.
Avatar utente
pvanni

Eroe
 
Messaggi: 914
Iscritto il: lun set 27, 2004 1:29 pm
Località: Lecco

Re: GUI e Gestione Finestre

Messaggioda Allanon » mer gen 13, 2010 10:39 am

In effetti le tue osservazioni sono giuste, ma mi rimane qualche dubbio sul fatto che due programmi con la medesima GUI possano essere uno con la possibilita' di salvare i dati della finestra e l'altro magari no...
Forse potrebbe essere interessante uno switch a livello globale, ossia per tutte le applicazioni che girano sulla medesima macchina, che ne dici?
Avatar utente
Allanon

Eroe
 
Messaggi: 982
Iscritto il: lun giu 12, 2006 11:32 am
Località: Grosseto

Re: GUI e Gestione Finestre

Messaggioda pvanni » mer gen 13, 2010 1:32 pm

La risposta è un po' difficile, perchè potrebbero esserci programmi nei quali mi
è utile che i dati delle finestre siano ricordati e altri no, quindi una cosa globale
non mi piace, allora meglio unn gadget sulle finestre anche se un po' scomodo,
però io non ci vedo niente di male se programmi diversi con la stessa gui
abbiano comportamenti diversi, in fondo sono appunto programmi diversi,
altra idea è quella di avere delle preferenze a livello di GUI ma legate al singolo
programma in modo che sia l'utente che decide per ognuno di essi se far salvare
sempre oppure no, o un mix di entrambe le cose ovvero una preferenza globale
che fà da default e poi preferenze per il singolo programma
Avatar utente
pvanni

Eroe
 
Messaggi: 914
Iscritto il: lun set 27, 2004 1:29 pm
Località: Lecco

Re: GUI e Gestione Finestre

Messaggioda NubeCheCorre » mer gen 13, 2010 3:40 pm

allora e' meglio agire via preferenze che via gui, cosi' tieni uno stile costante e l' utente non si confonde (anche se c'e' poco da confondersi). Metti un' opzione nelle prefs e sei tranquillo..
W il Veneto :ride:
Avatar utente
NubeCheCorre

Leggenda
 
Messaggi: 10624
Iscritto il: dom set 21, 2003 9:21 pm
Località: San remo

Re: GUI e Gestione Finestre

Messaggioda Norrin_Radd » mer gen 13, 2010 3:46 pm

Personalmente sono per la semplicità: tutto il programma in una cartella, ivi compreso il suo bel file di configurazione. Se non voglio più il programma la cancello e basta! :annu: Sono assolutamente contrario agli installer a meno che non siano strettamente indispensabili...

Mi spiego meglio: la filosofia amighista per me si dipana nel difficile equilibrio fra semplicità (minor numero di passi possibile per una qualunque operazione) e controllo (il computer fa quel che voglio io, fosse anche cancellare la partizione di sistema!). Un installer, in tale ottica, può solo essere usato se il programma in questione necessita di editare file di sistema, rilevare l'esistenza e la versione di determinate librerie condivise e/o copiarle nelle apposite cartelle, ecc. Nulla di impossibile da fare a mano ma non sarebbe "filosoficamente" semplice visto il numero di passi da svolgere, ragion per cui un installer fatto come si deve (con dettagliato ed umanamente leggibile file di log) ha la sua ragion d'essere.

Questa forma-mentis cerco di trasporla anche sotto Windows, andando alla ricerca di programmi portatili col loro bel file .ini incluso nella cartella del programma. :felice: Quella boiata pazzesca :sbam: del registro di sistema, infatti, ha senso solo se il computer è usato da più utenti, e quindi con diverse configurazioni del medesimo programma. Non è il mio caso, e neppure quello della maggioranza degli utenti Windows!

Per quanto riguarda il posizionamento e la dimensione della finestra, penso che la soluzione ideale sia farla salvare in automatico, ricavandola dallo stato dell'ultima apertura del programma.
"La vita è fatta di cose reali e di cose supposte: se le reali le mettiamo da una parte, le supposte dove le mettiamo?"
Totò (Totò, Peppino e la dolce vita, 1961)
Avatar utente
Norrin_Radd

Maestro
 
Messaggi: 380
Iscritto il: lun ago 07, 2006 4:53 pm
Località: Zenn-La

Re: GUI e Gestione Finestre

Messaggioda Allanon » mer gen 13, 2010 4:57 pm

Dunque, lette le vostre osservazioni, potrei impostare il discorso in questo modo:

Nella libreria creo un flag che imposta la gestione delle impostazioni delle finestre, di default lo lascio attivo e le funzioni che aprono e chiudono le finestre in automatico salvano e caricano le posizioni e dimensioni da un file che risiede nella stessa locazione dell'eseguibile del programma.

Il programmatore può mettere il flag su off se non vuole gestirlo oppure può creare una preferenza sulla quale può interagire l'utente se il programmatore vuole dargli il controllo di questa opzione.

Scusate se rompo con questo argomento ma mi sembra molto importante dargli la giusta impostazione.
:felice:

@nube
tu stavi parlando di preferenze globali o di preferenze proprie dell'applicazione?
Avatar utente
Allanon

Eroe
 
Messaggi: 982
Iscritto il: lun giu 12, 2006 11:32 am
Località: Grosseto

Re: GUI e Gestione Finestre

Messaggioda NubeCheCorre » mer gen 13, 2010 10:32 pm

preferenze proprie dell' applicazione :felice:
W il Veneto :ride:
Avatar utente
NubeCheCorre

Leggenda
 
Messaggi: 10624
Iscritto il: dom set 21, 2003 9:21 pm
Località: San remo


Torna a Programmazione su Amiga

Chi c’è in linea

Visitano il forum: Nessuno e 11 ospiti