Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

FidoCADJ, retrofit e features utili

Regole da rispettare, modifiche, aggiunte, idee per EY

Moderatore: Foto Utenteadmin

0
voti

[21] Re: FidoCADJ, retrofit e features utili

Messaggioda Foto UtenteEtemenanki » 12 ago 2024, 17:51

theking0 ha scritto:Lo trovi sempre qui.


Purtroppo quel link mi chiede la tua password per entrare nel tuo account ... hai i files su private ?
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.
Avatar utente
Foto UtenteEtemenanki
7.103 3 6 10
Master
Master
 
Messaggi: 4460
Iscritto il: 2 apr 2021, 23:42
Località: Dalle parti di un grande lago ... :)

2
voti

[22] Re: FidoCADJ, retrofit e features utili

Messaggioda Foto Utentetheking0 » 12 ago 2024, 17:56

Foto UtenteEtemenanki

Scusatemi, ho sbagliato a copiare il link mentre ero in edit, quello giusto e' questo:

https://github.com/manufino/FidoCadJ_Ne ... ag/TESTING



Queste sono le modifiche che ho fatto finora:

  • Adaptation for NetBeans project
  • If the drawing is empty, there's no need to ask if it should be saved before closing
  • If the drawing is empty, there's no need zoomToFit
  • package names refactoring
  • fix DialogAbout icon path
  • Fixed bug DarwinNE#228 and improved the layout of the Symbol definition dialog.
  • code refactoring: using "getDrawingModel()" instead of "dmp" and set "dmp" private
  • package names refactoring on "OSes"
  • implemented "getChanged()" method in DrawingModel
  • implemented getter and setter method for logical units in CircuitPanel
  • First draft of the re-implementation of the "ListCellRenderer" with "AbstractCellEditor" and "ComboBoxEditor".
  • Fix load resource using "getResource", remove unused icon
  • Added documentation and comments to LayerEditor and LayerRenderer
  • Improved the primitive selection system
  • Implementation of distinct selection based on the selection direction
  • Definitive usages of new LayerCellRenderer and LayerComboBoxEditor
  • Fix DialogParameters elements gap
  • Clean main directory and fix winbuild.bat
  • Removed the constraint that required holding the CTRL key to zoom.
  • Refactoring of variable names
  • DialogOptions, refactoring of variable names
Avatar utente
Foto Utentetheking0
755 5 11
Master
Master
 
Messaggi: 286
Iscritto il: 11 feb 2012, 22:37

0
voti

[23] Re: FidoCADJ, retrofit e features utili

Messaggioda Foto UtenteEtemenanki » 12 ago 2024, 19:19

Grazie, appena ho occasione lo massacr ehm, volevo dire, testo bene :mrgreen:
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.
Avatar utente
Foto UtenteEtemenanki
7.103 3 6 10
Master
Master
 
Messaggi: 4460
Iscritto il: 2 apr 2021, 23:42
Località: Dalle parti di un grande lago ... :)

2
voti

[24] Re: FidoCADJ, retrofit e features utili

Messaggioda Foto UtenteDarwinNE » 12 ago 2024, 23:12

Molto interessante, complimenti, Foto Utentetheking0.

Non ho ancora avuto il tempo di leggere in dettaglio tutta la discussione e le modifiche su GitHub. Sono stato in vacanza e quasi completamente disconnesso, dovrei riuscire a dare un'occhiata nei prossimi giorni.

Mi fa davvero molto piacere che ci sia interesse a portare avanti il progetto FidoCadJ. Il codice che ho visto ed approvato mi pare molto chiaro ed i refactoring mi sembrano portare avanti un'idea di pulizia e di chiarezza che mi pare lodevolissima. Non posso che incitare a continuare.

Per quanto riguarda la selezione, devo rileggere quanto sopra e capire bene come funziona la soluzione di Autocad. Attenzione però a non fare qualcosa che risulti chiaro solo a chi... è già abituato ad Autocad. Io non ho niente in contrario a cambiarla, ma il suo funzionamento dovrebbe essere a prova di a principianti.

Attenzione poi a casi tipo questo:



In cui il rettangolo di selezione copre parzialmente una curva di Bézier, ma non è facilissimo rendersene conto. Si possono fare anche degli esempi simili con le spline, c'è da risolvere un problema matematico non che a primo avviso non mi pare elementare (*).

