251

(317 replies, posted in News)

S.DEFFAUX wrote:

je viens de télécharger la nouvelle version sur windows

right, the windows gui is different this will require some adjustments.
as you can see it is there but there.
I'll make an effort to make it visible.

note: i am not equipped to work with windows.

252

(16 replies, posted in Import DXF)

I recommend keeping the programs separate as with KiCAD.
why:
- the code is easier to understand
- one software can be in C++ the other can be ...
- everything can be bundled in one program (for the user,) such as KiCAD

this does not mean that this is not allowed in the QET git

I just want to state that there are some programs with a specific task and let's bundle them into a collection, and not one big program.
"Do One Thing and Do It Well" see https://en.wikipedia.org/wiki/Unix_philosophy

i am starting this thread to list the pros cons of GIT submodules.
And what to add and what not to add

what are GIT submodules:
It often happens that while working on one project, you need to use another project from within it. Perhaps it’s a library that a third party developed:
-pugixml
-SingleApplication
-(DXFtoQET)

https://git-scm.com/book/en/v2/Git-Tools-Submodules
https://i.stack.imgur.com/BIBSL.png

but keep all relevant code in 1 repo
why: for bug tracking
see:
source

There are three major disadvantages to one project per repository, the way you've described it above. These are less true if they are truly distinct projects, but from the sounds of it changes to one often require changes to another, which can really exaggerate these problems:

It's harder to discover when bugs were introduced. Tools like git bisect become much more difficult to use when you fracture your repository into sub-repositories. It's possible, it's just not as easy, meaning bug-hunting in times of crisis is that much harder.

Tracking the entire history of a feature is much more difficult. History traversing commands like git log just don't output history as meaningfully with fractured repository structures. You can get some useful output with submodules or subtrees, or through other scriptable methods, but it's just not the same as typing tig --grep=<caseID> or git log --grep=<caseID> and scanning all the commits you care about. Your history becomes harder to understand, which makes it less useful when you really need it.

New developers spend more time learning the Version Control's structure before they can start coding. Every new job requires picking up procedures, but fracturing a project repository means they have to pick up the VC structure in addition the code's architecture. In my experience, this is particularly difficult for developers new to git who come from more traditional, centralized shops that use a single repository.

In the end, it's an opportunity cost calculation. At one former employer, we had our primary application divided into 35 different sub-repositories. On top of them we used a complicated set of scripts to search history, make sure state (i.e. production vs. development branches) was the same across them, and deploy them individually or en masse.

It was just too much; too much for us at least. The management overhead made our features less nimble, made deployments much harder, made teaching new devs take too much time, and by the end of it, we could barely recall why we fractured the repository in the first place. One beautiful spring day, I spent $10 for an afternoon of cluster compute time in EC2. I wove the repos back together with a couple dozen git filter-branch calls. We never looked back.

but keep the repo small source

The reason the team managers finally have accepted the split: the single Git repo (550 MB) was requiring 13 minutes to be cloned on Windows (one minute on Linux).

In essence: submodules for
- a third party library
- a piece of data that cannot negatively affect the code, and one that can become too large
  eg Elements, titleblocks, and maybe docs (fetches the data from the code)

and for large files such as audio samples, videos, datasets, and graphics there is git lfs but let's wait with that. https://git.tuxfamily.org/ does not support this, I think.

cloning:  this requires extra instruction

git

git clone qelectrotech.git qet

VS

git and submodules

git clone --recurse-submodules qelectrotech.git qet

if I am correct, QElectroTech consists of
- project editor
- element editor
- Title block template editor
- (DXFtoQET)
- qet-tb-generator
- ????

programming can quickly get complicated see: https://de-backer.github.io/qelectrotec … ditor.html
for a graphical representation of QETDiagramEditor Class (collaboration diagram).

Obviously git is valuable for finding bugs.
but what if you need to debug on user input
eg: "find class foo that ruined bar x"

I recommend splitting the code but not necessarily making it into extra submodules.

Documenting the code is recommended, but it is easy to forget.
It is more interesting if the code is self-explanatory.
eg https://de-backer.github.io/qelectrotec … indow.html


more info to come....

