[kde-doc-english] [kdelibs/frameworks] tier3/kdesignerplugin: Add missing subdir, renamed from kdewidgets
David Faure
faure at kde.org
Tue Dec 17 10:51:01 UTC 2013
Git commit fd2c894e6163df2bb8d3b44de1f820a1d95bfaa9 by David Faure.
Committed on 17/12/2013 at 10:49.
Pushed by dfaure into branch 'frameworks'.
Add missing subdir, renamed from kdewidgets
If the diff on RB had headers I could have used git am...
A +63 -0 tier3/kdesignerplugin/CMakeLists.txt
A +3 -0 tier3/kdesignerplugin/KF5DesignerPluginConfig.cmake
A +42 -0 tier3/kdesignerplugin/KF5DesignerPluginMacros.cmake
A +1 -0 tier3/kdesignerplugin/Mainpage.dox
A +1 -0 tier3/kdesignerplugin/docs/CMakeLists.txt
A +1 -0 tier3/kdesignerplugin/docs/kgendesignerplugin/CMakeLists.txt
A +166 -0 tier3/kdesignerplugin/docs/kgendesignerplugin/man-kgendesignerplugin.1.docbook
A +3 -0 tier3/kdesignerplugin/src/AUTHORS
A +98 -0 tier3/kdesignerplugin/src/CMakeLists.txt
A +65 -0 tier3/kdesignerplugin/src/README
A +29 -0 tier3/kdesignerplugin/src/classpreviews.cpp [License: LGPL (v2+)]
A +41 -0 tier3/kdesignerplugin/src/classpreviews.h [License: LGPL (v2+)]
A +255 -0 tier3/kdesignerplugin/src/kde.widgets
A +10 -0 tier3/kdesignerplugin/src/kdewebkit.widgets
A +4 -0 tier3/kdesignerplugin/src/kdewebkitwidgets.qrc
A +33 -0 tier3/kdesignerplugin/src/kdewidgets.qrc
A +226 -0 tier3/kdesignerplugin/src/kgendesignerplugin.cpp [License: GENERATED FILE] *
A +35 -0 tier3/kdesignerplugin/src/pics/CMakeLists.txt
A +- -- tier3/kdesignerplugin/src/pics/k3iconview.png
A +- -- tier3/kdesignerplugin/src/pics/k3listview.png
A +- -- tier3/kdesignerplugin/src/pics/kactionselector.png
A +- -- tier3/kdesignerplugin/src/pics/kactivelabel.png
A +- -- tier3/kdesignerplugin/src/pics/kcharselect.png
A +- -- tier3/kdesignerplugin/src/pics/kcmodule.png
A +- -- tier3/kdesignerplugin/src/pics/kcolorbutton.png
A +- -- tier3/kdesignerplugin/src/pics/kcolorcombo.png
A +- -- tier3/kdesignerplugin/src/pics/kcombobox.png
A +- -- tier3/kdesignerplugin/src/pics/kdatepicker.png
A +- -- tier3/kdesignerplugin/src/pics/kdatetable.png
A +- -- tier3/kdesignerplugin/src/pics/kdualcolorbutton.png
A +- -- tier3/kdesignerplugin/src/pics/keditlistwidget.png
A +- -- tier3/kdesignerplugin/src/pics/kfontcombo.png
A +- -- tier3/kdesignerplugin/src/pics/kfontrequester.png
A +- -- tier3/kdesignerplugin/src/pics/kgradientselector.png
A +- -- tier3/kdesignerplugin/src/pics/khistorycombo.png
A +- -- tier3/kdesignerplugin/src/pics/khsselector.png
A +- -- tier3/kdesignerplugin/src/pics/kiconbutton.png
A +- -- tier3/kdesignerplugin/src/pics/kkeybutton.png
A +- -- tier3/kdesignerplugin/src/pics/kled.png
A +- -- tier3/kdesignerplugin/src/pics/klineedit.png
A +- -- tier3/kdesignerplugin/src/pics/klistbox.png
A +- -- tier3/kdesignerplugin/src/pics/kpalettetable.png
A +- -- tier3/kdesignerplugin/src/pics/kpasswordedit.png
A +- -- tier3/kdesignerplugin/src/pics/kruler.png
A +- -- tier3/kdesignerplugin/src/pics/ksqueezedtextlabel.png
A +- -- tier3/kdesignerplugin/src/pics/ktextedit.png
A +- -- tier3/kdesignerplugin/src/pics/kurlcomborequester.png
A +- -- tier3/kdesignerplugin/src/pics/kurllabel.png
A +- -- tier3/kdesignerplugin/src/pics/kurlrequester.png
A +7 -0 tier3/kdesignerplugin/tests/CMakeLists.txt
A +6 -0 tier3/kdesignerplugin/tests/README
A +2 -0 tier3/kdesignerplugin/tests/sums
A +261 -0 tier3/kdesignerplugin/tests/test.widgets
The files marked with a * at the end have a non valid license. Please read: http://techbase.kde.org/Policies/Licensing_Policy and use the headers which are listed at that page.
http://commits.kde.org/kdelibs/fd2c894e6163df2bb8d3b44de1f820a1d95bfaa9
diff --git a/tier3/kdesignerplugin/CMakeLists.txt b/tier3/kdesignerplugin/CMakeLists.txt
new file mode 100644
index 0000000..38424b4
--- /dev/null
+++ b/tier3/kdesignerplugin/CMakeLists.txt
@@ -0,0 +1,63 @@
+cmake_minimum_required(VERSION 2.8.12)
+
+project(KF5DesignerPlugin)
+
+find_package(ECM 0.0.9 REQUIRED NO_MODULE)
+
+set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
+
+include(KDEInstallDirs)
+include(KDEFrameworkCompilerSettings)
+include(KDECMakeSettings)
+include(FeatureSummary)
+
+set(REQUIRED_QT_VERSION 5.2.0)
+find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE COMPONENTS Core)
+
+set(KF5_VERSION 5.0.0)
+if("${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
+ find_package(KF5ItemViews ${KF5_VERSION} REQUIRED)
+ find_package(KF5I18n ${KF5_VERSION} REQUIRED)
+ find_package(KF5GuiAddons ${KF5_VERSION} REQUIRED)
+ find_package(KF5ConfigWidgets ${KF5_VERSION} REQUIRED)
+ find_package(KF5IconThemes ${KF5_VERSION} REQUIRED)
+ find_package(KF5WidgetsAddons ${KF5_VERSION} REQUIRED)
+ find_package(KF5Completion ${KF5_VERSION} REQUIRED)
+ find_package(KF5DBusAddons ${KF5_VERSION} REQUIRED)
+ find_package(KF5Service ${KF5_VERSION} REQUIRED)
+ find_package(KF5WindowSystem ${KF5_VERSION} REQUIRED)
+ find_package(KF5TextWidgets ${KF5_VERSION} REQUIRED)
+ find_package(KF5XmlGui ${KF5_VERSION} REQUIRED)
+ find_package(KF5Plotting ${KF5_VERSION} REQUIRED)
+ find_package(KF5Bookmarks ${KF5_VERSION} REQUIRED)
+
+ find_package(KF5DocTools ${KF5_VERSION} REQUIRED)
+ find_package(KF5KIO ${KF5_VERSION} REQUIRED)
+else()
+ set(_kdeBootStrapping TRUE)
+ set(KDOCTOOLS_CUSTOMIZATION_DIR "${KDocTools_BINARY_DIR}/src/customization/")
+ include(${CMAKE_SOURCE_DIR}/tier2/kdoctools/KF5DocToolsMacros.cmake)
+endif()
+
+remove_definitions(-DQT_NO_CAST_FROM_ASCII)
+
+set(CMAKECONFIG_INSTALL_DIR "${CMAKECONFIG_INSTALL_PREFIX}/KF5DesignerPlugin")
+
+add_subdirectory(docs)
+add_subdirectory(src)
+add_subdirectory(tests)
+
+include(ECMSetupVersion)
+ecm_setup_version(${KF5_VERSION} VARIABLE_PREFIX kf5designerplugin
+ VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kf5designerplugin_version.h"
+ PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF5DesignerPluginConfigVersion.cmake")
+
+install( FILES
+ KF5DesignerPluginMacros.cmake KF5DesignerPluginConfig.cmake "${CMAKE_CURRENT_BINARY_DIR}/KF5DesignerPluginConfigVersion.cmake"
+ DESTINATION ${CMAKECONFIG_INSTALL_DIR} COMPONENT Devel )
+
+install(EXPORT KF5DesignerPluginTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KF5DesignerPluginTargets.cmake NAMESPACE KF5:: )
+
+if ("${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
+ feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
+endif()
diff --git a/tier3/kdesignerplugin/KF5DesignerPluginConfig.cmake b/tier3/kdesignerplugin/KF5DesignerPluginConfig.cmake
new file mode 100644
index 0000000..df6ca1f
--- /dev/null
+++ b/tier3/kdesignerplugin/KF5DesignerPluginConfig.cmake
@@ -0,0 +1,3 @@
+include(${CMAKE_CURRENT_LIST_DIR}/KF5DesignerPluginTargets.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/KF5DesignerPluginMacros.cmake)
+set(KF5DESIGNERPLUGIN_GENERATOR_EXECUTABLE KF5::kgendesignerplugin)
diff --git a/tier3/kdesignerplugin/KF5DesignerPluginMacros.cmake b/tier3/kdesignerplugin/KF5DesignerPluginMacros.cmake
new file mode 100644
index 0000000..43fde97
--- /dev/null
+++ b/tier3/kdesignerplugin/KF5DesignerPluginMacros.cmake
@@ -0,0 +1,42 @@
+# Copyright (c) 2006-2009 Alexander Neundorf, <neundorf at kde.org>
+# Copyright (c) 2006, 2007, Laurent Montel, <montel at kde.org>
+# Copyright (c) 2007 Matthias Kretz <kretz at kde.org>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+# The following variable is defined:
+#
+# KF5DESIGNERPLUGIN_GENERATOR_EXECUTABLE - the executable to generate a plugin for Qt Designer
+#
+# It also adds the following macros and functions
+# KF5DESIGNERPLUGIN_ADD_WIDGET_FILES (SRCS_VAR file1.widgets ... fileN.widgets)
+# Use this to add widget description files for the Qt Designer plugin generator.
+#
+
+#FIXME: is this necessary once KF5DesignerPlugin is installed?
+set(_KF5DESIGNERPLUGIN_GENERATOR_EXECUTABLE_DEP kgendesignerplugin)
+
+macro (KF5DESIGNERPLUGIN_ADD_WIDGET_FILES _sources)
+ foreach (_current_FILE ${_sources})
+
+ get_filename_component(_input ${_current_FILE} ABSOLUTE)
+ get_filename_component(_basename ${_input} NAME_WE)
+ set(_source ${CMAKE_CURRENT_BINARY_DIR}/${_basename}widgets.cpp)
+ set(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_basename}widgets.moc)
+
+ # create source file from the .widgets file
+ add_custom_command(OUTPUT ${_source}
+ COMMAND ${KF5DESIGNERPLUGIN_GENERATOR_EXECUTABLE}
+ ARGS -o ${_source} ${_input}
+ MAIN_DEPENDENCY ${_input} DEPENDS ${_KF5DESIGNERPLUGIN_GENERATOR_EXECUTABLE_DEP})
+
+ # create moc file
+ qt5_generate_moc(${_source} ${_moc} )
+
+ list(APPEND ${_sources} ${_source} ${_moc})
+
+ endforeach (_current_FILE)
+
+endmacro (KF5DESIGNERPLUGIN_ADD_WIDGET_FILES)
+
diff --git a/tier3/kdesignerplugin/Mainpage.dox b/tier3/kdesignerplugin/Mainpage.dox
new file mode 100644
index 0000000..4b96d29
--- /dev/null
+++ b/tier3/kdesignerplugin/Mainpage.dox
@@ -0,0 +1 @@
+// DOXYGEN_SET_PROJECT_NAME = KF5DesignerPlugin
diff --git a/tier3/kdesignerplugin/docs/CMakeLists.txt b/tier3/kdesignerplugin/docs/CMakeLists.txt
new file mode 100644
index 0000000..14ac672
--- /dev/null
+++ b/tier3/kdesignerplugin/docs/CMakeLists.txt
@@ -0,0 +1 @@
+add_subdirectory(kgendesignerplugin)
diff --git a/tier3/kdesignerplugin/docs/kgendesignerplugin/CMakeLists.txt b/tier3/kdesignerplugin/docs/kgendesignerplugin/CMakeLists.txt
new file mode 100644
index 0000000..a5348cb
--- /dev/null
+++ b/tier3/kdesignerplugin/docs/kgendesignerplugin/CMakeLists.txt
@@ -0,0 +1 @@
+kdoctools_create_manpage(man-kgendesignerplugin.1.docbook 1 INSTALL_DESTINATION ${MAN_INSTALL_DIR})
diff --git a/tier3/kdesignerplugin/docs/kgendesignerplugin/man-kgendesignerplugin.1.docbook b/tier3/kdesignerplugin/docs/kgendesignerplugin/man-kgendesignerplugin.1.docbook
new file mode 100644
index 0000000..99d4244
--- /dev/null
+++ b/tier3/kdesignerplugin/docs/kgendesignerplugin/man-kgendesignerplugin.1.docbook
@@ -0,0 +1,166 @@
+<?xml version="1.0" ?>
+<!DOCTYPE refentry PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
+"dtd/kdex.dtd" [
+<!ENTITY % English "INCLUDE">
+]>
+
+<refentry lang="&language;">
+<refentryinfo>
+<title>Programming Tool</title>
+
+<author>
+<firstname>Ian</firstname>
+<othername>Reinhart</othername>
+<surname>Geiser</surname>
+<affiliation>
+<address>
+<email>geiseri at kde.org</email>
+</address>
+</affiliation>
+</author>
+
+<date>2006-06-01</date>
+<productname>K Desktop Environment</productname>
+</refentryinfo>
+
+<refmeta>
+<refentrytitle>
+<command>kgendesignerplugin</command>
+</refentrytitle>
+<manvolnum>1</manvolnum>
+</refmeta>
+
+<refnamediv>
+<refname>kgendesignerplugin</refname>
+<refpurpose>
+Builds &Qt; widget plugins from an ini style description file.
+</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<cmdsynopsis>
+<command>kgendesignerplugin</command>
+<arg>&Qt;-options</arg>
+<arg>&kde;-options</arg>
+<arg choice="plain"><replaceable>file</replaceable></arg>
+</cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+<title>Description</title>
+<para>
+<command>kgendesignerplugin</command> builds &Qt; widget plugins from an ini style description file.
+</para>
+</refsect1>
+
+<refsect1>
+<title>Options</title>
+
+<para>
+<variablelist>
+<title><emphasis role="bold">Arguments:</emphasis></title>
+<varlistentry>
+<term>
+<replaceable>file</replaceable>
+</term>
+<listitem>
+<para>Input file</para>
+</listitem>
+</varlistentry>
+</variablelist>
+</para>
+
+<para>
+<variablelist>
+<title><emphasis role="bold">Options:</emphasis></title>
+<varlistentry>
+<term>
+<option>-o <file></option>
+</term>
+<listitem>
+<para>Output file</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term>
+<option>-n <plugin name></option>
+</term>
+<listitem>
+<para>Name of the plugin class to generate [WidgetsPlugin]</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term>
+<option>-g <group></option>
+</term>
+<listitem>
+<para>Default widget group name to display in designer [Custom]</para>
+</listitem>
+</varlistentry>
+</variablelist>
+</para>
+
+<para>
+<variablelist>
+<title><emphasis role="bold">Generic options:</emphasis></title>
+
+<varlistentry>
+<term>
+<option>--help</option>
+</term>
+<listitem>
+<para>Show help about options</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term>
+<option>--author</option>
+</term>
+<listitem>
+<para>Show author information</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term>
+<option>-v, --version</option>
+</term>
+<listitem>
+<para>Show version information</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term>
+<option>--license</option>
+</term>
+<listitem>
+<para>Show license information</para>
+</listitem>
+</varlistentry>
+</variablelist>
+</para>
+
+</refsect1>
+
+<refsect1>
+<title>See Also</title>
+<variablelist>
+<varlistentry>
+<term>
+<option>http://developer.kde.org</option>
+</term>
+<listitem>
+<para>&kde; Developer's Corner website</para>
+</listitem>
+</varlistentry>
+</variablelist>
+</refsect1>
+
+<refsect1>
+<title>Bugs</title>
+<para>Please use <ulink url="http://bugs.kde.org">bugs.kde.org</ulink> to report bugs, do not mail the authors directly.</para>
+</refsect1>
+
+</refentry>
diff --git a/tier3/kdesignerplugin/src/AUTHORS b/tier3/kdesignerplugin/src/AUTHORS
new file mode 100644
index 0000000..1c83415
--- /dev/null
+++ b/tier3/kdesignerplugin/src/AUTHORS
@@ -0,0 +1,3 @@
+Daniel Molkentin <molkentin at kde.org>
+Malte Starostik <malte at kde.org>
+Nick Betcher <nbetcher at usinternet.com>
diff --git a/tier3/kdesignerplugin/src/CMakeLists.txt b/tier3/kdesignerplugin/src/CMakeLists.txt
new file mode 100644
index 0000000..3e51888
--- /dev/null
+++ b/tier3/kdesignerplugin/src/CMakeLists.txt
@@ -0,0 +1,98 @@
+include(ECMMarkNonGuiExecutable)
+
+remove_definitions(-DQT_NO_CAST_FROM_ASCII)
+
+add_subdirectory( pics )
+
+########### next target ###############
+
+add_executable(kgendesignerplugin kgendesignerplugin.cpp)
+ecm_mark_nongui_executable(kgendesignerplugin)
+
+target_link_libraries(kgendesignerplugin KF5::ConfigCore # KConfig + KConfigGroup
+ KF5::CoreAddons # KMacroExpander
+ )
+
+# "export" this target too so we can use the LOCATION property of the imported target in
+# FindKDE4Internal.cmake to get the full path to the installed executable instead of using FIND_PROGRAM(), Alex
+install(TARGETS kgendesignerplugin EXPORT KF5DesignerPluginTargets ${INSTALL_TARGETS_DEFAULT_ARGS} )
+
+
+########### next target ###############
+
+find_package(Qt5Designer)
+
+if(Qt5Designer_FOUND)
+
+ include_directories(${Qt5Designer_INCLUDE_DIRS})
+
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/kdewidgets.cpp
+ COMMAND kgendesignerplugin -o ${CMAKE_CURRENT_BINARY_DIR}/kdewidgets.cpp ${CMAKE_CURRENT_SOURCE_DIR}/kde.widgets
+ MAIN_DEPENDENCY kde.widgets)
+
+ set(kf5widgets_PART_SRCS
+ classpreviews.cpp
+ ${CMAKE_CURRENT_BINARY_DIR}/kdewidgets.cpp
+ ${CMAKE_CURRENT_BINARY_DIR}/kdewidgets.moc
+ )
+
+ qt5_generate_moc(${CMAKE_CURRENT_BINARY_DIR}/kdewidgets.cpp ${CMAKE_CURRENT_BINARY_DIR}/kdewidgets.moc)
+
+
+ qt5_add_resources(kf5widgets_PART_SRCS kdewidgets.qrc)
+
+ add_library(kf5widgets MODULE ${kf5widgets_PART_SRCS})
+
+ target_link_libraries(kf5widgets KF5::KIOFileWidgets KF5::Plotting KF5::WidgetsAddons KF5::I18n KF5::IconThemes KF5::TextWidgets KF5::ItemViews)
+ if(NOT WIN32)
+ set_target_properties(kf5widgets PROPERTIES
+ INSTALL_RPATH_USE_LINK_PATH TRUE
+ SKIP_BUILD_RPATH TRUE
+ BUILD_WITH_INSTALL_RPATH TRUE
+ INSTALL_RPATH ${LIB_INSTALL_DIR}
+ )
+ endif()
+
+ install(TARGETS kf5widgets DESTINATION ${QT_PLUGIN_INSTALL_DIR}/designer)
+
+ if(Qt5WebKitWidgets_FOUND)
+
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/kdewebkitwidgets.cpp
+ COMMAND kgendesignerplugin -o ${CMAKE_CURRENT_BINARY_DIR}/kdewebkitwidgets.cpp ${CMAKE_CURRENT_SOURCE_DIR}/kdewebkit.widgets
+ MAIN_DEPENDENCY kdewebkit.widgets)
+
+ set(kdewebkitwidgets_PART_SRCS
+ classpreviews.cpp
+ ${CMAKE_CURRENT_BINARY_DIR}/kdewebkitwidgets.cpp
+ ${CMAKE_CURRENT_BINARY_DIR}/kdewebkitwidgets.moc
+ )
+
+ qt5_generate_moc(${CMAKE_CURRENT_BINARY_DIR}/kdewebkitwidgets.cpp ${CMAKE_CURRENT_BINARY_DIR}/kdewebkitwidgets.moc)
+
+
+ qt5_add_resources(kdewebkitwidgets_PART_SRCS kdewebkitwidgets.qrc)
+
+ add_library(kdewebkitwidgets MODULE ${kdewebkitwidgets_PART_SRCS})
+
+ target_link_libraries(kdewebkitwidgets KDEWebKit Qt5::WebKitWidgets)
+ if(NOT WIN32)
+ set_target_properties(kdewebkitwidgets PROPERTIES
+ INSTALL_RPATH_USE_LINK_PATH TRUE
+ SKIP_BUILD_RPATH TRUE
+ BUILD_WITH_INSTALL_RPATH TRUE
+ INSTALL_RPATH ${LIB_INSTALL_DIR}
+ )
+ endif()
+
+ install(TARGETS kdewebkitwidgets DESTINATION ${QT_PLUGIN_INSTALL_DIR}/designer )
+
+ endif() # webkit
+
+endif()
+
+########### install files ###############
+
+
+
+
+
diff --git a/tier3/kdesignerplugin/src/README b/tier3/kdesignerplugin/src/README
new file mode 100644
index 0000000..cbf0794
--- /dev/null
+++ b/tier3/kdesignerplugin/src/README
@@ -0,0 +1,65 @@
+KDE Custom Widgets for Qt Designer 2
+====================================
+
+
+Summary:
+========
+
+This directory contains KDE custom widgets for Qt Designer which comes with
+Qt 4. Just make sure that QT_PLUGIN_PATH includes
+$KDEDIR/lib/kde4/plugins . With the KDE build system nothing special
+(i.e. editing the plugin path) is needed, as uic will automatically be
+called with -L <path to the kdewidgets plugin> .
+
+This plugin uses the QWidget plugin API of Qt >= 4.0
+Don't expect it to work with any other versions of Qt.
+
+
+Known Bugs:
+===========
+
+Designer crashes when using widgets that use the kapp pointer.
+
+HOWTO Add Widgets:
+==================
+Just add new widgets to kde.widgets like this:
+[ClassName]
+IncludeFile=myheader.h
+IconSet=mycoolwidget.png
+ToolTip=My Cool Widget
+WhatsThis=Long description of my cool widget
+ConstructorArgs=(parent, name, otherNeccessaryArg)
+IsContainer=true
+Group=MyWidgetCollection
+
+Everything but [ClassName] is optional.
+IncludeFile defaults to classname.h (all lowercase)
+IconSet defaults to classname.png (all lowercase)
+ToolTip defaults to ClassName
+WhatsThis defaults to ClassName
+ConstructorArgs=(parent, name)
+IsContainer defaults to false - note, any value except an empty one is
+ interpreted as true, even if the value
+ is "false" :) So, if the widget is not a
+ container, just omit this line.
+Group defaults to "KDE"
+
+Don't forget to add an icon to the pics directory. Try to make it look similar to the other icons and be the same size.
+
+There are some global options that you can have.
+
+[Global]
+Init=new InitCode();
+Destroy= delete object;
+PluginName=MyPlugin
+
+PluginName overrides the passed in value at the command line and is optional.
+Init and Destroy are both optional arguments that can be used for custom build
+up and tear down code.
+
+Have fun!
+
+
+Ian Reinhart Geiser <geiseri at kde.org>
+Daniel Molkentin <molkentin at kde.org>
+Malte Starostik <malte at kde.org>
diff --git a/tier3/kdesignerplugin/src/classpreviews.cpp b/tier3/kdesignerplugin/src/classpreviews.cpp
new file mode 100644
index 0000000..42dfa62
--- /dev/null
+++ b/tier3/kdesignerplugin/src/classpreviews.cpp
@@ -0,0 +1,29 @@
+/* This file is part of the KDE libraries
+ Copyright (C) 2001 Daniel Molkentin <molkentin at kde.org>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "classpreviews.h"
+
+KDialogPreview::KDialogPreview(QWidget * parent)
+{
+ if (parent)
+ setParent(parent);
+ else
+ qDebug("Error while reparenting!");
+}
+
diff --git a/tier3/kdesignerplugin/src/classpreviews.h b/tier3/kdesignerplugin/src/classpreviews.h
new file mode 100644
index 0000000..6d128dd
--- /dev/null
+++ b/tier3/kdesignerplugin/src/classpreviews.h
@@ -0,0 +1,41 @@
+/* This file is part of the KDE libraries
+ Copyright (C) 2001 Daniel Molkentin <molkentin at kde.org>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+/*
+
+ This class is intended as a place to widgets previews for designer. Simply inherit
+ your widget and modify its behavior (i.e. enter example data or do a reparent()).
+
+ This will only affect the preview, designer/uic will still use the original widget
+ in the final source output!
+
+ */
+
+#ifndef CLASSPREVIEWS_H
+#define CLASSPREVIEWS_H
+
+#include <QDialog>
+
+class KDialogPreview : public QDialog
+{
+public:
+ KDialogPreview(QWidget * parent = 0);
+};
+
+#endif // CLASSPREVIEWS_H
diff --git a/tier3/kdesignerplugin/src/kde.widgets b/tier3/kdesignerplugin/src/kde.widgets
new file mode 100644
index 0000000..65f3839
--- /dev/null
+++ b/tier3/kdesignerplugin/src/kde.widgets
@@ -0,0 +1,255 @@
+[Global]
+PluginName=KF5Widgets
+Includes=classpreviews.h
+Init=
+
+[KActionSelector]
+IncludeFile=kactionselector.h
+ToolTip=A widget for selecting and arranging actions/objects
+Group=Views (KDE)
+
+[KAnimatedButton]
+IncludeFile=kanimatedbutton.h
+ToolTip=An extended version of QToolButton which can display an animated icon.
+Group=Display (KDE)
+ConstructorArgs=(parent)
+
+[KCapacityBar]
+IncludeFile=kcapacitybar.h
+ToolTip=Capacity Bar (KDE)
+ConstructorArgs=(KCapacityBar::DrawTextOutline, parent)
+Group=Display (KDE)
+
+[KCategorizedView]
+ToolTip=Categorized Item View (KDE)
+WhatsThis=Item view for listing items in a categorized fashion optionally.
+Group=Views (KDE)
+
+[KCharSelect]
+ToolTip=Character Selection Widget (KDE)
+WhatsThis=A widget that allows selection a character out ot a table
+Group=Graphics (KDE)
+ConstructorArgs=(parent, 0)
+
+[KColorButton]
+ToolTip=Color Chooser Button (KDE)
+WhatsThis=A button that allows selecting a color
+Group=Graphics (KDE)
+
+[KColorCombo]
+ToolTip=Color Combo Box (KDE)
+Group=Graphics (KDE)
+
+[KComboBox]
+ToolTip=Combo Box (KDE)
+Group=Input (KDE)
+
+[KDatePicker]
+ToolTip=A date selection widget (KDE)
+WhatsThis=Provides a widget for calendar date input
+Group=Date/Time (KDE)
+
+[KDateComboBox]
+ToolTip=This widget can be used to display or edit the date. (KDE)
+IncludeFile=kdatecombobox.h
+Group=Date/Time (KDE)
+
+[KTimeComboBox]
+ToolTip=This widget can be used to display or edit the time. (KDE)
+IncludeFile=ktimecombobox.h
+Group=Date/Time (KDE)
+
+[KDateTimeEdit]
+ToolTip=This widget can be used to display or edit the date and time. (KDE)
+IncludeFile=kdatetimeedit.h
+Group=Date/Time (KDE)
+
+[KEditListWidget]
+ToolTip=Fullfeatured edit box with buttons (KDE)
+Group=Views (KDE)
+
+[KFilterProxySearchLine]
+IncludeFile=kfilterproxysearchline.h
+ToolTip=Filter proxy search line
+WhatsThis=A search line widget which works on a QSortFilterProxyModel
+Group=Input (KDE)
+
+[KFontChooser]
+IncludeFile=kfontchooser.h
+IconSet=kfontcombo.png
+ToolTip=Font Chooser (KDE)
+WhatsThis=A font type, size and style selection widget complete with preview
+Group=Input (KDE)
+
+[KFontRequester]
+IncludeFile=kfontrequester.h
+ToolTip=Font Requester (KDE)
+WhatsThis=A compact font selection and preview widget
+Group=Input (KDE)
+
+[KGradientSelector]
+IncludeFile=kselector.h
+ToolTip=Gradient Color Selector (KDE)
+Group=Input (KDE)
+
+[KHistoryComboBox]
+IncludeFile=khistorycombobox.h
+ToolTip=A combobox for offering a history and completion (KDE)
+WhatsThis=A combobox which implements a history like a unix shell
+Group=Input (KDE)
+
+[KIconButton]
+IncludeFile=kiconbutton.h
+ToolTip=Button for selecting an icon (KDE)
+Group=Buttons (KDE)
+
+[KImageFilePreview]
+IncludeFile=kimagefilepreview.h
+ToolTip=A widget that provides a image preview of a URL
+Group=Display (KDE)
+ConstructorArgs=(parent)
+
+[KKeySequenceWidget]
+ToolTip=QKeySequence picker widget. (KDE)
+WhatsThis=A widget to pick a QKeySequence.
+IncludeFile=kkeysequencewidget.h
+Group=Buttons (KDE)
+
+[KLanguageButton]
+ToolTip=Language Button (KDE)
+WhatsThis=KDE's language button.
+IncludeFile=klanguagebutton.h
+Group=Buttons (KDE)
+
+[KLed]
+ToolTip=LED Widget (KDE)
+WhatsThis=A widget showing a light emitter diode
+Group=Display (KDE)
+
+[KLineEdit]
+ToolTip=Line Edit (KDE)
+Group=Input (KDE)
+
+[KListWidgetSearchLine]
+ToolTip=QListWidget Search Line (KDE)
+Group=Input (KDE)
+ConstructorArgs=(parent, 0)
+
+[KMultiTabBar]
+ToolTip=Multi Tab Bar Widget (KDE)
+WhatsThis=A Widget for horizontal and vertical tabs.
+ConstructorArgs=(KMultiTabBar::Left, parent)
+Group=Display (KDE)
+
+[KPageView]
+ToolTip=Paged View (KDE)
+WhatsThis=A base class which can handle multiple pages.
+Group=Views (KDE)
+
+[KPageWidget]
+ToolTip=Paged Widget (KDE)
+WhatsThis=Page widget with many layouts (faces).
+Group=Views (KDE)
+
+[KPixmapRegionSelectorWidget]
+IncludeFile=kpixmapregionselectorwidget.h
+ToolTip=Pixmap Region Selector (KDE)
+Group=Graphics (KDE)
+
+[KPixmapSequenceWidget]
+ToolTip=Pixmap Sequence Widget (KDE)
+WhatsThis=A simple widget showing a fixed size pixmap sequence.
+Group=Display (KDE)
+
+[KPlotWidget]
+IncludeFile=kplotwidget.h
+ToolTip=A plot widget
+WhatsThis=A widget for easily making 2-dimensional plots
+Group=Plot (KDE)
+
+[KRatingWidget]
+IncludeFile=kratingwidget.h
+ToolTip=Rating value display (KDE)
+WhatsThis=Displays a rating as a range of stars or other arbitrary pixmaps.
+Group=Display (KDE)
+
+[KRichTextEdit]
+IncludeFile=krichtextedit.h
+ToolTip=Rich Text Editor (KDE)
+Group=Input (KDE)
+
+[KRichTextWidget]
+IncludeFile=krichtextwidget.h
+ToolTip=Rich Text Widget (KDE)
+Group=Input (KDE)
+
+[KRuler]
+ToolTip=Measuring Ruler Widget (KDE)
+WhatsThis=A measuring ruler widget as seen in KWord for page widths and heights
+Group=Display (KDE)
+
+[KSeparator]
+IncludeFile=kseparator.h
+ToolTip=Standard horizontal or vertical separator.
+Group=Display (KDE)
+
+[KShortcutsEditor]
+ToolTip=Shortcuts editor widget. (KDE)
+WhatsThis=A widget to edit a list of shortcuts.
+IncludeFile=kshortcutseditor.h
+Group=Input (KDE)
+
+[KShortcutWidget]
+ToolTip=Shortcut picker widget. (KDE)
+WhatsThis=A widget to pick a KShortcut.
+IncludeFile=kshortcutwidget.h
+Group=Buttons (KDE)
+
+[KSqueezedTextLabel]
+ToolTip=A QLabel that squeezes its text (KDE)
+WhatsThis=If the text is too long to fit into the label it is divided into remaining left and right parts which are separated by three dots
+ConstructorArgs=("KSqueezedTextLabel", parent)
+Group=Display (KDE)
+
+[KTextEdit]
+ToolTip=Improved QTextEdit (KDE)
+WhatsThis=An improved version of the QTextEdit with mail or system browser invocation support
+Group=Input (KDE)
+
+[KTitleWidget]
+ToolTip=Title box with label and icon
+WhatsThis=A styled frame to be used in title positions in dialogs and other widgets
+Group=Display (KDE)
+
+[KTreeWidgetSearchLine]
+ToolTip=QTreeWidget Search Line (KDE)
+Group=Input (KDE)
+ConstructorArgs=(parent, 0)
+
+[KTreeWidgetSearchLineWidget]
+ToolTip=QTreeWidget Search Line Widget (KDE)
+IncludeFile=ktreewidgetsearchline.h
+Group=Input (KDE)
+ConstructorArgs=(parent, 0)
+
+[KUrlComboRequester]
+ToolTip=URL Requester (KDE)
+WhatsThis=A widget holding a combobox and a pushbutton. A "file open" dialog opened when clicking on the pushbutton
+IncludeFile=kurlrequester.h
+Group=Input (KDE)
+
+[KUrlLabel]
+ToolTip=URL Label (KDE)
+ConstructorArgs=("KUrlLabel", QString(), parent)
+Group=Display (KDE)
+
+[KUrlRequester]
+ToolTip=URL Requester (KDE)
+WhatsThis=A widget holding a lineedit and a pushbutton. A "file open" dialog opened when clicking on the pushbutton
+Group=Input (KDE)
+
+[Sonnet::DictionaryComboBox]
+IncludeFile=sonnet/dictionarycombobox.h
+ToolTip=Dictionary Combobox
+WhatsThis=A combobox to select a dictionary for spellchecking
+Group=Sonnet (KDE)
diff --git a/tier3/kdesignerplugin/src/kdewebkit.widgets b/tier3/kdesignerplugin/src/kdewebkit.widgets
new file mode 100644
index 0000000..9f07307
--- /dev/null
+++ b/tier3/kdesignerplugin/src/kdewebkit.widgets
@@ -0,0 +1,10 @@
+[Global]
+PluginName=KDEWebKitWidgets
+Includes=classpreviews.h
+Init=
+
+[KWebView]
+IncludeFile=kwebview.h
+ToolTip=KDE WebKit View
+WhatsThis=A WebKit view with KDE integration.
+Group=Views (KDE)
diff --git a/tier3/kdesignerplugin/src/kdewebkitwidgets.qrc b/tier3/kdesignerplugin/src/kdewebkitwidgets.qrc
new file mode 100644
index 0000000..4ca9cd5
--- /dev/null
+++ b/tier3/kdesignerplugin/src/kdewebkitwidgets.qrc
@@ -0,0 +1,4 @@
+<!DOCTYPE RCC><RCC version="1.0">
+<qresource>
+</qresource>
+</RCC>
diff --git a/tier3/kdesignerplugin/src/kdewidgets.qrc b/tier3/kdesignerplugin/src/kdewidgets.qrc
new file mode 100644
index 0000000..b180522
--- /dev/null
+++ b/tier3/kdesignerplugin/src/kdewidgets.qrc
@@ -0,0 +1,33 @@
+<!DOCTYPE RCC><RCC version="1.0">
+<qresource>
+<file>pics/kactionselector.png</file>
+<file>pics/kactivelabel.png</file>
+<file>pics/kcharselect.png</file>
+<file>pics/kcmodule.png</file>
+<file>pics/kcolorbutton.png</file>
+<file>pics/kcolorcombo.png</file>
+<file>pics/kcombobox.png</file>
+<file>pics/kdatepicker.png</file>
+<file>pics/kdatetable.png</file>
+<file>pics/kdualcolorbutton.png</file>
+<file>pics/keditlistwidget.png</file>
+<file>pics/kfontcombo.png</file>
+<file>pics/kfontrequester.png</file>
+<file>pics/kgradientselector.png</file>
+<file>pics/khistorycombo.png</file>
+<file>pics/khsselector.png</file>
+<file>pics/kiconbutton.png</file>
+<file>pics/kkeybutton.png</file>
+<file>pics/kled.png</file>
+<file>pics/klineedit.png</file>
+<file>pics/klistbox.png</file>
+<file>pics/kpalettetable.png</file>
+<file>pics/kpasswordedit.png</file>
+<file>pics/kruler.png</file>
+<file>pics/ksqueezedtextlabel.png</file>
+<file>pics/ktextedit.png</file>
+<file>pics/kurlcomborequester.png</file>
+<file>pics/kurllabel.png</file>
+<file>pics/kurlrequester.png</file>
+</qresource>
+</RCC>
diff --git a/tier3/kdesignerplugin/src/kgendesignerplugin.cpp b/tier3/kdesignerplugin/src/kgendesignerplugin.cpp
new file mode 100644
index 0000000..46bfd14
--- /dev/null
+++ b/tier3/kdesignerplugin/src/kgendesignerplugin.cpp
@@ -0,0 +1,226 @@
+/* Copyright (C) 2004-2005 ian reinhart geiser <geiseri at sourcextreme.com> */
+
+#include <kconfig.h>
+#include <kmacroexpander.h>
+#include <kconfiggroup.h>
+#include <kaboutdata.h>
+#include <QCommandLineOption>
+#include <QCommandLineParser>
+#include <QCoreApplication>
+#include <QFile>
+#include <QFileInfo>
+#include <QHash>
+#include <QString>
+#include <QStringList>
+#include <QTextStream>
+
+static const char classHeader[] = "/**\n"
+ "* This file was autogenerated by kgendesignerplugin. Any changes will be lost!\n"
+ "* The generated code in this file is licensed under the same license that the\n"
+ "* input file.\n"
+ "*/\n"
+ "#include <QIcon>\n"
+ "#include <QtDesigner/QDesignerContainerExtension>\n"
+ "#include <QDesignerCustomWidgetInterface>\n"
+ "#include <qplugin.h>\n"
+ "#include <qdebug.h>\n";
+
+static const char collClassDef[] = "class %CollName : public QObject, public QDesignerCustomWidgetCollectionInterface\n"
+ "{\n"
+ " Q_OBJECT\n"
+ " Q_INTERFACES(QDesignerCustomWidgetCollectionInterface)\n"
+ " Q_PLUGIN_METADATA(IID \"org.qt-project.Qt.QDesignerCustomWidgetInterface\")\n"
+ "public:\n"
+ " %CollName(QObject *parent = 0);\n"
+ " virtual ~%CollName() {}\n"
+ " QList<QDesignerCustomWidgetInterface*> customWidgets() const { return m_plugins; } \n"
+ " \n"
+ "private:\n"
+ " QList<QDesignerCustomWidgetInterface*> m_plugins;\n"
+ "};\n\n"
+ ;
+
+static const char collClassImpl[] = "%CollName::%CollName(QObject *parent)\n"
+ " : QObject(parent)"
+ "{\n"
+ "%CollectionAdd\n"
+ "}\n\n";
+
+
+static const char classDef[] = "class %PluginName : public QObject, public QDesignerCustomWidgetInterface\n"
+ "{\n"
+ " Q_OBJECT\n"
+ " Q_INTERFACES(QDesignerCustomWidgetInterface)\n"
+ "public:\n"
+ " %PluginName(QObject *parent = 0) :\n\t\tQObject(parent), mInitialized(false) {}\n"
+ " virtual ~%PluginName() {}\n"
+ " \n"
+ " bool isContainer() const { return %IsContainer; }\n"
+ " bool isInitialized() const { return mInitialized; }\n"
+ " QIcon icon() const { return QIcon(QLatin1String(\"%IconName\")); }\n"
+ " QString codeTemplate() const { return QLatin1String(\"%CodeTemplate\");}\n"
+ " QString domXml() const { return %DomXml; }\n"
+ " QString group() const { return QLatin1String(\"%Group\"); }\n"
+ " QString includeFile() const { return QLatin1String(\"%IncludeFile\"); }\n"
+ " QString name() const { return QLatin1String(\"%Class\"); }\n"
+ " QString toolTip() const { return QLatin1String(\"%ToolTip\"); }\n"
+ " QString whatsThis() const { return QLatin1String(\"%WhatsThis\"); }\n\n"
+ " QWidget* createWidget( QWidget* parent ) \n\t{%CreateWidget\n\t}\n"
+ " void initialize(QDesignerFormEditorInterface *core) \n\t{%Initialize\n\t}\n"
+ "\n"
+ "private:\n"
+ " bool mInitialized;\n"
+ "};\n\n";
+
+static QString denamespace ( const QString &str );
+static QString buildCollClass( KConfig &input, const QStringList& classes );
+static QString buildWidgetClass( const QString &name, KConfig &input, const QString &group );
+static QString buildWidgetInclude( const QString &name, KConfig &input );
+static void buildFile( QTextStream &stream, const QString& group, const QString& fileName, const QString& pluginName );
+
+int main( int argc, char **argv ) {
+ QCoreApplication app(argc, argv);
+
+ QString description = QCoreApplication::translate("main", "Builds Qt widget plugins from an ini style description file.");
+ const char version[] = "0.5";
+ app.setApplicationVersion(version);
+
+ QCommandLineParser parser;
+ parser.addVersionOption();
+ parser.addHelpOption();
+ //options.add("+file", QCoreApplication::translate("kgendesignerplugin about data", "Input file" ) );
+ parser.addOption(QCommandLineOption(QStringList() << "o", QCoreApplication::translate("main", "Output file"), "file"));
+ parser.addOption(QCommandLineOption(QStringList() << "n", QCoreApplication::translate("main", "Name of the plugin class to generate"), "plugin name", "WidgetsPlugin"));
+ parser.addOption(QCommandLineOption(QStringList() << "g", QCoreApplication::translate("main", "Default widget group name to display in designer"), "group", "Custom"));
+
+ KAboutData about( "kgendesignerplugin", 0, QCoreApplication::translate("kgendesignerplugin about data", "kgendesignerplugin" ), version, description, KAboutData::License_GPL, QCoreApplication::translate("kgendesignerplugin about data", "(C) 2004-2005 Ian Reinhart Geiser"), QString(), 0, "geiseri at kde.org" );
+ about.addAuthor( QCoreApplication::translate("kgendesignerplugin about data", "Ian Reinhart Geiser"), QString(), "geiseri at kde.org" );
+ about.addAuthor( QCoreApplication::translate("kgendesignerplugin about data", "Daniel Molkentin"), QString(), "molkentin at kde.org" );
+ about.setupCommandLine(&parser);
+
+ parser.process(app);
+ about.processCommandLine(&parser);
+ if (parser.positionalArguments().count() < 1) {
+ parser.showHelp();
+ return 1;
+ }
+
+ QFileInfo fi(parser.positionalArguments().at(0));
+
+ QString outputFile = parser.value( "o" );
+ QString pluginName = parser.value( "n" );
+ QString group = parser.value( "g" );
+ QString fileName = fi.absoluteFilePath();
+
+ if ( parser.isSet( "o" ) ) {
+ QFile output( outputFile );
+ if ( output.open( QIODevice::WriteOnly ) ) {
+ QTextStream ts( &output );
+ buildFile( ts, group, fileName , pluginName );
+ QString mocFile = output.fileName();
+ mocFile.replace(".cpp", ".moc");
+ ts << QString( "#include <%1>\n" ).arg(mocFile) << endl;
+ }
+ output.close();
+ } else {
+ QTextStream ts( stdout, QIODevice::WriteOnly );
+ buildFile( ts, group, fileName , pluginName );
+ }
+}
+
+void buildFile( QTextStream &ts, const QString& group, const QString& fileName, const QString& pluginName ) {
+ KConfig input( fileName, KConfig::NoGlobals );
+ KConfigGroup cg(&input, "Global" );
+ QHash<QString, QString> MainMap;
+ MainMap.insert( "PluginName", cg.readEntry( "PluginName", pluginName ) );
+ MainMap.insert( "PluginNameLower", cg.readEntry( "PluginName", pluginName ).toLower() );
+ MainMap.insert( "Init", cg.readEntry( "Init", "" ) );
+ MainMap.insert( "Destroy", cg.readEntry( "Destroy", "" ) );
+ ts << classHeader << endl;
+
+ QStringList includes = cg.readEntry( "Includes", QStringList() );
+ QStringList classes = input.groupList();
+ classes.removeAll( "Global" );
+
+ foreach ( const QString &myInclude, classes )
+ includes += buildWidgetInclude( myInclude, input );
+
+ foreach ( const QString &myInclude, includes)
+ ts << "#include <" << myInclude << ">" << endl;
+
+ ts << QLatin1String("\n\n");
+
+ // Autogenerate widget defs here
+ foreach ( const QString &myClass, classes )
+ ts << buildWidgetClass( myClass, input, group ) << endl;
+
+ ts << buildCollClass( input, classes );
+
+}
+
+QString denamespace ( const QString &str ) {
+ QString denamespaced = str;
+ denamespaced.remove("::");
+ return denamespaced;
+}
+
+QString buildCollClass( KConfig &_input, const QStringList& classes ) {
+ KConfigGroup input(&_input, "Global");
+ QHash<QString, QString> defMap;
+ const QString collName = input.readEntry("PluginName");
+ Q_ASSERT(!collName.isEmpty());
+ defMap.insert("CollName", collName);
+ QString genCode;
+
+ foreach ( const QString &myClass, classes )
+ {
+ genCode += QString("\t\tm_plugins.append( new %1(this) );\n").arg(denamespace( myClass ) +"Plugin");
+ }
+
+ defMap.insert( "CollectionAdd", genCode );
+
+ QString str = KMacroExpander::expandMacros(collClassDef, defMap);
+ str += KMacroExpander::expandMacros(collClassImpl, defMap);
+ return str;
+}
+
+QString buildWidgetClass( const QString &name, KConfig &_input, const QString &group ) {
+ KConfigGroup input(&_input, name);
+ QHash<QString, QString> defMap;
+
+ defMap.insert( "Group", input.readEntry( "Group", group ).replace( '\"', "\\\"" ) );
+ defMap.insert( "IconSet", input.readEntry( "IconSet", QString(name.toLower() + ".png") ).replace( ':', '_' ) );
+ defMap.insert( "Pixmap", name.toLower().replace( ':', '_' ) + "_xpm" );
+ defMap.insert( "IncludeFile", input.readEntry( "IncludeFile", QString(name.toLower() + ".h") ).remove( ':' ) );
+ defMap.insert( "ToolTip", input.readEntry( "ToolTip", QString(name + " Widget") ).replace( '\"', "\\\"" ) );
+ defMap.insert( "WhatsThis", input.readEntry( "WhatsThis", QString(name + " Widget") ).replace( '\"', "\\\"" ) );
+ defMap.insert( "IsContainer", input.readEntry( "IsContainer", "false" ) );
+ defMap.insert( "IconName", input.readEntry( "IconName", QString::fromLatin1(":/pics/%1.png").arg( denamespace( name ).toLower() ) ) );
+ defMap.insert( "Class", name );
+ defMap.insert( "PluginName", denamespace( name ) + QLatin1String( "Plugin" ) );
+
+ // FIXME: ### make this more useful, i.e. outsource to separate file
+ QString domXml = input.readEntry("DomXML", QString());
+ // If domXml is empty then we should call base class function
+ if ( domXml.isEmpty() ) {
+ domXml = QLatin1String("QDesignerCustomWidgetInterface::domXml()");
+ }
+ else {
+ // Wrap domXml value into QLatin1String
+ domXml = QString(QLatin1String("QLatin1String(\"%1\")")).arg(domXml.replace( '\"', "\\\"" ));
+ }
+ defMap.insert( "DomXml", domXml );
+ defMap.insert( "CodeTemplate", input.readEntry( "CodeTemplate" ) );
+ defMap.insert( "CreateWidget", input.readEntry( "CreateWidget",
+ QString( "\n\t\treturn new %1%2;" )
+ .arg( input.readEntry( "ImplClass", name ) )
+ .arg( input.readEntry( "ConstructorArgs", "( parent )" ) ) ) );
+ defMap.insert( "Initialize", input.readEntry( "Initialize", "\n\t\tQ_UNUSED(core);\n\t\tif (mInitialized) return;\n\t\tmInitialized=true;" ) );
+
+ return KMacroExpander::expandMacros( classDef, defMap );
+}
+
+QString buildWidgetInclude( const QString &name, KConfig &_input ) {
+ KConfigGroup input(&_input, name);
+ return input.readEntry( "IncludeFile", QString(name.toLower() + ".h") );
+}
diff --git a/tier3/kdesignerplugin/src/pics/CMakeLists.txt b/tier3/kdesignerplugin/src/pics/CMakeLists.txt
new file mode 100644
index 0000000..7ace1b7
--- /dev/null
+++ b/tier3/kdesignerplugin/src/pics/CMakeLists.txt
@@ -0,0 +1,35 @@
+
+########### install files ###############
+
+install( FILES
+ klineedit.png
+ kpasswordedit.png
+ kfontrequester.png
+ kurlrequester.png
+ kcombobox.png
+ k3iconview.png
+ kled.png
+ ksqueezedtextlabel.png
+ kurllabel.png
+ kruler.png
+ kcmodule.png
+ klistbox.png
+ k3listview.png
+ kactivelabel.png
+ kiconbutton.png
+ kcolorcombo.png
+ khsselector.png
+ kcolorbutton.png
+ kgradientselector.png
+ kdualcolorbutton.png
+ kcharselect.png
+ kdatepicker.png
+ kfontcombo.png
+ khistorycombo.png
+ ktextedit.png
+ kurlcomborequester.png
+ kkeybutton.png
+ kpalettetable.png
+ kactionselector.png
+ kdatetable.png
+ DESTINATION ${DATA_INSTALL_DIR}/kf5widgets/pics)
diff --git a/tier3/kdesignerplugin/src/pics/k3iconview.png b/tier3/kdesignerplugin/src/pics/k3iconview.png
new file mode 100644
index 0000000..b10e9eb
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/k3iconview.png differ
diff --git a/tier3/kdesignerplugin/src/pics/k3listview.png b/tier3/kdesignerplugin/src/pics/k3listview.png
new file mode 100644
index 0000000..5fd1d3f
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/k3listview.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kactionselector.png b/tier3/kdesignerplugin/src/pics/kactionselector.png
new file mode 100644
index 0000000..2925bc3
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kactionselector.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kactivelabel.png b/tier3/kdesignerplugin/src/pics/kactivelabel.png
new file mode 100644
index 0000000..522e5c7
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kactivelabel.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kcharselect.png b/tier3/kdesignerplugin/src/pics/kcharselect.png
new file mode 100644
index 0000000..63a8075
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kcharselect.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kcmodule.png b/tier3/kdesignerplugin/src/pics/kcmodule.png
new file mode 100644
index 0000000..5cde56b
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kcmodule.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kcolorbutton.png b/tier3/kdesignerplugin/src/pics/kcolorbutton.png
new file mode 100644
index 0000000..746c1ef
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kcolorbutton.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kcolorcombo.png b/tier3/kdesignerplugin/src/pics/kcolorcombo.png
new file mode 100644
index 0000000..043303a
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kcolorcombo.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kcombobox.png b/tier3/kdesignerplugin/src/pics/kcombobox.png
new file mode 100644
index 0000000..1cd88ff
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kcombobox.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kdatepicker.png b/tier3/kdesignerplugin/src/pics/kdatepicker.png
new file mode 100644
index 0000000..c4941f0
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kdatepicker.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kdatetable.png b/tier3/kdesignerplugin/src/pics/kdatetable.png
new file mode 100644
index 0000000..e8d4494
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kdatetable.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kdualcolorbutton.png b/tier3/kdesignerplugin/src/pics/kdualcolorbutton.png
new file mode 100644
index 0000000..aa54333
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kdualcolorbutton.png differ
diff --git a/tier3/kdesignerplugin/src/pics/keditlistwidget.png b/tier3/kdesignerplugin/src/pics/keditlistwidget.png
new file mode 100644
index 0000000..c4478a4
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/keditlistwidget.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kfontcombo.png b/tier3/kdesignerplugin/src/pics/kfontcombo.png
new file mode 100644
index 0000000..a338e2a
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kfontcombo.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kfontrequester.png b/tier3/kdesignerplugin/src/pics/kfontrequester.png
new file mode 100644
index 0000000..88a392b
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kfontrequester.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kgradientselector.png b/tier3/kdesignerplugin/src/pics/kgradientselector.png
new file mode 100644
index 0000000..0768633
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kgradientselector.png differ
diff --git a/tier3/kdesignerplugin/src/pics/khistorycombo.png b/tier3/kdesignerplugin/src/pics/khistorycombo.png
new file mode 100644
index 0000000..85f9fc1
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/khistorycombo.png differ
diff --git a/tier3/kdesignerplugin/src/pics/khsselector.png b/tier3/kdesignerplugin/src/pics/khsselector.png
new file mode 100644
index 0000000..6b327d6
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/khsselector.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kiconbutton.png b/tier3/kdesignerplugin/src/pics/kiconbutton.png
new file mode 100644
index 0000000..18741b7
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kiconbutton.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kkeybutton.png b/tier3/kdesignerplugin/src/pics/kkeybutton.png
new file mode 100644
index 0000000..df0a10e
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kkeybutton.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kled.png b/tier3/kdesignerplugin/src/pics/kled.png
new file mode 100644
index 0000000..49c3a19
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kled.png differ
diff --git a/tier3/kdesignerplugin/src/pics/klineedit.png b/tier3/kdesignerplugin/src/pics/klineedit.png
new file mode 100644
index 0000000..f946289
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/klineedit.png differ
diff --git a/tier3/kdesignerplugin/src/pics/klistbox.png b/tier3/kdesignerplugin/src/pics/klistbox.png
new file mode 100644
index 0000000..2a9efdc
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/klistbox.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kpalettetable.png b/tier3/kdesignerplugin/src/pics/kpalettetable.png
new file mode 100644
index 0000000..d41d8b7
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kpalettetable.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kpasswordedit.png b/tier3/kdesignerplugin/src/pics/kpasswordedit.png
new file mode 100644
index 0000000..4fef94a
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kpasswordedit.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kruler.png b/tier3/kdesignerplugin/src/pics/kruler.png
new file mode 100644
index 0000000..5989b7c
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kruler.png differ
diff --git a/tier3/kdesignerplugin/src/pics/ksqueezedtextlabel.png b/tier3/kdesignerplugin/src/pics/ksqueezedtextlabel.png
new file mode 100644
index 0000000..8165cbf
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/ksqueezedtextlabel.png differ
diff --git a/tier3/kdesignerplugin/src/pics/ktextedit.png b/tier3/kdesignerplugin/src/pics/ktextedit.png
new file mode 100644
index 0000000..fef42fc
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/ktextedit.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kurlcomborequester.png b/tier3/kdesignerplugin/src/pics/kurlcomborequester.png
new file mode 100644
index 0000000..4d775c1
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kurlcomborequester.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kurllabel.png b/tier3/kdesignerplugin/src/pics/kurllabel.png
new file mode 100644
index 0000000..42ae9c2
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kurllabel.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kurlrequester.png b/tier3/kdesignerplugin/src/pics/kurlrequester.png
new file mode 100644
index 0000000..2410da3
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kurlrequester.png differ
diff --git a/tier3/kdesignerplugin/tests/CMakeLists.txt b/tier3/kdesignerplugin/tests/CMakeLists.txt
new file mode 100644
index 0000000..59bb3fd
--- /dev/null
+++ b/tier3/kdesignerplugin/tests/CMakeLists.txt
@@ -0,0 +1,7 @@
+
+
+# TODO test programs
+
+
+
+
diff --git a/tier3/kdesignerplugin/tests/README b/tier3/kdesignerplugin/tests/README
new file mode 100644
index 0000000..16f928d
--- /dev/null
+++ b/tier3/kdesignerplugin/tests/README
@@ -0,0 +1,6 @@
+These are the tests for the current kgendesignerplugin.
+
+Currently there are two modes generated, and the checksums checked.
+These files are correct and build plugins that are functionally
+just as the Qt Project wants them for designer. If at any time the
+code is changed then these md5 sums should be updated.
diff --git a/tier3/kdesignerplugin/tests/sums b/tier3/kdesignerplugin/tests/sums
new file mode 100644
index 0000000..8b1f808
--- /dev/null
+++ b/tier3/kdesignerplugin/tests/sums
@@ -0,0 +1,2 @@
+ff629a98965347ed3303a2c70f35af51 testwithpixmaps.cpp
+f736575862f21dc175e1778bc159afbf testkde.cpp
diff --git a/tier3/kdesignerplugin/tests/test.widgets b/tier3/kdesignerplugin/tests/test.widgets
new file mode 100644
index 0000000..c3329ec
--- /dev/null
+++ b/tier3/kdesignerplugin/tests/test.widgets
@@ -0,0 +1,261 @@
+[Global]
+PluginName=KDEWidgets
+Includes=classpreviews.h
+Init=
+
+[KActiveLabel]
+ToolTip=Active Label (KDE)
+WhatsThis=A label with support for selection and clickable links
+Group=Display (KDE)
+
+[KCharSelect]
+ToolTip=Character Selection Widget (KDE)
+WhatsThis=A widget that allows selection a character out ot a table
+Group=Graphics (KDE)
+
+[KColorButton]
+ToolTip=Color Chooser Button (KDE)
+WhatsThis=A button that allows selecting a color
+Group=Graphics (KDE)
+
+[KColorCombo]
+ToolTip=Color Combo Box (KDE)
+Group=Graphics (KDE)
+
+[KComboBox]
+ToolTip=Combo Box (KDE)
+Group=Input (KDE)
+
+[KCModule]
+ToolTip=KControl Center Module (KDE)
+IsContainer=true
+Group=Container (KDE)
+
+[KDateWidget]
+ToolTip=Date preview (KDE)
+Group=Input (KDE)
+
+[KDatePicker]
+ToolTip=A date selection widget (KDE)
+WhatsThis=Provides a widget for calendar date input
+ConstructorArgs=(parent, QDate::currentDate(), name)
+Group=Input (KDE)
+
+[KDialog]
+IsContainer=true
+ImplClass=KDialogPreview
+ToolTip=Class for simple Dialogs (KDE)
+Group=Container (KDE)
+
+[KDualColorButton]
+ToolTip=A widget for selecting two related colors (KDE)
+Group=Graphics (KDE)
+
+[KEditListBox]
+ToolTip=Fullfeatured edit box with buttons (KDE)
+Group=Views (KDE)
+
+[KFontCombo]
+ToolTip=Font Combo Box (KDE)
+WhatsThis=A QCombo Box showing the installed system fonts (with preview)
+Group=Input (KDE)
+
+[KFontChooser]
+IncludeFile=kfontdialog.h
+IconSet=kfontcombo.png
+ToolTip=Font Chooser (KDE)
+WhatsThis=A font type, size and style selection widget complete with preview
+Group=Input (KDE)
+
+[KFontRequester]
+IncludeFile=kfontrequester.h
+ToolTip=Font Requester (KDE)
+WhatsThis=A compact font selection and preview widget
+Group=Input (KDE)
+
+[KGradientSelector]
+IncludeFile=kselect.h
+WhatsThis=A widget that allows the user to select two colors to form a gradient
+Group=Graphics (KDE)
+
+[KHistoryCombo]
+IncludeFile=kcombobox.h
+ToolTip=A combobox for offering a history and completion (KDE)
+WhatsThis=A combobox which implements a history like a unix shell
+Group=Input (KDE)
+
+[KHSSelector]
+IncludeFile=kcolordialog.h
+ToolTip=Widget for Hue/Saturation selection (KDE)
+Group=Graphics (KDE)
+
+[KLed]
+ToolTip=LED Widget (KDE)
+WhatsThis=A widget showing a light emitter diode
+Group=Display (KDE)
+
+[KListBox]
+ToolTip=Extended List Box (KDE)
+WhatsThis=An improved version of the QListBox that follows KDE settings
+Group=Views (KDE)
+
+[K3ListView]
+ToolTip=Extended List View (KDE)
+WhatsThis=An improved version of the QListView that allows certain KDE extensions
+Group=Views (KDE)
+
+[KLineEdit]
+ToolTip=Line Edit (KDE)
+Group=Input (KDE)
+
+[KPasswordEdit]
+IncludeFile=kpassworddialog.h
+ToolTip=Safe Password LineEdit (KDE)
+WhatsThis=A KLineEdit that is safe for prompting the user for passwords
+Group=Input (KDE)
+
+[KProgress]
+ToolTip=Progress Bar (KDE)
+WhatsThis=An improved progress bar for KDE that uses QFrame and QRangeControl
+Group=Display (KDE)
+
+[KPushButton]
+ToolTip=Improved QPushButton (KDE)
+WhatsThis=An improved QPushButton to follow KDE settings
+Group=Buttons (KDE)
+
+[KKeyButton]
+ToolTip=Keyboard Key Button. (KDE)
+WhatsThis=A push button that looks like a keyboard key.
+IncludeFile=kkeybutton.h
+Group=Buttons (KDE)
+
+[KRestrictedLine]
+ToolTip=Line Edit for restricted input (KDE)
+Group=Input (KDE)
+
+[KIconButton]
+IncludeFile=kicondialog.h
+ToolTip=Button for selecting an icon (KDE)
+Group=Buttons (KDE)
+
+[K3IconView]
+IncludeFile=k3iconview.h
+ToolTip=Extended Icon View (KDE)
+WhatsThis=An improved version of the QIconView that allows certain KDE extensions
+Group=Views (KDE)
+
+[KIntSpinBox]
+IncludeFile=knuminput.h
+ToolTip=Enhanced Spinbox for Integer Values (KDE)
+Group=Input (KDE)
+
+[KRuler]
+ToolTip=Measuring Ruler Widget (KDE)
+WhatsThis=A measuring ruler widget as seen in KWord for page widths and heights
+Group=Display (KDE)
+
+[KSqueezedTextLabel]
+ToolTip=A QLabel that squeezes its text (KDE)
+WhatsThis=If the text is too long to fit into the label it is divided into remaining left and right parts which are separated by three dots
+ConstructorArgs=("KSqueezedTextLabel", parent, name)
+Group=Display (KDE)
+
+[KTextBrowser]
+ToolTip=Improved QTextBrowser (KDE)
+WhatsThis=An improved version of the QTextBrowser with mail or system browser invocation support
+Group=Display (KDE)
+
+[KTextEdit]
+ToolTip=Improved QTextEdit (KDE)
+WhatsThis=An improved version of the QTextEdit with mail or system browser invocation support
+Group=Input (KDE)
+
+[KUrlLabel]
+ToolTip=URL Label (KDE)
+ConstructorArgs=("KUrlLabel", QString(), parent, name)
+Group=Display (KDE)
+
+[KUrlComboRequester]
+ToolTip=URL Requester (KDE)
+WhatsThis=A widget holding a combobox and a pushbutton. A "file open" dialog opened when clicking on the pushbutton
+IncludeFile=kurlrequester.h
+Group=Input (KDE)
+
+[KUrlRequester]
+ToolTip=URL Requester (KDE)
+WhatsThis=A widget holding a lineedit and a pushbutton. A "file open" dialog opened when clicking on the pushbutton
+Group=Input (KDE)
+
+[KIntNumInput]
+ToolTip=Integer Input Widget (KDE)
+WhatsThis=An input widget for integer numbers, consisting of a spinbox and a slider.
+IncludeFile=knuminput.h
+Group=Input (KDE)
+
+[KDoubleNumInput]
+ToolTip=Floating Point Number Input Widget (KDE)
+WhatsThis=An input widget for floating point numbers, consisting of a spinbox and a slider.
+IncludeFile=knuminput.h
+Group=Input (KDE)
+
+[KTimeWidget]
+ToolTip=This widget can be used to display or allow user selection of time. (KDE)
+IncludeFile=ktimewidget.h
+Group=Input (KDE)
+
+[KDateTimeWidget]
+ToolTip=This widget can be used to display or allow user selection of date and time. (KDE)
+IncludeFile=kdatetimewidget.h
+Group=Input (KDE)
+
+[KDateTable]
+IncludeFile=kdatetbl.h
+Group=Input (KDE)
+ConstructorArgs=(parent, QDate::currentDate(), name)
+
+[KLanguageButton]
+IncludeFile=klanguagebutton.h
+ToolTip=A widget for selecting a language
+WhatsThis=A combobox suitable for selecting a language
+Group=Input (KDE)
+
+[KImageFilePreview]
+IncludeFile=kimagefilepreview.h
+ToolTip=A widget that provides a image preview of a URL
+Group=Display (KDE)
+ConstructorArgs=(parent)
+
+[KActionSelector]
+IncludeFile=kactionselector.h
+ToolTip=A widget for selecting and arranging actions/objects
+Group=Views (KDE)
+
+[KWritePermsIcon]
+IncludeFile=kauthicon.h
+ToolTip=Auth icon for write permission display.
+ConstructorArgs=("", parent, name)
+Group=Display (KDE)
+
+[KRootPermsIcon]
+IncludeFile=kauthicon.h
+ToolTip=Icon to show whether or not a user has root permissions.
+Group=Display (KDE)
+
+[KColorPatch]
+IncludeFile=kcolordialog.h
+ToolTip=The KColorPatch widget is a (usually small) widget showing a selected color.
+Group=Display (KDE)
+ConstructorArgs=(parent)
+
+[KPaletteTable]
+IncludeFile=kcolordialog.h
+ToolTip=A color palette in table form.
+Group=Display (KDE)
+ConstructorArgs=(parent, 210, 16)
+
+#[KABC::AddressLineEdit]
+#IncludeFile=kabc/addresslineedit.h
+#ToolTip=A lineedit with LDAP and kabc completion.
+#Group=Input (KDE)
+#ConstructorArgs=(parent, true, name)
More information about the kde-doc-english
mailing list