Mi piace molto la possibilità di cambiare la visibilità dei layer da toolbar. Attenzione a non prendere troppo spazio. In una prova che avevo fatto in questo verso, avevo piazzato la lista dei layer a destra, mi sembra tra la libreria e la preview.

In genere, attenzione a non basarsi troppo sulle abitudini legate ad un solo sistema operativo, FidoCadJ è nato perché io usavo (ed uso tuttora) un Macintosh. Uso un tablet e non ho una rotellina, il gesto associato alla rotellina qui su macOS per fortuna è associato allo scroll e non allo zoom. Una soluzione potrebbe essere far scegliere nella configurazione del programma, ma bisogna scegliere con molta attenzione il comportamento di default per ogni piattaforma.



Per finire, da quello che hai fatto mi sembra che l'avrai sicuramente già visto, ma nel caso, nel 2016 avevo fatto un seminario ad un Linux Day alla facoltà di informatica a Torino:



La registrazione l'ha fatta il nostro Foto UtenteIsidoroKZ che ringrazio. Un anno fa ho fatto una versione aggiornata del seminario all'università di Roma 3, non è stata registrata ma ho i lucidi aggiornati se servissero.

Per finire, io penso che il problema più spinoso da risolvere sarebbe aumentare la risoluzione del sistema di coordinate (per esempio permettendo due o tre decimali).

EDIT (*) non è elementare, ma non è neppure troppo arduo: le routine per calcolare la distanza di un punto da ogni elemento grafico esistono già e ci si può ispirare. Per le spline e le Bézier, sono già disegnate con un certo numero di segmenti, "basta" prendere ogni segmento elementare e vedere se interseca o è contenuto nel rettangolo di selezione.
Follow me on Mastodon: @davbucci@mastodon.sdf.org
Avatar utente
Foto UtenteDarwinNE
30,3k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 4277
Iscritto il: 18 apr 2010, 9:32
Località: Grenoble - France

1
voti

[25] Re: FidoCADJ, retrofit e features utili

Messaggioda Foto Utentetheking0 » 13 ago 2024, 0:02

DarwinNE ha scritto:Molto interessante, complimenti, Foto Utentetheking0.

Grazie Foto UtenteDarwinNE, è un piacere leggerti di nuovo.
...
Mi fa davvero molto piacere che ci sia interesse a portare avanti il progetto FidoCadJ. Il codice che ho visto ed approvato mi pare molto chiaro ed i refactoring mi sembrano portare avanti un'idea di pulizia e di chiarezza che mi pare lodevolissima. Non posso che incitare a continuare.

Mi hai tolto un peso .. :D non ero sicuro che avresti accettato di buon cuore un refactoring, ma d'altronde ho dovuto farlo più che altro per iniziare a capire la logica che sta dietro a ogni classe/metodo, solo cambiando i nomi delle variabili (alcune delle quali globali) sono riuscito a capire molto.
Per quanto riguarda la selezione, devo rileggere quanto sopra e capire bene come funziona la soluzione di Autocad. Attenzione però a non fare qualcosa che risulti chiaro solo a chi... è già abituato ad Autocad. Io non ho niente in contrario a cambiarla, ma il suo funzionamento dovrebbe essere a prova di a principianti.

Il concetto che volevo applicare è descritto in questo manuale di AutoCAD
Dovrebbe essere abbastanza intuitivo, anche per chi non ha mai usato AutoCAD, ci si fa subito la mano e si capisce il maccanismo dopo poche volte che si prova ad utilizzarlo.
Attenzione poi a casi tipo questo:
...
In cui il rettangolo di selezione copre parzialmente una curva di Bézier, ma non è facilissimo rendersene conto. Si possono fare anche degli esempi simili con le spline, c'è da risolvere un problema matematico non che a primo avviso non mi pare elementare (*).

Per le curve Bézier e le curve Complesse devo rivedere l'algoritmo, mi sono accorto che l'implementazione che ho fatto non risponde bene in ogni caso. :oops:
Sto gia' pensando a qualche possibile soluzione.
Mi piace molto la possibilità di cambiare la visibilità dei layer da toolbar. Attenzione a non prendere troppo spazio. In una prova che avevo fatto in questo verso, avevo piazzato la lista dei layer a destra, mi sembra tra la libreria e la preview.

Se vedi il video che ho fatto si capisce bene il funzionamento, ho semplicemente ridisegnato la combobox dei layer aggiungendo una icona cliccabile al suo interno.
In genere, attenzione a non basarsi troppo sulle abitudini legate ad un solo sistema operativo...

