Windows build issue fixed: linking problems.

This commit is contained in:
klayoutmatthias 2017-07-27 00:02:47 +02:00
parent b13c2e69c3
commit b7698b6c39
3 changed files with 109 additions and 52 deletions

View File

@ -18,6 +18,7 @@ SOURCES = \
gsiExternalMain.cc \ gsiExternalMain.cc \
gsiInterpreter.cc \ gsiInterpreter.cc \
gsiMethods.cc \ gsiMethods.cc \
gsiInspector.cc \
gsiObject.cc \ gsiObject.cc \
gsiSerialisation.cc \ gsiSerialisation.cc \
gsiTypes.cc \ gsiTypes.cc \

95
src/gsi/gsiInspector.cc Normal file
View File

@ -0,0 +1,95 @@
/*
KLayout Layout Viewer
Copyright (C) 2006-2017 Matthias Koefferlein
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
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "gsiInspector.h"
namespace gsi
{
Inspector::Inspector ()
{
// .. the base class implementation does nothing ..
}
Inspector::~Inspector ()
{
// .. the base class implementation does nothing ..
}
std::string Inspector::description () const
{
return std::string ();
}
bool Inspector::has_keys () const
{
return true;
}
std::string Inspector::key (size_t /*index*/) const
{
return std::string ();
}
tl::Variant Inspector::keyv (size_t /*index*/) const
{
return tl::Variant ();
}
std::string Inspector::type (size_t /*index*/) const
{
return std::string ();
}
Inspector::Visibility Inspector::visibility (size_t /*index*/) const
{
return Always;
}
tl::Variant Inspector::value (size_t /*index*/) const
{
return tl::Variant ();
}
size_t Inspector::count () const
{
return 0;
}
bool Inspector::has_children (size_t /*index*/) const
{
return false;
}
Inspector *Inspector::child_inspector (size_t /*index*/) const
{
return 0;
}
bool Inspector::equiv (const gsi::Inspector * /*other*/) const
{
return false;
}
}

View File

@ -69,68 +69,44 @@ public:
/** /**
* @brief Constructor * @brief Constructor
*/ */
Inspector () Inspector ();
{
// .. the base class implementation does nothing ..
}
/** /**
* @brief Destructor * @brief Destructor
*/ */
virtual ~Inspector () virtual ~Inspector ();
{
// .. the base class implementation does nothing ..
}
/** /**
* @brief Returns a text describing the namespace the inspector will deliver * @brief Returns a text describing the namespace the inspector will deliver
* This method will be used to label the node if "has_children" is true. * This method will be used to label the node if "has_children" is true.
*/ */
virtual std::string description () const virtual std::string description () const;
{
return std::string ();
}
/** /**
* @brief Returns true if the inspector does not deliver keys but indexes only * @brief Returns true if the inspector does not deliver keys but indexes only
*/ */
virtual bool has_keys () const virtual bool has_keys () const;
{
return true;
}
/** /**
* @brief Gets the key (name) of the element given by the index * @brief Gets the key (name) of the element given by the index
*/ */
virtual std::string key (size_t /*index*/) const virtual std::string key (size_t /*index*/) const;
{
return std::string ();
}
/** /**
* @brief Gets the key (name) of the element given by the index as a tl::Variant * @brief Gets the key (name) of the element given by the index as a tl::Variant
* If the string key returns an empty value, the evaluation will fall back to the tl::Variant. * If the string key returns an empty value, the evaluation will fall back to the tl::Variant.
*/ */
virtual tl::Variant keyv (size_t /*index*/) const virtual tl::Variant keyv (size_t /*index*/) const;
{
return tl::Variant ();
}
/** /**
* @brief Gets the value indicating the type of the entry * @brief Gets the value indicating the type of the entry
*/ */
virtual std::string type (size_t /*index*/) const virtual std::string type (size_t /*index*/) const;
{
return std::string ();
}
/** /**
* @brief Gets the value indicating the visibility of the entry * @brief Gets the value indicating the visibility of the entry
*/ */
virtual Visibility visibility (size_t /*index*/) const virtual Visibility visibility (size_t /*index*/) const;
{
return Always;
}
/** /**
* @brief Gets the value for the element given by the index * @brief Gets the value for the element given by the index
@ -138,48 +114,33 @@ public:
* This method needs to deliver a value when the node is a leaf * This method needs to deliver a value when the node is a leaf
* node (i.e. has_children is false). * node (i.e. has_children is false).
*/ */
virtual tl::Variant value (size_t /*index*/) const virtual tl::Variant value (size_t /*index*/) const;
{
return tl::Variant ();
}
/** /**
* @brief Returns the number of elements this inspector can deliver * @brief Returns the number of elements this inspector can deliver
* *
* The index values for the methods of the inspector must be between 0 and count-1. * The index values for the methods of the inspector must be between 0 and count-1.
*/ */
virtual size_t count () const virtual size_t count () const;
{
return 0;
}
/** /**
* @brief Returns a value indicating whether the given element has children * @brief Returns a value indicating whether the given element has children
*/ */
virtual bool has_children (size_t /*index*/) const virtual bool has_children (size_t /*index*/) const;
{
return false;
}
/** /**
* @brief Returns an inspector object for the children of the element given by index * @brief Returns an inspector object for the children of the element given by index
* The child inspector is used if has_children is true. * The child inspector is used if has_children is true.
* The returned object must be deleted by the caller. * The returned object must be deleted by the caller.
*/ */
virtual Inspector *child_inspector (size_t /*index*/) const virtual Inspector *child_inspector (size_t /*index*/) const;
{
return 0;
}
/** /**
* @brief Returns a value indicating whether the inspectors are equivalent * @brief Returns a value indicating whether the inspectors are equivalent
* The system uses this information to determine whether to update the full variable * The system uses this information to determine whether to update the full variable
* list or just the changed information. * list or just the changed information.
*/ */
virtual bool equiv (const gsi::Inspector * /*other*/) const virtual bool equiv (const gsi::Inspector * /*other*/) const;
{
return false;
}
}; };
} }