mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-10-01 07:14:14 +02:00
Let a script rename the project and reshape a folio's frame
setProjectTitle(title) folioBorder(folio, prop) setFolioBorder(folio, prop, value) The frame is the grid of columns and rows around a folio: columns, column-width, display-columns, rows, row-height, display-rows -- the six fields the folio properties panel offers -- through ChangeBorderCommand, so it undoes like a hand edit. The title block's header sizes, which the panel does not offer, are left alone. Changing the project title is not undoable, because the application sets it directly too. Counts are 1 to 99 and sizes 1 to 1000. The panel's upper limits are the same; its lower limit is 0, which is not offered: a grid with no columns has no use here and 0 was not tested, so it is refused rather than assumed safe. The extremes that are offered (99 x 99 cells, widths from 1 to 1000) were exported to PNG without a hang or crash. Fractions, out of range values, an unknown property and a bad folio are refused with a reason. Verified: ten columns of 40 and four rows of 100, undo of the last change, and the folio and the renamed project read back after a reload. My first reload check read the wrong folio and briefly looked like the border was not persisted; the file itself had the right values. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -203,6 +203,13 @@ class DynamicElementTextItem;
|
||||
cannot be told apart. A conductor is copied
|
||||
only if both its ends are among the copied elements. The previous
|
||||
selection is put back afterwards, since copying works by selecting.
|
||||
- @b Project title and folio frame: setProjectTitle(), and the grid that
|
||||
frames each folio -- columns and rows, their size, and whether the
|
||||
headers show (columns, column-width, display-columns, rows, row-height,
|
||||
display-rows) -- through ChangeBorderCommand. These are the six fields
|
||||
the folio properties panel offers; the title block's header sizes,
|
||||
which it does not, are left alone. Changing the project title is not
|
||||
undoable: the application sets it directly too.
|
||||
- @b Images: place a picture from a file. The pixels are copied into
|
||||
the project, which stores them inline in the .qet -- the saved file
|
||||
does not refer to the original path, so it opens on another machine,
|
||||
@@ -398,6 +405,11 @@ class QetScriptApi : public QObject
|
||||
Q_INVOKABLE QStringList duplicateElements(int fromFolioIndex, const QStringList &elementUuids,
|
||||
int toFolioIndex, double x, double y);
|
||||
|
||||
// -- the project title, and each folio's frame (grid of columns and rows) --
|
||||
Q_INVOKABLE bool setProjectTitle(const QString &title);
|
||||
Q_INVOKABLE QString folioBorder(int folioIndex, const QString &property) const;
|
||||
Q_INVOKABLE bool setFolioBorder(int folioIndex, const QString &property, const QString &value);
|
||||
|
||||
// -- folios --
|
||||
Q_INVOKABLE int addFolio();
|
||||
Q_INVOKABLE bool setFolioTitle(int folioIndex, const QString &title);
|
||||
|
||||
Reference in New Issue
Block a user