Commit Graph

3796 Commits

Author SHA1 Message Date
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 0c89999705 Updated Python tests for qtbindings. 2017-02-22 00:24:43 +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 c15179aa19 Added scripts for Qt generation. 2017-02-21 20:32:40 +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 99edf66fec Removed BUILD file (now in README.md) 2017-02-12 21:55:34 +01:00
Matthias Koefferlein 08676f0a01 Add private plugin data to .gitignore. 2017-02-12 16:54:05 +01:00
Matthias Koefferlein d10f76c880 Updated .gitignore. 2017-02-12 16:44:29 +01:00
Matthias Koefferlein 6b9a41b269 Fixed XML output of test suite. 2017-02-12 16:42:15 +01:00
Matthias Koefferlein 8c2acce2e1 Added missing test files for net tracer. 2017-02-12 16:12:24 +01:00
klayoutmatthias adefad25bc Update README.md
Fixed a typo
2017-02-12 16:06:35 +01:00
klayoutmatthias f06762c2f5 Update README.md 2017-02-12 16:05:08 +01:00
klayoutmatthias 9b8d94cdeb Update README.md 2017-02-12 16:00:45 +01:00
klayoutmatthias 8243ed8396 Update README.md 2017-02-12 15:59:29 +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 e8e661e3e0 Updated .gitignore. 2017-02-12 13:55:25 +01:00
Matthias Koefferlein f59f62018c Added missing files. 2017-02-12 13:48:01 +01:00
Matthias Koefferlein 1b98f9b0f9 Initialized repository with current sources. 2017-02-12 13:21:08 +01:00
klayoutmatthias bf6ea90905 Initialized README.md 2017-02-12 13:15:40 +01:00
klayoutmatthias 9919949403 Initial commit 2017-02-12 12:54:21 +01:00