Commit Graph

428 Commits

Author SHA1 Message Date
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