Commit Graph

418 Commits

Author SHA1 Message Date
klayoutmatthias efa921c950 Removed visibility declaration which wasn't actually required. 2018-01-01 19:04:52 +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 Koefferlein 111e1f12e0 WIP: Windows build compatibility 2018-01-01 14:44:25 +01:00
Matthias Koefferlein c8108dd038 WIP: Windows build compatibility 2018-01-01 14:34:49 +01:00
Matthias Koefferlein d670083111 Even more exported templates .. 2017-12-31 11:43:44 -08:00
Matthias Koefferlein c4cf394719 One more external visibility ... 2017-12-31 10:56:46 -08:00
Matthias Koefferlein 6b4d24b442 One more external visibility ... 2017-12-31 10:23:54 -08:00
Matthias Koefferlein b7a18b3278 Added method to derive application path for MacOS (/proc isn't there on MacOS) 2017-12-31 09:55:23 -08:00
Matthias Koefferlein 48a6b4b57a Exceptions have to be exported from DSO's too to make the recognized in catch statements. 2017-12-31 09:54:47 -08:00
Matthias Koefferlein 2084a7e85c Don't crash if no unit test libs are found in the unit test runner. 2017-12-31 09:52:54 -08:00
Matthias Koefferlein f5b7a037ad Turn the unit test runner into a ordinary binary too. 2017-12-31 09:51:38 -08:00
Matthias Koefferlein 93572a8f0b Fixed dbEdges iterator (ported fix of dbRegion iterator for MacOS/clang to dbEdges too) 2017-12-30 17:15:24 -08:00
Matthias Koefferlein 167df7eae6 Fixed a unit test bug - the dbCell test was working by coincidence on other systems. 2017-12-30 16:46:49 -08: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
Kazunari Sekigawa 1fe6280970 Buddy tools have to be built as ordinary command line tools; not as bundles (*.app)
This refs #10.
2017-12-26 06:58:03 +09:00
Kazunari Sekigawa 3f0152149e To try suggested patch "patch0.patch.txt" provided by Matthias.
I should have created a topic branch for this.

This refs #8. (reverted from commit e254f8a67e)
2017-12-19 21:30:01 +09:00
Kazunari Sekigawa e254f8a67e To try suggested patch "patch0.patch.txt" provided by Matthias.
I should have created a topic branch for this.

This refs #8.
2017-12-19 21:14:25 +09:00
Kazunari Sekigawa 74da54faf8 To try suggested patch "patch0.patch.txt" provided by Matthias.
This refs #8. (reverted from commit 0f14c13860)
2017-12-19 20:24:59 +09:00
Kazunari Sekigawa 0f14c13860 To try suggested patch "patch0.patch.txt" provided by Matthias.
This refs #8.
2017-12-19 19:36:54 +09:00
Matthias Koefferlein 28ff493de7 Replaced patch by generated code
The Qt4/5 bindings are generated automatically. Hence any manual
patches are bound to become lost on the next generation run.

This commit removes symbols which are not available on MacOS
by a code-generation solution.

These symbols are only required for WindowsCE so their
unavailability on other systems is not a big loss.
2017-12-17 15:30:37 +01:00
Matthias Koefferlein 0c25e8cab1 Maybe fixed a linker issue (db::GDS2Writer vtable not found) 2017-12-12 23:23:13 +01:00
Kazunari Sekigawa bded8f9fa4 When KLayout 0.25 is built with Qt 5.8.0 or later, this workaround is not required.
This refs #1.
2017-12-12 20:50:23 +09:00
klayoutmatthias b49db04fb4 Fixed MacOS build
The LLVM STL implementation does not recognize "typedef void iterator_traits"
as dummy declaration. It will fall back to an empty traits struct.
Using the default "forward_iterator_tag" for the iterator_traits solves
this compile issue.
2017-12-12 00:21:16 +01:00
Kazunari Sekigawa 14894e6ab7 Qt::WindowOkButtonHint and Qt::WindowCancelButtonHint are supported for Windows CE.
This refs #1.
2017-12-10 16:42:35 +09:00
Matthias Koefferlein 11cb5eb998 Qt 5.8.0 compatibility 2017-11-26 22:51:36 +01:00
Matthias Koefferlein 4dbe28e9fa MacOS build fix. 2017-11-26 22:50:35 +01:00
Matthias Koefferlein 8378e59b41 Fixed a build issue with Ruby libraries. 2017-11-16 22:51:54 +01:00
Matthias Koefferlein 20a6c5ec6b Another fix for Ruby/Python-less builds. 2017-11-07 20:48:15 +01:00
Matthias Koefferlein 4a81e228cf Fixed non-Ruby/Python builds. 2017-11-06 21:14:02 +01: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 8cb36cdfe7 Added one more buddy tool: strmrun
strmrun allows running a Python or Ruby script
in the context of KLayout's API. A subset of the
API will be available - all classes connected with
the user interface are not available. Neither is
the DRC engine.
2017-11-05 18:03:17 +01:00
Matthias Koefferlein b5e6423c8d Added tooltips and filter to menu customization dialog 2017-11-05 09:23:24 +01:00
Matthias Koefferlein dbc5079bb4 More robustness for PCell declarations on mutable parameter declarations. 2017-11-02 07:37:05 +01:00
Matthias Koefferlein 0cfc43d297 Fixed DRC tests - need OASIS normalization 2017-11-01 22:48:33 +01:00
Matthias Koefferlein 4599d342ef Merge branch 'master' of www.klayout.org:/home/matthias/klayout 2017-11-01 22:14:33 +01:00
Matthias Koefferlein af1c5c9f66 Bugfix: avoid a segfault
Reason: PCellDeclaration::parameter_declaration is volatile when
the PCell does not want parameter declaration caching. In this
case, begin .. end iterators must not be taken from different
calls to parameter_declaration for example.
2017-11-01 22:12:49 +01:00
klayoutmatthias 4cbb98745d Merge branch 'master' of www.klayout.org:/home/matthias/klayout 2017-11-01 22:11:08 +01:00
klayoutmatthias ccf6570d46 Crash handler does not pop up window in batch mode now. 2017-11-01 22:10:23 +01:00
Matthias Koefferlein ea5920bda4 Fixed ut_runner
- Implict macros were not disabled as they should
- This revealed that DRC scripts could not run with -rx
2017-11-01 18:20:45 +01:00
Matthias Koefferlein 5d9513b6a5 Added some more GSI methods:
* LayoutView#zoom_fit_sel
* ObjectInstPath#layout, ObjectInstPath#dtrans and ObjectInstPath#source_dtrans
2017-10-31 23:54:07 +01:00
Matthias Koefferlein 226f39c920 Fixed build on older gcc versions. 2017-10-31 22:30:23 +01:00
Matthias Koefferlein 3c3c3a0b87 Apply custom hidden flags also to menu items created from macros. 2017-10-31 09:38:29 +01:00
Matthias Koefferlein 52e893ae17 Two method aliases in RBA::Vector/DVector to provide Point compatibility 2017-10-29 19:11:50 +01:00
Matthias Koefferlein b1e83e0bdb New feature: customizable menu items (hide/show)
In the setup dialog (Customize Menu page), there are check boxes
now by which menu entries and menus can be enabled or disabled.

CAUTION: don't disable the setup function :-)
2017-10-29 17:39:49 +01:00
Matthias Koefferlein 99552a5484 GSI binding for new Action features. 2017-10-29 13:59:44 +01:00
Matthias Koefferlein c4fe283c2d Changed wording of key binding string in macro properties form. 2017-10-29 13:44:29 +01:00
Matthias Koefferlein 26ecc6e1a6 Rework: custom/default key bindings
Issue: macro definitions had to be synchronized for
custom key bindings. That's not possible for readonly
macros and breaks the architecture.

Now, there is a default binding and a custom binding:
the macros provide a default binding only and the custom
key binding can override this. This scheme is implemented
consistently, so now the "reset" function of the key
binding editor simply clears the custom binding.

Side effect: reset of individual key bindings is possible.

Another side effect: removing a key binding from an
item with a default one is not possible. Instead, redefine
it.
2017-10-29 13:34:57 +01:00
Matthias Koefferlein 8a8fc18bb0 Use real macro names when generating the menu paths. 2017-10-29 10:47:01 +01:00
Matthias Koefferlein 998ea6df10 RBA::Macro#name and RBA::Action#menu 2017-10-29 09:58:30 +01:00