From dfefe42d0fe40dd97260d3ec0b3e1cb7690cf669 Mon Sep 17 00:00:00 2001 From: Dennis Brentjes Date: Mon, 5 May 2014 15:36:59 +0200 Subject: Cleaned up the api to eliminate some intermediate steps --- qt_adapter.hpp | 27 +++++++-------------------- 1 file changed, 7 insertions(+), 20 deletions(-) (limited to 'qt_adapter.hpp') diff --git a/qt_adapter.hpp b/qt_adapter.hpp index 8af44d7..6ce5ca1 100644 --- a/qt_adapter.hpp +++ b/qt_adapter.hpp @@ -34,23 +34,6 @@ struct QtModelType> template struct widget_type { -// typedef void type; -}; - -template -struct widget_type> { - typedef typename T::widget type; -}; - -template -struct widget_type&&> -{ - typedef typename T::widget type; -}; - -template -struct widget_type&> -{ typedef typename T::widget type; }; @@ -142,7 +125,11 @@ struct QtAdapter : public QAbstractTableModel }; template -std::shared_ptr::type>> make_qt_adapter(T value) { - typedef QtAdapter::type> type; - return std::make_shared(value); +std::shared_ptr::type>>::type> +make_qt_widget(T& x) +{ + typedef QtAdapter::type> adapter_type; + auto adapter_ptr = std::make_shared(x); + auto widget_ptr = std::make_shared::type>(adapter_ptr); + return widget_ptr; } -- cgit v1.2.3-70-g09d2