Effettivamente mi era sfuggito di mente che i mac non hanno la rotellina :mrgreen:
Le soluzioni potrebbero essere:
  • Aggiungo un settaggio nelle opzioni per gestirlo
  • Modifico di default il settaggio in base al sistema operativo in uso.
Cosa ne pensi ?
Per finire, da quello che hai fatto mi sembra che l'avrai sicuramente già visto, ma nel caso, nel 2017 avevo fatto un seminario ad un Linux Day alla facoltà di informatica a Torino...

Si si, visto con molta attenzione, e ho ben afferrato la tua filosofia su FidoCADJ. :D

Per quanto riguarda aumentare la risoluzione del sistema di coordinate ci studio un po' su, tieni conto che ho preso in mano per la prima volta il codice di FidoCADJ circa una settimana fa e ancora non ho passato al setaccio tutto in dettaglio.
Avatar utente
Foto Utentetheking0
755 5 11
Master
Master
 
Messaggi: 286
Iscritto il: 11 feb 2012, 22:37

1
voti

[26] Re: FidoCADJ, retrofit e features utili

Messaggioda Foto UtenteDarwinNE » 13 ago 2024, 9:58

theking0 ha scritto:Mi hai tolto un peso .. :D non ero sicuro che avresti accettato di buon cuore un refactoring, ma d'altronde ho dovuto farlo più che altro per iniziare a capire la logica che sta dietro a ogni classe/metodo, solo cambiando i nomi delle variabili (alcune delle quali globali) sono riuscito a capire molto.


I nomi che hai scelti mi paiono più espressivi. Di solito, quando cerco di capire cosa fa un pezzo di codice, provo a lavorare nei commenti di modo da renderli più espliciti. Se riprendo un pezzo di codice che ho scritto quindici anni fa e mi ci vuole un po' per capire di nuovo a cosa serve... vuol dire che i commenti non sono sufficienti.

Intendiamoci, magari su certe scelte potrei non essere d'accordo (come l'uso di NetBeans, per quanto mi riguarda), ma non vedo perché non dovrei discutere ed accettare le modifiche volte a migliorare il funzionamento del tutto o la chiarezza del codice.

theking0 ha scritto:Il concetto che volevo applicare è descritto in questo manuale di AutoCAD


Mi pare un'idea interessante. Si potrebbe cambiare il colore del rettangolo (ed anche il tratteggio, certe persone possono essere daltoniche) e magari scrivere una nota nel posto della toolbar dove sono normalmente scritte le coordinate (è comodo per brevissimi messaggi che sono poi cancellati).

Apri una nuova issue su GitHub, ne discutiamo lì sopra (ed invito anche altri a partecipare alla discussione).

theking0 ha scritto:Se vedi il video che ho fatto si capisce bene il funzionamento, ho semplicemente ridisegnato la combobox dei layer aggiungendo una icona cliccabile al suo interno.


Sì, è eccellente. Cliccando sul colore si potrebbe aprire la finestrella che permette di cambiarlo.


theking0 ha scritto:Effettivamente mi era sfuggito di mente che i mac non hanno la rotellina :mrgreen:
Le soluzioni potrebbero essere:
  • Aggiungo un settaggio nelle opzioni per gestirlo
  • Modifico di default il settaggio in base al sistema operativo in uso.
Cosa ne pensi ?


Io ho sempre cercato di evitare di aggiungere opzioni di configurazione del programma salvo quando strettamente necessario. Tuttavia qui mi sembra ragionevole. La scelta per default però deve corrispondere all'utilizzo standard con il sistema operativo. Assolutamente non va bene variare lo zoom con la semplice rotellina su Mac, magari con Win o Linux è quello che gli utenti si aspettano.

theking0 ha scritto:Per quanto riguarda aumentare la risoluzione del sistema di coordinate ci studio un po' su, tieni conto che ho preso in mano per la prima volta il codice di FidoCADJ circa una settimana fa e ancora non ho passato al setaccio tutto in dettaglio.


In quel caso c'è anche un problema spinoso da risolvere che è la retro-compatibilità del formato. Poi c'è da cambiare e verificare una valanga di dettagli.
Follow me on Mastodon: @davbucci@mastodon.sdf.org
Avatar utente
Foto UtenteDarwinNE
30,3k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 4277
Iscritto il: 18 apr 2010, 9:32
Località: Grenoble - France

0
voti

[27] Re: FidoCADJ, retrofit e features utili

