Commit Graph

151 Commits

Author SHA1 Message Date
plc-user
bd3b39cea3 element-editor: fix rotation, add mirror, add flip for graphical primitives
Now that the problem with the translations of keyboard shortcuts has been resolved and rotation using the space bar works reliably in principle, I took a closer look at the rotation function itself in the element editor.

I noticed, for example, that arcs can be rotated at an angle of 15°. This doesn't really make sense, as the “arc” part doesn't have the “rotation” property. There is only width and height.
And somehow rotating arcs didn't work well: start- and span-angles weren't adjusted.

Lines and polygons can be rotated in 15° increments, which doesn't make much sense, if other parts that can only be rotated in 90° increments are selected at the same time.

To make a long story short:
I reworked the rotation functions of the graphical parts so that now all parts are rotated in 90° steps around the origin! This means that it is now possible to mark several parts and rotate them around the same point at the same time!

In addition, the functions for mirroring graphic parts at y-axis (shortcut "M") and flipping at x-axis (shortcut "F") have been implemented.

I have saved the text elements for later!
(or someone else)
2025-02-14 20:31:03 +01:00
plc-user
3471140b64 fix typo in fuction-name (looked like a mixture of French and English) 2025-02-14 16:47:39 +01:00
Laurent Trinques
43f0107eb1 Revert "Try Clazy fix-its"
Segfault on old Qt versions!
This reverts commit dba7caed30.
2025-02-14 16:17:58 +01:00
Laurent Trinques
dba7caed30 Try Clazy fix-its
clazy is a compiler plugin which allows clang to understand Qt
semantics. You get more than 50 Qt related compiler warnings, ranging
from unneeded memory allocations to misusage of API, including fix-its
for automatic refactoring.

https://invent.kde.org/sdk/clazy
2025-02-14 15:52:23 +01:00
plc-user
1fc33aa1ba element-editor: limit decimal places for sizes and positions to two, when saving file 2025-02-09 12:33:24 +01:00
plc-user
1698e062ab remove dead code (local variables that were never used) 2025-02-01 08:52:07 +01:00
plc-user
3051c225bb minor: typos, witespace, comments 2025-02-01 08:49:12 +01:00
Laurent Trinques
77bfe84a4c One year 2025-01-04 13:37:40 +01:00
plc-user
fa68d545d0 correct more indentations / whitespace 2024-04-24 14:14:40 +02:00
plc-user
15b625021c fix warnings: "control reaches end of non-void function" 2024-04-07 15:17:04 +02:00
Laurent Trinques
e73cf633ce 2023->2024 2024-03-29 10:09:48 +01:00
plc-user
06a6e5e5f4 fix font-size of graphical elements "input" 2024-03-14 08:55:59 +01:00
joshua
ff3b497da2 Element editor : minor fix
In the part list widget, the terminal name is empty if terminal haven't
got name.
Now "terminal" is always displayed and if the terminal have a name the
name is appended to "terminal".
Example :
if the terminal name is 24 then the the part list widget show "terminal
: 24"
2024-02-15 22:04:11 +01:00
Laurent Trinques
3d6ab1b050 Minor 2023-11-20 22:24:36 +01:00
Laurent Trinques
9afef79629 Update Copyright date 2023-01-01 17:05:57 +01:00
luz paz
1994235bc5 Fix various typos in source documentation and comments (cont.)
Found via `codespell`
2022-12-04 20:46:32 +01:00
joshua
eee1c7fff7 Element editor : Improve responsiveness when several shapes are selected. 2022-08-13 12:40:59 +02:00
Peter Keresztes Schmidt
de80d10f5e Build fix for non-C++17 compatible systems
std::variant/std::visit was only introduced with C++17. Remove its usage.
We don't even need it in these cases since QColor has an implicit constructor accepting Qt::GlobalColor.

