Commit Graph

410 Commits

Author SHA1 Message Date
Matthias Koefferlein 1a7bcfc31c Fixed #155 (freeze after replacing nothing by something) 2018-08-13 09:04:13 +02:00
Matthias Koefferlein a272cd3630 Fixed #144 (description of salt packages isn't shown)
Plus: the text color of the description now uses the
palette and the color contrast better when the item
is selected.
2018-07-30 21:19:34 +02:00
Matthias Koefferlein ddfb084a8d Bugfix: also recognize plugins when the main binary is installed in a different place than the libs. 2018-07-29 14:56:19 +02:00
Matthias Koefferlein 98ecc9e47b Fixed a typo, force update of unit tests on Jenkins. 2018-07-29 14:07:02 +02:00
Matthias Koefferlein 3fb568671d A little refactoring - central place for DLL/.so path detection 2018-07-29 10:20:48 +02:00
Matthias Koefferlein 11627486d6 More verbose messages on plugin loading. 2018-07-29 02:36:25 +02:00
Matthias Koefferlein d378a632f3 Bugfix: a standalone LayoutView object made the application crash on exit
Reason: at the Qt will destroy all top level widgets.
Ruby/Python will now know of this, hence try to cleanup
the object inside it's GC.

There was an attempt to avoid this by deleting all
top-level widgets before the application exits. But
this failed for LayoutView objects because these will
create other, dependet top-level widgets for the plugins.
And the LayoutView wants to stay owner for them.
2018-07-29 01:02:39 +02:00
Matthias Koefferlein 082a91cf15 Fixed #148 (Wrong font is used) 2018-07-28 00:17:02 +02:00
Matthias Koefferlein 817ab9cd1c Fixed Windows build. 2018-07-14 08:55:46 +02:00
Matthias Koefferlein ccc5be86d7 Fixed a typo - strange enough it compiled with this error on some platforms. 2018-07-12 23:24:46 +02:00
Matthias Koefferlein 43243ae162 Enabled Qt-less unit tests, some basic implementation of Qt-less threads based on pthread and an atomics library. A lot missing. 2018-07-05 00:33:34 +02:00
Matthias Koefferlein bbfcd9cf9e Made normal build work again. 2018-07-03 01:49:06 +02:00
Matthias Koefferlein 5f8b258235 Feature: hide or show markers using the new View/Show Markers configuration option. 2018-06-28 23:52:47 +02:00
Matthias Köfferlein b64d14e02e
Merge pull request #138 from lightwave-lab/macos_embedding_python_pr
Macos embedding python and Qt5.11.1 bugfix
2018-06-28 21:08:41 +02:00
Matthias Koefferlein b47c0fc3a3 Fixed #139 (libraries not reassigned to GDS when loading file from command line). 2018-06-27 23:36:30 +02:00
Matthias Koefferlein ac2271b9d7 Fixed build on Qt5i (another part). 2018-06-27 00:13:56 +02:00
Matthias Koefferlein 7ba0138cfc Fixed build on Qt5. 2018-06-27 00:08:26 +02:00
Thomas Ferreira de Lima 73772cc6f8 bugfix instantiating Qt::blue not available in qt5.11 2018-06-26 02:53:02 -04:00
Matthias Koefferlein 436550868b WIP: fixed a initialization issue. 2018-06-20 15:58:46 +02:00
Matthias Koefferlein 4f602bb394 WIP: fixes for Windows build. 2018-06-18 00:06:38 +02:00
Matthias Koefferlein 7e56ce23e5 WIP: Moved net tracer into plugin, GSI is now in db module. 2018-06-16 00:56:35 +02:00
Matthias Koefferlein 147ee20b55 WIP: Class documentation shows module name and link now. 2018-06-15 01:11:35 +02:00
Matthias Koefferlein 41cedf4b45 WIP: fixed the technology refactoring part 2018-06-15 00:59:38 +02:00
Matthias Koefferlein c360f6d4a7 WIP: first steps for making technology a db component. 2018-06-14 23:38:23 +02:00
Matthias Koefferlein 409392d561 WIP: started refactoring the plugin structure. Goal: standalone db module with it's own plugins like LEF/DEF, Gerber, MEBES including GSI bindings. 2018-06-13 00:33:43 +02:00
Matthias Koefferlein e5aa55a25c Support for Qt-binding-less Python modules. 2018-06-09 17:01:52 +02:00
Matthias Koefferlein eca8697398 WIP: some refactoring of pya binding and data keeping. Added more conversion functions for use in external code. Needs testing. 2018-06-07 01:05:36 +02:00
Matthias Koefferlein 21bf382549 WIP: Fixed documentation, added QtCore.Qt.QT_VERSION(_STR) 2018-06-05 21:03:21 +02:00
Matthias Koefferlein 655e59d11a WIP: Fixed build dependencies and code dependencies for Python modules (Qt5) 2018-06-03 19:54:18 +02:00
Matthias Koefferlein d903c9f224 Use proper helper functions to activate help links - avoids warnings when there is no MainWindow. 2018-06-03 12:23:24 +02:00
Matthias Koefferlein bfbd8732f3 WIP: basic availability of LayoutView as separate component
- The deferred method scheduler is now automatically created
  when required and when there is a QApplication
