Eto Children of radiobuttonlist

si potrebbe partire da qui!

Urca che casino ā€¦ :smile:

Liā€™ non ci siamo ancora, per ora provo a postare questo, riguarda la __init__

Dimmi cosa ti sembra, cosa eā€™ chiaro o non eā€™ chiaro ā€¦
Ne parliamo.

schema-1.3dm (155,8 KB)

1 Mi Piace

Mancava (almeno) una scritta ( CLASSE per DynamicLayout )

schema-1.3dm (164,0 KB)

1 Mi Piace

veramente Urca Urca wauuu e stiamo solo al __ init __

complimenti per lo schema, non immaginavo ad una cosa cosƬ intrecciata :pray: (sono obbligato)

heeee adesso da dove incomincio con le domande. . . ahahahah

la questione e che mi sembra talmente incastrata da comprendere che mi pare assurda
sembrano i pezzettini del Lego incastrati uno con lā€™altro e non credevo alcune di queste combinazioni

essendo un argomento molto contorto e bisogna ragionarci prima bene, mi prendo un po di tempo,
perĆ², comunque ho deciso di iniziare con una domanda delle mie (quelle stupide)

cosƬ mi tolgo questo pallino che ho da quando ho iniziato con Eto
proprio alla prima riga, il valore Bool allā€™interno di Eto.Forms.Dialog

immagine

che scopo ha, se quel valore non viene riportato da nessuna parte del codice?
la traduzone dice: Digitare il tipo di risultato della finestra di dialogo
scrivendo Bool si va ad indicare che ĆØ un valore Booleano. . .

scusa per la domanda, ma me lo sto chiedendo da tempo.
(spero che le altre domande siano meno strambe) :sweat_smile:

Appunto ā€¦ mai fidarsi della traduzione automatica. :smile:
Eā€™ completamete fuori strada ā€¦

Dato che Dialog eā€™ un tipo parametrico (comprende il parametro T),
dice che il parametro T eā€™ di tipo ā€¦ Tipo :grinning: (nello script ad esempio eā€™ un bool)
E indica il tipo del risultato del dialogo.

Almeno io interpreto cosiā€™.
Poi la composizione automatica di queste informazioni non aiuta ā€¦ :wink:

Credo che questo T riguartdi la proprietaā€™ Result, ma nel nosto esempio non mi sembra sia utilizzata ā€¦

Type significa sia ā€˜digitareā€™ che ā€˜tipoā€™ ā€¦ :smile:
Concordo con Giuseppe, se vuoi divertirti a programmare conviene imparare almeno i termini principali in inglese.

A proposito, nello schema non ho tradotto INITIALIZER percheā€™ mi sembrava che traducendo diventasse troppo lunga come parola ā€¦

che Type volesse dire Tipo, fin qui ci si arriva, essendo che cā€™ĆØ anche in Python la funziona type()
infatti anchā€™io avevo tradotto con parametro T ĆØ ti tipo. . . tipo, ma mi sembrava una cio***a di traduzione.

per caritĆ  condivido che per essere professinali bisogna conoscere lā€™inlgese, per adesso ĆØ una cosa mia.

tornando alla domanda, alla fine ho provato a toglierlo proprio, ed ha funzionato lo stesso
quindi come dicevi non influiva sul risultato, ma infatti mi donandavo a cosa servisse
credo che in pratica come dicevo, dovrebbe essere un valore Booleano di ritorno per il result?

ps misĆ  che con le mie domande su questi schemi ci sarĆ  molto da ridere :grin: :grin:

Si, il risultato puĆ² essere, oltre ai tipo standard, anche una struttura,
una classe ecc.

Scusa Sergio, come andrebbe (o potrebbe essere) usato questo risultato ?
Eā€™ previsto che un Dialog sia una specie di funzione, che restituisce un unico (in certi linguaggi) risultato ?

ā€¦ Percheā€™ poi Salvio chiede a me e io non so una cippa ā€¦ :wink: :smile:

lā€™importante ĆØ parlarne, puĆ² darsi che discorso facendo, poi si arrivi al risultato :wink:

1 Mi Piace

:+1:

Eh, i tipi parametrici sono cosiā€™.
Come ad esempio List<T>, anche qui T eā€™ un tipo.