Follow-up for b69c7b1027
2021-09-23 21:50:37 +02:00
Peter Keresztes Schmidt
b69c7b1027 Refactor deeply nested statements
Compilation using MSVC fails with a C1061 error since MSVC has a hard limit on block nesting.
Refactor the code in question to use map lookups instead.
2021-09-22 21:53:21 +02:00
Adrien Allain
ccfb46b354 Implemented QET coding style (replaced 4 space with tab) 2021-09-14 09:35:14 +02:00
Adrien Allain
c640d96bca * Added the m_rotate_action to qetelementeditor.ui * Adding QAction to qetelementeditor.cpp and connecting it to new slot RotateElementsCommand defined in editorcommands.cpp
* Some types of elements need to specialize the setRotation method in order to behave correctly :
- PartTerminal needs to call setOrientation
- PartLine, PartRectangle and PartPolygon need a different rotation center.
2021-09-14 09:35:14 +02:00
joshua
74dcf96e4b Element editor: make element text option "keep visual rotation" editable. 2021-05-08 22:14:15 +02:00
joshua
7cb47f3b9e Fix unwanted moving part in element editor.
Fix an unwanted behavior when the properties dock widget is displayed :

1 there is no selection
2 the dock widget width is set to minimum
3 select a part, the dock widget gain new widgets used to edit the
current selected part and the width of the dock grow so the width of the
QGraphicsView is reduced and cause a mouse move event.
When this case occur the part is moved but they should not.
2021-04-07 12:56:43 +02:00
joshua
11b8ef927b Revert "Merge branch 'XMLPropertiesNew'"
**Break a lot of thing.**

This reverts commit 1db1800572, reversing
changes made to 4c563821e8.
2021-03-11 19:52:50 +01:00
joshua
001e93bc6f Forgoten revert ToXml() 2021-03-09 18:43:03 +01:00
Martin Marmsoler
5d3710c4b2 copy all toXML() from master commit 4b82c3a0c4 into the current branch, because the new concept will be used only for user properties 2021-03-07 10:09:45 +01:00
Martin Marmsoler
058824f29a move all static xml functions to qetxml 2021-03-06 20:01:31 +01:00
Martin Marmsoler
9d4b90da1a Add userProperties 2021-03-04 19:18:28 +01:00
Martin
5430692359 remove not needed declaration, because the definition was already deleted. And so a linker error occured 2021-02-24 19:04:14 +01:00
Martin
02b7ead041 fix compile issues 2021-02-24 18:48:59 +01:00
Martin
ea364f9c4e merge 2021-02-23 17:35:55 +01:00
joshua
8f85cacb06 QetElementEditor : Use elementData class 2021-02-21 19:40:33 +01:00
joshua
dea926e4b4 Remove unnecessary method 2021-02-21 19:40:33 +01:00
joshua
a1779d1a7a Rewrite terminaleditor with ui file.
Write terminal editor with ui file.
The terminalData::type of a terminal can be edited with the terminal
editor.
2021-02-21 19:40:33 +01:00
joshua
252106178b Add enum Type to terminalData class 2021-02-21 19:40:32 +01:00
joshua
24ec94d73e QetElementEditor : rewrite gui with ui file 2021-02-21 19:40:32 +01:00
Laurent Trinques
ef58f34c14 Update Copyright date 2021-02-20 12:13:46 +01:00
joshua
2513961cd6 Revert "Update Copyright date"
This reverts commit d04bccc384.
2021-02-06 19:00:48 +01:00
Laurent Trinques
d04bccc384 Update Copyright date 2021-02-06 18:33:42 +01:00
joshua
e1b98ce5b5 Revert "QetElementEditor : rewrite gui with ui file"
This reverts commit e3db2bc898.
2021-02-01 19:52:15 +01:00
joshua
e3db2bc898 QetElementEditor : rewrite gui with ui file 2021-01-30 19:34:21 +01:00
Simon De Backer
d15443cf93 Wip Fix preprocessor on Cmake 2020-12-10 18:49:35 +01:00
Simon De Backer
d0c129478e Mod Cmake en preprocessor 2020-12-10 00:08:26 +01:00
Simon De Backer
10c4c3d528 Wip Fix preprocessor on Cmake 2020-12-08 19:57:35 +01:00
Martin Marmsoler
793770a72a initialize TerminalData with nullpoint to not having an invalid value 2020-10-20 08:54:56 +02:00
Martin Marmsoler
aba16dc936 remove not needed variable 2020-10-20 08:54:56 +02:00
Martin Marmsoler
e5b8ba7e22 fix problems in partrectangle 2020-10-20 08:54:56 +02:00
Martin Marmsoler
9658a88c18 fix compile issues 2020-10-20 08:54:56 +02:00
Martin Marmsoler
12e301b887 replace 4 spaces by a tab 2020-10-20 08:54:56 +02:00
Martin Marmsoler
f3097fc537 rebase XMLProperties_New (c0d9bf9) to master 2020-10-20 08:54:14 +02:00