Commit Graph

2903 Commits

Author SHA1 Message Date
Matthias Koefferlein 89b4397aa4 Fixed some doc typos. 2018-04-28 00:32:23 +02:00
Matthias Koefferlein ff9be6219d Fixed some doc typos. 2018-04-28 00:31:41 +02:00
Matthias Koefferlein c94723bbce New RBA/pya methods
More Shapes#insert flavours with Shapes and RecursiveShapeIterator,
RecursiveShapeIterator#dtrans.
2018-04-28 00:21:36 +02:00
Matthias Koefferlein f989b961c1 Bugfix: show XOR progress after the particular job is done. 2018-04-24 21:49:51 +02:00
Matthias Koefferlein 43325cb861 Fixed Windows build. 2018-04-24 21:34:16 +02:00
Matthias Koefferlein 08bcd1e418 Fixed #117 (DTrans#itype broken) 2018-04-24 21:26:21 +02:00
Matthias Koefferlein a4b396535f Fixed #116 (polygon cutting issue)
Last step: polygon cut algorithm with fallback: merge before cut on invalid polygons.
2018-04-24 20:58:00 +02:00
Matthias Koefferlein 9622a2e669 WIP: added testcases for extreme polygon decomposition on GDS writing. 2018-04-24 19:28:45 +02:00
Matthias Koefferlein e183323d9a WIP: new version of polygon cut algorithm which is simpler and more stable. 2018-04-24 01:09:28 +02:00
Matthias Koefferlein ca9a6db8a5 Scanline polygon generator: avoid spikes
The implementation of the scanline polygon generator
will avoid spikes as hole cutlines. Helps
fixing #116.
2018-04-23 22:22:32 +02:00
Matthias Koefferlein e710b28a6d FEATURE: added RBA::Polygon#split, RBA::Polygon#split, RBA::DSimplePolygon#split, RBA::DSimplePolygon#split 2018-04-20 22:26:57 +02:00
Matthias Koefferlein 5fbbccd9e2 ut_runner does not display dialog on crash but dumps the stack trace to stdout. 2018-04-20 00:18:42 +02:00
Matthias Koefferlein 34b534e8b4 Fixed memory statistics for polygons. 2018-04-19 00:13:28 +02:00
Matthias Koefferlein 067d52a269 FEATURE: DXF accuracy and "keep layer names" feature
* "keep layer name" will not try to modify layer names into
  GDS layer/datatypes. The feature is available in the DXF
  reader options and for the buddy scripts as "--keep-layer-names"
  It applies to CIF too.
* "contour accuracy": when merging lines into contours, this
  accuracy is applied to find neighbors. By default this value
  is 0. If set to a value >0, points with distances (square
  metrics) less than this value will be connected.
  The buddy script option is --dxf-contour-accuracy=value.