- QApplication and related have argv constructors
2018-06-03 00:54:58 +02:00
Matthias Koefferlein b2f18c612a WIP: module names in help search available. 2018-05-31 21:27:10 +02:00
Matthias Koefferlein ecc0520ffb WIP: Qt5 compatibility 2018-05-31 17:54:29 +02:00
Matthias Koefferlein 0e29c997f6 WIP: refactoring, fixed documentation and some mistakes. 2018-05-31 01:11:24 +02:00
Matthias Koefferlein 80d00378d3 WIP: further refactoring 2018-05-30 22:46:10 +02:00
Matthias Koefferlein f1f9132d48 WIP: further refactoring of Qt binding libs 2018-05-30 22:02:27 +02:00
Matthias Koefferlein 3b144259fd WIP: build works again at least on Qt4. 2018-05-30 01:22:33 +02:00
Matthias Koefferlein 6468bb7ab9 WIP: refactoring of GSI structure for separated modules. 2018-05-30 00:39:58 +02:00
Matthias Koefferlein 0b0393ce56 First version of Python module. 2018-05-26 21:31:39 +02:00
Matthias Koefferlein 108f90e382 Small enhancements for package manager
- Progress on download
- Some icons did not get marked (8 bit indexed image format)
- Colors in installation status dialog

One internal enhancement: progress adaptors can be
instantiated temporarily now to catch progress events.
2018-05-19 00:22:15 +02:00
Matthias Koefferlein bb86970ac8 Bugfix: GIF (8 bit indexed) icons could not be marked in package manager. 2018-05-17 22:38:17 +02:00
Matthias Koefferlein 887bcb3e04 Fixed version in Changelog 2018-05-04 21:21:14 +02:00
Matthias Koefferlein 8596b0b9ea libcurl integration and HTTP support enhanced
Issue was: the asynch interface for HTTP access
wasn't entirely compatible between Curl and Qt
implementations.

Plus, the progress integration was messed up
because of the deleteLater scheme (progress was
visible even after the connection ended).