E io ho subito girato la domanda a Sergio. :grinning:

Siamo dā€™accordo. :wink:

Intanto ti sei subito concentrato su una cosa (il tipo T) che non cā€™entra niente con lo script di Clement.
( Ma me lā€™aspettavo ā€¦ :smile: )
Giaā€™ mi sembra parecchio complicato cercare di spiegare cosa succede nello script, e infatti per ora ho iniziato solo con alcune istruzioni di __init__, e ovviamente partiamo subito a divagare con una cosa estranea allo script ā€¦
:roll_eyes: :wink: :smile:

ahahahah :grin:

mi sa che conviene che dirigi tu la nave, altrimenti facciamo il giro di tutti gli oceani ahahahah

ps comunque alla fine si ĆØ scoperto che in quel codice non cā€™era bisogno del Bool
lo ritengo sempre un passo in avanti per lo meno, per come la vedo io :wink:

1 Mi Piace

Io ho postato una specie di schema.
Dimmi se eā€™ quello che volevi, se si capisce qualcosa, cosa va cambiato ecc. ecc. :wink:

lo schema va benissimo, anzi non me lo aspettavo cosi completo
a prima vista, ho notato che tutto ciĆ² che inizia con Eto sono classi
poi ci sono i costruttori delle suddette classi, ed alcune proprietĆ  ecc

quello che mi ha meravigliato, correggimi se sbaglio,
ma, anche gli ArrayList (in basso a destra) sarebbe una Classe?
quindi alla quarta riga, una proprietĆ  IEnumā€¦ prende come valore una classe di ArrayList?

sono tutte classi che girano nel codice sia come costruttori di avvio che come valori di ingresso. . .

Eā€™ quello che ci avevo messo unā€™ora a capire.
Lo script usa una ArrayList dove serve una IEnumerable, giustamente.
E quando legge quella proprietaā€™, piuā€™ avanti, ritrova la sua bella ArrayList. :slight_smile:

Comunque ā€¦ suppongo sia una ArrayList (che eā€™ una classe, certo) percheā€™ vedo che Python usa una list. Per cui credo che in C# sia una ArrayList ā€¦ ma posso sbagliarmi.

Ovviamente si riferisce solo a una parte di quanto fa lo script.
Ho cercato di considerare almeno quelle instruzioni dentro __init__ che riguardano lā€™event handler di cui volevamo parlare.
Ma il resto ā€¦ piuā€™ in laā€™.
Eā€™ laborioso costruire questi schemini ā€¦ forse devo prenderci la mano ā€¦ :smile:

Per intanto vediamo se per le istruzioni in questione (quelle di __init__ nello schemino) eā€™ tutto chiaro o se cā€™eā€™ qualcosa da approfondire. :slight_smile:

Su tutti i metodi in cui trovi < T > puoi mettere quello che vuoi incluso una classe.
Purtroppo il py non lo capisco ā€¦

1 Mi Piace

eeee questa ĆØ una cosa che dovrei tenere sempre a mente,
che il codice lo si sta scrivendo in Python, ma RCommon ĆØ in C#

sempre grazie Emilio, immagino che non sia stato per niente facile :pray:

al momento nello specifico non ho domande precise, giĆ  ne ho fatta una divagata e mi fermo con quella.

ripeto come ho visto ĆØ piĆ¹ contorta di quanto pensassi la cosa, credevo che con uno schema si potesse capire la sequenza di oggetti da combinare tra loro, ma a come pare nonā€™Ć© cosƬ
un qualcosa del tipo: la scrittura del codice inizia con un costruttore
poi continua impostando questa proprietĆ /parametro ecc ecc

mentre invece a quanto pare, tutto o quasi tutto si puĆ² collegare con gli altri oggetti
quindi alla fine per capire come funziona un nuovo oggetto mai utilizzato
si deve per forza di cose andare a vedere che tipo di oggetto ĆØ
cosa accetta, cosa ritorna e capire come settare il tutto.

poi spesso vedevo quella < T > che non capivo a cosa servisse e adesso Sergio lā€™ha spiegato
(ĆØ una specie di matta, vale tutto ahahahah)
comunque dai, un po alla volta (molto po) cerco di arrivarci a capirci qualcosa
giĆ  il fatto di riuscire ad impastocchiare lo ritengo un bel passo in avanti,
considerando che fino ad inizio anno non riuscivo a metterci le mani. . .