2018-04-18 23:34:59 +02:00
Matthias Koefferlein 65cfb2d4e4 WIP: consistent naming of some predicates in Ruby with ?, unit tests for reader option bindings. 2018-04-17 01:56:59 +02:00
Matthias Koefferlein 17e9e48831 Fixed #114 (Custom line styles not loaded by tech) 2018-04-17 01:23:21 +02:00
Matthias Koefferlein 8bc0063fe6 WIP: DXF reader options config page. 2018-04-17 00:57:14 +02:00
Matthias Koefferlein c7fcd18413 Fixed #115 (Reader options are not persisted). 2018-04-17 00:56:53 +02:00
Matthias Koefferlein 86a90571e6 WIP: DXF keep layer names option, refactoring, added tests, UI, XML serialization. 2018-04-16 19:47:12 +02:00
Matthias Koefferlein 085a2ee2b1 WIP: keep DXF and CIF layer names, DXF contour accuracy. 2018-04-16 00:55:57 +02:00
Matthias Koefferlein 1b0317c120 Memory statistics: demangle symbol names. 2018-04-15 01:19:28 +02:00
Matthias Koefferlein e1922da3b2 Better memory statistics. 2018-04-15 00:54:30 +02:00
Matthias Koefferlein 4acc336d69 Fixed DXF display issue (see https://www.klayout.de/forum/comments.php?DiscussionID=1053) 2018-04-11 22:53:55 +02:00
Matthias Koefferlein 256de9bc84 Small DXF bugfix: persist name of subcells of cell variants. 2018-04-11 21:52:23 +02:00
Matthias Koefferlein 1e2f8a0ce5 Fixed #112 (Salt package repo relative paths)
This patch also includes:
 * A segfault fixed that happend on some errors
 * package URL's are resolved relative to the
   salt mine URL if one is given.
2018-04-10 21:40:07 +02:00
Matthias Koefferlein 3495f9c698 Fixed #110 (ut_runner not working on MacOS) 2018-04-08 01:27:22 +02:00
Matthias Koefferlein d3227b5bda Merge branch 'master' of https://github.com/Kazzz-S/klayout 2018-04-07 16:02:39 -07:00
Matthias Koefferlein da1daae1d8 Fixed #107 (Undo not working with shapes) 2018-04-07 16:00:37 -07:00
Matthias Koefferlein 829966d9a1 Fixed #108 (Box#enlarge, Box#move on empty boxes) 2018-04-07 09:21:50 +02:00
Matthias Koefferlein 3d5780db2b Bugfix #109 (part 3): OASIS/GDS writer fixed + unit test added. 2018-04-06 23:27:29 +02:00
Matthias Koefferlein 655eb49afd Bugfix #109 (part 2): re-established compatibility with previous version. 2018-04-06 23:08:41 +02:00
Matthias Koefferlein ea3ebba470 Bugfix #109 (part 1): account for long != long long on Windows in tl::Variant 2018-04-06 14:53:40 +02:00
Matthias Koefferlein a7446dd0dc Fixed #106 (Search & replace help page enhancements) 2018-03-31 13:39:35 +02:00
Matthias Koefferlein 21e2af2a97 Fixed #102 (Potential issue while upgrading from .25.1 to .25.2)
The reason was that for 0.25.1 "macro-editor-font-size" was allowed
to be an empty string (the default). Which meant: take default application
font size. In 0.25.2 this now was required to be a number and 0 was
the default for "auto" font size.

Two changes:
 - The default is back to empty string ("0" is still allowed as default)
 - The application was made safe against broken configuration files: an
   error is printed to the log, but apart from that the application
   will work (the configuration value is ignored however).
2018-03-20 18:52:00 +01:00
Thomas Ferreira de Lima 1ed12d4715 Merge branch 'master' into macos_retina 2018-03-19 23:21:06 -04:00
Thomas Ferreira de Lima 73e84d4f8d qt5 compatible fontgen.cc 2018-03-19 23:08:50 -04:00
Matthias Koefferlein 59b1849c96 Fixed the font issue for Retina displays: there should be fixed fonts for all resolutions down to 1/6 (Retina display, 2x oversampling) 2018-03-20 02:25:49 +01:00
Matthias Koefferlein b04d9f38b9 Fixed the recent patch: mouse coordinates need to be scaled by devicePixelRatio too. 2018-03-20 01:03:33 +01:00
Matthias Koefferlein 0a01946202 A refactoring attempt for the Retina display issue (#94)
This is what's been done:
 - remove the old double and single buffering /w mask approach
 - modify the bitmap rendering so it's done in a offscreen
   image before subsampling
   (effect: rulers display smoothly in subsampling mode)
 - refactoring the "device pixel ratio" topic:
   Made the DPR a variable, viewport width is scaled up
   to reflect the true image size, inserted #ifdef's for Qt4.

DISCLAIMER: I don't know whether this still works - I don't
have a Retina display :-(
2018-03-19 22:22:24 +01:00
Matthias Koefferlein 415d52f35d Fixed some issues found by Coverity scan. 2018-03-19 18:24:09 +01:00
Matthias Koefferlein 13062292fe Modified solution for the segfault mentioned in ticket #85 (@thomaslima: thanks for the root cause analysis) 2018-03-16 10:05:09 +01:00
Thomas Ferreira de Lima a6738f5be4 better ruler rendering. Fails totally at 2x oversampling 2018-03-15 23:07:25 -04:00
Thomas Ferreira de Lima b6ec5b7c0d retina rendering of layout fine. rulers and other bitmap objects not obeying retina dpi 2018-03-15 14:37:38 -04:00
Thomas Ferreira de Lima 53bc8e97fe a little more stable.
still unstable for oversampling >1. also rulers do not render well
2018-03-15 03:55:47 -04:00
Thomas Ferreira de Lima a94ad6622a retina display working prototype. only works if oversample = 1. 2018-03-15 03:32:46 -04:00
Thomas Ferreira de Lima 8419ed0c6f fixing the bug mentioned in PR #85 2018-03-15 00:08:18 -04:00
Matthias Koefferlein 02c9c645ec Rephrase confusing option in 'save as' dialog. 2018-03-12 20:55:15 +01:00
Matthias Koefferlein 9fd169f183 Merge branch 'bug_89' 2018-03-12 20:47:38 +01:00
Matthias Koefferlein 3ae71d7e72 Bugfix: properly initialize new config value 2018-03-12 20:47:33 +01:00
Matthias Koefferlein 802237141b Fixed #90 (DRC issue with 'extended' and joined = true) 2018-03-12 00:47:04 +01:00
Matthias Koefferlein 8bec89611f Trying to fix alpha channel issue by providing upper 8 bits set in QImage. 2018-03-11 23:57:41 +01:00
Matthias Köfferlein 4ef4635e24
Merge pull request #86 from lightwave-lab/master
Building KLayout on macOS High Sierra with python3 from brew and Qt 5.9.4
2018-03-11 22:20:41 +01:00
Matthias Köfferlein dc5792d768
Merge pull request #87 from lightwave-lab/open-with-macos
Open with macos
2018-03-11 22:08:49 +01:00
Matthias Koefferlein 5fbc20702e Macro editor enhancements (stop on exceptions)
This commit tries to address #85 and provide these features:
 - dynamic configuration of the macro IDE behaviour
 - side effect: a new entry in the setup dialog for the
   IDE settings
 - "stop on exceptions" can be taught to ignore certain files
2018-03-11 21:58:59 +01:00
Alex Tait 9717612c93 allowed user defined literals. build and deploy passes with MacOsSierra version of Ruby. 2018-03-08 14:33:43 -05:00
Thomas Ferreira de Lima 8ec78a99a9 open with working properly in MacOS. 2018-03-07 12:54:01 -05:00
Thomas Ferreira de Lima c82bb445ac testing file open event 2018-03-07 11:07:29 -05:00
Matthias Koefferlein 51e40cc9ab Merge remote-tracking branch 'remotes/origin/master' 2018-03-03 00:22:10 +01:00
Matthias Koefferlein 7da3b0206a DRC as early autorun
This will finally enable DRC runsets started from an autorun macro.
2018-03-03 00:21:23 +01:00
klayoutmatthias 3d5fe871e2 Fixed #84 (Python modules: breakpoints not working on Windows) 2018-03-03 00:18:18 +01:00
Matthias Koefferlein 6f0ecd3d9c Show tip window once for non-standard background combination mode. 2018-02-27 21:59:52 +01:00
Matthias Koefferlein 2ffdbb4d91 Suppress repeated message in unit tests if not required. 2018-02-27 00:02:57 +01:00
Matthias Koefferlein d0cb17b386 ut_runner: Added -r option, fixed help text 2018-02-24 18:09:50 +01:00
Matthias Koefferlein eea53b3091 Fixed #79 (Macro Editor: Replace function enabled also for read-only macros) 2018-02-23 23:04:21 +01:00
Matthias Koefferlein 5f4e715dcf Fixed #77 (copy_tree should work in non-editable mode too) 2018-02-21 07:47:41 +01: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 6052a04429 A few enhancements and unit tests for PCells
This commit adds unit tests for implementation helper-based
PCells in Python and Ruby.
2018-02-17 01:26:25 +01:00
Matthias Koefferlein f6f75cd791 A small rework of the Python PCell helpers
The aim of this rework was to enable PCell implementations
that use the basic methods rather than the "_impl" variants.
For the latter, potential variable name clashes happen when
parameters are called "cell", "layout", "layer" or similar.

New methods enable implementation on the level of the
non-"impl" methods. For example:

  def produce(self, layout, layers, parameters, cell):
    self.init_values(parameters, layers)
    ...
    self.finish()
2018-02-13 00:59:11 +01:00
Matthias Koefferlein 12bb664a80 Fixed the default implementation of transformation_from_shape in Python 2018-02-13 00:09:54 +01:00
Matthias Koefferlein 4f3b205d93 Fixed #71 (target cell argument is required) 2018-02-12 22:46:54 +01:00
Matthias Koefferlein 5d59b890d3 Small bugfix: DRC error message on wrong '@' input/output was wrong. 2018-02-12 22:04:03 +01:00
Matthias Koefferlein 6d0fe85425 Fixed #75 (Python PCell issue when parameters are called 'layer')
This commit
- Ignores exceptions when checking for PCells that accept shapes.
  Hence a single rogue one does not break the feature.
- Prevents errors when parameters named "layer" are present
  by making the implementation safe against this case.
- In addition, guiding shape parameters of type "Path", "Box" etc.
  (i.e. integer types) are supported too although they are
  not recommended for portability.
2018-02-11 00:34:28 +01:00
Matthias Koefferlein 6a762db29b Reworked bookmark menu implementation to avoid MacOS menu issue
Without this commit, bookmark menus got grayed out
on MacOS with Qt5 sometimes. Now, the implementation
of recent file menu, bookmark menu, macro menu and
the static main menu use the same framewkork which
includes a workaround for the disabled menu issue.
2018-02-10 18:41:05 +01:00
Matthias Koefferlein 1e29b29c13 Merge remote-tracking branch 'remotes/origin/menu_issue' 2018-02-10 17:32:33 +01:00
Matthias Koefferlein d6adadcad4 Added file source to 'stream has unknown format' message. 2018-02-09 22:56:03 +01:00
Matthias Koefferlein 396d0263d4 Some changes to work around MacOS menu issues
- ID's are used instead of pointers to identify menu items
  vs. QAction's. This is a weak measure to enhance predictability.
- The file menu is built from abstract menu items instead with
  native Qt objects. This way the bug fix applies both to
  file menu items and the other menu entries

The main fix is:
- A menu sync is forced by emitting a focusWindowChanged event
  from the application object. This forces the QCocoaMenuBar
  implementation to update the system menu.
2018-02-08 16:33:54 -08:00
Matthias Koefferlein 6df645a917 Fixed #74 (small-corner boolean issue). Tests need update 2018-02-08 23:12:58 +01:00
Matthias Koefferlein 363c0c9fed Fixed #73 (allow 'change layers' on PCells which support a single layer parameter) 2018-02-06 22:51:06 +01:00
Matthias Koefferlein fb69dfd866 Fixed HTML version of class documentation - links to methods have not been working properly. 2018-02-04 19:07:33 +01:00
Matthias Koefferlein 808159bcab Fixed #72 (Edges/Region NOT issue) 2018-02-01 22:35:47 +01:00
Matthias Koefferlein 432a8dddb8 Bugfix: Ruby debugger breakpoints were disabled sometimes 2018-02-01 21:18:48 +01:00
Matthias Koefferlein 23c2ae7306 Fixed #69 (DRC: 'inside' does not merge shapes of second input) 2018-01-30 00:40:17 +01:00
Matthias Koefferlein ccb76a9f09 Merge remote-tracking branch 'remotes/origin/master' 2018-01-27 01:31:47 +01:00
Matthias Koefferlein 705056675a Fixed a potential crash in the package manager on computing dependencies 2018-01-26 16:28:25 -08:00
Matthias Koefferlein 475bf6eb83 Small bug fixes in the package manager
- Remove button wasn't enabled if multiple packages
  were selected
- A potential crash on removing packages was fixed
2018-01-27 01:05:25 +01:00
Matthias Koefferlein aab425a58c Fixed #66 (Authentication dialog should indicate retry) 2018-01-24 22:08:13 +01:00
Matthias Koefferlein 04b4c21e82 Fixed #68 (OASIS reader issue with degenerated shapes) 2018-01-24 21:21:02 +01:00
Matthias Koefferlein 53328d1767 Merge branch 'macos-build' from kazzz 2018-01-14 17:29:59 +01:00
Matthias Koefferlein 8b479bd20a Fixed #64 (crash on exit) 2018-01-14 00:15:16 +01:00
Matthias Koefferlein a2ba300bd7 More consistent 64bit coordinate support 2018-01-12 00:30:49 +01:00
Matthias Koefferlein 390a5c11a8 Using OASIS files for smaller size as DRC golden data 2018-01-12 00:06:24 +01:00
Matthias Koefferlein ed945a28d4 Fixed #63 (wrong output on DRC non_interacting with empty second input) 2018-01-10 23:20:34 +01:00
Matthias Koefferlein 2de6b691b4 64bit coordinate support enhanced
- int128 to string support for output
- unit tests
- some compiler issues fixed
2018-01-10 22:12:55 +01:00
Matthias Koefferlein d11e2ed8a6 Fixed #62 (QXmlSimpleReader#parse cannot be called) 2018-01-10 20:21:56 +01:00
Matthias Köfferlein 9a141a3fc8
Merge pull request #60 from klayoutmatthias/master
Fixed #53 by introducing a scroll area around the 'about' text.
2018-01-07 20:51:27 +01:00
Matthias Koefferlein a63ef901aa Fixed #53 by introducing a scroll area around the 'about' text. 2018-01-07 20:49:22 +01:00
Matthias Koefferlein 02f84181f5 Merge remote-tracking branch 'origin/macos-build' into macos-build 2018-01-07 11:24:54 -08:00
Matthias Koefferlein 8eb3f5e6ce Fixed #59 (async download of package index and details) 2018-01-07 10:22:47 +01:00
Matthias Koefferlein bf5f932ff1 HTTP access enhancments
Added the ability for asyn requests.
Fixed a memory lead issue in WebDAV access.
2018-01-07 08:56:06 +01:00
Matthias Koefferlein 55be7d78e7 Merge remote-tracking branch 'matthias-origin/async-reader' into macos-build-on-master 2018-01-06 17:10:35 -08:00
Matthias Koefferlein ef67790d2c Implemented #54 (more typeinfo visibility) 2018-01-02 16:24:31 -08:00
Matthias Koefferlein 8003d1bb47 Merge branch 'master' into macos-build-on-master 2018-01-02 23:37:45 +01:00
Matthias Koefferlein ae6485a0df Fixed #51: segmentation fault on return to main window and other opportunities 2018-01-02 14:19:35 -08:00
Matthias Koefferlein ffb56335fb Updated copyright note to 2018. 2018-01-01 21:08:06 +01:00
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
Matthias Koefferlein 6526625a67 Fixed Ruby-less build. 2017-12-29 20:35:34 +01:00
Matthias Koefferlein 7715d924ee Fixed #42 (headless mode support with Qt5/-zz) 2017-12-27 21:44:14 +01:00
Matthias Koefferlein 87531dadcc Fixed #48 (Cancel does not reset current tool) 2017-12-27 21:33:38 +01:00
Matthias Koefferlein 84cf46bcd2 Fixed an issue with the new process_events implementation: compiler resolution did not work well for the two types - one them them reimplemented and the other not. 2017-12-27 19:54:06 +01:00
Matthias Koefferlein 7a28389bf1 Fixed Windows build. 2017-12-27 18:27:18 +01:00
Matthias Koefferlein c63a47dd89 Added tests for klayout app
This commit also contains some important fixes:
 * Option -wd wasn't working
 * Relative layout file paths in session files are resolved as relative
   to the session file. On writing, absolute paths are used, so this
   change only affects session files build intentionally.

Plus:
 * Program version is available in unit tests too
 * Fixed a typo in the RBA::Expression documentation
2017-12-27 17:52:35 +01:00
Matthias Koefferlein 9906565013 Further refactoring - more functionality for GUI/non-GUI application classes. 2017-12-26 00:03:40 +01: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
Matthias Koefferlein bbb1514184 WIP: some refactoring. 2017-12-25 22:35:16 +01:00
Matthias Koefferlein 53d2557ba5 First steps towards fix. Needs review.
The patch is based on splitting the application class into
two incarnations - one for GUI capability and one without.

GSI binding happens dynamically based on the mode chosen.
We can do so because the application class is the first one
to become active and can decide the mode by itself.

In general, the application class carries too much functionality
and splitting is a task for the future. Right now, the functionality
is inside the base class and the derived classes basically only
configure the base class.

A better design would be to drop the QApplication inheritance in
the RBA::Application class hierarchy and provide access to the
QApplication object through qapp_gui getter.
2017-12-25 00:51:06 +01:00
Matthias Koefferlein 395643b427 Fixed #44 (Transformation constructor with x,y not working) 2017-12-23 19:42:39 +01:00
Matthias Koefferlein 692ae10fe2 Fixed #45 (Partial selection does not capture instance) 2017-12-22 21:01:40 +01:00
Matthias Koefferlein b44f5ab156 Fixed #43 (crash when using Qt specific command line options) 2017-12-21 22:56:41 +01:00
Matthias Koefferlein 4855231342 Fixed #40 (Crash in Python binding)
Plus the same effect was observed for Ruby and fixed there as well.
2017-12-21 00:55:40 +01:00
Matthias Koefferlein 6f66e04c8e Fixed #41 (Polygon#touches? method) 2017-12-20 22:55:15 +01:00
Matthias Koefferlein 4f3c745790 Updated the wording of some documentation texts and fixed some errors there. 2017-12-20 22:11:42 +01: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 21e42788e6 Fixed #39 (Action cannot be reassigned) 2017-12-17 22:38:48 +01: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 ad741d0eb7 Fixed #36: harding against destruction of object inside event handler
Plus: declare the form builder to return a new
widget object (the way it is).
2017-12-16 01:45:35 +01:00
Matthias Koefferlein 6e14460334 Ported enhancements for #33 fix (factory callbacks) to Ruby too. 2017-12-13 00:21:56 +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
Matthias Koefferlein 1cea7dfd23 Fixed #33 (Plugin factory not working when using with Python)
The fix consisted of introducing "factory" type virtual
methods which ensure that a reference is held to the
returned object. This is important for implementing
factory methods in Python. Without this, the object
get destroyed before we have a chance to increment the
reference count.
2017-12-11 23:51:00 +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 11c9d37e93 Fixed #32 (rounding issue with instance properties) 2017-12-09 23:00:41 +01:00
Pankaj Pandey f318cb2e30
Update tlString.h 2017-12-06 18:33:57 +05:30
Pankaj Pandey 58281695fb
Update tlString.cc 2017-12-06 18:32:17 +05:30
Pankaj Pandey ff74c466d5
Replace `m_m128` -> `m_int128` in tlVariant.cc
Typo in member variable name.
2017-12-06 16:11:28 +05:30
Matthias Koefferlein 2cd5d68db2 Build enhancements
Qt <4.7 is partially supported now:
 * Without Qt bindings (build.sh -without-qtbinding ...)
 * With reduced functionality (i.e. package manager won't work)

Build compatibility with STL-less Qt installations
2017-12-05 22:26:30 +01:00
Matthias Koefferlein fdb012aa2d Fixed #26 (Exceptions are reported every time they propagate up in the call chain in the ruby debugger) 2017-12-02 23:02:45 +01:00
Matthias Koefferlein 1bb662b9ed Fixed #21 (Autorun(-early) doesn't seem to run when lym files are inside a package) 2017-12-02 18:48:28 +01:00
Matthias Koefferlein 54a373572f Fixed #24 (Text insert dialog possible bug in 0.25 but not in 0.24) 2017-12-01 22:36:33 +01:00
Matthias Koefferlein 8e55a4171e Fixed #30: Writer options dialog non-functional on a fresh configuration 2017-11-29 23:23:28 +01:00
Matthias Koefferlein be80682853 Fixed #29 (permissive mode for OASIS writer on odd-width paths)
This commit adds "permissive" mode to OASIS writer to allow
odd-width paths (which are rounded).

This commit contains in addition:
 * The check for odd-width paths is done post-scaling, so
   reducing the DBU is a workaround
 * Unit tests for the RBA binding of SaveLayoutOptions
 * Documentation updates on some SaveLayoutOptions attributes
 * Using Ruby predicate notation for cif_blank_separator?
   (note question mark) for consistency. The old notation is
   still there but deprecated
 * --permissive option on buddies command lines where applicable
2017-11-29 22:34:41 +01:00
Matthias Koefferlein c1e501197c #28 fixed (CIF file format detection fails) 2017-11-28 23:24:38 +01: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
Matthias Koefferlein 9b7a887ad8 Added GSI support for Action#separator 2017-10-29 01:27:56 +02:00
Matthias Koefferlein c5017c811e Bugfix: avoid data loss in macro editor
The bug was this:
- A macro is opened and modified in the macro IDE
- The directory which the macro is kept in is touched
Effect: the macro was reloaded and the edits were discarded.
2017-10-28 22:37:52 +02:00
Matthias Koefferlein 6ee4ba6a90 Added a default constructor to LayoutView
The use cases for such an object are limited - mainly
for producing layer properties.
2017-10-28 21:14:35 +02:00
Matthias Koefferlein cb29a2d790 Fixed output of stdout to macro IDE log
No additional newlines are inserted on flush -
this enhances compatibility with unit test framework.
2017-10-28 21:13:46 +02:00
Matthias Koefferlein d90593df89 Added a convenience binding for vector+point
This way, the vector/point sum is commutable.
vector+point == point+vector.
2017-10-27 22:02:26 +02:00
Matthias Koefferlein 374816fe0e Tiny issue: border for OASIS writer options page. 2017-10-26 21:25:36 +02:00
Matthias Koefferlein 67b4fb33fc Bugfix: put the tech selector to the right position in the toolbar. 2017-10-24 23:49:16 +02:00
Matthias Koefferlein 6b65080738 Non-collapsing cell tree also for sorting order change. 2017-10-24 23:18:06 +02:00
Matthias Koefferlein 59b5c7d9df First attempt to implement non-collapsing cell trees. Still collapsing: on sorting change. 2017-10-24 21:36:54 +02:00
Matthias Koefferlein 6364530c69 Show native paths in macro IDE too
So far, only the macro paths (macros/pymacros/drc)
are shown. With this fix, also the native paths
like "ruby" and "python" are listed.
2017-10-23 21:45:58 +02:00
Matthias Koefferlein 1a97771c25 Bugfix: modal help dialogs properly show the text panel now. 2017-10-22 23:35:20 +02:00
Matthias Koefferlein 4cbfec9c35 New feature: allow group generation in menu paths. 2017-10-22 23:06:42 +02:00
Matthias Koefferlein ba7e9da5a6 Bugfix: package details were not updated. 2017-10-20 22:49:59 +02:00
Matthias Koefferlein 4ca24df814 Package manager enhancements
* marked icon
* multiple selection
* hidden flag for repository
* background color of package list black always
* consolidation of package list - identical packages are
  reduced to the latest one
2017-10-19 00:16:34 +02:00
Matthias Koefferlein 63e28be152 Establish a Ruby/Python path from packages also in -b mode. 2017-10-13 21:38:36 +02:00
Matthias Koefferlein 615ba36836 Bugfix: take download URL as source for packages also for relative URLs
Plus: diagnostics for HTTP access.
2017-10-12 21:08:19 +02:00
Matthias Koefferlein b3ffa23499 Relative paths for includes in package index files
Plus: inhibt some deferred methods during processEvent (i.e. progress reporting,
HTTP/HTTPS download).
2017-10-10 21:04:52 +02:00
Matthias Koefferlein 06a1002e25 Fixed build. 2017-10-09 23:49:41 +02:00
Matthias Koefferlein 51fca6be05 Relative package URL's don't take the repo index filename 2017-10-09 23:21:29 +02:00
Matthias Koefferlein 55aa35bc8f A little more backward compatibility plus macro name issue fixed
* Some removed methods have been restored (and are deprecated).
* Macro names like "0.25.lym" don't render error messages during loading now
2017-10-09 23:17:00 +02:00
Matthias Koefferlein 93b30364d9 Tiny bugfix: don't waste CPU time in a dialog exec loop. 2017-10-09 00:21:13 +02:00
Matthias Koefferlein 6c952921ea Added tokens to salt grain info. 2017-10-09 00:11:55 +02:00
Matthias Koefferlein 4f9857ace9 Bugfix: 'merged' mode wasn't working in PCB import. 2017-10-08 23:07:10 +02:00
Matthias Koefferlein c50fe8cb57 Some bug fixes and doc updates
* LEF/DEF: bugfix - the tech options were not
  visible
* Doc update: new main window snapshot
* LEF/DEF import: doc update
2017-10-08 22:43:07 +02:00
Matthias Koefferlein f27f187142 Updated doc. 2017-10-03 17:52:01 +02:00
Matthias Koefferlein 6f51c0be2e Added useful feature: include other paths in sami
This way you can include other repositories into
the Salt.Mine XML:

  <salt-mine>
    <salt-grain>
      ...
    </salt-grain>
    <include>http://from.other.source/repository.xml</include>
  </salt-mine>
2017-10-03 17:47:40 +02:00
Matthias Koefferlein 469eb47068 More consistent definition of Ruby/Python path with less invalid components. 2017-10-03 17:32:37 +02:00
Matthias Koefferlein ff73583d26 Bugfix: custom paths were not stored correctly
Now, if a path is stored with a category (i.e. mypath:macros),
the path is not modified. Instead, the path is taken as is
for the specific category.

Only unspecific paths are taken for by mypath/macros,
mypath/pymacros etc.
2017-10-03 16:49:28 +02:00
Matthias Koefferlein 67fb59b514 Fixed Windows build. 2017-10-03 16:16:53 +02:00
Matthias Koefferlein c077feb3d5 Some refactoring of package manager, new features
* Moved tlSystemPaths into lay namespace where it belongs
* Doc updates
* New command line switch -y and -yd for unattended installation
* Download URL's can be relative to salt.mine URL
* KLAYOUT_HOME environment variable to make ~/.klayout configurable
* Better error messages on XML parser on file/stream read errors
  (specifically from http/https)
2017-10-03 14:19:01 +02:00
Matthias Koefferlein 407c967de4 Updated doc. 2017-10-03 01:12:46 +02:00
Matthias Koefferlein e8a29ac612 Updated doc. 2017-10-02 23:17:19 +02:00
Matthias Koefferlein c99dbebf0a Updated package manager doc. 2017-10-02 00:25:29 +02:00
Matthias Koefferlein 5eb8172c57 Fixed layout on web site. 2017-10-01 22:32:31 +02:00
Matthias Koefferlein 44d2ea5c25 Some doc enhancements. 2017-10-01 22:21:01 +02:00
Matthias Koefferlein 580ed1ec6d Avoid a segfault that happens on first use of LEF/DEF reader. 2017-09-29 22:14:35 +02:00
Matthias Koefferlein 368c5cf3ca Fixed some small issues. 2017-09-27 23:25:51 +02:00
Matthias Koefferlein 4f25f4c81c Fixed generation of .rc file. 2017-09-27 22:59:44 +02:00
Matthias Koefferlein 7e7a5ce030 Some enhancements/bug fixes for package manager 2017-09-27 00:16:43 +02:00
Matthias Koefferlein ce951b29ec Made tl::parent_path require existing parent - otherwise the previous implementation returned true always. 2017-09-26 22:25:53 +02:00
Matthias Koefferlein 2c023a7041 Fixed build on gcc's not supporting zero-length arrays. 2017-09-26 00:59:18 +02:00
Matthias Koefferlein 2fd33a289a Variable path widths for DXF reader 2017-09-26 00:28:47 +02:00
Matthias Koefferlein 59dd9896e0 Bugfix: second exit was ignored after not committing the first. 2017-09-23 13:20:58 +02:00
Matthias Koefferlein 8b1e76ed0b Bugfix: XOR was segfaulting when the window was closed during run
This fix consists of multiple parts:
 * Actual closing of the window is deferred until excecution is over
 * weak pointers in XOR for view so the view can be destroyed with
   out not knowing
 * The "keep data" message is not shown when the application window
   was closed.
2017-09-23 13:17:26 +02:00
Matthias Koefferlein f1cfe207ff Don't show break exceptions 2017-09-23 13:16:55 +02:00
Matthias Koefferlein 9f8b81eaf4 Don't decorate 'break' exceptions in Gerber reader. 2017-09-23 13:16:30 +02:00
Matthias Koefferlein 7d2bf2d969 tl::DeferredMethod: allow new method calls from inside
This change will allow issuing the same method from inside
itself (postpone execution by re-issuing).
2017-09-23 13:14:36 +02:00
Matthias Koefferlein 5a1a89b665 Reworked the XOR progress UI - now it's rows instead of a single column. 2017-09-21 23:52:24 +02:00
Matthias Koefferlein cadb9c555a A few bug fixed in the XOR progress reporter. 2017-09-21 22:07:58 +02:00
Matthias Koefferlein 8cd612ba36 Don't show file changed notifications while an operation is ongoing
Reloading a file during operations is usually fatal.

+ Enhanced the "show all hierarchy levels tip window."
2017-09-21 22:07:37 +02:00
Matthias Koefferlein daacd9ea6f Added a hint about 'show all hierarchy levels off', so that new users have a chance to change this setting. 2017-09-20 23:18:09 +02:00
Matthias Koefferlein 1d29a00bb9 Cross style is propagated down groups properly now. 2017-09-20 23:00:37 +02:00
Matthias Koefferlein d64a427180 Fixed layout of layout statistics form. 2017-09-20 22:57:16 +02:00
Matthias Koefferlein 62b59fe71c Reworked the XOR progress UI for better performance. 2017-09-20 22:52:52 +02:00
Matthias Koefferlein 083e1d75e9 Finished defailed XOR progress. 2017-09-20 21:39:24 +02:00
Matthias Koefferlein 3e37c0bf7b First version of XOR progress visualization. 2017-09-20 01:22:25 +02:00
Matthias Koefferlein 4381ebfe7f Do not automatically set RPATH to installation target (for building packages). 2017-09-10 15:51:19 +02:00
Matthias Koefferlein 0cb58fc354 Fixed dependencies 2017-09-10 13:26:42 +02:00
Matthias Koefferlein 55ff0bcf99 Include version information in Windows exe file - patch for build. 2017-09-10 11:52:15 +02:00
Matthias Koefferlein dbf8e53621 Include version information in Windows exe file. 2017-09-10 11:42:19 +02:00
Matthias Koefferlein 501dfc25d0 Direct table access for RBA::CellMapping and RBA::LayerMapping. 2017-09-10 01:21:10 +02:00
Matthias Koefferlein b024e0ffd6 Clear layer is applied to all selected layers now. 2017-09-10 01:05:27 +02:00
Matthias Koefferlein ff4e99f2a2 Gerber X2: metadata and project initialization from the latter (at least in free mode) 2017-09-10 00:24:59 +02:00
Matthias Koefferlein 55c7b66160 Fixed Layout unit tests. 2017-09-09 19:02:37 +02:00
Matthias Koefferlein 98b7d0e9a1 Small bugfix and tests added to Gerber reader. 2017-09-09 10:27:09 +02:00
Matthias Koefferlein 17327ce19c Gerber X2 support basically implemented. Needs testing. 2017-09-09 02:07:09 +02:00
Matthias Koefferlein 468c3f4952 Assistant has a left-side content panel now. 2017-09-08 00:25:17 +02:00
Matthias Koefferlein fd36ee37d9 Some convenience methods for RBA/RDB methods. 2017-09-07 21:40:51 +02:00
Matthias Koefferlein c541cdcbd6 Bugfix: redrawing issues when multiple layers are affected
This is how to reproduce the bug: have a layout with two
layers. Select two shapes of different layers and delete them.
One layer is not updated and only after zooming/panning the
shape will disappear on this layer.
2017-09-07 01:04:40 +02:00
Matthias Koefferlein e52c96b0bc Fast panning with Shift pressed. 2017-09-06 23:38:46 +02:00
Matthias Koefferlein 41e8c58869 A function to reset the window state (View menu) 2017-09-06 23:36:04 +02:00
Matthias Koefferlein 692b1e6c31 A new function to separate inside/outside
- This feature is found in Edit/Selection/Separate
  The first selection is separated into parts inside and
  outside the secondary selection

In addition, shapes are not deleted on the boolean
(selection-based) functions if they come from a different
layer than the primary selection.
2017-09-06 23:33:50 +02:00
Matthias Koefferlein 5221027b3a Added RBA::LayoutView#selected_cells_paths 2017-09-06 22:10:13 +02:00
Matthias Koefferlein febd20f606 Updated LEF/DEF testdata. 2017-09-05 21:58:11 +02:00
Matthias Koefferlein 0ecc8ee093 First version of DEF reader with GROUPS/REGIONS - needs feedback. 2017-09-04 23:05:46 +02:00
Matthias Koefferlein 56b9c73015 GDS2 reader/writer: paths can now use the Multi-XY extension. 2017-09-03 23:24:50 +02:00
Matthias Koefferlein 0f0be1b0bc Bugfix: unit test timer now works correctly. 2017-09-03 23:24:24 +02:00
Matthias Koefferlein 31084d83ce Bugfix for key bindings
Now, aliases are taken into account: when a path points
to the same function than another path, the key bindings
are synchronized.
2017-09-03 22:34:34 +02:00
Matthias Koefferlein dfbe0b3122 Enhanced crash handler on Linux
* Override Ruby's crash handler to stop blaming Ruby for
  KLayout segfaults ...
* Using addr2line on Linux to obtain DWARF debug info
  if available
* A more elaborate crash handler dialog
2017-09-03 19:26:52 +02:00
Matthias Koefferlein 80226e8c1c Provide proper input for linker for rba/pya unit tests. 2017-09-03 18:44:22 +02:00
Matthias Koefferlein 65ec67ca3c Test classes for GSI unit tests must not be exported. 2017-09-03 14:51:41 +02:00
Matthias Koefferlein 696e84b6f1 Fixed a dependency 2017-09-03 14:29:54 +02:00
Matthias Koefferlein 388da45703 Fixed gsi::ClassBase::has_class(name) 2017-09-03 12:45:34 +02:00
Matthias Koefferlein 6c26b2a251 Speeding up the startup initialization by using proper type maps for GSI. 2017-09-03 11:52:06 +02:00
Matthias Koefferlein 9d5f54d51a Fixed non-Ruby build where DRC is not available. 2017-09-03 11:51:39 +02:00
Matthias Koefferlein b9c302229f No DRC module when Ruby is not available. 2017-09-03 10:37:08 +02:00
Matthias Koefferlein 196d3a60e7 Fixed the build with less dependencies. 2017-09-03 10:29:14 +02: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 be6bf6a259 Display state navigation enhanced
* Some bug fixes (for example, drag moves were resolved
  into many tiny state changes)
* New buttons for navigation in toolbar (like web browser)
* Hierarchy level changes are included in navigation states
  too
2017-09-02 20:51:07 +02:00
Matthias Koefferlein b28317fb69 Some enhancements to layer and cell mapping
* Modification of the mapping is possible now
  (#map used to ignore mappings if there was one
  already)
* Added DropCell mapping (also for RBA)
* Added unit tests for cell mapping, layer mapping
  db::merge_layouts, db::copy_shapes and db::move_shapes
2017-08-30 01:11:38 +02:00
Matthias Koefferlein 3499c3856a Show more info in tab and window titles
* Indicates whether layout has been manipulated (leading [+])
* Indicates current cell
* Tooltip in tab shows file path
* Tab title switches to active cellview
2017-08-29 01:13:49 +02:00
Matthias Koefferlein 74ad89cf43 Two tiny fixes for Windows build. 2017-08-29 00:30:23 +02:00
Matthias Koefferlein e657453b1d Fixed JUnit XML message escaping, include drc module by forced linking. 2017-08-28 23:25:44 +02:00
Matthias Koefferlein 749382b1a4 Fixed the output of unit tests
* XML format wasn't correct because of trailing info output
* Error messages did not get printed
2017-08-28 22:22:01 +02:00
Matthias Koefferlein 23fdcec7c6 Don't install GSI test library. 2017-08-27 19:40:32 +02:00
Matthias Koefferlein 46a09aaf05 Fixed installation target for .exe's 2017-08-27 19:34:16 +02:00
Matthias Koefferlein 6120d20398 Even more dependencies :-( 2017-08-27 19:16:54 +02:00
Matthias Koefferlein 6f51d9dc74 More dependencies :-( 2017-08-27 18:32:53 +02:00
Matthias Koefferlein 6b08680ee7 Proper naming of DLL's. 2017-08-27 18:17:00 +02:00
Matthias Koefferlein 04f1a61bc5 Using qmake properly for the installation target. 2017-08-27 18:03:38 +02:00
Matthias Koefferlein 992307a915 More on build: proper library versioning, rc file used through RC_FILE, deployment on Linux. 2017-08-27 17:44:41 +02:00
Matthias Koefferlein bbac8fe19e Fixed build without python/ruby. 2017-08-27 15:22:13 +02:00
Matthias Koefferlein 082699bebb Another build dependency added. 2017-08-27 12:18:10 +02:00
Matthias Koefferlein e14234e082 More build dependency fixes. 2017-08-27 11:51:52 +02:00
Matthias Koefferlein 1ed0837f06 Fixed build dependencies for magic qmake 2017-08-27 11:42:14 +02:00
Matthias Koefferlein e3be3477c8 Enhanced build dependencies 2017-08-27 11:32:27 +02:00
Matthias Koefferlein d080b55c5b Bugfix: tiling processor's _rec method wasn't delivering virtual methods. 2017-08-27 10:41:32 +02:00
Matthias Koefferlein 362aa0ea23 Marked two more tests as long runners. 2017-08-27 10:41:07 +02:00
Matthias Koefferlein 56ca1899b5 Finished refactoring of unit tests. Now they are modularized. 2017-08-27 08:33:02 +02:00
Matthias Koefferlein 34089ca96b Turned laySnap unit tests into a pure test for laybasic. 2017-08-27 00:59:08 +02:00
Matthias Koefferlein c8f4272ebb Moved rba and pya unit tests to module. 2017-08-27 00:47:40 +02:00
Matthias Koefferlein 016bb865ee Fixed a few build issues. 2017-08-27 00:16:46 +02:00
Matthias Koefferlein 79811994f6 Refactoring: moved unit tests to libraries for some other libs 2017-08-26 23:43:40 +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 be1b007f2f DRC tests integrated now + refactoring
Refactoring:
* more consistent behavior of output redirection
* ut library was refactored and split into several
  .h/.cc
* concept of long runners introduced
* long runners can be skipped with "test_is_long_runner()"
* same for editable/non-editable mode tests
2017-08-23 23:19:36 +02:00
Matthias Koefferlein e5c6bd9e29 Added DRC unit tests. 2017-08-23 11:53:44 +02:00
Matthias Koefferlein a0d864f3b6 Fixed build. 2017-08-23 11:14:29 +02:00
Matthias Koefferlein c0afa4bf58 Refactoring of resources and modules. 2017-08-23 09:58:39 +02:00
Matthias Koefferlein cbc5697253 Refactored Macro and MacroCollection into lym library for better reuse. 2017-08-22 23:39:55 +02:00
Matthias Koefferlein 9633a1b9af Buddies: progress with -d >= 10 and XOR: enhanced report 2017-08-22 21:38:56 +02:00
Matthias Koefferlein f53a3be51a strmxor enhancements: summary, bug fixes. 2017-08-21 23:41:52 +02:00
Matthias Koefferlein 487545bbaa Avoid memory corruption
The tiling processor now holds it's receivers
in tl::shared_ptr. This prevents memory corruption and
allows managing receiver lifetime externally.
2017-08-21 23:40:18 +02:00
Matthias Koefferlein 5130950f14 Fixed .pro files for bd unit tests. 2017-08-21 23:39:38 +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 edae27b9aa Added missing dependency and compatibility with -pedantic 2017-08-21 01:01:47 +02:00
Matthias Koefferlein 97412b1adb Merge branch 'master' into buddies 2017-08-21 00:22:57 +02:00
Matthias Koefferlein 9585922659 Some enhancements in the command line parser
* Cancel exceptions are handled properly and -h does
  no longer produce an error
* Help text is more readable now
* Some typos fixed
2017-08-21 00:20:18 +02:00
Matthias Koefferlein f013f1541e For strmxor unit tests: gsi initialization fixed
Now the gsi::initialize_expressions includes gsi::initialize.
Both can be called multiple times (the second time they are
ignored).
2017-08-21 00:01:10 +02:00
Matthias Koefferlein 1baddd3632 strmxor: fixes and basic functionality tests. 2017-08-21 00:00:27 +02:00
Matthias Koefferlein 394947df72 Segfault fixed in RecursiveShapeIterator
The RSI does no longer segfault when the default one
gets reset.
2017-08-20 23:59:06 +02:00
Matthias Koefferlein 4d06a7617c Some ut enhancements
* CaptureChannel becomes a main feature and is easier to
  use now.
* EXPECT_EQ/NE no longer does a double evaluation of the
  arguments on fail (to print the result that wasn't
  matching)
2017-08-20 23:57:03 +02:00
Matthias Koefferlein a7e4c7aadc Added unit tests for expressions (required for strmxor) 2017-08-20 21:36:09 +02:00
Matthias Koefferlein 6e3bf68da9 Added more tests for strmcmp, first version of better strmxor 2017-08-20 01:14:49 +02:00
Matthias Koefferlein 2a6c2ee735 Tests and bug fixes for strmcmp and strmclip
* ut framework now has a text file compare
* Added tests for strm2txt, strmclip and strmcmp
* Fixed the output of the PrintingDiffReceiver in some cases
* Cell renaming does not give a difference in smart cell mapping mode
2017-08-19 23:28:03 +02:00
Matthias Koefferlein 5a846ae9c7 Basic tests for the converters 2017-08-19 20:27:12 +02:00
Matthias Koefferlein 44472f84b7 Basic tests for the converters 2017-08-19 19:57:47 +02:00
Matthias Koefferlein c7edc9e7a0 More basic bd tests (reader) and some bug fixes 2017-08-19 19:25:21 +02:00
Matthias Koefferlein a9b64d1e57 Refactoring and first bd tests
The goal of the refactoring is to support unit tests
for the db library.

For this, a distributed unit test concept has been
introduced (later to be extended to other libs).
Unit tests are shared objects called ".ut" and are
automatically loaded by the ut runner. The bd library
now has two folders - one for sources and one for the
unit tests. The sources are separated into lib and apps.

First unit tests for the writer options have been
provided.
2017-08-19 18:47:52 +02:00
Matthias Koefferlein b296cdd915 Heavy refactoring of buddy sources
* To reduce the redundancy
* To enable testing of the bd library including the apps

The apps are entirely configured through their names.
Their .pro files are identical and the app implementation
is inside the bd lib (partially generic too). Hence the
apps can be tested by bd library unit tests.
2017-08-19 10:23:19 +02:00
Matthias Koefferlein 681c255e50 Equipped strmclip with the new command line parser
Plus: added repeated arguments (in addition to the array
arguments that have been there before).
2017-08-19 00:36:45 +02:00
Matthias Koefferlein e54cadef99 Functionality if strmcmp is complete now 2017-08-18 22:54:23 +02:00
Matthias Koefferlein b4a1143588 Some refactoring of buddy bodies and first strmcmp implementation
* Missing: functionaliy for strmcmp
2017-08-18 09:46:28 +02:00
Matthias Koefferlein bd5c7decce Fixed a doc typo 2017-08-17 23:36:49 +02:00
Matthias Koefferlein c571ae732d Add converter tools have reader options now. 2017-08-17 23:35:05 +02:00
Matthias Koefferlein aa3caeca07 More options for buddies
* Generic writer options
* Generic reader options
* All converter tools are equipped with writer options
* strm2gds is equipped with reader options already
2017-08-17 23:31:05 +02:00
Matthias Koefferlein dede3afe1b Enhancements on command line parser
* Advanced options
* Groups
* strm2gds uses the new features already.
2017-08-17 09:26:15 +02:00
Matthias Koefferlein 09033d834e Refactoring and enhancements of the cmd system
* Includes version and license info now
* New "bd" library for common features of the
  buddies scripts.
2017-08-16 23:48:59 +02:00
Matthias Koefferlein 9f8144a254 Refined documentation of command line parser and buddies. 2017-08-15 00:13:57 +02:00
Matthias Koefferlein 639eef069c Introducing a tolerance to reduce the number of test fails 2017-08-14 23:28:02 +02:00
Matthias Koefferlein 492351519e Added more options for strm2cif and strm2gds. 2017-08-14 22:42:12 +02:00
Matthias Koefferlein 0accc84367 Bugfix: package installation wasn't working from scratch
* Create the "salt" package directory as well - not just the
  package folder
* Include the package folder in the error message
* A better indication of what to do in the Apply button message
2017-08-14 21:29:10 +02:00
Matthias Koefferlein 7280a56ee9 Added command line parser to tl. 2017-08-13 23:05:40 +02:00
Matthias Koefferlein bd05fae9aa Enhanced error handling for unit test runner. 2017-08-13 00:49:39 +02:00
Matthias Koefferlein 5cfdc2fa64 Formal command line parser for buddies, first step. 2017-08-12 23:08:18 +02:00
Matthias Koefferlein 16852a0ea0 And another round of windows build fix ... 2017-08-12 21:55:58 +02:00
Matthias Koefferlein d777508755 One more round of windows build fix ... 2017-08-12 21:36:59 +02:00
Matthias Koefferlein f43592916e Hopefully fixed the build script version for all platforms .. 2017-08-12 19:05:59 +02:00
Matthias Koefferlein ac2b10eca5 Avoid multi-config builds to simplify build scripts. 2017-08-12 18:48:06 +02:00
Matthias Koefferlein c479dfa7c6 Modified plugin targets for Windows compatibility. 2017-08-12 18:25:56 +02:00
Matthias Koefferlein 4e299d45f2 Provisions for self-contained plugin tests
Plugin tests are not placed into a "*.klp_ut" shared object
and are executed by the unit test runner.
2017-08-12 18:03:45 +02:00
Matthias Koefferlein 0e5a2afdf9 Added an icon 2017-08-12 15:40:52 +02:00
Matthias Koefferlein e9dd19ad0b Relaxed test conditions for cell hull generator test. 2017-08-12 10:11:28 +02:00
Matthias Koefferlein a6723a8155 Some test updates
* Generalized Polygon to edge interaction into db::Polygon tools
* Added tests for this
* Equipped region to edges interaction with this feature to
  reduce random test fails
* Multiple (reproducible) seeds for Region tests
* More tolerances for TilingProcessor tests
* ICplxTrans is_unity? implementation is using proper
  double tolerances now
* File watcher tests wait longer to allow for slow
  response on loaded Windows build server
2017-08-11 22:00:07 +02:00
Matthias Koefferlein 4ec8a838d5 Removed mode from test case name 2017-08-11 20:27:20 +02:00
Matthias Koefferlein 807b044731 Updated build scripts, fixed JUnit format emulation. 2017-08-10 23:31:32 +02:00
Matthias Koefferlein 7c59235889 Fixed a potential issue when using the db::Shape edge iterator on a non-existing hull in SimplePolygon. 2017-08-10 01:53:35 +02:00
Matthias Koefferlein 4dea5b40f2 Added buddies to build. 2017-08-09 22:37:58 +02:00
Matthias Koefferlein 5514aa8355 Aligned test suite XML output with JUnit format. 2017-08-08 23:35:40 +02:00
Matthias Koefferlein 36ccea8242 Fixed a doc typo. 2017-08-08 01:27:55 +02:00
klayoutmatthias 2e4ca67a39 Added application icon on Windows. 2017-08-08 01:20:58 +02:00
Matthias Koefferlein a2d690ba63 Generalized exe name in version string. 2017-08-06 23:12:01 +02:00
klayoutmatthias 592fe08921 Updated build script for enhanced deployment automation. 2017-08-06 22:56:38 +02:00
klayoutmatthias e6642f41f6 Updated deployment scripts for Windows. 2017-08-06 22:19:31 +02:00
Matthias Koefferlein 7ddc0d6b39 Added missing file 2017-08-06 18:32:04 +02:00
Matthias Koefferlein 8d6547291b Fixed Linux build. 2017-08-06 18:30:21 +02:00
klayoutmatthias ab98cd7678 Merge branch 'master' of https://github.com/klayoutmatthias/klayout 2017-08-06 18:22:13 +02:00
klayoutmatthias f8b3c92191 Windows and Ruby/Python for deploymenu
This commit deals with the deployment issue on Windows
where there is no global Ruby/Python installation and
the installer needs to package all required files.

The solution is to read the Ruby/Python path from a
file that is evaluated upon startup. The installer will
install these files together with the executable for
Windows. This feature is only enabled on Windows.

A specific issue occured: since the location of the
file needs to be determined, the path of the executable
needs to be known. The Ruby initialization requires the
path to be set very early, before QCoreApplication is
instantiated. But Qt complains in QCoreApplication::applicationDirPath
so that this approach cannot be used for this purpose.
2017-08-06 18:18:34 +02:00
Matthias Koefferlein f940c00a24 Updated documentation. 2017-08-06 16:45:52 +02:00
Matthias Koefferlein a8ac6aafe7 Updated doc and some images. 2017-08-06 00:38:45 +02:00
Matthias Koefferlein 287deaa574 Fixed some documentation typos. 2017-08-05 22:20:25 +02:00
Matthias Koefferlein 5b6b800e9d Updated documentation. 2017-08-05 22:13:00 +02:00
Matthias Koefferlein d6ca13f220 Updated documentation 2017-08-04 23:13:07 +02:00
Matthias Koefferlein cf48b39b89 Updated documentation 2017-08-03 21:57:48 +02:00
Matthias Koefferlein 6660c3f7d0 Updated documentation. 2017-08-03 21:43:53 +02:00
Matthias Koefferlein 4f48cd5dab Updated documentation 2017-08-03 21:21:59 +02:00
Matthias Koefferlein 9539de9fec Updated documentation 2017-08-02 23:11:13 +02:00
Matthias Koefferlein 824a7f9eb5 Bugfix: multiple message boxes on file change
The effect was: while a message box was open
to indicate a change of a file, new file changes
accumulated new message boxes. Now, the message
boxes won't accumulate and new file changes
are recognized after the message box is closed
and files were reloaded. Changes not acknowledged
by reloaded are presented again if changes were
seen while the message box was open.
2017-07-31 23:43:10 +02:00
Matthias Koefferlein ffeacd4630 Small bugfix: save options on tech setup page
The effect was: when not having save options in the technology
setup (for example, when migrating from 0.24 to 0.25), it was
not possible to edit the save options page in the technology
manager because the data slot of the save options wasn't
initialized.
2017-07-31 23:13:36 +02:00
Matthias Koefferlein 919d2d56fa Ported oasis-fix to GDS2 reader too (reduction of zero-distance axes in AREF's) 2017-07-29 19:05:52 +02:00
Matthias Koefferlein 1b6c25513a Merge branch 'oasis-fix' 2017-07-29 18:39:41 +02:00
Matthias Koefferlein 808df3e90f More verbose error messages for expression methods. 2017-07-29 11:40:11 +02:00
Matthias Koefferlein 4a43bc23e5 Bugfix: breakpoints were not effective sometimes
Reason: when a page was opened in the macro IDE,
the file to ID cache inside the Ruby interpreter
did not get updated. Hence there was no link
between breakpoint and page and the breakpoint
was ignored.
2017-07-29 11:38:46 +02:00
Matthias Koefferlein a76fccf57b Updated some documentation. 2017-07-29 11:37:58 +02:00
Matthias Koefferlein 32ba5ee635 Some fixes for OASIS reader
- Allow full 32bit for box width and height
  and some other properties (for border case
  testing - not recommended)
- Reduce arrays with step distance 0 to
  dimension 1 - avoids overlapping instances
  or shapes.
2017-07-28 00:19:39 +02:00
Matthias Koefferlein 6870de884d Small fix for test suite output. 2017-07-27 00:04:51 +02:00
klayoutmatthias b7698b6c39 Windows build issue fixed: linking problems. 2017-07-27 00:02:47 +02:00
Matthias Koefferlein b13c2e69c3 Fixed a potential infinite recursion for Qt bindings
The problem is caused by an implementation detail:
To monitor the lifetime of Qt objects, a monitoring
object is attached to them. This used to happen through
child objects but attaching such issues QChildEvents
which - if routed over script objects - will itself
required objects to be attached a monitoring object.

The solution is to attach monitoring objects through
QObject dynamic properties.
2017-07-26 23:27:24 +02:00
klayoutmatthias c442202ca4 Enabled Windows build on Qt5. 2017-07-23 23:36:29 +02:00
Matthias Koefferlein 1b1ed7b291 Fixed a performance issue with many markers. 2017-07-19 21:47:45 +02:00
Matthias Koefferlein eb9363eca1 Bugfixes for XOR tool
1.) Wrong scaling of output when using output to layout A or B and
    different DBU's were present
2.) A threading issue when delivering outputs to layout A or B resulting
    in random crashes and weired behavior. This happened when threading
    was enabled.
2017-07-18 23:31:09 +02:00
Matthias Koefferlein 45b774a3af Fixed a XOR issue
Bug: sometimes, if the files had different database units, the XOR
tool was showing differences while there are none.

This was due to a sloppy computation of the tile boxes. The solution
is to properly round the tile size to a common database unit and
to use a common effective size for both inputs.
2017-07-18 22:33:54 +02:00
Matthias Koefferlein 7d31825b11 DRC: added collect*, select and each methods. 2017-07-17 21:36:29 +02:00
Matthias Koefferlein 703a0ee85d Added "transformed" method to several shape primitives
The new version will transform double-coordinate types to
integer-coordinate types through a "VCplxTrans".
2017-07-17 21:05:38 +02:00
Matthias Koefferlein db5ac31ada New import methods for Region, EdgePairs and Edges
Region: insert of other regions, shape collections (with transformation)
Edges: insert of other edge collections, regions, shape collections (with transformation)
EdgePairs: insert of other edge pair collections
2017-07-16 22:25:08 +02:00
Matthias Koefferlein 43359195ea DRC: corners function
Plus: a new RBA binding for decompose_convex/trapezoids that delivers a region.
2017-07-16 00:03:45 +02:00
Matthias Koefferlein cf6aef46e5 Some enhancements for DRC
- modified definition of texts with the ability to produce
  point-like edge objects
- middle and extent_refs methods for center point and other
  references.
2017-07-13 23:38:36 +02:00
Matthias Koefferlein 4ad20fa4ce Region to edge interactions
With this fix, regions can be interaction-tested with edge collections.
Only "normal" interaction is available - select_overlapping is not. This
is still confined to region to region interactions.
2017-07-12 22:41:11 +02:00
Matthias Koefferlein df46aabb2e Added an optional cellname parameter for the 'report' function in DRC. 2017-07-12 21:11:45 +02:00
Matthias Koefferlein ca71384a9a Fixed the images of the DRC doc. 2017-07-11 00:48:54 +02:00
Matthias Koefferlein e2bcac657a Implemented LayerInfo for DRC input/output
- Added a "layers" function too
- Updated tests
- Updated documentation
2017-07-11 00:36:51 +02:00
Matthias Koefferlein be20bdd9cc Bugfix: could drag and drop a cell in viewer mode. 2017-07-10 22:19:16 +02:00
Matthias Koefferlein 986cb7f0c2 Fixed an uninitialized memory issue (thanks, Stefan!) 2017-07-10 20:49:52 +02:00
Matthias Koefferlein 02819c5f1e Hash functions and fuzzy compare for RBA
RBA now provides a hash method for Box, Edge, EdgePair, Trans,
Polygon, SimplePolygon, CellInstArray, LayerInfo, Path, Text,
Point and Vector.

eql? is mapped to ==.

==, != and < act "fuzzy" for the double-typed variants.

Hence, these objects can be used as hash keys now.
2017-07-09 22:40:56 +02:00
Matthias Koefferlein 8396463daf Added text support in DRC
- A new constructor for RBA::Region has been provided to
  create text markers from a shape iterator
- The DRC framework has been enhanced with a "text" function
2017-07-07 00:02:52 +02:00
Matthias Koefferlein 801f83f09c Added DRC test suite and "smoothed" function for DRC 2017-07-06 23:02:11 +02:00
Matthias Koefferlein 14e1c0d5bd Reverted snap implementation to use micrometer unit objects. 2017-07-05 00:18:50 +02:00
Matthias Koefferlein 8910828726 More consistent definition of precision for double types
The double types (DCoord, DPoint, DVector ...) support a
more consistent equivalence criterion now. This supports
micron-unit objects without loss of precision.

Before this fix, the precision used for 0.01 which was
basically implying a resolution of 10nm for micrometer-unit
double objects.
2017-07-04 23:50:30 +02:00
Matthias Koefferlein 18f79dde67 First fix - adjusted accuracy for micron units
But: floating points coordinates are used internally for
size - hence dbPolygon:20 test is failing.
2017-07-02 23:33:23 +02:00
Matthias Koefferlein 24b213df40 Fixed a potential segfault because of static initialization order. 2017-07-02 22:42:53 +02:00
Matthias Koefferlein 798425c564 OASIS reader bugfix (PROPVALUE forward refs in lists) 2017-07-02 19:45:02 +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 b6b604ff93 'goto position' now shows a single-cross ruler on the target place. 2017-07-02 19:21:04 +02:00
Matthias Koefferlein d83c420c0a Better support for delete-while-iterate on stable vectors 2017-07-02 19:19:55 +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 61ef30f9ad Enhanced layout statistics form
The form offers a detailed shape statistics page.
2017-06-25 22:10:12 +02:00
Matthias Koefferlein da07e51257 Bugfix: macro editor bracket detection failed
On Ruby, a syntax highlighter element could contain
duplicate brackets, so that such an expression

  ((a+1)+1)

was not handled correctly. The solution is to treat
each individual character inside the elements but
skip comment and string elements.
2017-06-25 11:30:24 +02:00
Matthias Koefferlein 93713d19e1 Ruby integration and debugger enhancements
- Massive performance improvement with debugger - trace was
  eventually clearing the file to id map.
- UI updates on debugger did not happen because delayed
  execution of functions got disabled.
2017-06-21 01:37:07 +02:00
Matthias Koefferlein 96c150a4ee Fixed #13 (OASIS reader performance on forward-ref PROPSTRING) 2017-06-20 22:05:22 +02:00
Matthias Koefferlein 88a3068a0b More abilities for native plugins
This commit is a preparation for native plugins. It adds
the ability to register for autorun and autorun-early
for native, binary extensions.

Plus, the search path for binary extensions was modified
so it does not need to be ABI specific (i.e. without -gcc).
This prepares for a plugin scheme which uses a C-only API
and does not impose ABI compatibility requirements.
2017-06-19 22:33:37 +02:00
Matthias Koefferlein 19777e5629 Provide a more elaborate interface for native plugins
With this interface, plugins will be able to specify
their version, register autorun functions and more.
2017-06-19 01:02:49 +02:00
Matthias Koefferlein 5ee781a93f Reactivated some from_xy methods for backward compatibility 2017-06-17 16:53:01 +02:00
Matthias Koefferlein 9ff1a76f94 Added some convenience methods for transformations
* Reactivated (deprecated) from_xtrans methods for backward
  compatibility
* Added more flavours of "trans" and "*" (like transformation of
  boxes)
2017-06-17 16:45:01 +02:00
Matthias Koefferlein 7e6dfdf5b4 Another tiny performance enhancement. 2017-06-17 16:01:09 +02:00
Matthias Koefferlein b0fbbadd83 A small performance improvement (by avoiding intermediate objects) 2017-06-17 00:32:00 +02:00
Matthias Koefferlein 07b973a312 RBA performance
Some small performance improvement by avoiding calls to "initialize"
where not required.
2017-06-16 22:28:36 +02:00
Matthias Koefferlein afcacf5b1f WIP: brought down the time for call variant determination by caching. 2017-06-12 23:23:13 +02:00
Matthias Koefferlein c891d06ac3 Some performance enhancement (~30%) of RBA/PYA
This was achieved by separating the methods into
constructors and callbacks, hence there are less iterations
required when lookup up the latter.
2017-06-12 00:31:00 +02:00
Matthias Koefferlein a5d9bbb3d1 WIP: fast replacement for rb_gc_register_address/rb_gc_unregister_address. 2017-06-05 23:26:10 +02:00
Matthias Koefferlein 1bc0243c0a Unit tests fixed
The "active_cellview_changed" event was issued multiple times.
This fix avoids this redundancy.
2017-06-05 22:27:49 +02:00
Matthias Koefferlein dbdb46c5cb A small optimization for instance marker drawing. 2017-06-05 19:07:18 +02:00
Matthias Koefferlein cb296a802e Bugfix: instance selection cycling wasn't working
When instanced overlay, it wasn't possible to select
the "other" instances. This is fixed. (reference: Trac 1015).

In addition:
- The instance selection now shows the label
- Bugfix: the transient selection now really is disabled
  (it was popping up once after selection happened)
- RBA::Marker#line_style has been added
2017-06-05 18:58:24 +02:00
Matthias Koefferlein 1b0dcb5bf9 Better installation feedback for package manager
Now the confirmation dialog stays open and will show a log with the
installation progress and results.

The "marked" icon has been changed to look a bit less painted.
2017-06-05 12:54:09 +02:00
Matthias Koefferlein 46fccb99bc WIP on Salt package manager
- made WebDAV implementation compatible with Git's SVN API
- bugfix: parallel requests were not supported on tl::HttpStream
2017-06-05 03:16:29 +02:00
Matthias Koefferlein 2f82a8d853 Bugfix: new package is selected after it is created 2017-06-04 00:24:55 +02:00
Matthias Koefferlein edf7caa2fb Enhanced Salt package capabilities
* Salt packages can host native Ruby and Python
  libraries now. The "ruby_lib" and "python_lib"
  templates provide such native libraries.
  This way we can basically wrap every native
  extension in such a package.
* Ability to supply binary plugins through
  Salt packages as well.
2017-05-27 22:32:55 +02:00
Matthias Koefferlein f41e849e2f A little refactoring and polishing of the Salt Manager dialog. 2017-05-26 23:47:36 +02:00
Matthias Koefferlein e08e3459af Set the default salt mine URL to the final one
+ fixed a WIN32 build error.
2017-05-17 22:22:27 +02:00
Matthias Koefferlein 60cfbd9c6f Merge branch 'salt' 2017-05-07 23:55:22 +02:00
Matthias Koefferlein 9b42049abe clang compatibility
Fixed some compile issues with clang and
some warnings.
2017-05-07 23:52:20 +02:00
Matthias Koefferlein 88e753e86f Fixed some typos and bugs in the Salt templates 2017-04-29 01:59:19 +02:00
Matthias Koefferlein eca08cbd99 Added many Salt templates. 2017-04-29 01:40:32 +02:00
Matthias Koefferlein f79b14d0e4 Salt: added font, macro and mymacro templates.
Fixed two small bugs in the properties dialog (accept
wasn't possible if the doc link could not be read)
and remove_from_collection (infinite loop).
2017-04-26 23:19:36 +02:00
Matthias Koefferlein b3e823ca28 Fixed the timers for measuring read sorting times (out of band fix) 2017-04-25 23:41:36 +02:00
Matthias Koefferlein 1091ea6d5b Technology specific libraries
Libraries now carry a technology association and
only libraries associated with the current technology
can be selected.

To enforce proper update, cancel() will be used upon
change of technology. This avoids side effects when
changing the technology without notifying the library
selection widgets.

The MainWindow::cancel method has been generalized to
cover the functionality of cm_cancel without the
exception handling.
2017-04-23 19:30:55 +02:00
Matthias Koefferlein 01e5c607fc WIP: sort packages by their dependencies
This fix ensures that packages satisfying dependencies
for other packages come before these in the flat package order.
This is in particular important for macro packages where those
supplying libraries need to be executed before the ones
that use these.
2017-04-23 18:22:06 +02:00
Matthias Koefferlein 1a9b5ead09 WIP: documentation URL's of packages can be relative
If the documentation URL is relative it's either
taken relative to the package installation path or
to the download URL. This means that documentation
can be inside the package now.
2017-04-22 23:32:59 +02:00
Matthias Koefferlein 0b7beee12d WIP: indicating of packages in tech and macros
Technologies and macros that come from packages
are indicated as such in their description texts
in the tech and macro editor.

Technologies and macros that come from packages
which are downloaded are readonly now. This will
prevent editing of downloaded packages.
2017-04-22 22:47:08 +02:00
Matthias Koefferlein 561ce8797e WIP: some restyling of the salt manager dialog. 2017-04-22 22:03:40 +02:00
Matthias Koefferlein 1f92b89e16 WIP: Don't allow to edit downloaded packages. 2017-04-22 21:56:37 +02:00
Matthias Koefferlein 42756a76f6 WIP: API version of packages is checked now. 2017-04-22 21:45:49 +02:00
Matthias Koefferlein 38f60ad3fd WIP: package manager lists file details now, API version added 2017-04-22 21:30:39 +02:00
Matthias Koefferlein 7e1e75ebf0 Salt manager dialog: UI enhancements
* refresh function for salt mine
* Split "new" tab into "updates" and "new installations"
* A warning icon in the tab when updates are available
2017-04-22 18:09:12 +02:00
Matthias Koefferlein 6ba251cf2a WIP: Added font controller
This enables font packages: packages can now provide fonts by
featuring a "fonts" directory with the font layouts.

This commit also adds the capability to dynamically add fonts.
The Glyphs system is decoupled from the application's system
path and the BASIC.TEXT PCell parameters are non-cached to
enable dynamic updates.
2017-04-22 00:03:58 +02:00
Matthias Koefferlein 0078ee5334 Fixed a build issue on gcc 4.4.7 (improper use of typename) 2017-04-20 21:30:50 +02:00
Matthias Koefferlein a7038282ce WIP: Library controller plus a bugfix
The bug was that a crash happened when a package was deleted.

Essentially that was an effect of too many message boxes asking
to run autorun macros (also a bug - solved by deferred execution
of the macro update). This is solved by putting the salt model
into a "under construction" state while the model is not updated
yet.
2017-04-20 00:09:53 +02:00
Matthias Koefferlein 9c2c3301cf File watcher: ignore missing files/folders to prevent 'deleted' events later. 2017-04-20 00:09:03 +02:00
Matthias Koefferlein 2dd03c0e37 Removed some artifical styling. 2017-04-20 00:08:31 +02:00
Matthias Koefferlein d5bf24666f WIP: technologies now are synced with salt
- The technology list now is synched with the salt package
  manager so it's basically possible to include technologies
  into packages.

This checkin also contains:

- A "NoDeferredMethods" class that blocks execution of deferred
  methods in a region of code (preferably around message boxes).
  This prevents side effects when message boxes are shown and
  deferred methods are processed because of this.
  That prevention method is used in the macro controller when
  asking whether to execute autorun macros (that happens in
  slots and must not interfere with deferred methods).
  It's also used to protect the exception handlers.

- The tech manager dialog's refresh function used to crash
  because of an invalid tech pointer.
2017-04-18 23:58:24 +02:00
Matthias Koefferlein 4460819a6c Macro editor now acts on more file changes
- Adding/removing folders to packages now will
  make them appear/disappear automatically in the macro
  editor.
- Adding and removing files from folders will make
  them appear/disappear in the macro tree.
2017-04-18 01:07:10 +02:00
Matthias Koefferlein b3abb276a4 WIP: integration of salt controller for macros
This enables defintion of macros within salt packages
(this is probably the most important application).
2017-04-17 18:24:59 +02:00
Matthias Koefferlein 59dadcdd38 WIP: small bug fixes
- LayoutView should accept technology names that are valid only
- CellView now also sends an "active cellview changed" event when
  loading a layout in "replace layout" mode.
2017-04-17 18:22:36 +02:00
Matthias Koefferlein 88487a001f Integration of Salt with another controller 2017-04-16 23:03:33 +02:00
Matthias Koefferlein 209b16f3ea Merge branch 'salt' into controllers 2017-04-16 21:05:06 +02:00
Matthias Koefferlein 516c3ff925 WIP: tech controller and tech setup dialog
Some bug fixes (description was not updated in tree,
base path of new tech was not set, dirs were not reused
for new tech).

Some enhancements (tech setup dialog's window state
is persisted etc.)
2017-04-16 00:27:28 +02:00
Matthias Koefferlein 6b6b45714f WIP: controllers (tech + macro)
The tech controller now is indenpendent from the
macro controller. The macro controller is responsible for
pulling it's data from the tech controller. It's initialized
after the tech controller so it can do so.

The macro controller is also responsible to building the
menus.

The tech controller issues events that the macro controller
can listen to.
2017-04-15 23:07:40 +02:00
Matthias Koefferlein 430d140016 WIP: some bug fixes. 2017-04-15 18:50:51 +02:00
Matthias Koefferlein e6f696b8dc WIP: bugfixed tech controller, more refactoring
Resolved the dependencies between MainWindow, TechController
and MacroController somewhat more.

* The macro controller now listens to the tech controller
  for the active technology
* The tech controller has more responsibility now
* Some functionality has been taken out of the MainWindow
  and put into the controller's implementation
2017-04-15 17:51:04 +02:00
Matthias Koefferlein 5b422440a1 WIP: technologies are file based by default now
* Introduced "refresh" method of tech setup dialog
* Some refactoring -> tech management is part of
  tech controller
* Macro category management moved to macro controller
2017-04-15 01:03:24 +02:00
Matthias Koefferlein 83b2c150d9 Fixed a segfault in batch mode. 2017-04-11 23:34:55 +02:00
Matthias Koefferlein 018516b0de Fixed #11 (Ruby 2.0.0 compatibility) 2017-04-10 19:27:29 +02:00
Matthias Koefferlein 7a5e7e8187 Fixed #10. 2017-04-09 23:08:26 +02:00
Matthias Koefferlein 9563d13bf3 WIP: introduced technology controller
The technology controller is a further abstraction and
is derived from the TechnologySelector. It will act
together with the MacroController and supply technology
specific information. Macros are part of that.
2017-04-08 22:32:08 +02:00
Matthias Koefferlein 683be55104 Fixed build without Ruby/Python 2017-04-07 22:18:47 +02:00
Matthias Koefferlein abb5424ece WIP: introducing MacroController
The MacroController is the central facility for managing
macros and their views. The plugin framework has been
extended to support such a design.

In addition, some small bugs have been fixed related to
macro interpreters (specifically the DRC).
2017-04-05 00:20:32 +02:00
Matthias Koefferlein 90693f9f67 Some enhancements on cell and layer search
- Shortcuts are honored and have priority over
  search initiation. This is in particular important
  for "*".
- "/" initiates search without yielding a "/" in the
  text edit box.
2017-04-03 00:01:32 +02:00
Matthias Koefferlein b3b0ce066e Fixed some issues around the help index
- Now the help index can be installed with the app
  Fallback is auto-generated index in app folder.
- The index can be generated by script with
  RBA::HelpSource#create_index_file
- The index is read only when the help dialog
  is opened (reduces start time)
2017-04-02 23:30:11 +02:00
Matthias Koefferlein dd4b873d64 Fixed some compiler warnings and some small refactoring 2017-04-01 23:18:04 +02:00
Matthias Koefferlein 50df9e5b21 Provide Ruby/Python binding for technology definitions
The respective new classes are RBA::Technology and
RBA::TechnologyComponent. This interface will replace
the current way of doing tech management from scripts
by using the "technology-data" configuration parameter.
2017-04-01 00:45:55 +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 e35e9fe8f7 Tech data accessible as "technology-data" config value
Previously, the "technology-data" complex configuration
value was stored in the configuration file, but not
accessible from scripts through Application#set_config
and Applicatiob#get_config. It was as pseudo parameter
that wasn't dynamically connected to the application
state.

Now it's handled separately as if it was a normal
parameter. This is just an intermediate solution
required because this interface is the only one
through which tech data is accessible from scripts.
2017-03-30 00:11:09 +02:00
Matthias Koefferlein a24e6d94a9 Fixed #9 (DEF reader issue: "Invalid orientation specification") 2017-03-29 23:37:06 +02:00
Matthias Koefferlein 3598898997 Fixed #7 (Support "is_dirty?" predicate for RBA::CellView) 2017-03-29 22:13:09 +02:00
Matthias Koefferlein 7228efc7bd WIP: various enhancements for salt manager
* double-click
* salt mine context menu
* bug fixes
* etc.
2017-03-27 23:55:26 +02:00
Matthias Koefferlein cb589dc2d3 WIP: downloading of packages
- Support for WebDAV
- Download manager implemented
- Apply button functionality implemented

(needs testing)
2017-03-27 15:46:01 +02:00
Matthias Koefferlein d98495c18a WIP: new features for HTTP streams. 2017-03-26 23:27:51 +02:00
Matthias Koefferlein a5d0461284 WIP: removed obsolete method. 2017-03-26 23:26:45 +02:00
Matthias Koefferlein 9e2c4cb927 WIP: marked mode, update required message 2017-03-26 01:02:40 +01:00
Matthias Koefferlein b72655c94b WIP: preview download and search feature in package manager 2017-03-25 23:33:07 +01:00
Matthias Koefferlein fee806704d WIP: combined installation and browser dialog 2017-03-25 10:15:24 +01:00
Matthias Koefferlein d160a5c27c WIP: delete function, installation dialog (first steps) 2017-03-25 00:08:17 +01:00
Matthias Koefferlein 10b09c3575 WIP: create packages from templates
Now, packages are actually created.
2017-03-23 23:46:25 +01:00
Matthias Koefferlein 4a90479187 WIP: package template selection dialog
Plus some initial package templates (without files).
2017-03-23 22:19:13 +01:00
Matthias Koefferlein 1353c9dfb0 WIP: download capabilities for salt grains. 2017-03-21 22:53:04 +01:00
Matthias Koefferlein 820c291623 WIP: salt package manager: features for installer
First steps towards installer support. Specifically:
- basic installation methods, basic framework
- file utilities for directory copy

Side effect: temp directories of unit tests are
now cleared prior to test run.
2017-03-21 22:20:24 +01:00
Matthias Koefferlein 10345eea73 Restyling of log viewer
Now the entries have icons telling the type of message.
This is more convenient when multi-line messages are
encountered.
2017-03-21 12:18:09 +01:00
Matthias Koefferlein 334fca3f76 WIP: checking of grain properties. 2017-03-21 11:24:45 +01:00
Matthias Koefferlein ec415d9251 WIP: functionality of package properties editor
Side effect: the log dialog now has an icon
indicating whether there are errors or warnings.

A new utility widget has been introduced to
attach log messages (warnings/errors) to
dialogs. This widget is a QToolButton that
is invisible initially. It provides warning
and errors channels and can be fed messages.
If errors or warnings are fed, the tool button
becomes visible. If (directly) embedded inside
a QFrame, the frame's background will turn
red to indicate the region of interest.

The button can be pushed to read the log.

The button is called lay::AlertLogButton
and is found in layLogViewerDialog.h.

TODO: move to layBasic.
2017-03-20 22:29:22 +01:00
Matthias Koefferlein faf8acb3d1 WIP: completer for name of dependency package 2017-03-20 17:53:47 +01:00
Matthias Koefferlein 5dab4b19ec WIP: some styling topics. 2017-03-20 10:07:39 +01:00
Matthias Koefferlein b34750f8cd WIP: salt package manager
New features like properties editor, proper
icon sizing, some styling etc.
2017-03-19 22:44:46 +01:00
Matthias Koefferlein 3f9f06a9b9 WIP: more information on packages 2017-03-19 00:42:09 +01:00
Matthias Koefferlein 3a6e4982c8 WIP: more functionality for Salt Package Manager 2017-03-18 22:36:33 +01:00
Matthias Koefferlein b8238a85f9 WIP: first steps towards package browser 2017-03-18 00:22:45 +01:00
Matthias Koefferlein 695a5d3169 WIP: Salt class and unit tests 2017-03-15 22:56:47 +01:00
Matthias Koefferlein c6833b2b67 Fixed a doc typo.
See https://www.klayout.de/forum/comments.php?DiscussionID=935&page=1#Comment_4292
2017-03-14 23:37:39 +01:00
Matthias Koefferlein 134534adca WIP: removal of grains/collections (needs unit tests). 2017-03-14 23:32:16 +01:00
Matthias Koefferlein 59dd36f692 WIP: grains collections for salt package manager. 2017-03-14 22:59:24 +01:00
Matthias Koefferlein 2953184b15 Fixed #6 (RVE DB reader and edges)
This solution will not only fix this issue but also turn
pairs of edges into "edge pair" objects. These objects
provide a somewhat better visualization for DRC violations
by connecting the edges with a filled region.

Single edges and clusters of more than two edges are
represented as individual edges.
2017-03-14 00:09:51 +01:00
Matthias Koefferlein b98afd5a8d WIP: next steps on package manager. 2017-03-13 23:55:57 +01:00
Matthias Koefferlein b16d8b9419 Completed unit tests for laySaltGrain.cc 2017-03-12 23:36:51 +01:00
Matthias Koefferlein e421026366 Started package manager development ('salt') 2017-03-12 23:26:04 +01:00
klayoutmatthias fea965a321 Enhanced styling of expander icon in tree view
Now it's compatible with the different selection styles
(some include the decoration, some don't)
2017-03-07 21:41:47 +01:00
klayoutmatthias e06224e00d Build fixed - one deleted header was still included. 2017-03-05 23:17:56 +01:00
Matthias Koefferlein 93024b4611 Qt binding build issues fixed
Split Qt namespace to enable build on WIN32
(no /bigobj on MinGW). Removed pseudo-constructors
with Qt::Initialization parameter.
2017-03-05 21:01:35 +01:00
Matthias Koefferlein 5f6c6a3264 Advanced search features for the cell selection form too
* Case sensitive/insensitive (persistent)
* Expressions yes/no (persistent)
* Clear button
* Tab keys to navigate between found cells
2017-03-05 00:57:51 +01:00
Matthias Koefferlein 7ddc6bf9df Bugfix: crash on exit
This crash started to happen with the bugfix
for the black-on-black tree expander icon.
It was caused by the styling that was attached
to the widgets in order to fix this. Apparently
Qt does not like to attach proxy styles dyna-
mically.

Now, the styling is applied globally and this
issue is fixed.
2017-03-05 00:56:45 +01:00
klayoutmatthias af640086e6 Small fixes
- Qt5 binding was not properly including bindings for special types
- Macro editor: forward button wasn't autoRaise like the others
- DRC engine: gave deprecation warnings for Ruby 2.4 because Fixnum
  became deprecated. Now the implementation is more generic.
- Fixed some #includes for Qt5
2017-03-03 22:56:18 +01:00
Matthias Koefferlein 5c414ef0be Search feature for layer list
To enable the search feature just type into the layer list.

This change set also contains some more fixes:
 * Tab/Backtab now is functional also before the
   Display menu has been used the first time
 * Arrow keys work from the cell list again
2017-03-02 23:45:37 +01:00
Matthias Koefferlein 08076de815 Merge branch 'master' of https://github.com/klayoutmatthias/klayout 2017-03-02 00:28:27 +01:00
Matthias Koefferlein 29727f597d Fixed the issue of dark tree expansion icons
Prior to this bug fix, the expansion icons were
not visible with a dark background on some platforms
(i.e. Gtk style, native Windows style).
2017-03-02 00:26:16 +01:00
klayoutmatthias 194a4cc4af Fixed #5 2017-02-28 23:26:47 +01:00
Matthias Koefferlein bf15e46c10 "Find cell" feature: just type into the cell list
This feature includes:
 * Enhancements to tl::GlobPattern
   (exact mode, case insensitive)
   TODO: UTF8 support
 * Enhancements to DecoratedLineEdit
   (ESC key handling, Tab key handling)
2017-02-28 22:24:14 +01:00
Matthias Koefferlein 8e22d7bba8 Bugfix: stop in debugger left it in unusable state
This happened if the script was stopped in the debugger.
Afterwards breakpoints were ignored.
2017-02-26 23:23:20 +01:00
Matthias Koefferlein f18ca83575 WIP: fixed a typo. 2017-02-25 01:47:45 +01:00
Matthias Koefferlein ae986d3234 Implemented #2 ([Simple]Polygon#extract_rad feature for Ruby/Python) 2017-02-25 01:35:14 +01:00
Matthias Koefferlein 85f048dd6d Bugfix: "save as" indicated "file was updated"
After "save as", the file was considered outdated
and KLayout offered to reload it. Now, KLayout is
silent.
2017-02-25 00:08:37 +01:00
Matthias Koefferlein 1f60e7729e Qt signals can be bound to functions with less args in Python
With this change it is possible to bind signals to functions
accepting less arguments. For example:

    def triggered():
      ...

    b = pya.QPushButton()
    b.clicked(triggered)
    b.emit_clicked(True)

wasn't working before since triggered() gets one parameter
(checked) and the call fails. Now, additional parameters are
ignored.
2017-02-24 23:48:47 +01:00
Matthias Koefferlein ede58ae728 Added a convenience method to RBA::Layout for creating a temp layer 2017-02-24 22:43:31 +01:00
Matthias Koefferlein 49be72e1a2 Fixed #3 (crash when dragging PCell dummy) 2017-02-23 23:59:16 +01:00
Matthias Koefferlein 55bac69a4a Drawing optimization: only redraw changed layers
The effect was: when drawing a shape on a single layer, all
layers have been redrawn. This was changed such that only
the affected layer is actually redrawn.
2017-02-23 23:33:07 +01:00
Matthias Koefferlein 83f12382e8 Refactoring: there is one Qt binding lib. 2017-02-23 01:19:02 +01:00
Matthias Koefferlein d66291af5b Fixed new implementation of Qt bindings for Qt5 2017-02-22 22:34:26 +01:00
Matthias Koefferlein 15babda953 Provide a proper solution for the bridge object
The bridge object (between QObject and gsi::ObjectBase)
needs to have Q_OBJECT. Otherwise findChild<T> won't
work for it.
2017-02-22 00:17:16 +01:00
Matthias Koefferlein 92fd33744d WIP: first solution for lost references issue
* The solution consists of attaching a bridge object
  to QObjects. If the host object is destroyed, the
  bridge object will notify the script client
* The bridge object attachment is optimized so it
  only happens if required (but still too often ...)
* The child object of QChildEvent gets a special
  handling since this object is almost dead in case
  of remove. This special handling consists of
  a special, stripped class which is used to
  only represent QObject in that particular case.
2017-02-21 23:47:48 +01:00
Matthias Koefferlein eea5da4ba6 Attempt to fix "GSI does not monitor lifetime of Qt objects" 2017-02-20 22:21:29 +01:00
Matthias Koefferlein bdcd76e9b5 Fixed #1 (https not supported) 2017-02-17 22:36:18 +01:00
Matthias Koefferlein 20f77d19d5 Enabled build on Ruby 2.2. 2017-02-17 22:32:43 +01:00
Matthias Koefferlein 8edaf8a62b Added more unit tests for recursive shape iter with complex regions. 2017-02-15 21:23:32 +01:00
Matthias Koefferlein 8c4013c500 Added some more unit tests. 2017-02-15 01:15:47 +01:00
Matthias Koefferlein 320e96f6da WIP complex regions for RecursiveShapeIterator
* Refactoring: no more "box+exclude" regions - they
  can be emulated using a NOT with the same result
* "confinement" of regions inside recursive shape
  iterators
* setters and getters for complex regions in GSI,
  confinement
* more unit tests, some bug fixes
2017-02-15 00:53:39 +01:00
Matthias Koefferlein fb6cf92b15 WIP on complex regions for RecursiveShapeIterator
- Added some tests
- Performance improvements for insert of
  regions into shapes
- Added LayoutLocker for that purpose
  (locks a layout against updates temporarily)
- Improved implementation on RecursiveShapeIterator
  with complex regions: will now check if a shape
  is really inside the region.
2017-02-14 00:13:57 +01:00
Matthias Koefferlein 282c6f70e2 Unit tests are passing again (no new tests yet). 2017-02-13 00:41:37 +01:00
Matthias Koefferlein 16b5e2f99c Added GSI support for complex search regions 2017-02-13 00:13:43 +01:00
Matthias Koefferlein f71fe1ff05 Initial implementation of complex regions for RecursiveShapeIterator. 2017-02-13 00:01:21 +01:00
Matthias Koefferlein 08676f0a01 Add private plugin data to .gitignore. 2017-02-12 16:54:05 +01:00
Matthias Koefferlein 6b9a41b269 Fixed XML output of test suite. 2017-02-12 16:42:15 +01:00
Matthias Koefferlein a1e8aaf6b8 Updated copyright note to 2017. 2017-02-12 15:28:14 +01:00
Matthias Koefferlein d38b1794d2 Tests with missing input data are skipped now 2017-02-12 15:27:12 +01:00
Matthias Koefferlein 7fa185a9b3 Added (empty) plugin directory, fixed main .pro file. 2017-02-12 14:17:18 +01:00
Matthias Koefferlein 1b98f9b0f9 Initialized repository with current sources. 2017-02-12 13:21:08 +01:00