new cmake build

git-svn-id: svn://db.shs.com.ru/libs@90 a8b55f48-bf90-11e4-a774-851b48703e85
This commit is contained in:
2016-04-16 17:35:03 +00:00
parent cb7ed641f8
commit 4a3c8292f1
104 changed files with 436 additions and 394 deletions

View File

@@ -0,0 +1,20 @@
project(touch_widgets_plugin)
cmake_minimum_required(VERSION 2.6)
find_package(Qt4 REQUIRED)
include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${QT_INCLUDES} "..")
option(DEBUG "Build with -g3" 0)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -Wall")
if (DEBUG)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3")
endif ()
set(LIBS ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTOPENGL_LIBRARY} ${OPENGL_LIBRARIES})
add_definitions(-DQT_PLUGIN)
add_definitions(-DQT_NO_DEBUG)
add_definitions(-DQT_SHARED)
add_definitions(-DQDESIGNER_EXPORT_WIDGETS)
file(GLOB PMOCS "./*.h")
file(GLOB PCPPS "./*.cpp")
qt4_wrap_cpp(PCMOCS ${PMOCS} OPTIONS -nw)
add_library(${PROJECT_NAME} SHARED ${PCMOCS} ${PCPPS} ${PMOCS})
target_link_libraries(${PROJECT_NAME} ${LIBS} ${QT_QTDESIGNER_LIBRARY} touch_widgets)
install(TARGETS ${PROJECT_NAME} DESTINATION ${QT_PLUGINS_DIR}/designer)

View File

@@ -0,0 +1,19 @@
#include "touchsliderplugin.h"
#include "touchbuttframeplugin.h"
#include "touchbuttonplugin.h"
#include "touch_widgets.h"
TW::TW(QObject *parent)
: QObject(parent)
{
m_widgets.append(new TouchSliderPlugin(this));
m_widgets.append(new TouchButtFramePlugin(this));
m_widgets.append(new TouchButtonPlugin(this));
}
QList<QDesignerCustomWidgetInterface*> TW::customWidgets() const
{
return m_widgets;
}
Q_EXPORT_PLUGIN2(twplugin, TW)

View File

@@ -0,0 +1,21 @@
#ifndef TW_H
#define TW_H
#include <QtDesigner/QtDesigner>
#include <QtCore/qplugin.h>
class TW : public QObject, public QDesignerCustomWidgetCollectionInterface
{
Q_OBJECT
Q_INTERFACES(QDesignerCustomWidgetCollectionInterface)
public:
explicit TW(QObject *parent = 0);
virtual QList<QDesignerCustomWidgetInterface*> customWidgets() const;
private:
QList<QDesignerCustomWidgetInterface*> m_widgets;
};
#endif

View File

@@ -0,0 +1,90 @@
#include "touchbuttframe.h"
#include "touchbuttframeplugin.h"
#include <QtCore/QtPlugin>
#include <QDesignerFormEditorInterface>
#include <QDesignerPropertyEditorInterface>
TouchButtFramePlugin::TouchButtFramePlugin(QObject *parent)
: QObject(parent)
{
m_initialized = false;
}
void TouchButtFramePlugin::initialize(QDesignerFormEditorInterface * /*core*/ )
{
if (m_initialized)
return;
// Add extension registrations, etc. here
//core->propertyEditor()->property();
m_initialized = true;
}
bool TouchButtFramePlugin::isInitialized() const
{
return m_initialized;
}
QWidget *TouchButtFramePlugin::createWidget(QWidget *parent)
{
TouchButtFrame * tbw = new TouchButtFrame(parent);
QStringList l;
l.append("First");
l.append("Second");
tbw->setButtons(l);
return tbw;
}
QString TouchButtFramePlugin::name() const
{
return QLatin1String("TouchButtFrame");
}
QString TouchButtFramePlugin::group() const
{
return QLatin1String("Touch Widgets");
}
QIcon TouchButtFramePlugin::icon() const
{
return QIcon(":/icons/touchbuttframe.png");
}
QString TouchButtFramePlugin::toolTip() const
{
return QLatin1String("");
}
QString TouchButtFramePlugin::whatsThis() const
{
return QLatin1String("");
}
bool TouchButtFramePlugin::isContainer() const
{
return false;
}
QString TouchButtFramePlugin::domXml() const
{
return QLatin1String("<ui language=\"c++\">\n"
" <widget class=\"TouchButtFrame\" name=\"touchButtFrame\">\n"
" <property name=\"geometry\">\n"
" <rect>\n"
" <x>0</x>\n"
" <y>0</y>\n"
" <width>100</width>\n"
" <height>100</height>\n"
" </rect>\n"
" </property>\n"
" </widget>\n"
"</ui>\n");
}
QString TouchButtFramePlugin::includeFile() const
{
return QLatin1String("touchbuttframe.h");
}

View File

@@ -0,0 +1,30 @@
#ifndef TOUCHBUTTFRAMEPLUGIN_H
#define TOUCHBUTTFRAMEPLUGIN_H
#include <QDesignerCustomWidgetInterface>
class TouchButtFramePlugin : public QObject, public QDesignerCustomWidgetInterface
{
Q_OBJECT
Q_INTERFACES(QDesignerCustomWidgetInterface)
public:
TouchButtFramePlugin(QObject *parent = 0);
bool isContainer() const;
bool isInitialized() const;
QIcon icon() const;
QString domXml() const;
QString group() const;
QString includeFile() const;
QString name() const;
QString toolTip() const;
QString whatsThis() const;
QWidget *createWidget(QWidget *parent);
void initialize(QDesignerFormEditorInterface *core);
private:
bool m_initialized;
};
#endif

