diff --git a/GUI/CMakeLists.txt b/GUI/CMakeLists.txt index 3864b9b3c97ce74af8925dc86e58ef9e93933a7c..1b0921d59dc067ab2039dad63dd18173c30e1afd 100644 --- a/GUI/CMakeLists.txt +++ b/GUI/CMakeLists.txt @@ -14,6 +14,7 @@ add_subdirectory(externals/qt-manhattan-style) add_subdirectory(externals/qcustomplot) add_subdirectory(externals/qt-root) add_subdirectory(externals/qt-root-gui-factory) +add_subdirectory(externals/qtpropertybrowser) add_subdirectory(coregui) diff --git a/GUI/coregui/CMakeLists.txt b/GUI/coregui/CMakeLists.txt index 04cc758c97b9359ddfc3bbdd02356e587103cac9..438e0defb66102b425af924fc14b74f9a26815a3 100644 --- a/GUI/coregui/CMakeLists.txt +++ b/GUI/coregui/CMakeLists.txt @@ -18,10 +18,10 @@ set(include_dirs ${CMAKE_CURRENT_SOURCE_DIR}/Views ${CMAKE_CURRENT_SOURCE_DIR}/Views/Components/widgetbox ${CMAKE_CURRENT_SOURCE_DIR}/Views/Components/SampleDesigner - ${CMAKE_CURRENT_SOURCE_DIR}/qttools/qtpropertybrowser +# ${CMAKE_CURRENT_SOURCE_DIR}/qttools/qtpropertybrowser ) include_directories(${include_dirs}) -include_directories(${CMAKE_CURRENT_BINARY_DIR}) # qtpropertybrowser needs some moc files +#include_directories(${CMAKE_CURRENT_BINARY_DIR}) # qtpropertybrowser needs some moc files file(GLOB source_files "mainwindow/*.cpp" @@ -30,7 +30,7 @@ file(GLOB source_files "Views/*.cpp" # "Views/Components/widgetbox/*.cpp" "Views/Components/SampleDesigner/*.cpp" - "qttools/qtpropertybrowser/*.cpp" +# "qttools/qtpropertybrowser/*.cpp" ) set(source_widgetbox @@ -48,7 +48,7 @@ file(GLOB include_files "Views/*.h" # "Views/Components/widgetbox/*.h" "Views/Components/SampleDesigner/*.h" - "qttools/qtpropertybrowser/*.h" +# "qttools/qtpropertybrowser/*.h" ) set(include_widgetbox @@ -63,7 +63,7 @@ list(APPEND include_files ${include_widgetbox}) set(resource_files "coregui.qrc" - "qttools/qtpropertybrowser/qtpropertybrowser.qrc" +# "qttools/qtpropertybrowser/qtpropertybrowser.qrc" "Views/Components/SampleDesigner/SampleDesigner.qrc" "Views/Components/widgetbox/widgetbox.qrc" ) @@ -74,11 +74,10 @@ add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x040900) add_executable(${executable_name} ${source_files} ${RC_SRCS} ${include_files}) -message("YYY ${qcustomplot_INCLUDE_DIRS}}") - # --- dependencies --- include_directories( ${qcustomplot_INCLUDE_DIRS} + ${qtpropertybrowser_INCLUDE_DIRS} ${GQt_INCLUDE_DIRS} ${QtRoot_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} @@ -89,13 +88,12 @@ include_directories( ${EIGEN3_INCLUDE_DIR} ${PYTHON_INCLUDE_DIRS} ) -target_link_libraries(${executable_name} -) #core gui script webkit webkitwidgets designer designercomponents target_link_libraries(${executable_name} ${qcustomplot_LIBRARY} + ${qtpropertybrowser_LIBRARY} ${GQt_LIBRARY} ${QtRoot_LIBRARY} ${Qt5Widgets_LIBRARIES} diff --git a/GUI/coregui/Models/PythonScriptSampleBuilder.cpp b/GUI/coregui/Models/PythonScriptSampleBuilder.cpp index 636712fc4f4ea80597ae8ff82e9518b9a89c30d5..62ec776f27fa0e104fe7d13790f10a7d3e923ae9 100644 --- a/GUI/coregui/Models/PythonScriptSampleBuilder.cpp +++ b/GUI/coregui/Models/PythonScriptSampleBuilder.cpp @@ -1,7 +1,5 @@ #include "PythonScriptSampleBuilder.h" -#include <Python.h> -#include <boost/python.hpp> #include <cstring> #include <QByteArray> diff --git a/GUI/coregui/Models/PythonScriptSampleBuilder.h b/GUI/coregui/Models/PythonScriptSampleBuilder.h index 66a4bb29e2d6761d5249cc904955172ce68b42b7..a85f1147b015cb034b1baa40be9516a2d292baa7 100644 --- a/GUI/coregui/Models/PythonScriptSampleBuilder.h +++ b/GUI/coregui/Models/PythonScriptSampleBuilder.h @@ -1,6 +1,9 @@ #ifndef PYTHONSCRIPTSAMPLEBUILDER_H #define PYTHONSCRIPTSAMPLEBUILDER_H +#include <Python.h> +#include <boost/python.hpp> + #include "ISampleBuilder.h" #include <QFileInfo> diff --git a/GUI/coregui/Views/Components/widgetbox/filterwidget_p.h b/GUI/coregui/Views/Components/widgetbox/filterwidget_p.h deleted file mode 100644 index 437965204dfcd2304542a5d51779f164f85c7052..0000000000000000000000000000000000000000 --- a/GUI/coregui/Views/Components/widgetbox/filterwidget_p.h +++ /dev/null @@ -1,157 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the Qt Designer of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists for the convenience -// of Qt Designer. This header -// file may change from version to version without notice, or even be removed. -// -// We mean it. -// - -#ifndef FILTERWIDGET_H -#define FILTERWIDGET_H - -#include "shared_global_p.h" - -//#include <QtWidgets/QWidget> -//#include <QtWidgets/QLineEdit> -//#include <QtGui/QColor> -//#include <QtWidgets/QToolButton> - -#include <QWidget> -#include <QLineEdit> -#include <QColor> -#include <QToolButton> - - -QT_BEGIN_NAMESPACE - -class QToolButton; - -namespace qdesigner_internal { - -/* This widget should never have initial focus - * (ie, be the first widget of a dialog, else, the hint cannot be displayed. - * For situations, where it is the only focusable control (widget box), - * there is a special "refuseFocus()" mode, in which it clears the focus - * policy and focusses explicitly on click (note that setting Qt::ClickFocus - * is not sufficient for that as an ActivationFocus will occur). */ - -#define ICONBUTTON_SIZE 16 - -class QDESIGNER_SHARED_EXPORT HintLineEdit : public QLineEdit { - Q_OBJECT -public: - explicit HintLineEdit(QWidget *parent = 0); - - bool refuseFocus() const; - void setRefuseFocus(bool v); - -protected: - virtual void mousePressEvent(QMouseEvent *event); - virtual void focusInEvent(QFocusEvent *e); - -private: - const Qt::FocusPolicy m_defaultFocusPolicy; - bool m_refuseFocus; -}; - -// IconButton: This is a simple helper class that represents clickable icons - -class IconButton: public QToolButton -{ - Q_OBJECT - Q_PROPERTY(float fader READ fader WRITE setFader) -public: - IconButton(QWidget *parent); - void paintEvent(QPaintEvent *event); - float fader() { return m_fader; } - void setFader(float value) { m_fader = value; update(); } - void animateShow(bool visible); - -private: - float m_fader; -}; - -// FilterWidget: For filtering item views, with reset button Uses HintLineEdit. - -class QDESIGNER_SHARED_EXPORT FilterWidget : public QWidget -{ - Q_OBJECT -public: - enum LayoutMode { - // For use in toolbars: Expand to the right - LayoutAlignRight, - // No special alignment - LayoutAlignNone - }; - - explicit FilterWidget(QWidget *parent = 0, LayoutMode lm = LayoutAlignRight); - - QString text() const; - void resizeEvent(QResizeEvent *); - bool refuseFocus() const; // see HintLineEdit - void setRefuseFocus(bool v); - -signals: - void filterChanged(const QString &); - -public slots: - void reset(); - -private slots: - void checkButton(const QString &text); - -private: - HintLineEdit *m_editor; - IconButton *m_button; - int m_buttonwidth; - QString m_oldText; -}; -} // namespace qdesigner_internal - -QT_END_NAMESPACE - -#endif diff --git a/GUI/externals/qt-root-gui-factory/CMakeLists.txt b/GUI/externals/qt-root-gui-factory/CMakeLists.txt index 57b89ea00cce07549920ed97c75ab680a33dc9ba..47089db41d381b0304bd73676b8d6d06bf185f00 100644 --- a/GUI/externals/qt-root-gui-factory/CMakeLists.txt +++ b/GUI/externals/qt-root-gui-factory/CMakeLists.txt @@ -32,8 +32,7 @@ set(${library_name}_INCLUDE_DIRS ${include_dirs} PARENT_SCOPE) set(${library_name}_LIBRARY ${library_name} PARENT_SCOPE) # --- dependencies --- -message("XXX ${GQt_LIBRARY}") -message("XXX ${ROOT_LIBRARIES} ") + include_directories( ${GQt_INCLUDE_DIRS} ${ROOT_INCLUDE_DIR} diff --git a/GUI/externals/qtpropertybrowser/CMakeLists.txt b/GUI/externals/qtpropertybrowser/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..b2c584bce7123a0dc257b593bc279237040667b0 --- /dev/null +++ b/GUI/externals/qtpropertybrowser/CMakeLists.txt @@ -0,0 +1,39 @@ +cmake_minimum_required(VERSION 2.8.9) + +set(library_name qtpropertybrowser) + + +file(GLOB source_files "*.cpp") +file(GLOB include_files "*.h") + +set(include_dirs + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_BINARY_DIR} # qtpropertybrowser needs some moc files +) + +include_directories(${include_dirs}) + + +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-overloaded-virtual") + +set(resource_files + "qtpropertybrowser.qrc" +) + +set(CMAKE_AUTOMOC ON) +qt5_add_resources(RC_SRCS ${resource_files}) +add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x040900) + +add_library( + ${library_name} + STATIC + ${source_files} ${include_files} ${RC_SRCS} ${mocfiles} +) +set(${library_name}_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} PARENT_SCOPE) +set(${library_name}_LIBRARY ${library_name} PARENT_SCOPE) + +target_link_libraries(${library_name} ${Qt5Widgets_LIBRARIES}) + +qt5_use_modules(${library_name} Widgets) + + diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtAbstractEditorFactoryBase b/GUI/externals/qtpropertybrowser/QtAbstractEditorFactoryBase similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtAbstractEditorFactoryBase rename to GUI/externals/qtpropertybrowser/QtAbstractEditorFactoryBase diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtAbstractPropertyBrowser b/GUI/externals/qtpropertybrowser/QtAbstractPropertyBrowser similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtAbstractPropertyBrowser rename to GUI/externals/qtpropertybrowser/QtAbstractPropertyBrowser diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtAbstractPropertyManager b/GUI/externals/qtpropertybrowser/QtAbstractPropertyManager similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtAbstractPropertyManager rename to GUI/externals/qtpropertybrowser/QtAbstractPropertyManager diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtBoolPropertyManager b/GUI/externals/qtpropertybrowser/QtBoolPropertyManager similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtBoolPropertyManager rename to GUI/externals/qtpropertybrowser/QtBoolPropertyManager diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtBrowserItem b/GUI/externals/qtpropertybrowser/QtBrowserItem similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtBrowserItem rename to GUI/externals/qtpropertybrowser/QtBrowserItem diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtButtonPropertyBrowser b/GUI/externals/qtpropertybrowser/QtButtonPropertyBrowser similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtButtonPropertyBrowser rename to GUI/externals/qtpropertybrowser/QtButtonPropertyBrowser diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtCharEditorFactory b/GUI/externals/qtpropertybrowser/QtCharEditorFactory similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtCharEditorFactory rename to GUI/externals/qtpropertybrowser/QtCharEditorFactory diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtCharPropertyManager b/GUI/externals/qtpropertybrowser/QtCharPropertyManager similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtCharPropertyManager rename to GUI/externals/qtpropertybrowser/QtCharPropertyManager diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtCheckBoxFactory b/GUI/externals/qtpropertybrowser/QtCheckBoxFactory similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtCheckBoxFactory rename to GUI/externals/qtpropertybrowser/QtCheckBoxFactory diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtColorEditorFactory b/GUI/externals/qtpropertybrowser/QtColorEditorFactory similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtColorEditorFactory rename to GUI/externals/qtpropertybrowser/QtColorEditorFactory diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtColorPropertyManager b/GUI/externals/qtpropertybrowser/QtColorPropertyManager similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtColorPropertyManager rename to GUI/externals/qtpropertybrowser/QtColorPropertyManager diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtCursorEditorFactory b/GUI/externals/qtpropertybrowser/QtCursorEditorFactory similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtCursorEditorFactory rename to GUI/externals/qtpropertybrowser/QtCursorEditorFactory diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtCursorPropertyManager b/GUI/externals/qtpropertybrowser/QtCursorPropertyManager similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtCursorPropertyManager rename to GUI/externals/qtpropertybrowser/QtCursorPropertyManager diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtDateEditFactory b/GUI/externals/qtpropertybrowser/QtDateEditFactory similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtDateEditFactory rename to GUI/externals/qtpropertybrowser/QtDateEditFactory diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtDatePropertyManager b/GUI/externals/qtpropertybrowser/QtDatePropertyManager similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtDatePropertyManager rename to GUI/externals/qtpropertybrowser/QtDatePropertyManager diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtDateTimeEditFactory b/GUI/externals/qtpropertybrowser/QtDateTimeEditFactory similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtDateTimeEditFactory rename to GUI/externals/qtpropertybrowser/QtDateTimeEditFactory diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtDateTimePropertyManager b/GUI/externals/qtpropertybrowser/QtDateTimePropertyManager similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtDateTimePropertyManager rename to GUI/externals/qtpropertybrowser/QtDateTimePropertyManager diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtDoublePropertyManager b/GUI/externals/qtpropertybrowser/QtDoublePropertyManager similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtDoublePropertyManager rename to GUI/externals/qtpropertybrowser/QtDoublePropertyManager diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtDoubleSpinBoxFactory b/GUI/externals/qtpropertybrowser/QtDoubleSpinBoxFactory similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtDoubleSpinBoxFactory rename to GUI/externals/qtpropertybrowser/QtDoubleSpinBoxFactory diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtEnumEditorFactory b/GUI/externals/qtpropertybrowser/QtEnumEditorFactory similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtEnumEditorFactory rename to GUI/externals/qtpropertybrowser/QtEnumEditorFactory diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtEnumPropertyManager b/GUI/externals/qtpropertybrowser/QtEnumPropertyManager similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtEnumPropertyManager rename to GUI/externals/qtpropertybrowser/QtEnumPropertyManager diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtFlagPropertyManager b/GUI/externals/qtpropertybrowser/QtFlagPropertyManager similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtFlagPropertyManager rename to GUI/externals/qtpropertybrowser/QtFlagPropertyManager diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtFontEditorFactory b/GUI/externals/qtpropertybrowser/QtFontEditorFactory similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtFontEditorFactory rename to GUI/externals/qtpropertybrowser/QtFontEditorFactory diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtFontPropertyManager b/GUI/externals/qtpropertybrowser/QtFontPropertyManager similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtFontPropertyManager rename to GUI/externals/qtpropertybrowser/QtFontPropertyManager diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtGroupBoxPropertyBrowser b/GUI/externals/qtpropertybrowser/QtGroupBoxPropertyBrowser similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtGroupBoxPropertyBrowser rename to GUI/externals/qtpropertybrowser/QtGroupBoxPropertyBrowser diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtGroupPropertyManager b/GUI/externals/qtpropertybrowser/QtGroupPropertyManager similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtGroupPropertyManager rename to GUI/externals/qtpropertybrowser/QtGroupPropertyManager diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtIntPropertyManager b/GUI/externals/qtpropertybrowser/QtIntPropertyManager similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtIntPropertyManager rename to GUI/externals/qtpropertybrowser/QtIntPropertyManager diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtKeySequenceEditorFactory b/GUI/externals/qtpropertybrowser/QtKeySequenceEditorFactory similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtKeySequenceEditorFactory rename to GUI/externals/qtpropertybrowser/QtKeySequenceEditorFactory diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtKeySequencePropertyManager b/GUI/externals/qtpropertybrowser/QtKeySequencePropertyManager similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtKeySequencePropertyManager rename to GUI/externals/qtpropertybrowser/QtKeySequencePropertyManager diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtLineEditFactory b/GUI/externals/qtpropertybrowser/QtLineEditFactory similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtLineEditFactory rename to GUI/externals/qtpropertybrowser/QtLineEditFactory diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtLocalePropertyManager b/GUI/externals/qtpropertybrowser/QtLocalePropertyManager similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtLocalePropertyManager rename to GUI/externals/qtpropertybrowser/QtLocalePropertyManager diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtPointFPropertyManager b/GUI/externals/qtpropertybrowser/QtPointFPropertyManager similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtPointFPropertyManager rename to GUI/externals/qtpropertybrowser/QtPointFPropertyManager diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtPointPropertyManager b/GUI/externals/qtpropertybrowser/QtPointPropertyManager similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtPointPropertyManager rename to GUI/externals/qtpropertybrowser/QtPointPropertyManager diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtProperty b/GUI/externals/qtpropertybrowser/QtProperty similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtProperty rename to GUI/externals/qtpropertybrowser/QtProperty diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtRectFPropertyManager b/GUI/externals/qtpropertybrowser/QtRectFPropertyManager similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtRectFPropertyManager rename to GUI/externals/qtpropertybrowser/QtRectFPropertyManager diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtRectPropertyManager b/GUI/externals/qtpropertybrowser/QtRectPropertyManager similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtRectPropertyManager rename to GUI/externals/qtpropertybrowser/QtRectPropertyManager diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtScrollBarFactory b/GUI/externals/qtpropertybrowser/QtScrollBarFactory similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtScrollBarFactory rename to GUI/externals/qtpropertybrowser/QtScrollBarFactory diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtSizeFPropertyManager b/GUI/externals/qtpropertybrowser/QtSizeFPropertyManager similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtSizeFPropertyManager rename to GUI/externals/qtpropertybrowser/QtSizeFPropertyManager diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtSizePolicyPropertyManager b/GUI/externals/qtpropertybrowser/QtSizePolicyPropertyManager similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtSizePolicyPropertyManager rename to GUI/externals/qtpropertybrowser/QtSizePolicyPropertyManager diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtSizePropertyManager b/GUI/externals/qtpropertybrowser/QtSizePropertyManager similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtSizePropertyManager rename to GUI/externals/qtpropertybrowser/QtSizePropertyManager diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtSliderFactory b/GUI/externals/qtpropertybrowser/QtSliderFactory similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtSliderFactory rename to GUI/externals/qtpropertybrowser/QtSliderFactory diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtSpinBoxFactory b/GUI/externals/qtpropertybrowser/QtSpinBoxFactory similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtSpinBoxFactory rename to GUI/externals/qtpropertybrowser/QtSpinBoxFactory diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtStringPropertyManager b/GUI/externals/qtpropertybrowser/QtStringPropertyManager similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtStringPropertyManager rename to GUI/externals/qtpropertybrowser/QtStringPropertyManager diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtTimeEditFactory b/GUI/externals/qtpropertybrowser/QtTimeEditFactory similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtTimeEditFactory rename to GUI/externals/qtpropertybrowser/QtTimeEditFactory diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtTimePropertyManager b/GUI/externals/qtpropertybrowser/QtTimePropertyManager similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtTimePropertyManager rename to GUI/externals/qtpropertybrowser/QtTimePropertyManager diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtTreePropertyBrowser b/GUI/externals/qtpropertybrowser/QtTreePropertyBrowser similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtTreePropertyBrowser rename to GUI/externals/qtpropertybrowser/QtTreePropertyBrowser diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtVariantEditorFactory b/GUI/externals/qtpropertybrowser/QtVariantEditorFactory similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtVariantEditorFactory rename to GUI/externals/qtpropertybrowser/QtVariantEditorFactory diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtVariantProperty b/GUI/externals/qtpropertybrowser/QtVariantProperty similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtVariantProperty rename to GUI/externals/qtpropertybrowser/QtVariantProperty diff --git a/GUI/coregui/qttools/qtpropertybrowser/QtVariantPropertyManager b/GUI/externals/qtpropertybrowser/QtVariantPropertyManager similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/QtVariantPropertyManager rename to GUI/externals/qtpropertybrowser/QtVariantPropertyManager diff --git a/GUI/externals/qtpropertybrowser/images/cursor-arrow.png b/GUI/externals/qtpropertybrowser/images/cursor-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..a69ef4eb6158503c7c67c916aea86e65fdc81f72 Binary files /dev/null and b/GUI/externals/qtpropertybrowser/images/cursor-arrow.png differ diff --git a/GUI/externals/qtpropertybrowser/images/cursor-busy.png b/GUI/externals/qtpropertybrowser/images/cursor-busy.png new file mode 100644 index 0000000000000000000000000000000000000000..53717e49928a5d0e791baf971e95adc0bbe318d2 Binary files /dev/null and b/GUI/externals/qtpropertybrowser/images/cursor-busy.png differ diff --git a/GUI/externals/qtpropertybrowser/images/cursor-closedhand.png b/GUI/externals/qtpropertybrowser/images/cursor-closedhand.png new file mode 100644 index 0000000000000000000000000000000000000000..b78dd1dac5a827fa698f1993718f22c282019505 Binary files /dev/null and b/GUI/externals/qtpropertybrowser/images/cursor-closedhand.png differ diff --git a/GUI/externals/qtpropertybrowser/images/cursor-cross.png b/GUI/externals/qtpropertybrowser/images/cursor-cross.png new file mode 100644 index 0000000000000000000000000000000000000000..fe38e744805f61abefcc555e07d399725c3fd7e6 Binary files /dev/null and b/GUI/externals/qtpropertybrowser/images/cursor-cross.png differ diff --git a/GUI/externals/qtpropertybrowser/images/cursor-forbidden.png b/GUI/externals/qtpropertybrowser/images/cursor-forbidden.png new file mode 100644 index 0000000000000000000000000000000000000000..2b08c4e2a3cafc992459a8f484e6c8e6c3e74857 Binary files /dev/null and b/GUI/externals/qtpropertybrowser/images/cursor-forbidden.png differ diff --git a/GUI/externals/qtpropertybrowser/images/cursor-hand.png b/GUI/externals/qtpropertybrowser/images/cursor-hand.png new file mode 100644 index 0000000000000000000000000000000000000000..d2004aefa7337edc3e15327992e1d69fda5b1831 Binary files /dev/null and b/GUI/externals/qtpropertybrowser/images/cursor-hand.png differ diff --git a/GUI/externals/qtpropertybrowser/images/cursor-hsplit.png b/GUI/externals/qtpropertybrowser/images/cursor-hsplit.png new file mode 100644 index 0000000000000000000000000000000000000000..a5667e3ffba185fd0138ddfca3d4d88049928812 Binary files /dev/null and b/GUI/externals/qtpropertybrowser/images/cursor-hsplit.png differ diff --git a/GUI/externals/qtpropertybrowser/images/cursor-ibeam.png b/GUI/externals/qtpropertybrowser/images/cursor-ibeam.png new file mode 100644 index 0000000000000000000000000000000000000000..097fc5fa7287da71ffd907b3a11adbda4516aca6 Binary files /dev/null and b/GUI/externals/qtpropertybrowser/images/cursor-ibeam.png differ diff --git a/GUI/externals/qtpropertybrowser/images/cursor-openhand.png b/GUI/externals/qtpropertybrowser/images/cursor-openhand.png new file mode 100644 index 0000000000000000000000000000000000000000..9181c859edaf9aa2c16bc7dbc753609beddd8351 Binary files /dev/null and b/GUI/externals/qtpropertybrowser/images/cursor-openhand.png differ diff --git a/GUI/externals/qtpropertybrowser/images/cursor-sizeall.png b/GUI/externals/qtpropertybrowser/images/cursor-sizeall.png new file mode 100644 index 0000000000000000000000000000000000000000..69f13eb347a6c299e06844729a14f657b282fe8f Binary files /dev/null and b/GUI/externals/qtpropertybrowser/images/cursor-sizeall.png differ diff --git a/GUI/externals/qtpropertybrowser/images/cursor-sizeb.png b/GUI/externals/qtpropertybrowser/images/cursor-sizeb.png new file mode 100644 index 0000000000000000000000000000000000000000..f37d7b91e8cde73243fa78df45c7808aba1c5fa0 Binary files /dev/null and b/GUI/externals/qtpropertybrowser/images/cursor-sizeb.png differ diff --git a/GUI/externals/qtpropertybrowser/images/cursor-sizef.png b/GUI/externals/qtpropertybrowser/images/cursor-sizef.png new file mode 100644 index 0000000000000000000000000000000000000000..3b127a05d34b48a2f4f9b9cc77b681c6b43afcdd Binary files /dev/null and b/GUI/externals/qtpropertybrowser/images/cursor-sizef.png differ diff --git a/GUI/externals/qtpropertybrowser/images/cursor-sizeh.png b/GUI/externals/qtpropertybrowser/images/cursor-sizeh.png new file mode 100644 index 0000000000000000000000000000000000000000..a9f40cbc3d77c566c11c32c0631b4f94f44dd441 Binary files /dev/null and b/GUI/externals/qtpropertybrowser/images/cursor-sizeh.png differ diff --git a/GUI/externals/qtpropertybrowser/images/cursor-sizev.png b/GUI/externals/qtpropertybrowser/images/cursor-sizev.png new file mode 100644 index 0000000000000000000000000000000000000000..1edbab27a5b05555aaf515931f69ad6bf7e417f0 Binary files /dev/null and b/GUI/externals/qtpropertybrowser/images/cursor-sizev.png differ diff --git a/GUI/externals/qtpropertybrowser/images/cursor-uparrow.png b/GUI/externals/qtpropertybrowser/images/cursor-uparrow.png new file mode 100644 index 0000000000000000000000000000000000000000..d3e70ef4c2413c6f81c7cfffa32be7228b2b27b9 Binary files /dev/null and b/GUI/externals/qtpropertybrowser/images/cursor-uparrow.png differ diff --git a/GUI/externals/qtpropertybrowser/images/cursor-vsplit.png b/GUI/externals/qtpropertybrowser/images/cursor-vsplit.png new file mode 100644 index 0000000000000000000000000000000000000000..1beda2570e4328382ea43512acfe23d386214f37 Binary files /dev/null and b/GUI/externals/qtpropertybrowser/images/cursor-vsplit.png differ diff --git a/GUI/externals/qtpropertybrowser/images/cursor-wait.png b/GUI/externals/qtpropertybrowser/images/cursor-wait.png new file mode 100644 index 0000000000000000000000000000000000000000..69056c479e9b2f009e366dfd71999a7c74f97620 Binary files /dev/null and b/GUI/externals/qtpropertybrowser/images/cursor-wait.png differ diff --git a/GUI/externals/qtpropertybrowser/images/cursor-whatsthis.png b/GUI/externals/qtpropertybrowser/images/cursor-whatsthis.png new file mode 100644 index 0000000000000000000000000000000000000000..b47601c3780eec780fdae43bab7481bbfebdddae Binary files /dev/null and b/GUI/externals/qtpropertybrowser/images/cursor-whatsthis.png differ diff --git a/GUI/coregui/qttools/qtpropertybrowser/qtbuttonpropertybrowser.cpp b/GUI/externals/qtpropertybrowser/qtbuttonpropertybrowser.cpp similarity index 99% rename from GUI/coregui/qttools/qtpropertybrowser/qtbuttonpropertybrowser.cpp rename to GUI/externals/qtpropertybrowser/qtbuttonpropertybrowser.cpp index dc79c6db5442c2dc3843a71f0df0d54c8b9ab945..293fbf6bfdb63d38ed9f7448f29104ec976e721b 100644 --- a/GUI/coregui/qttools/qtpropertybrowser/qtbuttonpropertybrowser.cpp +++ b/GUI/externals/qtpropertybrowser/qtbuttonpropertybrowser.cpp @@ -624,5 +624,4 @@ bool QtButtonPropertyBrowser::isExpanded(QtBrowserItem *item) const QT_END_NAMESPACE #endif -//XXX #include "moc_qtbuttonpropertybrowser.cpp" diff --git a/GUI/coregui/qttools/qtpropertybrowser/qtbuttonpropertybrowser.h b/GUI/externals/qtpropertybrowser/qtbuttonpropertybrowser.h similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/qtbuttonpropertybrowser.h rename to GUI/externals/qtpropertybrowser/qtbuttonpropertybrowser.h diff --git a/GUI/coregui/qttools/qtpropertybrowser/qteditorfactory.cpp b/GUI/externals/qtpropertybrowser/qteditorfactory.cpp similarity index 98% rename from GUI/coregui/qttools/qtpropertybrowser/qteditorfactory.cpp rename to GUI/externals/qtpropertybrowser/qteditorfactory.cpp index 2dcf6a010dfc0255af22e0b028496018fbb79f69..c9a371dadd45571870dc66cd3ad7058ff3680db5 100644 --- a/GUI/coregui/qttools/qtpropertybrowser/qteditorfactory.cpp +++ b/GUI/externals/qtpropertybrowser/qteditorfactory.cpp @@ -631,6 +631,7 @@ class QtCheckBoxFactoryPrivate : public EditorFactoryPrivate<QtBoolEdit> Q_DECLARE_PUBLIC(QtCheckBoxFactory) public: void slotPropertyChanged(QtProperty *property, bool value); + void slotTextVisibleChanged(QtProperty *property, bool textVisible); void slotSetValue(bool value); }; @@ -648,6 +649,22 @@ void QtCheckBoxFactoryPrivate::slotPropertyChanged(QtProperty *property, bool va } } +void QtCheckBoxFactoryPrivate::slotTextVisibleChanged(QtProperty *property, bool textVisible) +{ + if (!m_createdEditors.contains(property)) + return; + + QtBoolPropertyManager *manager = q_ptr->propertyManager(property); + if (!manager) + return; + + QListIterator<QtBoolEdit *> itEditor(m_createdEditors[property]); + while (itEditor.hasNext()) { + QtBoolEdit *editor = itEditor.next(); + editor->setTextVisible(textVisible); + } +} + void QtCheckBoxFactoryPrivate::slotSetValue(bool value) { QObject *object = q_ptr->sender(); @@ -702,6 +719,8 @@ void QtCheckBoxFactory::connectPropertyManager(QtBoolPropertyManager *manager) { connect(manager, SIGNAL(valueChanged(QtProperty *, bool)), this, SLOT(slotPropertyChanged(QtProperty *, bool))); + connect(manager, SIGNAL(textVisibleChanged(QtProperty *, bool)), + this, SLOT(slotTextVisibleChanged(QtProperty *, bool))); } /*! @@ -714,6 +733,7 @@ QWidget *QtCheckBoxFactory::createEditor(QtBoolPropertyManager *manager, QtPrope { QtBoolEdit *editor = d_ptr->createEditor(property, parent); editor->setChecked(manager->value(property)); + editor->setTextVisible(manager->textVisible(property)); connect(editor, SIGNAL(toggled(bool)), this, SLOT(slotSetValue(bool))); connect(editor, SIGNAL(destroyed(QObject *)), @@ -730,6 +750,8 @@ void QtCheckBoxFactory::disconnectPropertyManager(QtBoolPropertyManager *manager { disconnect(manager, SIGNAL(valueChanged(QtProperty *, bool)), this, SLOT(slotPropertyChanged(QtProperty *, bool))); + disconnect(manager, SIGNAL(textVisibleChanged(QtProperty *, bool)), + this, SLOT(slotTextVisibleChanged(QtProperty *, bool))); } // QtDoubleSpinBoxFactory @@ -2678,6 +2700,5 @@ void QtFontEditorFactory::disconnectPropertyManager(QtFontPropertyManager *manag QT_END_NAMESPACE #endif -//XXX #include "moc_qteditorfactory.cpp" #include "qteditorfactory.moc" diff --git a/GUI/coregui/qttools/qtpropertybrowser/qteditorfactory.h b/GUI/externals/qtpropertybrowser/qteditorfactory.h similarity index 99% rename from GUI/coregui/qttools/qtpropertybrowser/qteditorfactory.h rename to GUI/externals/qtpropertybrowser/qteditorfactory.h index 37204ce056f3b8e1fa87928148e81d4335150544..cbb2077d22990085b5390c0e7c2480be82cc3f5e 100644 --- a/GUI/coregui/qttools/qtpropertybrowser/qteditorfactory.h +++ b/GUI/externals/qtpropertybrowser/qteditorfactory.h @@ -139,6 +139,7 @@ private: Q_DECLARE_PRIVATE(QtCheckBoxFactory) Q_DISABLE_COPY(QtCheckBoxFactory) Q_PRIVATE_SLOT(d_func(), void slotPropertyChanged(QtProperty *, bool)) + Q_PRIVATE_SLOT(d_func(), void slotTextVisibleChanged(QtProperty *, bool)) Q_PRIVATE_SLOT(d_func(), void slotSetValue(bool)) Q_PRIVATE_SLOT(d_func(), void slotEditorDestroyed(QObject *)) }; diff --git a/GUI/coregui/qttools/qtpropertybrowser/qtgroupboxpropertybrowser.cpp b/GUI/externals/qtpropertybrowser/qtgroupboxpropertybrowser.cpp similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/qtgroupboxpropertybrowser.cpp rename to GUI/externals/qtpropertybrowser/qtgroupboxpropertybrowser.cpp diff --git a/GUI/coregui/qttools/qtpropertybrowser/qtgroupboxpropertybrowser.h b/GUI/externals/qtpropertybrowser/qtgroupboxpropertybrowser.h similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/qtgroupboxpropertybrowser.h rename to GUI/externals/qtpropertybrowser/qtgroupboxpropertybrowser.h diff --git a/GUI/coregui/qttools/qtpropertybrowser/qtpropertybrowser.cpp b/GUI/externals/qtpropertybrowser/qtpropertybrowser.cpp similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/qtpropertybrowser.cpp rename to GUI/externals/qtpropertybrowser/qtpropertybrowser.cpp diff --git a/GUI/coregui/qttools/qtpropertybrowser/qtpropertybrowser.h b/GUI/externals/qtpropertybrowser/qtpropertybrowser.h similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/qtpropertybrowser.h rename to GUI/externals/qtpropertybrowser/qtpropertybrowser.h diff --git a/GUI/externals/qtpropertybrowser/qtpropertybrowser.pri b/GUI/externals/qtpropertybrowser/qtpropertybrowser.pri new file mode 100644 index 0000000000000000000000000000000000000000..2797827872d6c4086f5118bc0c05ea6138488f7d --- /dev/null +++ b/GUI/externals/qtpropertybrowser/qtpropertybrowser.pri @@ -0,0 +1,32 @@ +include(../common.pri) +greaterThan(QT_MAJOR_VERSION, 4): QT *= widgets +INCLUDEPATH += $$PWD +DEPENDPATH += $$PWD + +qtpropertybrowser-uselib:!qtpropertybrowser-buildlib { + LIBS += -L$$QTPROPERTYBROWSER_LIBDIR -l$$QTPROPERTYBROWSER_LIBNAME +} else { + DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0 + SOURCES += $$PWD/qtpropertybrowser.cpp \ + $$PWD/qtpropertymanager.cpp \ + $$PWD/qteditorfactory.cpp \ + $$PWD/qtvariantproperty.cpp \ + $$PWD/qttreepropertybrowser.cpp \ + $$PWD/qtbuttonpropertybrowser.cpp \ + $$PWD/qtgroupboxpropertybrowser.cpp \ + $$PWD/qtpropertybrowserutils.cpp + HEADERS += $$PWD/qtpropertybrowser.h \ + $$PWD/qtpropertymanager.h \ + $$PWD/qteditorfactory.h \ + $$PWD/qtvariantproperty.h \ + $$PWD/qttreepropertybrowser.h \ + $$PWD/qtbuttonpropertybrowser.h \ + $$PWD/qtgroupboxpropertybrowser.h \ + $$PWD/qtpropertybrowserutils_p.h + RESOURCES += $$PWD/qtpropertybrowser.qrc +} + +win32 { + contains(TEMPLATE, lib):contains(CONFIG, shared):DEFINES += QT_QTPROPERTYBROWSER_EXPORT + else:qtpropertybrowser-uselib:DEFINES += QT_QTPROPERTYBROWSER_IMPORT +} diff --git a/GUI/coregui/qttools/qtpropertybrowser/qtpropertybrowser.qrc b/GUI/externals/qtpropertybrowser/qtpropertybrowser.qrc similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/qtpropertybrowser.qrc rename to GUI/externals/qtpropertybrowser/qtpropertybrowser.qrc diff --git a/GUI/coregui/qttools/qtpropertybrowser/qtpropertybrowserutils.cpp b/GUI/externals/qtpropertybrowser/qtpropertybrowserutils.cpp similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/qtpropertybrowserutils.cpp rename to GUI/externals/qtpropertybrowser/qtpropertybrowserutils.cpp diff --git a/GUI/coregui/qttools/qtpropertybrowser/qtpropertybrowserutils_p.h b/GUI/externals/qtpropertybrowser/qtpropertybrowserutils_p.h similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/qtpropertybrowserutils_p.h rename to GUI/externals/qtpropertybrowser/qtpropertybrowserutils_p.h diff --git a/GUI/coregui/qttools/qtpropertybrowser/qtpropertymanager.cpp b/GUI/externals/qtpropertybrowser/qtpropertymanager.cpp similarity index 99% rename from GUI/coregui/qttools/qtpropertybrowser/qtpropertymanager.cpp rename to GUI/externals/qtpropertybrowser/qtpropertymanager.cpp index cfc54efef0d1dc21538689590cac749c3e06dda2..e50cafc452e141af270322427c13d775d8769537 100644 --- a/GUI/coregui/qttools/qtpropertybrowser/qtpropertymanager.cpp +++ b/GUI/externals/qtpropertybrowser/qtpropertymanager.cpp @@ -1600,7 +1600,16 @@ class QtBoolPropertyManagerPrivate public: QtBoolPropertyManagerPrivate(); - QMap<const QtProperty *, bool> m_values; + struct Data + { + Data() : val(false), textVisible(true) {} + bool val; + bool textVisible; + }; + + typedef QMap<const QtProperty *, Data> PropertyValueMap; + PropertyValueMap m_values; + const QIcon m_checkedIcon; const QIcon m_uncheckedIcon; }; @@ -1663,7 +1672,12 @@ QtBoolPropertyManager::~QtBoolPropertyManager() */ bool QtBoolPropertyManager::value(const QtProperty *property) const { - return d_ptr->m_values.value(property, false); + return getValue<bool>(d_ptr->m_values, property, false); +} + +bool QtBoolPropertyManager::textVisible(const QtProperty *property) const +{ + return getData<bool>(d_ptr->m_values, &QtBoolPropertyManagerPrivate::Data::textVisible, property, false); } /*! @@ -1671,13 +1685,17 @@ bool QtBoolPropertyManager::value(const QtProperty *property) const */ QString QtBoolPropertyManager::valueText(const QtProperty *property) const { - const QMap<const QtProperty *, bool>::const_iterator it = d_ptr->m_values.constFind(property); + const QtBoolPropertyManagerPrivate::PropertyValueMap::const_iterator it = d_ptr->m_values.constFind(property); if (it == d_ptr->m_values.constEnd()) return QString(); + const QtBoolPropertyManagerPrivate::Data &data = it.value(); + if (!data.textVisible) + return QString(); + static const QString trueText = tr("True"); static const QString falseText = tr("False"); - return it.value() ? trueText : falseText; + return data.val ? trueText : falseText; } /*! @@ -1685,11 +1703,11 @@ QString QtBoolPropertyManager::valueText(const QtProperty *property) const */ QIcon QtBoolPropertyManager::valueIcon(const QtProperty *property) const { - const QMap<const QtProperty *, bool>::const_iterator it = d_ptr->m_values.constFind(property); + const QtBoolPropertyManagerPrivate::PropertyValueMap::const_iterator it = d_ptr->m_values.constFind(property); if (it == d_ptr->m_values.constEnd()) return QIcon(); - return it.value() ? d_ptr->m_checkedIcon : d_ptr->m_uncheckedIcon; + return it.value().val ? d_ptr->m_checkedIcon : d_ptr->m_uncheckedIcon; } /*! @@ -1701,10 +1719,38 @@ QIcon QtBoolPropertyManager::valueIcon(const QtProperty *property) const */ void QtBoolPropertyManager::setValue(QtProperty *property, bool val) { - setSimpleValue<bool, bool, QtBoolPropertyManager>(d_ptr->m_values, this, - &QtBoolPropertyManager::propertyChanged, - &QtBoolPropertyManager::valueChanged, - property, val); + const QtBoolPropertyManagerPrivate::PropertyValueMap::iterator it = d_ptr->m_values.find(property); + if (it == d_ptr->m_values.end()) + return; + + QtBoolPropertyManagerPrivate::Data data = it.value(); + + if (data.val == val) + return; + + data.val = val; + it.value() = data; + + emit propertyChanged(property); + emit valueChanged(property, data.val); +} + +void QtBoolPropertyManager::setTextVisible(QtProperty *property, bool textVisible) +{ + const QtBoolPropertyManagerPrivate::PropertyValueMap::iterator it = d_ptr->m_values.find(property); + if (it == d_ptr->m_values.end()) + return; + + QtBoolPropertyManagerPrivate::Data data = it.value(); + + if (data.textVisible == textVisible) + return; + + data.textVisible = textVisible; + it.value() = data; + + emit propertyChanged(property); + emit textVisibleChanged(property, data.textVisible); } /*! @@ -1712,7 +1758,7 @@ void QtBoolPropertyManager::setValue(QtProperty *property, bool val) */ void QtBoolPropertyManager::initializeProperty(QtProperty *property) { - d_ptr->m_values[property] = false; + d_ptr->m_values[property] = QtBoolPropertyManagerPrivate::Data(); } /*! diff --git a/GUI/coregui/qttools/qtpropertybrowser/qtpropertymanager.h b/GUI/externals/qtpropertybrowser/qtpropertymanager.h similarity index 99% rename from GUI/coregui/qttools/qtpropertybrowser/qtpropertymanager.h rename to GUI/externals/qtpropertybrowser/qtpropertymanager.h index 6eff26eea9e36b96bd5eaff578d6a47d712a7b22..d6b94ccf1e4a888dea39d83e1e5c1033bc220985 100644 --- a/GUI/coregui/qttools/qtpropertybrowser/qtpropertymanager.h +++ b/GUI/externals/qtpropertybrowser/qtpropertymanager.h @@ -115,11 +115,14 @@ public: ~QtBoolPropertyManager(); bool value(const QtProperty *property) const; + bool textVisible(const QtProperty *property) const; public Q_SLOTS: void setValue(QtProperty *property, bool val); + void setTextVisible(QtProperty *property, bool textVisible); Q_SIGNALS: void valueChanged(QtProperty *property, bool val); + void textVisibleChanged(QtProperty *property, bool); protected: QString valueText(const QtProperty *property) const; QIcon valueIcon(const QtProperty *property) const; diff --git a/GUI/coregui/qttools/qtpropertybrowser/qttreepropertybrowser.cpp b/GUI/externals/qtpropertybrowser/qttreepropertybrowser.cpp similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/qttreepropertybrowser.cpp rename to GUI/externals/qtpropertybrowser/qttreepropertybrowser.cpp diff --git a/GUI/coregui/qttools/qtpropertybrowser/qttreepropertybrowser.h b/GUI/externals/qtpropertybrowser/qttreepropertybrowser.h similarity index 100% rename from GUI/coregui/qttools/qtpropertybrowser/qttreepropertybrowser.h rename to GUI/externals/qtpropertybrowser/qttreepropertybrowser.h diff --git a/GUI/coregui/qttools/qtpropertybrowser/qtvariantproperty.cpp b/GUI/externals/qtpropertybrowser/qtvariantproperty.cpp similarity index 98% rename from GUI/coregui/qttools/qtpropertybrowser/qtvariantproperty.cpp rename to GUI/externals/qtpropertybrowser/qtvariantproperty.cpp index d2c02e998f3cb81d174d0b3496bdf22ff0d59b24..d7fe11192c0c8374ee651701aa34070f7a35291a 100644 --- a/GUI/coregui/qttools/qtpropertybrowser/qtvariantproperty.cpp +++ b/GUI/externals/qtpropertybrowser/qtvariantproperty.cpp @@ -344,6 +344,7 @@ public: void slotFlagChanged(QtProperty *property, int val); void slotFlagNamesChanged(QtProperty *property, const QStringList &flagNames); void slotReadOnlyChanged(QtProperty *property, bool readOnly); + void slotTextVisibleChanged(QtProperty *property, bool textVisible); void slotPropertyInserted(QtProperty *property, QtProperty *parent, QtProperty *after); void slotPropertyRemoved(QtProperty *property, QtProperty *parent); @@ -375,6 +376,7 @@ public: const QString m_regExpAttribute; const QString m_echoModeAttribute; const QString m_readOnlyAttribute; + const QString m_textVisibleAttribute; }; QtVariantPropertyManagerPrivate::QtVariantPropertyManagerPrivate() : @@ -388,7 +390,8 @@ QtVariantPropertyManagerPrivate::QtVariantPropertyManagerPrivate() : m_minimumAttribute(QLatin1String("minimum")), m_regExpAttribute(QLatin1String("regExp")), m_echoModeAttribute(QLatin1String("echoMode")), - m_readOnlyAttribute(QLatin1String("readOnly")) + m_readOnlyAttribute(QLatin1String("readOnly")), + m_textVisibleAttribute(QLatin1String("textVisible")) { } @@ -556,6 +559,12 @@ void QtVariantPropertyManagerPrivate::slotReadOnlyChanged(QtProperty *property, emit q_ptr->attributeChanged(varProp, m_readOnlyAttribute, QVariant(readOnly)); } +void QtVariantPropertyManagerPrivate::slotTextVisibleChanged(QtProperty *property, bool textVisible) +{ + if (QtVariantProperty *varProp = m_internalToProperty.value(property, 0)) + emit q_ptr->attributeChanged(varProp, m_textVisibleAttribute, QVariant(textVisible)); +} + void QtVariantPropertyManagerPrivate::slotValueChanged(QtProperty *property, const QDate &val) { valueChanged(property, QVariant(val)); @@ -839,6 +848,10 @@ void QtVariantPropertyManagerPrivate::slotFlagNamesChanged(QtProperty *property, \o \o decimals \o QVariant::Int + \row + \o \c bool + \o textVisible + \o QVariant::Bool \row \o QString \o regExp @@ -993,9 +1006,12 @@ QtVariantPropertyManager::QtVariantPropertyManager(QObject *parent) // BoolPropertyManager QtBoolPropertyManager *boolPropertyManager = new QtBoolPropertyManager(this); d_ptr->m_typeToPropertyManager[QVariant::Bool] = boolPropertyManager; + d_ptr->m_typeToAttributeToAttributeType[QVariant::Bool][d_ptr->m_textVisibleAttribute] = QVariant::Bool; d_ptr->m_typeToValueType[QVariant::Bool] = QVariant::Bool; connect(boolPropertyManager, SIGNAL(valueChanged(QtProperty *, bool)), this, SLOT(slotValueChanged(QtProperty *, bool))); + connect(boolPropertyManager, SIGNAL(textVisibleChanged(QtProperty*, bool)), + this, SLOT(slotTextVisibleChanged(QtProperty*, bool))); // StringPropertyManager QtStringPropertyManager *stringPropertyManager = new QtStringPropertyManager(this); d_ptr->m_typeToPropertyManager[QVariant::String] = stringPropertyManager; @@ -1502,6 +1518,10 @@ QVariant QtVariantPropertyManager::attributeValue(const QtProperty *property, co if (attribute == d_ptr->m_readOnlyAttribute) return doubleManager->isReadOnly(internProp); return QVariant(); + } else if (QtBoolPropertyManager *boolManager = qobject_cast<QtBoolPropertyManager *>(manager)) { + if (attribute == d_ptr->m_textVisibleAttribute) + return boolManager->textVisible(internProp); + return QVariant(); } else if (QtStringPropertyManager *stringManager = qobject_cast<QtStringPropertyManager *>(manager)) { if (attribute == d_ptr->m_regExpAttribute) return stringManager->regExp(internProp); @@ -1753,6 +1773,10 @@ void QtVariantPropertyManager::setAttribute(QtProperty *property, if (attribute == d_ptr->m_readOnlyAttribute) doubleManager->setReadOnly(internProp, qVariantValue<bool>(value)); return; + } else if (QtBoolPropertyManager *boolManager = qobject_cast<QtBoolPropertyManager *>(manager)) { + if (attribute == d_ptr->m_textVisibleAttribute) + boolManager->setTextVisible(internProp, qVariantValue<bool>(value)); + return; } else if (QtStringPropertyManager *stringManager = qobject_cast<QtStringPropertyManager *>(manager)) { if (attribute == d_ptr->m_regExpAttribute) stringManager->setRegExp(internProp, qVariantValue<QRegExp>(value)); diff --git a/GUI/coregui/qttools/qtpropertybrowser/qtvariantproperty.h b/GUI/externals/qtpropertybrowser/qtvariantproperty.h similarity index 99% rename from GUI/coregui/qttools/qtpropertybrowser/qtvariantproperty.h rename to GUI/externals/qtpropertybrowser/qtvariantproperty.h index 41b28a6136a2bd1eae49918d9ed5c0ea289bc94f..2c09fe9eba6770d69b2614b93bfc5d63047644d0 100644 --- a/GUI/coregui/qttools/qtpropertybrowser/qtvariantproperty.h +++ b/GUI/externals/qtpropertybrowser/qtvariantproperty.h @@ -153,6 +153,7 @@ private: Q_PRIVATE_SLOT(d_func(), void slotValueChanged(QtProperty *, const QCursor &)) Q_PRIVATE_SLOT(d_func(), void slotFlagNamesChanged(QtProperty *, const QStringList &)) Q_PRIVATE_SLOT(d_func(), void slotReadOnlyChanged(QtProperty *, bool)) + Q_PRIVATE_SLOT(d_func(), void slotTextVisibleChanged(QtProperty *, bool)) Q_PRIVATE_SLOT(d_func(), void slotPropertyInserted(QtProperty *, QtProperty *, QtProperty *)) Q_PRIVATE_SLOT(d_func(), void slotPropertyRemoved(QtProperty *, QtProperty *)) Q_DECLARE_PRIVATE(QtVariantPropertyManager)