tito.tit wrote:

Ma question : est ce que c'est possible de compiler puis de pouvoir (en tout automatique) installer une version de qelectrotech avec une machine virtuelle sous Windows (qelectrotech pour linux + machine virtuelle linux). c'est juste une idée.

possible yes, desired no.
then you use an elephant to crush an ant. (I've actually been doing this for years nomicons/unsure )

https://docs.microsoft.com/nl-nl/window … ux-in-a-vm

c'est compliqué

scorpio810 wrote:

Bonjour,

tu pourrais donner les caractéristiques de ton PC Windows, CPU , RAM, etc?
Tu as essayé la version en cours de devel 0.8-dev?

14 sec for

QElectroTech V 0.80-DEV+bc0fecea6d79751d3
Compilation : GCC 9.3.0
Built with Qt 5.15.0 - Date : Aug 17 2020 : 12:06:19 
Run with Qt 5.15.0 using 16 thread(s)
CPU : NAME AMD RYZEN 7 3700X 8-CORE PROCESSOR 


GPU : VideoProcessor AMD Radeon Graphics Processor (0x731F) 
GPU RAM : RAM Total : 0 MB
OS : winnt - x86_64 - Version : Windows 10 Version 1909 - Kernel : 10.0.18363
*** Qt screens *** 
( 1 : 3840 x 2160 ) 
( 2 : 1920 x 1080 ) 

De-Backer wrote:
tito.tit wrote:

En fait Qet tourne mieux sous Linux si je comprend bien, et est ce que certain on testé QET avec Linux dans une machine virtuelle sous windows?

Je vais essayer.

14 sec windows
6sec avec Linux dans une machine virtuelle sous windows

258

(1 replies, posted in Code)

what frustrates me the most:
- that the xml always changes in the file.qet (the order) => using git for project is impossible
- if there are changes in the code of xml that there is no version
   eg: new function => 0.8 => 0.81
   this can then be the code used to capture changes in the xml file.qet
- conductor => this must be further adjusted
- the code what does what?
   I always have to find where function x is (you have to memorize the code to find something)
   it is 2 program elements and project where do you see this? (and then I forget the cable generator)
   in short, further docmetering or splitting apart
 
Suggestion to update the xml:
  - for git the changes must be minimal
  - make use of versions (this should be addressed first)
    work examples:
    load file.qet => version A convert to version B => work with version B => save version B
  - further adapt the conductor

well there is still plenty of work ....

friskolon wrote:

Je viens de mettre QET à la dernière version, et chaque fois que j'ouvre un projet, c'est le dernier folio qui s'affiche.
Merci.

Vous avez raison.

friskolon wrote:

Est-ce normal ?

vraisemblablement l'interface graphique restera sur le dernier folio chargé.

friskolon wrote:

Est-il possible lors de l'ouverture de faire afficher le 1er folio comme dans les précédentes versions.
(Au mieux rajouter une case dans la config pour laisser le choix à l'utilisateur l'ouverture sur le 1er ou dernier folio).

peut-être que je vais jeter un oeil cette semaine.*

*cela ne veut pas dire qu'il sera changé, je peux le présenter aux développeurs.

260

(1 replies, posted in Code)

For QElectroTech:
- Pin name or number    Yes
- Pin name and number  NO

- is Pin text a PartDynamicTextField?

/**
    @brief The PartDynamicTextField class
    This class represents an editable dynamic text field
    which may be used to compose the
    drawing of an electrical element within the element editor.
    The field will remain editable once the element is added onto
    a diagram
*/

for KiCAD: (note is for pcb's)

261

(65 replies, posted in Code)

De-Backer wrote:

looks nice,

I have a Custom Process Step when Building QElectroTech :

doxygen Doxyfile

gives me a lot of error messages of doxygen.

i will do my best to resolve these.

don, except for pugixml

The process "/usr/bin/doxygen" exited normally.
Elapsed time: 02:51.

262

(1 replies, posted in Code)

can we finish this?
-what was missing
-what is wrong
-what do we want to achieve
-


https://qelectrotech.org/forum/viewtopi … 851#p12851

De-Backer wrote:

https://github.com/De-Backer/qelectrote … minal_name
an example:
https://youtu.be/Ae6nfh876gM

Is this where we want to go?

please give your input developers and users.

13sec for startup QElectroTech

scorpio810 wrote:

Pour avoir essayé de coder sous Windows dernièrement, WTF !  ........ !!! tout est d'une lenteur exécrable les bibliothèques sont trrrrrrrrres longues a compiler, Qtcreator est d'une lenteur épouvantable, la compilation prend dix fois plus de temps ... meme avec un laptop I7 16 GB ...

Bref, c'est une horreur... même GIT c'est d'une lenteur ...

Je travaille au travail avec un i5, 8G de RAM, Win7 dessus virtualbox Win7 Qt SDK (CPU numéro 2, 2G de RAM)
(qt 5.9 je pense)

tito.tit wrote:

En fait Qet tourne mieux sous Linux si je comprend bien, et est ce que certain on testé QET avec Linux dans une machine virtuelle sous windows?

Je vais essayer.

comment obtenez-vous l'erreur?
note: git id 8c8c432908044f2f03ed9ff1ffb72ae559a1881d  Branch: dev_Terminal_name
or e3093bd06cce87f8b703d4a3a8ba9f73588bc7c8 Branch: master

scorpio810 wrote:

Tu as essayé la version en cours de devel 0.8-dev?

bon point, il y a une amélioration notable de V0.7 à V0.8

(google translate)
merci pour l'info, nous pouvons difficilement améliorer cela à court terme, mais si linux peut être une alternative possible, je le recommande.

269

(60 replies, posted in Code)

you are late, i already changed it....

and indeed I have no proof that this is allowed ...

mmm.. this should suffice

Albert wrote:

This is the documentation page to which I am referring.

404 - Not Found

do you mean this?

-    setRowsHeaderWidth(bp.rows_header_width);
+    if(bp.display_rows){
+        if(bp.rows_header_width<5){
+        setRowsHeaderWidth(BorderProperties()
+                           .defaultProperties()
+                           .rows_header_width);
+        } else {setColumnsHeaderHeight(bp.rows_header_width);}
+    } else {rows_header_width_=0;}

or this?

-#define MIN_COLUMN_COUNT 3
-#define MIN_ROW_COUNT 3
+#define MIN_COLUMN_COUNT 0
+#define MIN_ROW_COUNT 0

what do you propose, is there a way to make it?

pouvez-vous me donner un exemple de fichier de projet en pensant qu'il y a un problème avec les terminaux

see
https://qelectrotech.org/forum/viewtopic.php?id=1747

https://youtu.be/A5T2IOWBb4w

On ne peut qu'essayer.

Albert what i learned is that this was a school project and the developer is no longer working on it.
It is still being tinkered with, but by the community.

understanding of Multi and Single line

a wire is a wire I want to say that the software does not see the difference between Multi and Single line that is a name / attribute it will be copied further to the next diagram

type="multi" / "single"

<conductor dash-size="2" bicolor="true" tension-protocol="" horizrotatetext="0" numsize="7" num="_" terminal1="9" vertical-alignment="AlignRight" horizontal-alignment="AlignBottom" onetextperfolio="1" formula="" terminal2="0" color2="#ff0000" vertirotatetext="270" type="multi" condsize="1" function="" displaytext="1" x="0" freezeLabel="false" y="0">
                <sequentialNumbers/>
            </conductor>
            <conductor dash-size="2" bicolor="true" tension-protocol="" neutral="true" horizrotatetext="0" numsize="7" num="_" terminal1="11" vertical-alignment="AlignRight" horizontal-alignment="AlignBottom" onetextperfolio="1" formula="" terminal2="2" color2="#ff0000" vertirotatetext="270" type="single" condsize="1" ground="true" function="" phase="1" x="0" displaytext="1" freezeLabel="false" y="0">
                <sequentialNumbers/>
            </conductor>

the community is looking at buses like at KiCAD, eagle. to solve this.

that there can sometimes be oddities, but it is up to everyone to fix this.

So you make a point.

And of course we are happy to welcome everyone who can help, be it the code, the translation, the documentation, finding errors, proposing ideas.