View File

@@ -0,0 +1,74 @@
#include "touchbutton.h"
#include "touchbuttonplugin.h"
#include <QtCore/QtPlugin>
#include <QDesignerFormEditorInterface>
#include <QDesignerPropertyEditorInterface>
TouchButtonPlugin::TouchButtonPlugin(QObject *parent)
: QObject(parent)
{
m_initialized = false;
}
void TouchButtonPlugin::initialize(QDesignerFormEditorInterface * /* core */)
{
if (m_initialized)
return;
// Add extension registrations, etc. here
m_initialized = true;
}
bool TouchButtonPlugin::isInitialized() const
{
return m_initialized;
}
QWidget *TouchButtonPlugin::createWidget(QWidget *parent)
{
return new TouchButton(parent);
}
QString TouchButtonPlugin::name() const
{
return QLatin1String("TouchButton");
}
QString TouchButtonPlugin::group() const
{
return QLatin1String("Touch Widgets");
}
QIcon TouchButtonPlugin::icon() const
{
return QIcon(":/icons/touchbutton.png");
}
QString TouchButtonPlugin::toolTip() const
{
return QLatin1String("");
}
QString TouchButtonPlugin::whatsThis() const
{
return QLatin1String("");
}
bool TouchButtonPlugin::isContainer() const
{
return false;
}
QString TouchButtonPlugin::domXml() const
{
return QLatin1String("<widget class=\"TouchButton\" name=\"touchButton\">\n</widget>\n");
}
QString TouchButtonPlugin::includeFile() const
{
return QLatin1String("touchbutton.h");
}

View File

@@ -0,0 +1,30 @@
#ifndef TOUCHBUTTONPLUGIN_H
#define TOUCHBUTTONPLUGIN_H
#include <QDesignerCustomWidgetInterface>
class TouchButtonPlugin : public QObject, public QDesignerCustomWidgetInterface
{
Q_OBJECT
Q_INTERFACES(QDesignerCustomWidgetInterface)
public:
TouchButtonPlugin(QObject *parent = 0);
bool isContainer() const;
bool isInitialized() const;
QIcon icon() const;
QString domXml() const;
QString group() const;
QString includeFile() const;
QString name() const;
QString toolTip() const;
QString whatsThis() const;
QWidget *createWidget(QWidget *parent);
void initialize(QDesignerFormEditorInterface *core);
private:
bool m_initialized;
};
#endif // TOUCHBUTTONPLUGIN_H

View File

@@ -0,0 +1,81 @@
#include "touchslider.h"
#include "touchsliderplugin.h"
#include <QtCore/QtPlugin>
#include <QDesignerFormEditorInterface>
#include <QDesignerPropertyEditorInterface>
TouchSliderPlugin::TouchSliderPlugin(QObject *parent)
: QObject(parent)
{
m_initialized = false;
}
void TouchSliderPlugin::initialize(QDesignerFormEditorInterface * /* core */)
{
if (m_initialized)
return;
// Add extension registrations, etc. here
m_initialized = true;
}
bool TouchSliderPlugin::isInitialized() const
{
return m_initialized;
}
QWidget *TouchSliderPlugin::createWidget(QWidget *parent)
{
TouchSlider * ts = new TouchSlider(parent);
ts->setMinimum(-5.);
ts->setMaximum(5.);
ts->setPrecision(0.2);
ts->setValue(2.2);
ts->setPrefix("Distanse");
ts->setSuffix("meters");
return ts;
}
QString TouchSliderPlugin::name() const
{
return QLatin1String("TouchSlider");
}
QString TouchSliderPlugin::group() const
{
return QLatin1String("Touch Widgets");
}
QIcon TouchSliderPlugin::icon() const
{
return QIcon(":/icons/touchslider.png");
}
QString TouchSliderPlugin::toolTip() const
{
return QLatin1String("");
}
QString TouchSliderPlugin::whatsThis() const
{
return QLatin1String("");
}
bool TouchSliderPlugin::isContainer() const
{
return false;
}
QString TouchSliderPlugin::domXml() const
{
return QLatin1String("<widget class=\"TouchSlider\" name=\"touchSlider\">\n</widget>\n");
}
QString TouchSliderPlugin::includeFile() const
{
return QLatin1String("touchslider.h");
}

View File

@@ -0,0 +1,30 @@
#ifndef TOUCHSLIDERPLUGIN_H
#define TOUCHSLIDERPLUGIN_H
#include <QDesignerCustomWidgetInterface>
class TouchSliderPlugin : public QObject, public QDesignerCustomWidgetInterface
{
Q_OBJECT
Q_INTERFACES(QDesignerCustomWidgetInterface)
public:
TouchSliderPlugin(QObject *parent = 0);
bool isContainer() const;
bool isInitialized() const;
QIcon icon() const;
QString domXml() const;
QString group() const;
QString includeFile() const;
QString name() const;
QString toolTip() const;
QString whatsThis() const;
QWidget *createWidget(QWidget *parent);
void initialize(QDesignerFormEditorInterface *core);
private:
bool m_initialized;
};
#endif