Messaggioda Foto UtenteEtemenanki » 13 ago 2024, 10:45

Ma i mouse del mac non hanno quella specie di foruncolo di gomma sopra, che emula la rotellina ? ... o forse solo alcuni modelli li hanno ?
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.
Avatar utente
Foto UtenteEtemenanki
7.103 3 6 10
Master
Master
 
Messaggi: 4460
Iscritto il: 2 apr 2021, 23:42
Località: Dalle parti di un grande lago ... :)

2
voti

[28] Re: FidoCADJ, retrofit e features utili

Messaggioda Foto Utentetheking0 » 13 ago 2024, 13:01

DarwinNE ha scritto:...
Intendiamoci, magari su certe scelte potrei non essere d'accordo (come l'uso di NetBeans, per quanto mi riguarda)...

Ecco proprio su questo argomento avrei una proposta: in termini statistiche sono molto più quelli che usano un IDE di quelli che non lo usano, si potrebbe adottare un sistema che ho già visto in diversi progetti open source, cioè si include nel progetto sia i tool per compilare da riga di comando che il file di gestione per un IDE.
Per quanto mi riguardo ho dovuto smanettare un po' per importare il codice in NetBeans, avevo provato anche con Eclipse ma non sono riuscito a integrarlo al 100%. Questo potrebbe tradursi in minori contributi utente per quanto riguarda il codice.
Prova a pensare al sviluppatore medio che vuole contribuire al progetto, non stiamo parlando di 3/4 file sorgenti che si possono aprire e leggere tutti in una botta con un notepad, stiamo parlando di centinaia tra classi e interfacce da ripassare. Come saprai con gli IDE si possono usare gli strumenti integrati tipo "Find Usage" che mostra in quali altre sorgenti è usata quella determinata classe \ metodo \ variabile globale, come questo ci sono molti altri strumenti che potrei citare, senza parlare poi del debug integrato nell'ide che risulta utilissimo anche sono per il profiling di alcuni metodi. Per il refartoring dei nomi poi, con due click si può cambiare in tutti i sorgenti usati. La possibilità di integrare già checkstyle ... tante cose che tutte sommate portano a uno sviluppo più agile.
Non ti scrivo questo per farti cambiare idea sul TUO metodo di sviluppo, ma per farti presente che non tutti sviluppano in quel modo e magari dare un file di progetto per uno dei due principali IDE java sarebbe uno spunto in più per contribuire.
theking0 ha scritto:Il concetto che volevo applicare è descritto in questo manuale di AutoCAD

Mi pare un'idea interessante. Si potrebbe cambiare il colore del rettangolo (ed anche il tratteggio, certe persone possono essere daltoniche) e magari scrivere una nota nel posto della toolbar dove sono normalmente scritte le coordinate (è comodo per brevissimi messaggi che sono poi cancellati).
Apri una nuova issue su GitHub, ne discutiamo lì sopra (ed invito anche altri a partecipare alla discussione).

Si, l'ho già implementata cosi, cambiando colore in base al verso per distinguere il modo di selezione.
Ieri sera ho completato la "intersects" della Bézier, ora risulta funzionale, sto lavorando su quella delle ComplexCurve che è abbastanza ardua.
Ok, apro una issue su GitHub.
theking0 ha scritto:Se vedi il video che ho fatto si capisce bene il funzionamento, ho semplicemente ridisegnato la combobox dei layer aggiungendo una icona cliccabile al suo interno.

Sì, è eccellente. Cliccando sul colore si potrebbe aprire la finestrella che permette di cambiarlo.

Si, si può fare, ci lavoro su appena finisco la selezione distintiva e ti mando tutto con una pull request.
Ho usato la stessa combobox anche nella finestra proprietà e in quella dell'anteprima di stampa, ma li la possibilità' di attivare o disattivare il layer è inibita, vengono solo visualizzasti gli stati con l'icona.
...
Io ho sempre cercato di evitare di aggiungere opzioni di configurazione del programma salvo quando strettamente necessario. Tuttavia qui mi sembra ragionevole. La scelta per default però deve corrispondere all'utilizzo standard con il sistema operativo. Assolutamente non va bene variare lo zoom con la semplice rotellina su Mac, magari con Win o Linux è quello che gli utenti si aspettano.

Ok, procediamo cosi allora.
...
In quel caso c'è anche un problema spinoso da risolvere che è la retro-compatibilità del formato. Poi c'è da cambiare e verificare una valanga di dettagli.

Bisogna valutare bene i pro e i contro di questa modifica, FidoCADJ ha già una buona risoluzione, ha senso spingerci oltre ? quali vantaggi poterebbe ?


Etemenanki ha scritto:Ma i mouse del mac non hanno quella specie di foruncolo di gomma sopra, che emula la rotellina ? ... o forse solo alcuni modelli li hanno ?

quelli sono gli Apple Mighty Mouse.
poi esistono anche i Magic Mouse che non hanno nulla e sembrano una saponetta :mrgreen:
Mondo Apple ... io l'ho sempre odiato. Preferisco la funzionalità al design, soprattutto su prodotti con cui ci devo lavorare.
Avatar utente
Foto Utentetheking0
755 5 11
Master
Master
 
Messaggi: 286
Iscritto il: 11 feb 2012, 22:37

0
voti

[29] Re: FidoCADJ, retrofit e features utili

Messaggioda Foto Utentetheking0 » 13 ago 2024, 16:27

Ho finito la selezione distintiva e altre cosucce come la possibilita' di cambiare il colore del layer sempre dalla combobox sulla toolbar:



Le release le trovate sempre qui.


O_/
Avatar utente
Foto Utentetheking0
755 5 11
Master
Master
 
Messaggi: 286
Iscritto il: 11 feb 2012, 22:37

0
voti

[30] Re: FidoCADJ, retrofit e features utili

Messaggioda Foto UtenteDarwinNE » 13 ago 2024, 18:50

theking0 ha scritto:Per quanto mi riguardo ho dovuto smanettare un po' per importare il codice in NetBeans, avevo provato anche con Eclipse ma non sono riuscito a integrarlo al 100%. Questo potrebbe tradursi in minori contributi utente per quanto riguarda il codice.


Certo, ma io desidero mantenere FidoCadJ completamente agnostico per quanto riguarda gli IDE. Conosco i vantaggi e gli svantaggi di questa scelta :cool:

theking0 ha scritto:Non ti scrivo questo per farti cambiare idea sul TUO metodo di sviluppo, ma per farti presente che non tutti sviluppano in quel modo e magari dare un file di progetto per uno dei due principali IDE java sarebbe uno spunto in più per contribuire.


Esattamente! Io non cambierò metodo, per cui si potrebbe anche includere i file di progetto, ma a due condizioni:
- mantenerli tutti all'interno di una directory o sottodirectory specifica
- non sono io che me ne occupo :cool:

Bisogna pensare ad uno sviluppo a lungo termine. Il rischio da circoscrivere è quello di avere questi file di progetto che diventano obsoleti nel momento in cui le persone interessate ad un determinato IDE cessano magari un giorno di essere implicate nel progetto. Penso che sia accettabile per un file in una sottodirectory (che ne so, FidoCadJ/dev_tools/NetBeans) ma non per i file nella directory principale. Bisogna pure documentare questa scelta e questa filosofia.

Puoi aprire una issue su GitHub in questo senso, ti risponderò con una traduzione in inglese di quanto ho appena scritto :D

theking0 ha scritto:Si, l'ho già implementata cosi, cambiando colore in base al verso per distinguere il modo di selezione.
Ieri sera ho completato la "intersects" della Bézier, ora risulta funzionale, sto lavorando su quella delle ComplexCurve che è abbastanza ardua.


Bellissimo! Proverò volentieri questa funzionalità appena sarà completata. Dopodiché ti proporrei di fare una pull request e se non ti dispiace cercherei di fare una code review (se mi ci ritrovo su come farla con GitHub).

A proposito della risoluzione.
theking0 ha scritto:Bisogna valutare bene i pro e i contro di questa modifica, FidoCADJ ha già una buona risoluzione, ha senso spingerci oltre ? quali vantaggi poterebbe ?


Nella mia esperienza, si incontrano dei problemi in due situazioni:
- I simboli delle varie librerie sono troppo piccoli o certe cose sono limitate. Ogni tanto farebbe comodo ruotare un componente di un angolo arbitrario, per esempio.
- quando si usa FidoCadJ per fare un disegno non tecnico, ci si scontra spesso con il problema (disegno di dettagli, etc).
Follow me on Mastodon: @davbucci@mastodon.sdf.org
Avatar utente
Foto UtenteDarwinNE
30,3k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 4277
Iscritto il: 18 apr 2010, 9:32
Località: Grenoble - France

PrecedenteProssimo

Torna a Chiarimenti, regole, informazioni, proposte

Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti