Enabled Windows build on Qt5.

This commit is contained in:
klayoutmatthias 2017-07-23 23:36:29 +02:00
parent 585d0941bb
commit c442202ca4
7 changed files with 55 additions and 18 deletions

View File

@ -62,7 +62,7 @@ namespace DB_HASH_NAMESPACE
{
#if defined(_WIN64)
/**
* @brief Specialization missing for size_t on WIN32
* @brief Specialization missing for size_t on WIN64
*/
template<>
struct hash<size_t>
@ -74,6 +74,32 @@ namespace DB_HASH_NAMESPACE
};
#endif
#if defined(_WIN64)
/**
* @brief Specialization missing for long long on WIN64
*/
template<>
struct hash<long long>
{
size_t operator()(long long __x) const
{
return size_t (__x);
}
};
#elif defined(_WIN32)
/**
* @brief Specialization missing for long long (64 bit) on WIN32
*/
template<>
struct hash<long long>
{
size_t operator()(long long __x) const
{
return size_t (__x ^ (__x >> 32));
}
};
#endif
template <class T>
inline size_t hfunc (const T &t)
{

View File

@ -180,7 +180,7 @@ static PluginDescriptor load_plugin (const std::string &pp)
if (! handle) {
throw tl::Exception (tl::to_string (QObject::tr ("Unable to load plugin: %s with error message: %s ")), pp, GetLastError ());
}
init_func = reinterpret_cast<init_func_t> (GetProcAddress (handle, init_func_name));
init_func = reinterpret_cast<klp_init_func_t> (GetProcAddress (handle, init_func_name));
#else
void *handle;
handle = dlopen (tl::string_to_system (pp).c_str (), RTLD_LAZY);

View File

@ -28,6 +28,7 @@
#include <memory>
#include <QTreeWidgetItem>
#include <QMessageBox>
#include <QVariant>
namespace lay
{
@ -65,7 +66,7 @@ ConfirmationDialog::add_info (const std::string &name, bool update, const std::s
item->setText (3, tl::to_qstring (url));
for (int column = 0; column < list->colorCount (); ++column) {
item->setData (column, Qt::ForegroundRole, update ? Qt::blue : Qt::black);
item->setData (column, Qt::ForegroundRole, QVariant (QBrush (update ? Qt::blue : Qt::black)));
}
}

View File

@ -43,6 +43,7 @@
#endif
#include <signal.h>
#include <QFileInfo>
namespace lay
{
@ -234,7 +235,7 @@ static void handle_signal (int signo)
RaiseException(signo + user_base, 0, 0, NULL);
}
static void install_signal_handlers ()
void install_signal_handlers ()
{
// disable any signal handlers that Ruby might have installed.
signal (SIGSEGV, SIG_DFL);

View File

@ -38,7 +38,7 @@ bool TL_PUBLIC is_parent_path (const QString &parent, const QString &path);
/**
* @brief Returns a value indicating whether the parent path is a parent directory of the path (version with std::string)
*/
inline bool TL_PUBLIC is_parent_path (const std::string &parent, const std::string &path)
inline bool is_parent_path (const std::string &parent, const std::string &path)
{
return is_parent_path (tl::to_qstring (parent), tl::to_qstring (path));
}
@ -53,7 +53,7 @@ bool TL_PUBLIC rm_dir_recursive (const QString &path);
* @brief Recursively remove the given directory, the files from that directory and all sub-directories (version with std::string)
* @return True, if successful. false otherwise.
*/
inline bool TL_PUBLIC rm_dir_recursive (const std::string &path)
inline bool rm_dir_recursive (const std::string &path)
{
return rm_dir_recursive (tl::to_qstring (path));
}
@ -70,7 +70,7 @@ bool TL_PUBLIC cp_dir_recursive (const QString &source, const QString &target);
* @brief Recursively remove the given directory, the files from that directory and all sub-directories (version with std::string)
* @return True, if successful. false otherwise.
*/
inline bool TL_PUBLIC cp_dir_recursive (const std::string &source, const std::string &target)
inline bool cp_dir_recursive (const std::string &source, const std::string &target)
{
return cp_dir_recursive (tl::to_qstring (source), tl::to_qstring (target));
}

View File

@ -88,6 +88,15 @@ def find_layer(ly, lp):
return None
def nh(h):
"""
Returns a normalized hash representation
"""
v = []
for k in sorted(h):
v.append(repr(k) + ": " + repr(h[k]))
return "{" + (", ".join(v)) + "}"
class DBPCellTests(unittest.TestCase):
def test_1(self):
@ -132,12 +141,12 @@ class DBPCellTests(unittest.TestCase):
self.assertEqual(pcell_var.pcell_id(), pcell_decl_id)
self.assertEqual(pcell_var.pcell_library().__repr__(), lib.__repr__())
self.assertEqual(pcell_var.pcell_parameters().__repr__(), "[<1/0>, 1.0, 1.0]")
self.assertEqual(pcell_var.pcell_parameters_by_name().__repr__(), "{'h': 1.0, 'l': <1/0>, 'w': 1.0}")
self.assertEqual(nh(pcell_var.pcell_parameters_by_name()), "{'h': 1.0, 'l': <1/0>, 'w': 1.0}")
self.assertEqual(pcell_var.pcell_parameter("h").__repr__(), "1.0")
self.assertEqual(c1.pcell_parameters(pcell_inst).__repr__(), "[<1/0>, 1.0, 1.0]")
self.assertEqual(c1.pcell_parameters_by_name(pcell_inst).__repr__(), "{'h': 1.0, 'l': <1/0>, 'w': 1.0}")
self.assertEqual(nh(c1.pcell_parameters_by_name(pcell_inst)), "{'h': 1.0, 'l': <1/0>, 'w': 1.0}")
self.assertEqual(c1.pcell_parameter(pcell_inst, "h").__repr__(), "1.0")
self.assertEqual(pcell_inst.pcell_parameters_by_name().__repr__(), "{'h': 1.0, 'l': <1/0>, 'w': 1.0}")
self.assertEqual(nh(pcell_inst.pcell_parameters_by_name()), "{'h': 1.0, 'l': <1/0>, 'w': 1.0}")
self.assertEqual(pcell_inst["h"].__repr__(), "1.0")
self.assertEqual(pcell_inst["i"].__repr__(), "None")
self.assertEqual(pcell_inst.pcell_parameter("h").__repr__(), "1.0")
@ -146,7 +155,7 @@ class DBPCellTests(unittest.TestCase):
self.assertEqual(pcell_inst.pcell_declaration().__repr__(), pcell_decl.__repr__())
pcell_inst.change_pcell_parameter("h", 2.0)
self.assertEqual(pcell_inst.pcell_parameters_by_name().__repr__(), "{'h': 2.0, 'l': <1/0>, 'w': 1.0}")
self.assertEqual(nh(pcell_inst.pcell_parameters_by_name()), "{'h': 2.0, 'l': <1/0>, 'w': 1.0}")
pcell_inst.set_property("abc", "a property")
self.assertEqual(pcell_inst.property("abc").__repr__(), "'a property'")

View File

@ -156,8 +156,8 @@ class QtBinding_TestClass < TestBase
# destroying a will also destroy aa
a.destroy
assert_equal(a.destroyed?, true)
assert_equal(aa.destroyed?, true)
assert_equal(a._destroyed?, true)
assert_equal(aa._destroyed?, true)
end
@ -174,7 +174,7 @@ class QtBinding_TestClass < TestBase
a = nil
GC.start
assert_equal(aa.destroyed?, true)
assert_equal(aa._destroyed?, true)
end
@ -207,7 +207,7 @@ class QtBinding_TestClass < TestBase
assert_equal(aa != nil, true)
assert_equal(aa.class.to_s, "RBA::QAction")
assert_equal(aa.text, "aatext")
assert_equal(aa.destroyed?, false)
assert_equal(aa._destroyed?, false)
end
@ -569,7 +569,7 @@ class QtBinding_TestClass < TestBase
child = parent.viewport
# ensure parent and child are working
assert_equal(child.destroyed?, false)
assert_equal(child._destroyed?, false)
parent.resize(200, 200)
assert_equal(child.width() > 100, true)
@ -582,8 +582,8 @@ class QtBinding_TestClass < TestBase
# now if we delete the parent, the child needs to become disconnected
parent._destroy()
assert_equal(parent.destroyed?, true)
assert_equal(child.destroyed?, true)
assert_equal(parent._destroyed?, true)
assert_equal(child._destroyed?, true)
end