/\/\@®¢Ø
12-09-2005, 23:34
Qualcuno e' un po' pratico di sviluppo sotto Mac ?
Ho un problema apparentemente idiota di layout di widget, ma che non riesco a risolvere.
Premetto che io sono abituato ad usare metodi di layout un po' differenti (quelli di Gtk) basati su box verticali/orizzontali, griglie e simili, per cui il metodo "a molle" di Interface Builder mi e' totalmente nuovo.
Come dicevo sopra il mio problema e' apparentemente semplice:
ho quattro widget da disporre orizzontalmente A e B di dimensione fissa, C e D potenzialmente (ma non necessariamente, posso farne a meno) variabile, con dello spazio tra le due coppie:
+-+ +-+ +-----+ +----------+
|A| |B| <-> | C | | D |
+-+ +-+ +-----+ +----------+
Io vorrei che ridimensionando la finestra A e B rimanessero a sinistra, mentre C e D scivolassero a destra.
Inizialmente avevo impostato semplicemente l'autosizing di C e D in modo che "avessero la molla a sinistra" (ovvero fossero spinti sul bordo destro". Questo va bene fintanto che non decido di *rimpicciolire* la finestra, al che' questi due widget vanno a sovrapporsi ad A e B. Cosi' ho provato a rendere dinamica la loro dimensione, in modo che si rimpiccioliscano quando necessario. Peggio ancora: ora C e D si sovrappongono tra di loro.
In Gtk sarebbe molto semplice, faccio un VBox di quattro caselle, imposto C e D 'espandibili', viceversa per A e B. Immagino che anche in Cocoa ci sia una soluzione altrettanto semplice, ma non la vedo. In particolare mi chiedo:
- E' possibile specificare che la spaziatura ("le molle esterne") siano riferite all'oggetto vicino invece che al bordo ?
- E' possibile impostare una dimensione minima per finestra/widget ?
Ho un problema apparentemente idiota di layout di widget, ma che non riesco a risolvere.
Premetto che io sono abituato ad usare metodi di layout un po' differenti (quelli di Gtk) basati su box verticali/orizzontali, griglie e simili, per cui il metodo "a molle" di Interface Builder mi e' totalmente nuovo.
Come dicevo sopra il mio problema e' apparentemente semplice:
ho quattro widget da disporre orizzontalmente A e B di dimensione fissa, C e D potenzialmente (ma non necessariamente, posso farne a meno) variabile, con dello spazio tra le due coppie:
+-+ +-+ +-----+ +----------+
|A| |B| <-> | C | | D |
+-+ +-+ +-----+ +----------+
Io vorrei che ridimensionando la finestra A e B rimanessero a sinistra, mentre C e D scivolassero a destra.
Inizialmente avevo impostato semplicemente l'autosizing di C e D in modo che "avessero la molla a sinistra" (ovvero fossero spinti sul bordo destro". Questo va bene fintanto che non decido di *rimpicciolire* la finestra, al che' questi due widget vanno a sovrapporsi ad A e B. Cosi' ho provato a rendere dinamica la loro dimensione, in modo che si rimpiccioliscano quando necessario. Peggio ancora: ora C e D si sovrappongono tra di loro.
In Gtk sarebbe molto semplice, faccio un VBox di quattro caselle, imposto C e D 'espandibili', viceversa per A e B. Immagino che anche in Cocoa ci sia una soluzione altrettanto semplice, ma non la vedo. In particolare mi chiedo:
- E' possibile specificare che la spaziatura ("le molle esterne") siano riferite all'oggetto vicino invece che al bordo ?
- E' possibile impostare una dimensione minima per finestra/widget ?