Re: [jxsupport] Posizionamento form

4 views
Skip to first unread message

Tommaso Vannini

unread,
Sep 15, 2022, 11:27:40 PM9/15/22
to jxsu...@googlegroups.com, Valerio Pancella
Salve,
in attesa di consolidare la versione 2.8.00 ho ripreso questa cosa,
nella speranza di poter correggere il comportamento attuale, che non
solo è sbagliato, ma è diverso fra runtime e JXOB (form editing).

Vi riassumo gli estremi del problema, al netto anche delle nuove
indagini:

La runtime interpreta il posizionamento delle sub-form come se fossero
sempre top-left rispetto alla parent-form.

Se la form2 è sub-form della form1, una "left=0" sulla form2 indica
che la sub-form è allineata a sinistra con la form1.

Potete verificare questa cosa cambiando l'allineamento orizzontale di
una sub-form, senza cambiare la sua X: vedrete che la sua posizione (a
runtime) non cambia.

Questo comportamento, così com'è, forse è sbagliato, ma questo è quello
che vedete ora, dato lo stato dei vostri programmi, e, alla fine,
permette comunque di ottenere qualunque effetto di rapporto fra
parent-form e sub-form.


Nel JXOB, invece, regna il caos più totale: si cerca di tenere conto
dell'allineamento delle sub-form, ma si fa confusione fra l'allineamento
della sub-form e quello della parent-form.

In pratica, nel caso di cui sopra, se la form2 ha "align=left" e
"left=0" e la form1 ha allineamento "center", allora la form2 viene
allineata a sinistra rispetto al centro della form1!

Questo comportamento non solo non ha senso, ma non è nemmeno coerente
con quello che vedete a runtime.


Secondo me questa cosa deve essere gestita e risolta, una volta per
tutte, e mi dispiace, in tutto questo tempo, non aver avuto alcun
feedback da parte di Ekovision.

O togliamo la possibilità di utilizzare le sub-form, oppure gli diamo un
senso, coerente fra JXOB e runtime.


Per salvare le sub-form le soluzioni sono due:

1. uniformiamo il comportamento del JXOB a quello della runtime:

quando una form viene impostata come sub-form, allora vengono
bloccati gli allineamenti a "left"/"top" e si intendono relativi
alla form parent;

questa soluzione, per quanto limitante, permetterebbe di salvare il
comportamento attuale dei vostri programmi, senza bisogno di alcun
intervento;

2. correggiamo sia il comportamento della runtime che del JXOB, per
consentire (e rendere coerente) l'impostazione di align anche delle
sub-form:

fondamentalmente questa soluzione non permette di fare niente di più
di quello che è possibile fare con la soluzione 1 ed inoltre
richiederebbe di mettere mano ai (pochi) programmi esistenti che
utilizzano le sub-form.


Fatemi sapere cosa ne pensate, altrimenti procederò con la soluzione 1.


Saluti
--
. Tommaso Vannini
. <tvan...@janox.it>
. Software analysis & development
. Janox project manager (www.janox.it)

Janox - Uniteam s.r.l.

unread,
Sep 16, 2022, 3:08:21 AM9/16/22
to jxsu...@googlegroups.com, Valerio Pancella
Buongiorno Tommaso,

per quanto mi riguarda preferisco la soluzione 1.

Grazie mille
Ciao e buona giornata

---------------------------------------------------------------------------
Janox
---------------------------------------------------------------------------

Via San Pier Tommaso, 18/3 - 40139 Bologna (BO) - Italia
Tel: (+39) 051 54 24 10
Mail: ja...@uniteambo.it
Web: http://www.uniteambo.it/
Skype: maurizio.magnani.uniteam
---------------------------------------------------------------------------

-----Messaggio originale-----
Da: jxsu...@googlegroups.com [mailto:jxsu...@googlegroups.com] Per conto di Tommaso Vannini
Inviato: venerdì 16 settembre 2022 05:27
A: jxsu...@googlegroups.com; Valerio Pancella <valerio....@ekovision.it>
Oggetto: Re: [jxsupport] Posizionamento form
--
--
Hai ricevuto questo messaggio in quanto sei iscritto al gruppo di supporto per gli sviluppatori Janox (www.janox.it).
---
Hai ricevuto questo messaggio perché sei iscritto al gruppo "jxsupport" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a jxsupport+...@googlegroups.com.
Per visualizzare questa discussione sul Web, visita https://groups.google.com/d/msgid/jxsupport/CABm7q2Nu5yHXYOHW8cLVGrSwg5Ndw3pw4FtAuG5QbDa8%2BGV0MA%40mail.gmail.com.

Tommaso Vannini

unread,
Oct 9, 2022, 8:59:32 PM10/9/22
to jxsu...@googlegroups.com
Salve,
in release odierna ho fatto un po' d'ordine in questa cosa.

Adesso dovremmo avere un comportamento coerente fra sviluppo e runtime,
per cui le form-child sono forzatamente Top-Left con posizione relativa
alla posizione della parent form.

Nel JXOB il Top-Left delle child-form è forzato sia in lettura del
PRF che in editing della form, quindi adesso dovrebbe essere
possibile produrre solo situazioni coerenti.


In runtime ho fatto un intervento un po' complesso, che non vi sto a
dettagliare, sulla posizione verticale.

Dai miei test, però, direi che non dovrete preuccuparvene, perché la
posizione (almeno per i casi esistenti) risulterà sostanzialmente la
stessa di prima.

La posizione verticale potrebbe avere qualche margine, minimo, di
errore a seconda del CSS in uso, ma non dovrebbe essere necessario
alcun intervento per garantirne la fruibilità.

Il programma di riferimento, per queste valutazioni, resta
"msg_x_operatore".


In questo modo sia in design form che in runtime vedrete correttamente
l'allineamento sia orizzontale che verticale del pregresso e potrete
produrre solo situazioni coerenti in futuro.

Se confermata direi che questa sia la soluzione ottimale.


TIP:

Se volete ottenere un effetto "unica form" fra parent e child potete
espandere l'altezza (o la larghezza, in caso di giustapposizione
orizzontale) della parent form fin oltre l'inizio della child form.

In questo modo otterrete un effetto simile a quello dell'immagine
allegata: una sola form, un'unica barra del titolo ed uno spostamento
coordinato del tutto.


Per concludere, immagino che le form-child siano state scarsamente usate
soprattutto a causa di queste difficoltà fra interfaccia di sviluppo e
runtime, quindi spero che questo intervento sia di stimolo al loro
utilizzo.

A me non dispiacerebbe dar loro nuova vita, perché ritengo che in certi
casi siano molto utili.

Ad esempio mi piacerebbe dare un senso alla massimizzazione in caso di
form dipendenti, in modo che parent e children possano spartirsi lo
spazio disponibile secondo logiche di espansione, simili a quelle
utilizzate per i controlli.

Ma se questa cosa vi interessa la gestirei in un thread dedicato.


P.S. Per apprezzare le migliorie della release odierna sarà necessario
utilizzare la nuova versione del JXOB, quindi vi sollecito a
prendere dal pacchetto anche l'interfaccia di sviluppo o a
ricompilarla, per chi ne ha l'esigenza.
msg_x_operatore.png
Reply all
Reply to author
Forward
This conversation is locked
You cannot reply and perform actions on locked conversations.
0 new messages