The deleteLater scheme was replaced by an
explicit close which does not require the
connection to be deleted immediately in the
receivers.
2018-05-01 21:24:05 +02:00
Matthias Koefferlein 2454104346 Small bug fixes for Salt Package manager
Download URL's and documentation URL's have not
been shown properly in the package preview.
2018-04-30 23:24:32 +02:00
Matthias Koefferlein 080623ad15 libcurl substitute for Qt network.
Reasoning: on Qt <4.7, custom request are not available.
They are required however to implement WebDAV. libcurl
provides a substitute for QNetwork. This is important
for deployment on CentOS6 for example.
2018-04-30 23:23:07 +02:00
Matthias Koefferlein 4c4b079286 Second part for implementation of #113 (healing of XOR output) 2018-04-29 23:02:40 +02:00
Matthias Koefferlein 821aab3320 Implemented #113 (Heal option after tiled XOR) 2018-04-28 17:58:57 +02:00
Matthias Koefferlein ccfe6fa918 FEATURE: 'labels' method in DRC scripts allows copying labels to output layers. 2018-04-28 10:36:13 +02:00
Matthias Koefferlein 43325cb861 Fixed Windows build. 2018-04-24 21:34:16 +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 c7fcd18413 Fixed #115 (Reader options are not persisted). 2018-04-17 00:56:53 +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 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
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
Matthias Koefferlein 3ae71d7e72 Bugfix: properly initialize new config value 2018-03-12 20:47:33 +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
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 6f0ecd3d9c Show tip window once for non-standard background combination mode. 2018-02-27 21:59:52 +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 2f46f0d1c6 Fixed some issues found with Coverity. 2018-02-21 00:21:19 +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 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 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 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 53328d1767 Merge branch 'macos-build' from kazzz 2018-01-14 17:29:59 +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 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 8eb3f5e6ce Fixed #59 (async download of package index and details) 2018-01-07 10:22:47 +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 8003d1bb47 Merge branch 'master' into macos-build-on-master 2018-01-02 23:37:45 +01:00
Matthias Koefferlein ffb56335fb Updated copyright note to 2018. 2018-01-01 21:08:06 +01:00
klayoutmatthias 7e0f1522ac Windows build compatibility
The issue is with "dllexport": previously, dllexport was present on
exposed templates tool (= visibility(default) for gcc/clang). This
ensured MacOS compatibility since then the typeinfo is corretly
shared and dynamic_cast/typeid works.

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

The solution is to provide separate macros for real (non-specialized,
not explicitly instantiated) templates (.._PUBLIC_TEMPLATE) which
is defined as empty for Windows and "visiblity(default)" for gcc/clang.
2018-01-01 18:55:11 +01:00
Matthias 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 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 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
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 4f3c745790 Updated the wording of some documentation texts and fixed some errors there. 2017-12-20 22:11:42 +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
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 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 b5e6423c8d Added tooltips and filter to menu customization dialog 2017-11-05 09:23:24 +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 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 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 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 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 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 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 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 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 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 368c5cf3ca Fixed some small issues. 2017-09-27 23:25:51 +02:00
Matthias Koefferlein 7e7a5ce030 Some enhancements/bug fixes for package manager 2017-09-27 00:16:43 +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 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 d64a427180 Fixed layout of layout statistics form. 2017-09-20 22:57:16 +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 468c3f4952 Assistant has a left-side content panel now. 2017-09-08 00:25:17 +02:00
Matthias Koefferlein 41e8c58869 A function to reset the window state (View menu) 2017-09-06 23:36:04 +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 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 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 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 56ca1899b5 Finished refactoring of unit tests. Now they are modularized. 2017-08-27 08:33:02 +02:00
Matthias Koefferlein 016bb865ee Fixed a few build issues. 2017-08-27 00:16:46 +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 e5c6bd9e29 Added DRC unit tests. 2017-08-23 11:53:44 +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 55e797ffaf Provide proper INSTALL targets for .pro files
Plus: reduce compiler warnings
2017-08-21 02:33:45 +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 0e5a2afdf9 Added an icon 2017-08-12 15:40:52 +02:00
Matthias Koefferlein 36ccea8242 Fixed a doc typo. 2017-08-08 01:27:55 +02:00
Matthias Koefferlein a2d690ba63 Generalized exe name in version string. 2017-08-06 23:12:01 +02:00
Matthias Koefferlein 7ddc0d6b39 Added missing file 2017-08-06 18:32:04 +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 a76fccf57b Updated some documentation. 2017-07-29 11:37:58 +02:00
klayoutmatthias c442202ca4 Enabled Windows build on Qt5. 2017-07-23 23:36:29 +02:00
Matthias Koefferlein 7d31825b11 DRC: added collect*, select and each methods. 2017-07-17 21:36:29 +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 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 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 24b213df40 Fixed a potential segfault because of static initialization order. 2017-07-02 22:42:53 +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 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 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 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 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 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