ecco cosa mi ha risposto lā€™Ai:
a che serve questo programma pyron : items_to_disable = [ā€œMild steelā€, ā€œ4140ā€]

for rb in self.radiobuttonlist.Children:
if isinstance(rb, Eto.Forms.RadioButton):
if rb.Text in items_to_disable:
rb.Enabled = False
ChatGPT
Il programma Pyron serve a disabilitare determinati RadioButton in una finestra GUI. Lā€™elenco degli elementi da disabilitare ĆØ definito dalla lista ā€œitems_to_disableā€, che include ā€œMild steelā€ e ā€œ4140ā€.

Il codice attraversa tutti i RadioButton presenti nella finestra GUI, quindi controlla se il testo del RadioButton ĆØ incluso nella lista ā€œitems_to_disableā€. In tal caso, il RadioButton viene disabilitato impostando il valore della proprietĆ  ā€œEnabledā€ su False.

1 Mi Piace

Siā€™, questo complica le cose.
Per fortuna in Rhino 8 si dovrebbe poter usare direttamente C#.

Eh, anche il fatto di utilizzare il CAD anzicheā€™ un programma di grafica non aiuta. :wink: :smile:
ā€¦ Solo che io dovrei prima imparare il software grafico ā€¦ e in effetti credo che sarebbe la cosa migliore ā€¦
Mah, vedo poi.

Eā€™ solo il mio tentativo.
Se hai delle idee su come migliorare, faccele sapere. :slight_smile:

Lo schemino riporta alcune istruzioni di __init__ con i collegamenti a classi, metodi ecc. coinvolti.
Invece delle frecce, preferisci un testo di spiegazione dopo (o prima di) ogni istruzione ?

Penso risulterebbe anche piuā€™ semplice percheā€™ rimane tutto in sequenza, senza collegamenti di qua e di laā€™ stile GH :wink: ā€¦
Diciamo una cosa piuā€™ discorsiva e meno ā€˜a grafoā€™. ? :slight_smile:

Anzi, in questo caso sarebbe piuā€™ facile percheā€™ si scrive direttamente con il text editor, in pratica commentando semplicemente le varie istruzioni.

Dato che parlavi di un disegnino che traccia i collegamenti, pensavo volessi una cosa grafica.
Se non eā€™ cosiā€™, meglio ! :smile:
Penso risulti molto piuā€™ semplice costruire gli ā€˜scheminiā€™ in questo modo. :grinning:

ciao Emilio, scusa se rispondo solo adesso :+1:

lo schema va benissimo anzi non me lo aspettavo cosƬ dettagliato,
quella della struttura lineare di testo poteva valere come riferimento base
nel senso avere un modello da seguire per la composizione di una classe
ma pensandoci bene, non credo sia fattibile, essendo che intendevo un testo
unico come modello, ma da quello che ho capito ogni classe ĆØ un mondo a se.

magari mi sbaglio, ma questa tipologia di programmazione,
somiglia ad un puzzle, ogni pezzo devi capire dove va messo.

Lo schemino cerca di dare qualche informazione sulle varie istruzioni che compongono lo script, anzi solo per quelle ā€˜principaliā€™, diciamo cosiā€™.

Cosa ti aspettavi ?
Se ci sono dettagli superflui, li togliamo.

Beā€™ lo schemino eā€™ apposito per quello script, come detto sopra.

Non certo per una o piuā€™ classi intere ā€¦ :confused:

Vorresti schemini dedicati alle classi ?
ā€¦ Cosa dovrebbero indicare ? Ho le idee un poā€™ confuse ā€¦ :smile:

Questa eā€™ una cosa diversa dal capire lo script.
Forse non ho capito io cosa chiedevi.
Vorresti qualcosa per comporre una classe ?
Intendi comporre nuove classi ?
Ma ti interessa la sintassi ?
O invece lā€™architettura della classe, se eā€™ la parola giusta, cioeā€™ quali campi, proprietaā€™, metodi ecc. inserire nella classe ?

Come da copione, la situazione si sta ingarbugliando ā€¦ :smile:
Speriamo di no. :grinning: