Merge remote-tracking branch 'origin/macos-build' into TB-deploy

This commit is contained in:
Kazunari Sekigawa 2018-01-08 07:08:11 +09:00
commit 1a6a9a5d04
2367 changed files with 7086 additions and 3615 deletions

View File

@ -9,14 +9,10 @@ For more details see http://www.klayout.org.
## Building requirements ## Building requirements
* Qt 4.8 or later (4.6 with some restrictions) * Qt 4.7 or later (4.6 with some restrictions) or Qt 5
* gcc 4.x or later * gcc 4.6 or later or clang 3.8 or later
Here is a list of packages required for various Linux flavors: For more build instructions see http://www.klayout.de/build.html.
* CentOS (6, 7): gcc gcc-c++ make qt qt-devel ruby ruby-devel python python-devel
* OpenSuSE: (13.2, 41.1): gcc gcc-c++ make libqt4 libqt4-devel ruby ruby-devel python3 python3-devel
* Ubuntu (14.04, 16.10): gcc g++ make libz-dev libqt4-dev-bin libqt4-dev ruby ruby-dev python3 python3-dev
## Build options ## Build options

View File

@ -2,7 +2,7 @@
# #
# KLayout Layout Viewer # KLayout Layout Viewer
# Copyright (C) 2006-2017 Matthias Koefferlein # Copyright (C) 2006-2018 Matthias Koefferlein
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by

View File

@ -20,7 +20,7 @@
# ./scripts/mkqtdecl.sh -h # ./scripts/mkqtdecl.sh -h
# #
# #
# Copyright (C) 2006-2017 Matthias Koefferlein # Copyright (C) 2006-2018 Matthias Koefferlein
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by

View File

@ -1420,6 +1420,8 @@ drop_class "QSqlDriverPlugin" # not required ?
drop_method "QFormBuilder", /QFormBuilder::customWidgets\(\s*\)/ # Requires QDesignerCustomWidgetInterface which is not (yet) available drop_method "QFormBuilder", /QFormBuilder::customWidgets\(\s*\)/ # Requires QDesignerCustomWidgetInterface which is not (yet) available
return_new "QAbstractFormBuilder", /::load/ # returns a free object
no_copy_ctor "QAbstractFormBuilder" no_copy_ctor "QAbstractFormBuilder"
no_copy_ctor "QFormBuilder" no_copy_ctor "QFormBuilder"

View File

@ -1606,6 +1606,8 @@ drop_class "QSqlDriverPlugin" # not required ?
drop_method "QFormBuilder", /QFormBuilder::customWidgets\(\s*\)/ # Requires QDesignerCustomWidgetInterface which is not (yet) available drop_method "QFormBuilder", /QFormBuilder::customWidgets\(\s*\)/ # Requires QDesignerCustomWidgetInterface which is not (yet) available
return_new "QAbstractFormBuilder", /::load/ # returns a free object
no_copy_ctor "QAbstractFormBuilder" no_copy_ctor "QAbstractFormBuilder"
no_copy_ctor "QFormBuilder" no_copy_ctor "QFormBuilder"

View File

@ -1,5 +1,5 @@
# #
# Copyright (C) 2006-2017 Matthias Koefferlein # Copyright (C) 2006-2018 Matthias Koefferlein
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by

View File

@ -1,5 +1,5 @@
# #
# Copyright (C) 2006-2017 Matthias Koefferlein # Copyright (C) 2006-2018 Matthias Koefferlein
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by

View File

@ -1,5 +1,5 @@
# #
# Copyright (C) 2006-2017 Matthias Koefferlein # Copyright (C) 2006-2018 Matthias Koefferlein
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by

View File

@ -1,7 +1,7 @@
#!/usr/bin/env ruby #!/usr/bin/env ruby
# #
# Copyright (C) 2006-2017 Matthias Koefferlein # Copyright (C) 2006-2018 Matthias Koefferlein
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by

View File

@ -1,6 +1,6 @@
# #
# Copyright (C) 2006-2017 Matthias Koefferlein # Copyright (C) 2006-2018 Matthias Koefferlein
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by

View File

@ -1,6 +1,6 @@
# #
# Copyright (C) 2006-2017 Matthias Koefferlein # Copyright (C) 2006-2018 Matthias Koefferlein
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by

View File

@ -1,6 +1,6 @@
# #
# Copyright (C) 2006-2017 Matthias Koefferlein # Copyright (C) 2006-2018 Matthias Koefferlein
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by

View File

@ -1,6 +1,6 @@
# #
# Copyright (C) 2006-2017 Matthias Koefferlein # Copyright (C) 2006-2018 Matthias Koefferlein
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by

View File

@ -1,6 +1,6 @@
# #
# Copyright (C) 2006-2017 Matthias Koefferlein # Copyright (C) 2006-2018 Matthias Koefferlein
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by

View File

@ -1,7 +1,7 @@
#!/usr/bin/env ruby #!/usr/bin/env ruby
# #
# Copyright (C) 2006-2017 Matthias Koefferlein # Copyright (C) 2006-2018 Matthias Koefferlein
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by

View File

@ -1,7 +1,7 @@
#!/usr/bin/env ruby #!/usr/bin/env ruby
# #
# Copyright (C) 2006-2017 Matthias Koefferlein # Copyright (C) 2006-2018 Matthias Koefferlein
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
@ -1404,7 +1404,7 @@ class BindingProducer
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -2892,7 +2892,7 @@ END
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -2971,7 +2971,7 @@ END
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -1,6 +1,6 @@
# #
# Copyright (C) 2006-2017 Matthias Koefferlein # Copyright (C) 2006-2018 Matthias Koefferlein
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -25,6 +25,8 @@
#include "tlProgress.h" #include "tlProgress.h"
#include "version.h" #include "version.h"
#include <list>
namespace bd namespace bd
{ {

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -189,6 +189,11 @@ GenericWriterOptions::add_options (tl::CommandLineOptions &cmd, const std::strin
"With this option, shape arrays will be expanded and recompressed. This may result in a better " "With this option, shape arrays will be expanded and recompressed. This may result in a better "
"compression ratio, but at the cost of slower execution." "compression ratio, but at the cost of slower execution."
) )
<< tl::arg (group +
"#--permissive", &m_oasis_writer_options.permissive, "Permissive mode",
"In permissive mode, certain forbidden objects are reported as warnings, not as errors: "
"paths with odd width, polygons with less than three points etc."
)
<< tl::arg (group + << tl::arg (group +
"#--write-std-properties", &m_oasis_writer_options.write_std_properties, "Writes some global standard properties", "#--write-std-properties", &m_oasis_writer_options.write_std_properties, "Writes some global standard properties",
"This is an integer describing what standard properties shall be written. 0 is \"none\", " "This is an integer describing what standard properties shall be written. 0 is \"none\", "

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -31,7 +31,7 @@ BD_PUBLIC int BD_TARGET (int argc, char *argv []);
/** /**
* @brief The continuation function to support Ruby's special top-level hook * @brief The continuation function to support Ruby's special top-level hook
*/ */
static int main_cont (int argc, char **argv) static int main_cont (int &argc, char **argv)
{ {
QCoreApplication app (argc, argv); QCoreApplication app (argc, argv);
return bd::_main_impl (&BD_TARGET, argc, argv); return bd::_main_impl (&BD_TARGET, argc, argv);

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -56,6 +56,14 @@ public:
virtual std::string format_title () const { return "CIF (Caltech interchange format)"; } virtual std::string format_title () const { return "CIF (Caltech interchange format)"; }
virtual std::string file_format () const { return "CIF files (*.CIF *.cif *.cif.gz *.CIF.gz)"; } virtual std::string file_format () const { return "CIF files (*.CIF *.cif *.cif.gz *.CIF.gz)"; }
static tl::Extractor &skip_blanks (tl::Extractor &ex)
{
while (! ex.at_end () && *ex != ';' && *ex != '-' && *ex != '(' && *ex != ')' && !isalnum(*ex)) {
++ex;
}
return ex;
}
virtual bool detect (tl::InputStream &s) const virtual bool detect (tl::InputStream &s) const
{ {
try { try {
@ -67,11 +75,12 @@ public:
int n = 0; int n = 0;
tl::Extractor ex (head.c_str ()); tl::Extractor ex (head.c_str ());
while (! ex.at_end ()) { while (! skip_blanks (ex).at_end ()) {
if (ex.test ("(")) { if (*ex == '(') {
// read over comments // read over comments
++ex;
int bl = 0; int bl = 0;
while (! ex.at_end () && (*ex != ')' || bl > 0)) { while (! ex.at_end () && (*ex != ')' || bl > 0)) {
// check for nested comments (bl is the nesting level) // check for nested comments (bl is the nesting level)
@ -86,18 +95,36 @@ public:
++ex; ++ex;
} }
} else if (ex.test (";")) { } else if (*ex == ';') {
// ignore ; // ignore ;
++ex;
} else if ((ex.test ("DS ") && ex.try_read (n)) || ex.test ("L ")) { } else if (*ex == 'L') {
// first command must be "DS num", "L" // first command must be "DS num", or "L shortname"
return true; ++ex;
skip_blanks (ex);
return ! ex.at_end () && isalnum (*ex);
} else if (ex.test ("9")) { } else if (*ex == 'D') {
// first command must be "DS num", or "L"
++ex;
skip_blanks (ex);
if (ex.at_end () || *ex != 'S') {
break; // not "D<sep>S"
}
++ex;
skip_blanks (ex);
if (ex.try_read (n)) {
return true;
}
} else if (*ex == '9') {
// read over 9...; commands // read over 9...; commands
++ex;
while (! ex.at_end () && *ex != ';') { while (! ex.at_end () && *ex != ';') {
++ex; ++ex;
} }

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/* /*
KLayout Layout Viewer KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein Copyright (C) 2006-2018 Matthias Koefferlein
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

Some files were not shown because too many files have changed in this diff Show More