Commit Graph

109 Commits

Author SHA1 Message Date
Matthias Koefferlein 217f957d60 Some more safety against accessing deleted user objects (stored point in temporary UserObject or DUserObject gets destroyed on destruction of the holder) - using C++ move semantics (overdue) 2021-04-07 22:16:52 +02:00
Matthias Koefferlein 71a7326fe9 Enhancements to cell name search feature. Needs more debugging. 2021-02-10 00:17:01 +01:00
Matthias Koefferlein 081c445cd8 Merge branch 'master' into complex_drc_ops 2021-01-17 19:55:28 +01:00
Matthias Koefferlein 7d4310d343 Updated copyright to 2021 2021-01-05 22:57:48 +01:00
Matthias Koefferlein 46a4178010 More elaborate handling of selection changed events in LayoutView (avoids dummy events) and some more GSI methods for manipulating or checking selections. 2020-12-24 17:57:01 +01:00
Matthias Koefferlein 316cf77175 WIP: Ruler now has a mouse snapping indicator too. 2020-09-07 23:49:42 +02:00
Matthias Koefferlein 46b5b87eaf WIP: refactoring editor options - moved some classes from edt to lay namespace 2020-09-06 18:45:58 +02:00
Matthias Koefferlein fb90144176 WIP: mouse cursor and snap highlighting 2020-09-05 23:58:10 +02:00
Matthias Koefferlein 7bf2c7f060 WIP: live ruler properties. 2020-08-27 20:53:33 +02:00
Matthias Koefferlein 0059d1bf24 Basic refactoring: Action -> Action* 2020-02-13 00:16:37 +01:00
Matthias Koefferlein c801df7f7b WIP: fixed assertion in klayout_main test. 2020-02-11 00:39:19 +01:00
Matthias Koefferlein 4210198179 WIP: refactoring ongoing. 2020-02-07 17:33:53 +01:00
Matthias Koefferlein fa1b98c933 WIP: refactoring ongoing. 2020-02-07 01:11:23 +01:00
Matthias Koefferlein 22b3a5face WIP: refactoring - at least some local context menus for detached views 2020-02-04 21:33:27 +01:00
Matthias Koefferlein b8c82c4f8b Updated copyright notice to 2020 2020-01-05 00:59:43 +01:00
Matthias Köfferlein 61c50a59ec
Merge pull request #442 from KLayout/issue-440
Fixed #440 (issue with LayoutView#each_annotation_selected)
2019-12-08 09:13:48 +01:00
Matthias Koefferlein c214021618 Fixed #440 (issue with LayoutView#each_annotation_selected) 2019-12-07 21:51:10 +01:00
Matthias Koefferlein 717470a389 Enhancement of the "interactive" (infix) modes
1.) Copy & Cut will now take the selection from
    the transient selection if no real selection is present
2.) Hence, Copy & Cut are always enabled
3.) The same if true for duplicate
4.) Move interactive will also act immediately on the transient
    selection.
2019-12-05 00:36:46 +01:00
Matthias Koefferlein 6c52daa3a3 Follow-up on #353 (sessions paths relative to session file)
Consistent behavior for file paths for images too.
Plus: image paths are not kept as absolute paths
inside the session.
This makes regeneration of images stable.
2019-09-18 22:05:37 +02:00
Matthias Koefferlein 50573edad0 Added Ellipse Outline code, fixed doc. 2019-09-03 20:26:22 +02:00
Matthias Koefferlein 2e695bd048 Leaner solution: provide snap and swap
"Swap points": will swap P1 and P2
"Snap both": will take P2 into account (before it was only P1)
2019-09-01 23:14:21 +02:00
Matthias Koefferlein 9fa5277e41 Implementation proposal
The solution tries to be a bit more generic:

- four buttons are there to synchronize coordinates
- three buttons to snap p1, p2 and auto-measure from p1.
2019-09-01 19:59:03 +02:00
Matthias Koefferlein d767ef27c7 Fixed #337 (cross style missing in Annotation class) 2019-08-30 13:25:15 +02:00
Matthias Koefferlein de64f61903 Fixed issue #333 (automation of auto-measure rulers) 2019-08-26 21:34:57 +02:00
Matthias Koefferlein 19e3d6eab0 Fixed issue #316 (Text capture box has zero dimension for move) 2019-08-04 23:45:46 +02:00
Matthias Koefferlein 7b7e35d3d5 Fixed some compiler warnings. 2019-05-27 18:05:38 +02:00
Ruben Undheim 5d26cf4c77 Spelling errors in code and comments fixed 2019-03-31 15:25:18 +00:00
matthias 4db632b799 Maxbe fixed issue-236
At least it's no longer reproducible with valgrind.
2019-03-13 17:36:30 +01:00
Matthias Koefferlein b0d7f5f7f5 Updated copyright. 2019-01-08 00:58:45 +01:00
Matthias Koefferlein edae71b0a8 0.25.5 to 0.25.6 delta ported to pymod
- Bugfix for klayoutmatthias/issue-191
- Consistent configuration for layout views
2018-11-18 23:54:41 +01:00
Matthias Koefferlein c46bed0785 Some update to fix build issues (this time, Linux)
- All platforms support native hash values for long long etc.
  with the TR1 containers
- Use non-static, function symbols to force linking.
- Debian package is picky about dates so give them some
  in Changelog.
2018-09-10 21:56:20 +02:00
Matthias Köfferlein a78f75054a Bugfix in the annotation area
The annotation ID was taken from an object already deleted - on MSVC 
this becomes an issue.
2018-09-06 23:49:17 +02:00
Matthias Köfferlein af50c0f0c3 Many warnings fixed for MSVC 2018-08-29 01:46:18 +02:00
Matthias Koefferlein 6468bb7ab9 WIP: refactoring of GSI structure for separated modules. 2018-05-30 00:39:58 +02:00
Matthias Koefferlein e1922da3b2 Better memory statistics. 2018-04-15 00:54:30 +02:00
Matthias Koefferlein a272ba39a7 Remove a debug output. 2018-02-21 07:47:02 +01:00
Matthias Koefferlein 2f46f0d1c6 Fixed some issues found with Coverity. 2018-02-21 00:21:19 +01:00
Matthias Koefferlein 8003d1bb47 Merge branch 'master' into macos-build-on-master 2018-01-02 23:37:45 +01:00
Matthias Koefferlein ffb56335fb Updated copyright note to 2018. 2018-01-01 21:08:06 +01:00
klayoutmatthias 7e0f1522ac Windows build compatibility
The issue is with "dllexport": previously, dllexport was present on
exposed templates tool (= visibility(default) for gcc/clang). This
ensured MacOS compatibility since then the typeinfo is corretly
shared and dynamic_cast/typeid works.

For Windows, the "dllexport" equivalent requires the template
instantiations to be declared "external" which is a coding nightmare.

The solution is to provide separate macros for real (non-specialized,
not explicitly instantiated) templates (.._PUBLIC_TEMPLATE) which
is defined as empty for Windows and "visiblity(default)" for gcc/clang.
2018-01-01 18:55:11 +01:00
matthias 063811edc4 Solved the clang/MacOS startup failure and menu issue
1.) Startup issue:

This is solved by making sure templates with virtual functions
are made visible in the DSO. This way, dynamic_cast is possible
across DSO's.

Scary: clang/MacOS wants the forward declarations be declared visible as well.

2.) Menu issue:

The best solution is to have only one QMenuBar. The navigator
now gets a synthetic menu bar composed of QToolButtons.
2017-12-30 15:22:16 -08:00
Matthias Koefferlein 08a662bcfd Reworked ruler initialization procedure. 2017-11-06 21:09:55 +01:00
Matthias Koefferlein 059c7ee37a Ruler setup enhanced
- Issue: on an entirely fresh installation the "Ruler"
  entry was not visible. Now, a new standard template
  called "Ruler" is present.
- Ruler templates with categories cannot be deleted
  any more and are shown with italic font. If they
  were deleted, they would show up again after restart.
2017-11-05 23:39:50 +01:00
Matthias Koefferlein cfe8375be0 Unit test refactoring
Move ut framework to tl, so there are less complex
dependencies.
2017-09-03 01:54:11 +02:00
Matthias Koefferlein 000917d2c9 Refactoring: moved unit tests to libraries for some libs (ut modularization) 2017-08-26 22:44:31 +02:00
Matthias Koefferlein 55e797ffaf Provide proper INSTALL targets for .pro files
Plus: reduce compiler warnings
2017-08-21 02:33:45 +02:00
Matthias Koefferlein 9c33a73086 Some indication of selected state also for single-position rulers. 2017-07-02 19:21:38 +02:00
Matthias Koefferlein 78cdec4d68 WIP: rulers
- some refactoring
- auto-registration of cross and measure rulers
2017-07-02 02:19:38 +02:00
Matthias Koefferlein 86e2b8cad1 WIP: auto-measurement rulers
- More tests on the snapping functions
- Bugfixes and enhancements for ruler features
2017-07-01 23:07:33 +02:00
Matthias Koefferlein 4ebfb24fca Ruler's auto-measure function improved
Already a very useful feature.
First tests added for snap feature.
2017-07-01 10:03:47 +02:00
Matthias Koefferlein c263878a4b WIP: rulers and auto measure
* Fixed snapping - don't use double objects with micron units
* Implemented first version of auto measure - needs improvement.
2017-06-30 00:03:21 +02:00
Matthias Koefferlein 919de1af01 Ruler enhancements
* There is a ruler mode now
* Ruler templates can have categories
* Ruler templates can be defined from RBA/pya
* Single-click annotations are implemented already
2017-06-28 23:17:02 +02:00
Matthias Koefferlein e30f1b6a34 Added unit tests for RBA::Annotation. Plus fixed a bug in the compare function. 2017-06-28 21:39:06 +02:00
Matthias Koefferlein d0427184e4 Fixed a typo. 2017-06-27 23:30:03 +02:00
Matthias Koefferlein 1b3a49e043 Advanced rules now working. 2017-06-27 23:16:59 +02:00
Matthias Koefferlein 9398b5373a WIP: enhanced annotations - ellipses, text alignment etc. Some things aren't working yet! 2017-06-27 00:54:31 +02:00
Matthias Koefferlein 47aa38421a Unique library named to avoid name conflicts
The libraries generated are called libklayout_x now
(instead of libx). This avoid name conflicts with
"libdb.so" on some systems for example.
2017-03-31 00:23:12 +02:00
Matthias Koefferlein a1e8aaf6b8 Updated copyright note to 2017. 2017-02-12 15:28:14 +01:00
Matthias Koefferlein 1b98f9b0f9 Initialized repository with current sources. 2017-02-12 13:21:08 +01:00