git-svn-id: svn://db.shs.com.ru/libs@1 a8b55f48-bf90-11e4-a774-851b48703e85
This commit is contained in:
2015-02-28 21:28:53 +00:00
commit ba8bc27298
2358 changed files with 336795 additions and 0 deletions

3
touch_widgets/.directory Normal file
View File

@@ -0,0 +1,3 @@
[Dolphin]
Timestamp=2011,5,16,9,54,44
ViewMode=1

View File

@@ -0,0 +1,23 @@
[Buildset]
BuildItems=@Variant(\x00\x00\x00\t\x00\x00\x00\x00\x01\x00\x00\x00\x0b\x00\x00\x00\x00\x01\x00\x00\x00\x1a\x00t\x00o\x00u\x00c\x00h\x00_\x00w\x00i\x00d\x00g\x00e\x00t\x00s)
[CMake]
Build Directory Count=1
Current Build Directory Index=0
ProjectRootRelative=./
[CMake][CMake Build Directory 0]
Build Directory Path=file:///mnt/data/orders/libs/touch_widgets/
Build Type=
CMake Binary=file:///usr/bin/cmake
Environment Profile=
Extra Arguments=
Install Directory=file:///usr/local
[Defines And Includes][Compiler]
Name=GCC
Path=gcc
Type=GCC
[Project]
VersionControlSupport=kdevgit

View File

@@ -0,0 +1,36 @@
project(touch_widgets)
cmake_minimum_required(VERSION 2.6)
find_package(Qt4 REQUIRED)
include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${QT_INCLUDES})
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -Wall")
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3")
set(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS}")
set(MOCS "touchbutton.h" "touchbuttframe.h" "touchslider.h" "touch_bar.h")
set(CPPS "touchbutton.cpp" "touchbuttframe.cpp" "touchslider.cpp")
file(GLOB UIS "./*.ui")
file(GLOB RES "./*.qrc")
qt4_wrap_ui(CUIS ${UIS})
qt4_wrap_cpp(CMOCS ${MOCS})
qt4_add_resources(CRES ${RES})
add_library(touch_widgets SHARED ${CPPS} ${CUIS} ${CMOCS} ${CRES})
set(LIBS ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY})
target_link_libraries(touch_widgets ${LIBS})
if (DEFINED LIB)
set(LIB 1)
if (${WIN32})
find_package(MinGW REQUIRED)
set(CMAKE_INSTALL_PREFIX ${MINGW_DIR})
install(FILES ${MOCS} DESTINATION ${MINGW_INCLUDE})
install(TARGETS touch_widgets DESTINATION ${MINGW_LIB})
get_filename_component(QTDIR ${QT_QMAKE_EXECUTABLE} PATH)
install(TARGETS touch_widgets DESTINATION ${QTDIR})
else ()
set(CMAKE_INSTALL_PREFIX /usr)
install(FILES ${MOCS} DESTINATION ${CMAKE_INSTALL_PREFIX}/include)
install(TARGETS touch_widgets DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
endif ()
else ()
install(TARGETS touch_widgets DESTINATION bin)
endif ()

View File

View File

@@ -0,0 +1,204 @@
#############################################################################
# Makefile for building: touch_widgets_plugin
# Generated by qmake (2.01a) (Qt 4.8.6) on: ?? 29. ??? 17:50:10 2014
# Project: touch_widgets.pro
# Template: lib
#############################################################################
####### Compiler, tools and options
CC = gcc
CXX = g++
DEFINES = -DUNICODE -DQT_DLL -DQT_PLUGIN -DQT_SCRIPT_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQDESIGNER_EXPORT_WIDGETS -DQT_THREAD_SUPPORT
CFLAGS = -pipe -fno-keep-inline-dllexport -g -Wall -Wextra $(DEFINES)
CXXFLAGS = -pipe -fno-keep-inline-dllexport -g -frtti -fexceptions -mthreads -Wall -Wextra $(DEFINES)
INCPATH = -I"..\..\Qt\4.8.6\include\QtDesigner" -I"..\..\Qt\4.8.6\include\QtCore" -I"..\..\Qt\4.8.6\include\QtGui" -I"..\..\Qt\4.8.6\include\QtXml" -I"..\..\Qt\4.8.6\include\QtScript" -I"..\..\Qt\4.8.6\include" -I"..\..\Qt\4.8.6\include\ActiveQt" -I"debug" -I"..\..\Qt\4.8.6\mkspecs\default"
LINK = g++
LFLAGS = -mthreads -shared -Wl,--out-implib,debug\libtouch_widgets_plugin.a
LIBS = -L"c:\Qt\4.8.6\lib" -L. -ltouch_widgets -lQtScriptd4 -lQtXmld4 -lQtGuid4 -lQtCored4 -lQtDesignerd4
QMAKE = c:\Qt\4.8.6\bin\qmake.exe
IDC = c:\Qt\4.8.6\bin\idc.exe
IDL = midl
ZIP = zip -r -9
DEF_FILE =
RES_FILE =
COPY = copy /y
SED =
COPY_FILE = $(COPY)
COPY_DIR = xcopy /s /q /y /i
DEL_FILE = del
DEL_DIR = rmdir
MOVE = move
CHK_DIR_EXISTS= if not exist
MKDIR = mkdir
INSTALL_FILE = $(COPY_FILE)
INSTALL_PROGRAM = $(COPY_FILE)
INSTALL_DIR = $(COPY_DIR)
####### Output directory
OBJECTS_DIR = debug
####### Files
SOURCES = touchsliderplugin.cpp \
touchbuttframeplugin.cpp \
tw.cpp \
touchbuttonplugin.cpp debug\moc_touchsliderplugin.cpp \
debug\moc_touchbuttframeplugin.cpp \
debug\moc_tw.cpp \
debug\moc_touchbuttonplugin.cpp \
debug\qrc_touch_widgets.cpp
OBJECTS = debug/touchsliderplugin.o \
debug/touchbuttframeplugin.o \
debug/tw.o \
debug/touchbuttonplugin.o \
debug/moc_touchsliderplugin.o \
debug/moc_touchbuttframeplugin.o \
debug/moc_tw.o \
debug/moc_touchbuttonplugin.o \
debug/qrc_touch_widgets.o
DIST =
QMAKE_TARGET = touch_widgets_plugin
DESTDIR = debug\ #avoid trailing-slash linebreak
TARGET = touch_widgets_plugin.dll
DESTDIR_TARGET = debug\touch_widgets_plugin.dll
####### Implicit rules
.SUFFIXES: .cpp .cc .cxx .c
.cpp.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
.cc.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
.cxx.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
.c.o:
$(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
####### Build rules
first: all
all: Makefile.Debug $(DESTDIR_TARGET)
$(DESTDIR_TARGET): $(OBJECTS)
$(LINK) $(LFLAGS) -o $(DESTDIR_TARGET) $(OBJECTS) $(LIBS)
qmake: FORCE
@$(QMAKE) -o Makefile.Debug touch_widgets.pro
dist:
$(ZIP) touch_widgets_plugin.zip $(SOURCES) $(DIST) touch_widgets.pro ..\..\Qt\4.8.6\mkspecs\features\device_config.prf ..\..\Qt\4.8.6\mkspecs\qconfig.pri ..\..\Qt\4.8.6\mkspecs\modules\qt_webkit_version.pri ..\..\Qt\4.8.6\mkspecs\features\qt_functions.prf ..\..\Qt\4.8.6\mkspecs\features\qt_config.prf ..\..\Qt\4.8.6\mkspecs\win32-g++\qmake.conf ..\..\Qt\4.8.6\mkspecs\win32-g++-4.6\qmake.conf ..\..\Qt\4.8.6\mkspecs\features\exclusive_builds.prf ..\..\Qt\4.8.6\mkspecs\features\default_pre.prf ..\..\Qt\4.8.6\mkspecs\features\win32\default_pre.prf ..\..\Qt\4.8.6\mkspecs\features\debug.prf ..\..\Qt\4.8.6\mkspecs\features\debug_and_release.prf ..\..\Qt\4.8.6\mkspecs\features\default_post.prf ..\..\Qt\4.8.6\mkspecs\features\win32\default_post.prf ..\..\Qt\4.8.6\mkspecs\features\build_pass.prf ..\..\Qt\4.8.6\mkspecs\features\qt.prf ..\..\Qt\4.8.6\mkspecs\features\designer.prf ..\..\Qt\4.8.6\mkspecs\features\win32\thread.prf ..\..\Qt\4.8.6\mkspecs\features\moc.prf ..\..\Qt\4.8.6\mkspecs\features\win32\rtti.prf ..\..\Qt\4.8.6\mkspecs\features\win32\exceptions.prf ..\..\Qt\4.8.6\mkspecs\features\win32\stl.prf ..\..\Qt\4.8.6\mkspecs\features\shared.prf ..\..\Qt\4.8.6\mkspecs\features\dll.prf ..\..\Qt\4.8.6\mkspecs\features\warn_on.prf ..\..\Qt\4.8.6\mkspecs\features\win32\windows.prf ..\..\Qt\4.8.6\mkspecs\features\resources.prf ..\..\Qt\4.8.6\mkspecs\features\uic.prf ..\..\Qt\4.8.6\mkspecs\features\yacc.prf ..\..\Qt\4.8.6\mkspecs\features\lex.prf ..\..\Qt\4.8.6\mkspecs\features\include_source_dir.prf HEADERS RESOURCES IMAGES SOURCES OBJECTIVE_SOURCES FORMS YACCSOURCES YACCSOURCES LEXSOURCES
clean: compiler_clean
-$(DEL_FILE) debug\touchsliderplugin.o debug\touchbuttframeplugin.o debug\tw.o debug\touchbuttonplugin.o debug\moc_touchsliderplugin.o debug\moc_touchbuttframeplugin.o debug\moc_tw.o debug\moc_touchbuttonplugin.o debug\qrc_touch_widgets.o
-$(DEL_FILE) debug\libtouch_widgets_plugin.a
distclean: clean
-$(DEL_FILE) $(DESTDIR_TARGET)
-$(DEL_FILE) Makefile.Debug
check: first
mocclean: compiler_moc_header_clean compiler_moc_source_clean
mocables: compiler_moc_header_make_all compiler_moc_source_make_all
compiler_moc_header_make_all: debug/moc_touchsliderplugin.cpp debug/moc_touchbuttframeplugin.cpp debug/moc_tw.cpp debug/moc_touchbuttonplugin.cpp
compiler_moc_header_clean:
-$(DEL_FILE) debug\moc_touchsliderplugin.cpp debug\moc_touchbuttframeplugin.cpp debug\moc_tw.cpp debug\moc_touchbuttonplugin.cpp
debug/moc_touchsliderplugin.cpp: touchsliderplugin.h
C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 touchsliderplugin.h -o debug\moc_touchsliderplugin.cpp
debug/moc_touchbuttframeplugin.cpp: touchbuttframeplugin.h
C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 touchbuttframeplugin.h -o debug\moc_touchbuttframeplugin.cpp
debug/moc_tw.cpp: tw.h
C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 tw.h -o debug\moc_tw.cpp
debug/moc_touchbuttonplugin.cpp: touchbuttonplugin.h
C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 touchbuttonplugin.h -o debug\moc_touchbuttonplugin.cpp
compiler_rcc_make_all: debug/qrc_touch_widgets.cpp
compiler_rcc_clean:
-$(DEL_FILE) debug\qrc_touch_widgets.cpp
debug/qrc_touch_widgets.cpp: touch_widgets.qrc \
icons/touchslider.png \
icons/touchbutton.png \
icons/touchbuttframe.png
c:\Qt\4.8.6\bin\rcc.exe -name touch_widgets touch_widgets.qrc -o debug\qrc_touch_widgets.cpp
compiler_image_collection_make_all: qmake_image_collection.cpp
compiler_image_collection_clean:
-$(DEL_FILE) qmake_image_collection.cpp
compiler_moc_source_make_all:
compiler_moc_source_clean:
compiler_uic_make_all:
compiler_uic_clean:
compiler_yacc_decl_make_all:
compiler_yacc_decl_clean:
compiler_yacc_impl_make_all:
compiler_yacc_impl_clean:
compiler_lex_make_all:
compiler_lex_clean:
compiler_clean: compiler_moc_header_clean compiler_rcc_clean
####### Compile
debug/touchsliderplugin.o: touchsliderplugin.cpp touchslider.h \
touchsliderplugin.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\touchsliderplugin.o touchsliderplugin.cpp
debug/touchbuttframeplugin.o: touchbuttframeplugin.cpp touchbuttframe.h \
touchbutton.h \
touchbuttframeplugin.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\touchbuttframeplugin.o touchbuttframeplugin.cpp
debug/tw.o: tw.cpp touchsliderplugin.h \
touchbuttframeplugin.h \
touchbuttonplugin.h \
tw.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\tw.o tw.cpp
debug/touchbuttonplugin.o: touchbuttonplugin.cpp touchbutton.h \
touchbuttonplugin.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\touchbuttonplugin.o touchbuttonplugin.cpp
debug/moc_touchsliderplugin.o: debug/moc_touchsliderplugin.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\moc_touchsliderplugin.o debug\moc_touchsliderplugin.cpp
debug/moc_touchbuttframeplugin.o: debug/moc_touchbuttframeplugin.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\moc_touchbuttframeplugin.o debug\moc_touchbuttframeplugin.cpp
debug/moc_tw.o: debug/moc_tw.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\moc_tw.o debug\moc_tw.cpp
debug/moc_touchbuttonplugin.o: debug/moc_touchbuttonplugin.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\moc_touchbuttonplugin.o debug\moc_touchbuttonplugin.cpp
debug/qrc_touch_widgets.o: debug/qrc_touch_widgets.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\qrc_touch_widgets.o debug\qrc_touch_widgets.cpp
####### Install
install_target: first FORCE
@$(CHK_DIR_EXISTS) c:$(INSTALL_ROOT)\Qt\4.8.6\plugins\designer $(MKDIR) c:$(INSTALL_ROOT)\Qt\4.8.6\plugins\designer
-$(INSTALL_FILE) "$(DESTDIR_TARGET)" "c:$(INSTALL_ROOT)\Qt\4.8.6\plugins\designer\$(TARGET)"
uninstall_target: FORCE
-$(DEL_FILE) "c:$(INSTALL_ROOT)\Qt\4.8.6\plugins\designer\$(TARGET)"
-$(DEL_DIR) c:$(INSTALL_ROOT)\Qt\4.8.6\plugins\designer
install: install_target FORCE
uninstall: uninstall_target FORCE
FORCE:

View File

@@ -0,0 +1,204 @@
#############################################################################
# Makefile for building: touch_widgets_plugin
# Generated by qmake (2.01a) (Qt 4.8.6) on: ?? 29. ??? 17:50:10 2014
# Project: touch_widgets.pro
# Template: lib
#############################################################################
####### Compiler, tools and options
CC = gcc
CXX = g++
DEFINES = -DUNICODE -DQT_DLL -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SCRIPT_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQDESIGNER_EXPORT_WIDGETS -DQT_THREAD_SUPPORT
CFLAGS = -pipe -fno-keep-inline-dllexport -O2 -Wall -Wextra $(DEFINES)
CXXFLAGS = -pipe -fno-keep-inline-dllexport -O2 -frtti -fexceptions -mthreads -Wall -Wextra $(DEFINES)
INCPATH = -I"..\..\Qt\4.8.6\include\QtDesigner" -I"..\..\Qt\4.8.6\include\QtCore" -I"..\..\Qt\4.8.6\include\QtGui" -I"..\..\Qt\4.8.6\include\QtXml" -I"..\..\Qt\4.8.6\include\QtScript" -I"..\..\Qt\4.8.6\include" -I"..\..\Qt\4.8.6\include\ActiveQt" -I"release" -I"..\..\Qt\4.8.6\mkspecs\default"
LINK = g++
LFLAGS = -Wl,-s -mthreads -shared -Wl,--out-implib,release\libtouch_widgets_plugin.a
LIBS = -L"c:\Qt\4.8.6\lib" -L. -ltouch_widgets -lQtScript4 -lQtXml4 -lQtGui4 -lQtCore4 -lQtDesigner4
QMAKE = c:\Qt\4.8.6\bin\qmake.exe
IDC = c:\Qt\4.8.6\bin\idc.exe
IDL = midl
ZIP = zip -r -9
DEF_FILE =
RES_FILE =
COPY = copy /y
SED =
COPY_FILE = $(COPY)
COPY_DIR = xcopy /s /q /y /i
DEL_FILE = del
DEL_DIR = rmdir
MOVE = move
CHK_DIR_EXISTS= if not exist
MKDIR = mkdir
INSTALL_FILE = $(COPY_FILE)
INSTALL_PROGRAM = $(COPY_FILE)
INSTALL_DIR = $(COPY_DIR)
####### Output directory
OBJECTS_DIR = release
####### Files
SOURCES = touchsliderplugin.cpp \
touchbuttframeplugin.cpp \
tw.cpp \
touchbuttonplugin.cpp release\moc_touchsliderplugin.cpp \
release\moc_touchbuttframeplugin.cpp \
release\moc_tw.cpp \
release\moc_touchbuttonplugin.cpp \
release\qrc_touch_widgets.cpp
OBJECTS = release/touchsliderplugin.o \
release/touchbuttframeplugin.o \
release/tw.o \
release/touchbuttonplugin.o \
release/moc_touchsliderplugin.o \
release/moc_touchbuttframeplugin.o \
release/moc_tw.o \
release/moc_touchbuttonplugin.o \
release/qrc_touch_widgets.o
DIST =
QMAKE_TARGET = touch_widgets_plugin
DESTDIR = release\ #avoid trailing-slash linebreak
TARGET = touch_widgets_plugin.dll
DESTDIR_TARGET = release\touch_widgets_plugin.dll
####### Implicit rules
.SUFFIXES: .cpp .cc .cxx .c
.cpp.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
.cc.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
.cxx.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
.c.o:
$(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
####### Build rules
first: all
all: Makefile.Release $(DESTDIR_TARGET)
$(DESTDIR_TARGET): $(OBJECTS)
$(LINK) $(LFLAGS) -o $(DESTDIR_TARGET) $(OBJECTS) $(LIBS)
qmake: FORCE
@$(QMAKE) -o Makefile.Release touch_widgets.pro
dist:
$(ZIP) touch_widgets_plugin.zip $(SOURCES) $(DIST) touch_widgets.pro ..\..\Qt\4.8.6\mkspecs\features\device_config.prf ..\..\Qt\4.8.6\mkspecs\qconfig.pri ..\..\Qt\4.8.6\mkspecs\modules\qt_webkit_version.pri ..\..\Qt\4.8.6\mkspecs\features\qt_functions.prf ..\..\Qt\4.8.6\mkspecs\features\qt_config.prf ..\..\Qt\4.8.6\mkspecs\win32-g++\qmake.conf ..\..\Qt\4.8.6\mkspecs\win32-g++-4.6\qmake.conf ..\..\Qt\4.8.6\mkspecs\features\exclusive_builds.prf ..\..\Qt\4.8.6\mkspecs\features\default_pre.prf ..\..\Qt\4.8.6\mkspecs\features\win32\default_pre.prf ..\..\Qt\4.8.6\mkspecs\features\release.prf ..\..\Qt\4.8.6\mkspecs\features\debug_and_release.prf ..\..\Qt\4.8.6\mkspecs\features\default_post.prf ..\..\Qt\4.8.6\mkspecs\features\win32\default_post.prf ..\..\Qt\4.8.6\mkspecs\features\build_pass.prf ..\..\Qt\4.8.6\mkspecs\features\qt.prf ..\..\Qt\4.8.6\mkspecs\features\designer.prf ..\..\Qt\4.8.6\mkspecs\features\win32\thread.prf ..\..\Qt\4.8.6\mkspecs\features\moc.prf ..\..\Qt\4.8.6\mkspecs\features\win32\rtti.prf ..\..\Qt\4.8.6\mkspecs\features\win32\exceptions.prf ..\..\Qt\4.8.6\mkspecs\features\win32\stl.prf ..\..\Qt\4.8.6\mkspecs\features\shared.prf ..\..\Qt\4.8.6\mkspecs\features\dll.prf ..\..\Qt\4.8.6\mkspecs\features\warn_on.prf ..\..\Qt\4.8.6\mkspecs\features\win32\windows.prf ..\..\Qt\4.8.6\mkspecs\features\resources.prf ..\..\Qt\4.8.6\mkspecs\features\uic.prf ..\..\Qt\4.8.6\mkspecs\features\yacc.prf ..\..\Qt\4.8.6\mkspecs\features\lex.prf ..\..\Qt\4.8.6\mkspecs\features\include_source_dir.prf HEADERS RESOURCES IMAGES SOURCES OBJECTIVE_SOURCES FORMS YACCSOURCES YACCSOURCES LEXSOURCES
clean: compiler_clean
-$(DEL_FILE) release\touchsliderplugin.o release\touchbuttframeplugin.o release\tw.o release\touchbuttonplugin.o release\moc_touchsliderplugin.o release\moc_touchbuttframeplugin.o release\moc_tw.o release\moc_touchbuttonplugin.o release\qrc_touch_widgets.o
-$(DEL_FILE) release\libtouch_widgets_plugin.a
distclean: clean
-$(DEL_FILE) $(DESTDIR_TARGET)
-$(DEL_FILE) Makefile.Release
check: first
mocclean: compiler_moc_header_clean compiler_moc_source_clean
mocables: compiler_moc_header_make_all compiler_moc_source_make_all
compiler_moc_header_make_all: release/moc_touchsliderplugin.cpp release/moc_touchbuttframeplugin.cpp release/moc_tw.cpp release/moc_touchbuttonplugin.cpp
compiler_moc_header_clean:
-$(DEL_FILE) release\moc_touchsliderplugin.cpp release\moc_touchbuttframeplugin.cpp release\moc_tw.cpp release\moc_touchbuttonplugin.cpp
release/moc_touchsliderplugin.cpp: touchsliderplugin.h
C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 touchsliderplugin.h -o release\moc_touchsliderplugin.cpp
release/moc_touchbuttframeplugin.cpp: touchbuttframeplugin.h
C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 touchbuttframeplugin.h -o release\moc_touchbuttframeplugin.cpp
release/moc_tw.cpp: tw.h
C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 tw.h -o release\moc_tw.cpp
release/moc_touchbuttonplugin.cpp: touchbuttonplugin.h
C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 touchbuttonplugin.h -o release\moc_touchbuttonplugin.cpp
compiler_rcc_make_all: release/qrc_touch_widgets.cpp
compiler_rcc_clean:
-$(DEL_FILE) release\qrc_touch_widgets.cpp
release/qrc_touch_widgets.cpp: touch_widgets.qrc \
icons/touchslider.png \
icons/touchbutton.png \
icons/touchbuttframe.png
c:\Qt\4.8.6\bin\rcc.exe -name touch_widgets touch_widgets.qrc -o release\qrc_touch_widgets.cpp
compiler_image_collection_make_all: qmake_image_collection.cpp
compiler_image_collection_clean:
-$(DEL_FILE) qmake_image_collection.cpp
compiler_moc_source_make_all:
compiler_moc_source_clean:
compiler_uic_make_all:
compiler_uic_clean:
compiler_yacc_decl_make_all:
compiler_yacc_decl_clean:
compiler_yacc_impl_make_all:
compiler_yacc_impl_clean:
compiler_lex_make_all:
compiler_lex_clean:
compiler_clean: compiler_moc_header_clean compiler_rcc_clean
####### Compile
release/touchsliderplugin.o: touchsliderplugin.cpp touchslider.h \
touchsliderplugin.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\touchsliderplugin.o touchsliderplugin.cpp
release/touchbuttframeplugin.o: touchbuttframeplugin.cpp touchbuttframe.h \
touchbutton.h \
touchbuttframeplugin.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\touchbuttframeplugin.o touchbuttframeplugin.cpp
release/tw.o: tw.cpp touchsliderplugin.h \
touchbuttframeplugin.h \
touchbuttonplugin.h \
tw.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\tw.o tw.cpp
release/touchbuttonplugin.o: touchbuttonplugin.cpp touchbutton.h \
touchbuttonplugin.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\touchbuttonplugin.o touchbuttonplugin.cpp
release/moc_touchsliderplugin.o: release/moc_touchsliderplugin.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\moc_touchsliderplugin.o release\moc_touchsliderplugin.cpp
release/moc_touchbuttframeplugin.o: release/moc_touchbuttframeplugin.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\moc_touchbuttframeplugin.o release\moc_touchbuttframeplugin.cpp
release/moc_tw.o: release/moc_tw.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\moc_tw.o release\moc_tw.cpp
release/moc_touchbuttonplugin.o: release/moc_touchbuttonplugin.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\moc_touchbuttonplugin.o release\moc_touchbuttonplugin.cpp
release/qrc_touch_widgets.o: release/qrc_touch_widgets.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\qrc_touch_widgets.o release\qrc_touch_widgets.cpp
####### Install
install_target: first FORCE
@$(CHK_DIR_EXISTS) c:$(INSTALL_ROOT)\Qt\4.8.6\plugins\designer $(MKDIR) c:$(INSTALL_ROOT)\Qt\4.8.6\plugins\designer
-$(INSTALL_FILE) "$(DESTDIR_TARGET)" "c:$(INSTALL_ROOT)\Qt\4.8.6\plugins\designer\$(TARGET)"
uninstall_target: FORCE
-$(DEL_FILE) "c:$(INSTALL_ROOT)\Qt\4.8.6\plugins\designer\$(TARGET)"
-$(DEL_DIR) c:$(INSTALL_ROOT)\Qt\4.8.6\plugins\designer
install: install_target FORCE
uninstall: uninstall_target FORCE
FORCE:

4
touch_widgets/clean Normal file
View File

@@ -0,0 +1,4 @@
#! /bin/bash
VERBOSE=1 make clean
rm -rvf CMakeFiles
rm -vf CMakeCache.txt Makefile cmake_install.cmake install_manifest.txt *.dll *.a *.so *.user* *~ *cxx moc_* ui_* qrc_* *.o

4
touch_widgets/clean.bat Normal file
View File

@@ -0,0 +1,4 @@
#make clean
del /q /f /s CMakeFiles
rmdir /q /s CMakeFiles
del /q /f CMakeCache.txt Makefile cmake_install.cmake install_manifest.txt *.user* *~ *cxx moc_* ui_* qrc_* *.o *.exe *.a *.dll *.lib core *.qrc.depends

0
touch_widgets/gpio.conf Normal file
View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 906 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 915 B

View File

@@ -0,0 +1 @@
cmake_mgw -DLIB= && make install && qmake && make install

View File

@@ -0,0 +1,84 @@
/****************************************************************************
** Meta object code from reading C++ file 'touchbuttframeplugin.h'
**
** Created by: The Qt Meta Object Compiler version 63 (Qt 4.8.6)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "../touchbuttframeplugin.h"
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'touchbuttframeplugin.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 63
#error "This file was generated using the moc from 4.8.6. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
static const uint qt_meta_data_TouchButtFramePlugin[] = {
// content:
6, // revision
0, // classname
0, 0, // classinfo
0, 0, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
0 // eod
};
static const char qt_meta_stringdata_TouchButtFramePlugin[] = {
"TouchButtFramePlugin\0"
};
void TouchButtFramePlugin::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
Q_UNUSED(_o);
Q_UNUSED(_id);
Q_UNUSED(_c);
Q_UNUSED(_a);
}
const QMetaObjectExtraData TouchButtFramePlugin::staticMetaObjectExtraData = {
0, qt_static_metacall
};
const QMetaObject TouchButtFramePlugin::staticMetaObject = {
{ &QObject::staticMetaObject, qt_meta_stringdata_TouchButtFramePlugin,
qt_meta_data_TouchButtFramePlugin, &staticMetaObjectExtraData }
};
#ifdef Q_NO_DATA_RELOCATION
const QMetaObject &TouchButtFramePlugin::getStaticMetaObject() { return staticMetaObject; }
#endif //Q_NO_DATA_RELOCATION
const QMetaObject *TouchButtFramePlugin::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject;
}
void *TouchButtFramePlugin::qt_metacast(const char *_clname)
{
if (!_clname) return 0;
if (!strcmp(_clname, qt_meta_stringdata_TouchButtFramePlugin))
return static_cast<void*>(const_cast< TouchButtFramePlugin*>(this));
if (!strcmp(_clname, "QDesignerCustomWidgetInterface"))
return static_cast< QDesignerCustomWidgetInterface*>(const_cast< TouchButtFramePlugin*>(this));
if (!strcmp(_clname, "com.trolltech.Qt.Designer.CustomWidget"))
return static_cast< QDesignerCustomWidgetInterface*>(const_cast< TouchButtFramePlugin*>(this));
return QObject::qt_metacast(_clname);
}
int TouchButtFramePlugin::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QObject::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
return _id;
}
QT_END_MOC_NAMESPACE

View File

@@ -0,0 +1,84 @@
/****************************************************************************
** Meta object code from reading C++ file 'touchbuttonplugin.h'
**
** Created by: The Qt Meta Object Compiler version 63 (Qt 4.8.6)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "../touchbuttonplugin.h"
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'touchbuttonplugin.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 63
#error "This file was generated using the moc from 4.8.6. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
static const uint qt_meta_data_TouchButtonPlugin[] = {
// content:
6, // revision
0, // classname
0, 0, // classinfo
0, 0, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
0 // eod
};
static const char qt_meta_stringdata_TouchButtonPlugin[] = {
"TouchButtonPlugin\0"
};
void TouchButtonPlugin::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
Q_UNUSED(_o);
Q_UNUSED(_id);
Q_UNUSED(_c);
Q_UNUSED(_a);
}
const QMetaObjectExtraData TouchButtonPlugin::staticMetaObjectExtraData = {
0, qt_static_metacall
};
const QMetaObject TouchButtonPlugin::staticMetaObject = {
{ &QObject::staticMetaObject, qt_meta_stringdata_TouchButtonPlugin,
qt_meta_data_TouchButtonPlugin, &staticMetaObjectExtraData }
};
#ifdef Q_NO_DATA_RELOCATION
const QMetaObject &TouchButtonPlugin::getStaticMetaObject() { return staticMetaObject; }
#endif //Q_NO_DATA_RELOCATION
const QMetaObject *TouchButtonPlugin::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject;
}
void *TouchButtonPlugin::qt_metacast(const char *_clname)
{
if (!_clname) return 0;
if (!strcmp(_clname, qt_meta_stringdata_TouchButtonPlugin))
return static_cast<void*>(const_cast< TouchButtonPlugin*>(this));
if (!strcmp(_clname, "QDesignerCustomWidgetInterface"))
return static_cast< QDesignerCustomWidgetInterface*>(const_cast< TouchButtonPlugin*>(this));
if (!strcmp(_clname, "com.trolltech.Qt.Designer.CustomWidget"))
return static_cast< QDesignerCustomWidgetInterface*>(const_cast< TouchButtonPlugin*>(this));
return QObject::qt_metacast(_clname);
}
int TouchButtonPlugin::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QObject::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
return _id;
}
QT_END_MOC_NAMESPACE

View File

@@ -0,0 +1,84 @@
/****************************************************************************
** Meta object code from reading C++ file 'touchsliderplugin.h'
**
** Created by: The Qt Meta Object Compiler version 63 (Qt 4.8.6)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "../touchsliderplugin.h"
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'touchsliderplugin.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 63
#error "This file was generated using the moc from 4.8.6. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
static const uint qt_meta_data_TouchSliderPlugin[] = {
// content:
6, // revision
0, // classname
0, 0, // classinfo
0, 0, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
0 // eod
};
static const char qt_meta_stringdata_TouchSliderPlugin[] = {
"TouchSliderPlugin\0"
};
void TouchSliderPlugin::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
Q_UNUSED(_o);
Q_UNUSED(_id);
Q_UNUSED(_c);
Q_UNUSED(_a);
}
const QMetaObjectExtraData TouchSliderPlugin::staticMetaObjectExtraData = {
0, qt_static_metacall
};
const QMetaObject TouchSliderPlugin::staticMetaObject = {
{ &QObject::staticMetaObject, qt_meta_stringdata_TouchSliderPlugin,
qt_meta_data_TouchSliderPlugin, &staticMetaObjectExtraData }
};
#ifdef Q_NO_DATA_RELOCATION
const QMetaObject &TouchSliderPlugin::getStaticMetaObject() { return staticMetaObject; }
#endif //Q_NO_DATA_RELOCATION
const QMetaObject *TouchSliderPlugin::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject;
}
void *TouchSliderPlugin::qt_metacast(const char *_clname)
{
if (!_clname) return 0;
if (!strcmp(_clname, qt_meta_stringdata_TouchSliderPlugin))
return static_cast<void*>(const_cast< TouchSliderPlugin*>(this));
if (!strcmp(_clname, "QDesignerCustomWidgetInterface"))
return static_cast< QDesignerCustomWidgetInterface*>(const_cast< TouchSliderPlugin*>(this));
if (!strcmp(_clname, "com.trolltech.Qt.Designer.CustomWidget"))
return static_cast< QDesignerCustomWidgetInterface*>(const_cast< TouchSliderPlugin*>(this));
return QObject::qt_metacast(_clname);
}
int TouchSliderPlugin::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QObject::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
return _id;
}
QT_END_MOC_NAMESPACE

View File

@@ -0,0 +1,84 @@
/****************************************************************************
** Meta object code from reading C++ file 'tw.h'
**
** Created by: The Qt Meta Object Compiler version 63 (Qt 4.8.6)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "../tw.h"
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'tw.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 63
#error "This file was generated using the moc from 4.8.6. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
static const uint qt_meta_data_TW[] = {
// content:
6, // revision
0, // classname
0, 0, // classinfo
0, 0, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
0 // eod
};
static const char qt_meta_stringdata_TW[] = {
"TW\0"
};
void TW::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
Q_UNUSED(_o);
Q_UNUSED(_id);
Q_UNUSED(_c);
Q_UNUSED(_a);
}
const QMetaObjectExtraData TW::staticMetaObjectExtraData = {
0, qt_static_metacall
};
const QMetaObject TW::staticMetaObject = {
{ &QObject::staticMetaObject, qt_meta_stringdata_TW,
qt_meta_data_TW, &staticMetaObjectExtraData }
};
#ifdef Q_NO_DATA_RELOCATION
const QMetaObject &TW::getStaticMetaObject() { return staticMetaObject; }
#endif //Q_NO_DATA_RELOCATION
const QMetaObject *TW::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject;
}
void *TW::qt_metacast(const char *_clname)
{
if (!_clname) return 0;
if (!strcmp(_clname, qt_meta_stringdata_TW))
return static_cast<void*>(const_cast< TW*>(this));
if (!strcmp(_clname, "QDesignerCustomWidgetCollectionInterface"))
return static_cast< QDesignerCustomWidgetCollectionInterface*>(const_cast< TW*>(this));
if (!strcmp(_clname, "com.trolltech.Qt.Designer.CustomWidgetCollection"))
return static_cast< QDesignerCustomWidgetCollectionInterface*>(const_cast< TW*>(this));
return QObject::qt_metacast(_clname);
}
int TW::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QObject::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
return _id;
}
QT_END_MOC_NAMESPACE

View File

@@ -0,0 +1,271 @@
/****************************************************************************
** Resource object code
**
** Created by: The Resource Compiler for Qt version 4.8.6
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include <QtCore/qglobal.h>
static const unsigned char qt_resource_data[] = {
// C:/libs/touch_widgets/icons/touchslider.png
0x0,0x0,0x3,0x93,
0x89,
0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0,
0x0,0x0,0x16,0x0,0x0,0x0,0x16,0x8,0x6,0x0,0x0,0x0,0xc4,0xb4,0x6c,0x3b,
0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xe,0x4d,0x0,0x0,0xe,0x9c,
0x1,0xde,0xf6,0x9c,0x57,0x0,0x0,0x0,0x7,0x74,0x49,0x4d,0x45,0x7,0xde,0x2,
0x4,0x12,0x1e,0x39,0x85,0xa4,0xd3,0x1,0x0,0x0,0x3,0x32,0x49,0x44,0x41,0x54,
0x38,0xcb,0xed,0x95,0x6d,0x6c,0x53,0x65,0x14,0xc7,0x7f,0xf7,0xf6,0x59,0xef,0xb8,
0x97,0xae,0xde,0xe,0x37,0xa7,0xc,0xb6,0x91,0xcc,0x80,0x2d,0x22,0x4e,0x8c,0x5e,
0x63,0x84,0xa8,0xd1,0x4,0x24,0x8b,0x1,0x57,0x42,0xd0,0x2c,0x4a,0x47,0xd0,0x88,
0x46,0x31,0x7c,0x30,0x41,0x12,0xe3,0x82,0x33,0x8b,0x11,0x3,0x4d,0x7c,0x4b,0x34,
0x36,0x41,0xfc,0xa2,0x24,0xa8,0x1,0x36,0x1a,0xfa,0x1,0x97,0xea,0x92,0xd5,0x64,
0xbc,0x6c,0xa1,0x6c,0xb8,0x41,0x11,0x29,0x6e,0xed,0xda,0xde,0xde,0xfa,0xa1,0xb7,
0xce,0xc9,0xd2,0x38,0xf9,0xea,0x3f,0x39,0xc9,0x73,0x72,0x9e,0xe7,0x97,0xe7,0xe5,
0x9c,0xf3,0xc0,0xff,0xb2,0x25,0x1,0x32,0xe0,0x0,0x84,0x3d,0x96,0x6c,0x9b,0xab,
0xa,0xb6,0x59,0x80,0x9,0xb0,0x9,0x18,0xfc,0x5b,0xe0,0x66,0xec,0x2c,0xd0,0x1,
0x78,0x24,0xe0,0x64,0x28,0x14,0x32,0x7c,0x3e,0xdf,0x4d,0x1f,0x7f,0x60,0x60,0x0,
0xbf,0xdf,0xdf,0xf,0xb4,0x49,0x40,0x21,0x16,0x8b,0x1,0x10,0x89,0x44,0x8,0x4,
0x2,0xc4,0x62,0x31,0x5e,0x7f,0xc7,0x8b,0xea,0x86,0x4a,0x15,0x14,0x5,0x1c,0x62,
0x1a,0x90,0x37,0x21,0x93,0x81,0x5d,0xcf,0xc5,0xf0,0x7a,0xbd,0x4,0x83,0x41,0xc,
0xc3,0x0,0xc0,0xeb,0xf5,0x2,0x18,0x7f,0x4d,0x2f,0x41,0x4b,0x52,0xdd,0x50,0x5d,
0xb,0x2e,0x1d,0xe6,0x69,0x20,0x2a,0xa6,0xc1,0x66,0xe,0xd2,0x93,0xd3,0x7e,0x20,
0x10,0x98,0x1,0x7,0x5c,0x62,0x36,0x28,0x14,0x77,0xea,0xd2,0xc1,0x53,0x3,0xea,
0xa8,0x4,0x51,0x89,0x45,0x6b,0x76,0x32,0xde,0xd8,0x49,0x36,0x3,0x75,0xca,0x3a,
0x4e,0x1f,0xfb,0x98,0x6f,0x5f,0x7c,0xc,0x80,0x73,0xbd,0xdb,0x88,0xb0,0xbf,0xb4,
0x5c,0xc8,0x0,0x86,0x61,0x10,0xc,0x6,0x67,0x80,0x85,0x28,0xee,0x52,0x38,0x81,
0xa8,0x44,0x7b,0xd7,0x10,0x17,0x8e,0xef,0xa5,0xd9,0xfd,0x2,0x77,0x2e,0xd8,0xc8,
0xc8,0xfb,0xc3,0xd4,0x49,0x15,0x3c,0xf2,0xe6,0x27,0x68,0x4d,0x77,0xd3,0xb1,0x3f,
0x41,0xaa,0x77,0x5b,0x69,0xb9,0x2c,0x97,0x46,0xff,0x84,0x9b,0x66,0xf1,0xc8,0x66,
0xb6,0xe8,0x27,0x6,0x7f,0x66,0xf3,0xee,0x28,0xf1,0x77,0xfb,0x48,0x1f,0x88,0xf3,
0xec,0xde,0xcf,0xf1,0xb5,0xbd,0x4c,0xf8,0xc0,0x1e,0x96,0x3e,0xfa,0x34,0x47,0xdf,
0xdb,0xc9,0x96,0xb7,0x7f,0xa1,0xdb,0x2f,0x3,0x58,0x12,0x70,0x2a,0x14,0xa,0xad,
0x2a,0x97,0x15,0x3d,0xa1,0x4e,0xcc,0xe1,0x2f,0x59,0xf7,0xfc,0x21,0xf4,0xc6,0xa5,
0x5c,0x19,0x8a,0x71,0x26,0xfc,0x1d,0x4d,0xab,0x1e,0xc6,0xb3,0xb8,0x99,0xfe,0xc3,
0x5f,0xb0,0x62,0xed,0x66,0xa2,0x1f,0xbd,0xc5,0x3,0x3b,0xba,0x79,0x66,0xed,0xb2,
0x97,0x24,0x3b,0xef,0xde,0x0,0x1a,0xca,0xa5,0xd2,0xbe,0x1d,0xf7,0x93,0xbb,0xd4,
0x87,0xf1,0x44,0x27,0x8b,0x5b,0x56,0x63,0x15,0x2c,0x2e,0xf6,0x47,0x48,0x9c,0x3f,
0xcb,0x5d,0x8f,0x6f,0x60,0xe0,0x48,0x88,0x95,0xad,0xed,0xb8,0x17,0x2e,0x21,0x12,
0xe,0x7f,0x20,0x80,0x83,0x40,0xf,0xb0,0x0,0x70,0xd9,0x15,0x78,0x43,0xe5,0x89,
0x9a,0x96,0x6f,0x72,0x97,0xfa,0xb8,0xd0,0x73,0x88,0x7c,0x2e,0x87,0x5e,0xbf,0x84,
0xc6,0x7,0x9f,0xa4,0x6e,0xd9,0xbd,0xc,0x45,0xbe,0x67,0x65,0x6b,0x3b,0x55,0xb7,
0x37,0x90,0x1c,0x1d,0xc2,0x5d,0xe5,0x4a,0xc9,0x40,0xa,0x48,0x0,0x71,0xbb,0x72,
0x4e,0xcf,0x66,0xb7,0x34,0x3d,0xb4,0x1d,0xa0,0xfa,0x9e,0xd5,0x0,0x1c,0xf9,0x6c,
0x13,0xa3,0x3f,0xf5,0xe2,0xd4,0xaa,0x58,0xbe,0xbe,0x8,0xbd,0xfe,0xeb,0x79,0x9c,
0x5a,0x15,0x1e,0x5d,0x9f,0x10,0x40,0x16,0xc8,0x3,0xe9,0x72,0xbd,0xa2,0xbe,0x7e,
0xd1,0xe0,0x18,0xe0,0xb9,0xa3,0x1,0x4d,0xaf,0x5,0xe0,0xf8,0xd7,0xdb,0x59,0xc3,
0x87,0xd4,0x34,0xaf,0x20,0x7d,0x2d,0x81,0x65,0xbf,0x74,0xa5,0x5c,0xc8,0x8,0xbb,
0x69,0x58,0x40,0xae,0xdc,0x1d,0xdf,0xd7,0xd2,0x12,0xfd,0x11,0xd0,0xf4,0x5a,0xb4,
0x5b,0xeb,0x6e,0x88,0x3b,0x2a,0x14,0xac,0xbc,0x5,0x85,0x2,0x8a,0x36,0x3f,0x2f,
0xfe,0x6d,0x1f,0x70,0x2a,0x4a,0xb2,0xdb,0x2f,0x93,0xba,0x7e,0x15,0x87,0xa2,0xd0,
0xb6,0x2b,0x32,0x23,0x9e,0xcf,0x65,0x70,0xaa,0x2a,0xd9,0xd4,0x1f,0x24,0x2f,0x5f,
0x44,0x9e,0x4b,0x93,0xa9,0xf4,0x76,0x70,0xec,0xe0,0x56,0xae,0x8e,0xc,0x93,0x1c,
0x8b,0x33,0x99,0x18,0x23,0x9b,0x9a,0x98,0xce,0xfd,0xcc,0x14,0xc9,0xf1,0x11,0xe6,
0xd7,0x2c,0xc4,0x31,0x17,0xf0,0x57,0x87,0x4f,0x4,0x7,0xe3,0xc9,0xd7,0xce,0x85,
0xf7,0x50,0xad,0xfb,0x90,0x84,0xc0,0x9c,0x4a,0x31,0x35,0x71,0x8d,0xf4,0xef,0xbf,
0x91,0x9d,0x9a,0x4,0x59,0x60,0x5a,0xfc,0x20,0xe6,0x2,0x56,0x55,0x75,0x1c,0x90,
0x3e,0xed,0x7a,0xa5,0x70,0xaa,0x67,0xf7,0xac,0x73,0x8c,0xa7,0xf6,0xa1,0xdd,0xe6,
0xfc,0x4f,0x3f,0x45,0x59,0x75,0x6d,0x6d,0x7d,0x35,0x93,0x9a,0xe0,0x4f,0xdc,0x8d,
0x31,0x80,0x4c,0x74,0x81,0x6b,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,
0x60,0x82,
// C:/libs/touch_widgets/icons/touchbutton.png
0x0,0x0,0x3,0x8a,
0x89,
0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0,
0x0,0x0,0x16,0x0,0x0,0x0,0x16,0x8,0x6,0x0,0x0,0x0,0xc4,0xb4,0x6c,0x3b,
0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xe,0x4d,0x0,0x0,0xe,0x9c,
0x1,0xde,0xf6,0x9c,0x57,0x0,0x0,0x0,0x7,0x74,0x49,0x4d,0x45,0x7,0xde,0x2,
0x4,0x12,0x1b,0x34,0x86,0x62,0x5b,0xf9,0x0,0x0,0x3,0x29,0x49,0x44,0x41,0x54,
0x38,0xcb,0xb5,0x95,0x7f,0x68,0x94,0x75,0x1c,0xc7,0x5f,0xcf,0x3d,0xcf,0xdd,0xe3,
0xed,0xb9,0xd,0x6e,0xba,0xad,0x29,0xd5,0x39,0x41,0xc1,0x13,0x6b,0xdb,0xd1,0x81,
0x3,0x97,0xa1,0xc2,0xa0,0x94,0x81,0x81,0xa9,0x28,0x5e,0x3,0x43,0xe9,0x8f,0xfd,
0x63,0x8,0x49,0x53,0x1c,0x6b,0x61,0xa4,0xd1,0x58,0x50,0x68,0x61,0x34,0x8,0x23,
0xca,0x81,0x8,0x96,0xcd,0x26,0x72,0x88,0x2b,0x8f,0x39,0x53,0x6f,0x4d,0xcb,0x24,
0xd9,0x25,0xde,0xba,0xfd,0xb8,0x7b,0x9e,0xef,0xf7,0xdb,0x1f,0xbb,0xd9,0xcd,0xdd,
0xa6,0xcd,0x7a,0xc3,0x1b,0xbe,0xf0,0xe5,0xf3,0xfa,0x7e,0x9e,0xe7,0xfb,0xf9,0x7c,
0xbe,0x1a,0xe0,0x6a,0x6d,0x6d,0xdd,0x28,0xa5,0xdc,0x99,0x48,0x24,0x6a,0x52,0xa9,
0x14,0xff,0x56,0xc9,0x64,0x92,0x58,0x2c,0x16,0xed,0xeb,0xeb,0x3b,0xa,0x7c,0x1,
0x8c,0x0,0xb8,0x5b,0x5a,0x5a,0xba,0xe3,0xf1,0xb8,0x12,0x42,0xcc,0xda,0x5d,0x5d,
0x5d,0xa,0xe8,0x1,0x16,0x3,0x7e,0x3,0xd0,0x13,0x89,0x44,0x4d,0x20,0x10,0x40,
0x8,0xc1,0x6c,0xe5,0xf5,0x7a,0x1,0x2a,0x81,0x79,0xc0,0xb0,0x1,0xe8,0xa9,0x54,
0xa,0xc7,0x71,0x50,0x4a,0xcd,0x1a,0x9c,0xc9,0x64,0x26,0x96,0x85,0x80,0x69,0x0,
0x1a,0x80,0x94,0xf2,0xb1,0x32,0xce,0x89,0x35,0x0,0xfd,0x3e,0x58,0x8,0xf1,0x58,
0x60,0x29,0xe5,0xc4,0xd2,0x5,0x68,0x46,0xee,0x89,0x8e,0xe3,0xfc,0x17,0x19,0xdf,
0x4f,0xfb,0xff,0x5,0x3b,0x8e,0x83,0x6d,0xdb,0x79,0x83,0xae,0x9d,0xfd,0x88,0x58,
0xe7,0x1,0x16,0xae,0x7e,0x8b,0xea,0xb5,0x11,0x0,0x34,0xe5,0x10,0xfd,0xea,0x7d,
0x3c,0xd7,0x7b,0x1,0x88,0xff,0xf9,0xed,0xa4,0x18,0x57,0x2e,0x78,0x3a,0xc7,0x3a,
0xf,0x10,0x39,0xd8,0xcf,0xc0,0xe9,0x7d,0xa4,0x53,0x9,0x64,0x66,0x84,0x8e,0x5d,
0x2f,0x52,0xae,0xb9,0x79,0x7e,0xef,0x11,0xac,0x8a,0x67,0x78,0xad,0x7d,0x90,0xf7,
0x5e,0x71,0xe5,0xcf,0x38,0xa7,0x64,0xa6,0x68,0xf0,0xe7,0x1f,0xd9,0xd2,0x74,0x91,
0xaf,0xf7,0x6e,0xc7,0x6f,0x99,0x6c,0x7b,0xe7,0x18,0xde,0xb9,0x65,0x9c,0x6d,0x6f,
0xa2,0xaa,0x3e,0xc2,0xe9,0x77,0x77,0xb3,0xb5,0xf9,0x32,0x10,0xfc,0xa6,0xb1,0x43,
0x2e,0x79,0xa4,0x7f,0x6c,0x54,0x6c,0xe2,0xc4,0xc7,0x1b,0x78,0xa9,0xe1,0x38,0xf5,
0x6f,0x77,0x90,0xe8,0xef,0x25,0xfa,0x79,0x1b,0x15,0xcf,0xad,0xa4,0xaa,0x3e,0xc2,
0x4f,0x9d,0x9f,0x11,0x7a,0xb9,0x81,0xf3,0x87,0x1a,0xd9,0xda,0x7c,0x99,0xb,0x3,
0x4b,0x83,0x3a,0x60,0x86,0x42,0xa1,0x3d,0xe1,0x70,0x98,0x74,0x3a,0x8d,0x94,0x72,
0x8a,0x9f,0xe,0xae,0xe0,0xf7,0x78,0xf,0x57,0x7e,0x38,0x84,0xcf,0xf3,0x14,0x4f,
0x2c,0xa9,0xa4,0x3c,0x58,0xc5,0xdd,0x9b,0x57,0xf9,0x25,0x7a,0x86,0xe0,0x9a,0xd,
0x5c,0x3a,0x71,0x8c,0xea,0xcd,0x8d,0xf8,0x4a,0x17,0xb0,0x68,0xd9,0x9a,0x81,0x47,
0xae,0xa,0xa3,0x34,0x84,0x7d,0xe7,0x2,0xbf,0x9e,0x39,0x8e,0xb0,0x6d,0xfc,0x4f,
0x2e,0x62,0xe1,0x8a,0x3a,0xca,0x97,0x56,0xd3,0x7f,0xee,0x14,0x55,0xf5,0x11,0x8a,
0xe6,0x7,0x48,0xde,0xea,0x9f,0x7c,0x79,0x42,0x8,0x6c,0xdb,0x9e,0xd6,0xe1,0xba,
0x57,0x1,0x98,0x5b,0xb9,0xa,0x80,0x93,0x9f,0x6c,0xe2,0x56,0xcf,0xf7,0x78,0xac,
0x22,0x96,0xaf,0x1f,0x87,0xe,0xdd,0xbe,0x81,0xc7,0x2a,0x42,0xa9,0x7,0xea,0x78,
0xa6,0xce,0x13,0x62,0xbc,0xb3,0x8a,0x17,0x4,0xb0,0xfc,0x65,0x0,0x7c,0xf7,0xe5,
0x2e,0x5e,0xa0,0x8d,0xd2,0xc5,0xcf,0x32,0x7a,0x6f,0x10,0xe9,0x8c,0x5f,0xbe,0x33,
0x9a,0xc2,0x0,0x54,0x32,0x99,0xc4,0x71,0x9c,0x19,0xc1,0x63,0x63,0x63,0x0,0x58,
0xfe,0x32,0xac,0x92,0xf2,0x29,0xfb,0xba,0xdb,0x44,0xa,0x9,0x4a,0xa1,0x79,0x4c,
0x65,0x0,0x2a,0x16,0x8b,0x45,0xbb,0xbb,0xbb,0xc3,0x5e,0xaf,0xf7,0xa1,0xf3,0x62,
0x64,0xe8,0x2e,0xba,0x69,0xb2,0x71,0xcf,0xb9,0xc9,0x5f,0x64,0xa7,0xf1,0x14,0x14,
0x90,0x19,0xf9,0x8b,0xa1,0xdb,0x3,0x4a,0x3,0xe6,0x0,0xdb,0x80,0x1d,0xd9,0x79,
0x3a,0xad,0xda,0x9b,0x77,0x32,0xd6,0xfb,0x21,0x2b,0xd7,0x1d,0xc6,0x2a,0x2e,0xc1,
0x30,0x3c,0xb8,0xad,0x42,0x3c,0x5,0xbe,0x7f,0x5e,0x93,0x3f,0x7e,0x63,0x8,0x73,
0xbf,0x6,0xb8,0x1,0x1f,0x50,0x92,0x1d,0xd2,0x85,0xd9,0xc6,0x71,0x3d,0x8,0xae,
0xad,0xad,0xf5,0x6f,0xae,0x5b,0xfe,0xe9,0xf0,0xa5,0x36,0xc2,0xab,0x9a,0xf0,0x95,
0xcc,0x47,0x37,0xdc,0x68,0xba,0x8e,0x12,0x12,0xdd,0x34,0xc1,0x65,0x90,0xcc,0xa8,
0x37,0xb5,0x2c,0xc0,0xd,0x14,0x64,0x6d,0x2,0xfa,0xc4,0x38,0xcd,0xa7,0xa3,0x7,
0x1b,0xaf,0xde,0xbb,0x78,0x38,0xef,0x5e,0xcd,0xba,0xf,0x30,0x8a,0xcb,0xde,0xd0,
0x72,0x66,0x86,0x9e,0x63,0x6d,0x26,0x70,0x1e,0xa9,0xac,0x45,0x6b,0xc3,0xfa,0xd7,
0xed,0xd1,0x61,0xf9,0x37,0xc,0xf9,0xc2,0x8d,0x93,0x2,0x90,0x18,0x0,0x0,0x0,
0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82,
// C:/libs/touch_widgets/icons/touchbuttframe.png
0x0,0x0,0x4,0x6,
0x89,
0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0,
0x0,0x0,0x16,0x0,0x0,0x0,0x16,0x8,0x6,0x0,0x0,0x0,0xc4,0xb4,0x6c,0x3b,
0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xe,0x4d,0x0,0x0,0xe,0x9c,
0x1,0xde,0xf6,0x9c,0x57,0x0,0x0,0x0,0x7,0x74,0x49,0x4d,0x45,0x7,0xde,0x2,
0x4,0x12,0x1d,0x3a,0x37,0x80,0xd1,0x78,0x0,0x0,0x3,0xa5,0x49,0x44,0x41,0x54,
0x38,0xcb,0xb5,0x93,0x5f,0x4c,0xdb,0x55,0x14,0xc7,0x3f,0xa5,0xbf,0xb6,0x96,0xb6,
0xb0,0x81,0x8c,0x80,0x99,0x29,0xc,0xe7,0x74,0x38,0x1d,0xd0,0x10,0x67,0x66,0x20,
0xd9,0x83,0x7b,0x41,0x89,0x9b,0x1a,0xa6,0x4b,0x86,0x8b,0x31,0x8e,0x98,0x90,0x2c,
0x4b,0x24,0xe2,0x20,0xe1,0xcf,0x1e,0x66,0xe2,0xa2,0x13,0x1f,0xc8,0x58,0xdc,0x74,
0x89,0xd1,0x18,0x7,0x89,0xd1,0x30,0x1d,0x5a,0xa2,0x30,0x60,0xb3,0xe,0x62,0x5c,
0x9,0x64,0x10,0xa2,0x83,0xce,0xb6,0x16,0x5a,0xfa,0xbb,0xf7,0xf7,0xf3,0x81,0xb6,
0xfe,0xa8,0xdd,0xb,0x89,0x37,0x39,0xb9,0x27,0xe7,0x7b,0xcf,0xf7,0x7c,0xef,0xb9,
0xe7,0x9a,0xba,0xbb,0xbb,0xf,0x1,0xef,0x2c,0x2d,0x2d,0x6d,0x8f,0x44,0x22,0x84,
0x42,0x21,0xfc,0x7e,0x3f,0x73,0x73,0x73,0x33,0x1e,0x8f,0x67,0xb8,0xba,0xba,0xfa,
0xe1,0x60,0x30,0xe8,0x49,0x62,0x3e,0x9f,0x6f,0x64,0x6a,0x6a,0xea,0x7c,0x4b,0x4b,
0x8b,0x74,0x3a,0x9d,0x47,0x2,0x81,0xc0,0x93,0x69,0x58,0x1f,0xf0,0x19,0x5d,0x5d,
0x5d,0xc3,0x7e,0xbf,0x5f,0x97,0x52,0xa6,0x6c,0x68,0x68,0x48,0x2f,0x2b,0x2b,0xd3,
0x9b,0x9a,0x9a,0x96,0x33,0x61,0xc0,0xf5,0xf6,0xf6,0xf6,0xf1,0x7b,0x60,0x13,0xc0,
0x76,0x25,0x10,0x8,0xec,0x71,0xbb,0xdd,0x48,0x29,0x49,0x2e,0xbb,0xdd,0x8e,0xdf,
0xef,0xc7,0x66,0xb3,0x65,0x67,0xc2,0x80,0x27,0xc2,0xe1,0x30,0xf7,0xc0,0x76,0x3,
0xf7,0x2b,0x91,0x48,0x4,0x21,0x4,0xba,0xae,0xa7,0xe,0xc4,0xe3,0x71,0x0,0x36,
0x8a,0x1,0x2e,0x5,0x40,0xd3,0xb4,0x75,0x95,0x8d,0xfe,0x6,0x31,0x45,0x49,0x6,
0xd2,0x13,0x8c,0x87,0x37,0x80,0x65,0xa5,0x88,0x85,0x10,0x19,0x55,0x6d,0x14,0xfb,
0x7f,0x89,0x85,0x10,0xa8,0xaa,0x9a,0xa,0x1a,0x7d,0x21,0x4,0x93,0x57,0x3e,0xc4,
0x37,0xd0,0x41,0xc9,0xbe,0x93,0x28,0x85,0x95,0x0,0xec,0x2a,0xdf,0xc1,0xd5,0x8b,
0x1d,0x58,0x6f,0xdd,0x4,0xc0,0x1f,0xb8,0xc2,0x43,0x87,0x2e,0xa7,0xf2,0xb2,0x92,
0xc9,0x46,0x33,0x56,0x16,0x42,0xe0,0x1b,0xe8,0xa0,0xf1,0xf4,0x34,0x33,0x83,0xed,
0xe4,0xb9,0x2c,0xbc,0xd2,0xf0,0x2,0x2b,0xdf,0xf6,0x52,0x64,0xb2,0x50,0xd3,0x7a,
0xe,0x47,0xe9,0xe3,0xbc,0xde,0xb3,0xc8,0xad,0x4f,0xea,0xfe,0xab,0xd8,0x30,0x2a,
0xeb,0xae,0x97,0xf4,0x17,0x7f,0xbb,0xce,0xcb,0x6d,0xe3,0x7c,0xd5,0x7a,0x84,0xe7,
0x1c,0x36,0xf6,0xb6,0x5e,0xc0,0x9e,0x5f,0xc8,0xf,0x3d,0x6d,0x54,0xd4,0x37,0x32,
0xf8,0xee,0x9,0xe,0x77,0x4e,0x2,0x3b,0x69,0xbe,0xa4,0xad,0x29,0x4e,0xf6,0x2a,
0x93,0x62,0x29,0x25,0x4a,0x69,0x3,0xfd,0xbd,0x7,0x8,0xcd,0xcf,0x50,0x7f,0xea,
0x12,0xe5,0xd,0xc7,0x19,0xf9,0xf4,0x2c,0xb7,0x47,0x6,0xa9,0xa8,0x6f,0xe4,0xc6,
0xc0,0x45,0xaa,0xe,0x1e,0xe5,0xa7,0xf7,0x9a,0x39,0xdc,0x39,0x49,0xed,0xe,0x53,
0x59,0x56,0xb2,0xa7,0x46,0x33,0x2a,0x56,0x55,0x95,0xbd,0x7,0x8f,0x63,0x29,0xf4,
0xd0,0xdf,0x7b,0x80,0xe9,0x1f,0xfb,0xd9,0x54,0xec,0xa6,0xea,0xc5,0xd7,0x88,0x86,
0x2,0xdc,0xb8,0xfc,0x31,0x3b,0xf7,0x3d,0xcf,0xc4,0x97,0xe7,0xa8,0x3c,0x7a,0x12,
0xfb,0xa6,0x7c,0xde,0x6c,0xed,0x2b,0xcf,0x38,0x15,0xe9,0x2f,0x2d,0x84,0x40,0xd9,
0x52,0x85,0xfa,0xe7,0x35,0x6e,0x7f,0xff,0x39,0x52,0x55,0xd9,0xbc,0x75,0x1b,0x25,
0x7b,0xf6,0x53,0xf4,0x68,0x25,0xd3,0xc3,0xdf,0x50,0x51,0xdf,0x48,0x4e,0xb1,0x9b,
0xd0,0xfc,0xf4,0xbf,0x8f,0x27,0xa5,0x5c,0xa7,0x38,0xbd,0x15,0xaa,0xaa,0x52,0xbd,
0xff,0x55,0x0,0xf2,0x77,0xd7,0x2,0xf0,0xf5,0xf9,0x6,0xe6,0x27,0xae,0x62,0x75,
0xe4,0xb0,0xeb,0xd9,0x35,0xd2,0xf0,0xc2,0x2c,0x56,0x47,0xe,0xba,0x6e,0x20,0x4e,
0xb7,0xf4,0xdf,0x25,0xe5,0xda,0xaf,0xca,0x7b,0xc0,0x4d,0x41,0xc9,0x23,0x0,0x7c,
0xf7,0xc5,0x31,0x16,0x7e,0xfd,0x99,0x68,0x70,0x91,0xf0,0xc2,0x2c,0x9a,0x58,0x1b,
0x0,0x11,0x5b,0x41,0x9,0x85,0x42,0xeb,0x1e,0x6c,0x75,0x75,0x95,0x48,0x24,0x2,
0x80,0x11,0x8b,0xc5,0x62,0x0,0x38,0x36,0x17,0xe2,0x28,0x28,0x22,0x7d,0x99,0x2d,
0x36,0x34,0xa9,0x81,0xae,0x93,0x65,0xb1,0x6a,0x8a,0xcf,0xe7,0xbb,0xe6,0xf5,0x7a,
0x3d,0x76,0xbb,0x1d,0x29,0x25,0xd1,0x68,0x94,0xb1,0xb1,0x31,0x5c,0x2e,0x17,0xa3,
0xa3,0xa3,0x71,0xaf,0xd7,0x6b,0x4d,0x62,0x0,0x2b,0xe1,0xbb,0x98,0x6d,0x36,0x5e,
0x7a,0x6b,0x78,0x1d,0xb1,0x54,0x57,0xb1,0x66,0x67,0x13,0x5f,0xf9,0x9b,0xe5,0xc5,
0x79,0xcd,0x4,0x34,0x1,0x27,0x80,0xad,0x69,0x22,0xfe,0x2,0xfc,0x40,0x3e,0x50,
0xa,0xd0,0xd3,0xf9,0x6,0xb1,0x9b,0x1f,0xf1,0x74,0xdd,0x19,0x1c,0x79,0x5,0x28,
0x8a,0x15,0x8b,0xc3,0x85,0x35,0xdb,0x99,0x4a,0xa,0xfd,0x31,0xc7,0xef,0x77,0xc2,
0xef,0x9b,0x80,0x2d,0xc0,0x83,0xc0,0xb6,0xc4,0xee,0x4,0x4,0x10,0x5,0xee,0x2,
0x41,0x60,0x19,0xb0,0xd6,0xd4,0xd4,0xe4,0x36,0x3c,0xf3,0xd8,0x85,0xe5,0x5f,0xce,
0x52,0x5d,0xdb,0x86,0xb3,0xa0,0x18,0xb3,0x62,0xc1,0x64,0x36,0xa3,0x4b,0xd,0xb3,
0xcd,0x6,0x59,0xa,0xb3,0x77,0x82,0xa7,0x4c,0x80,0x1d,0xc8,0x5,0xf2,0x12,0xea,
0xee,0x3,0x24,0xb0,0x9a,0x20,0x8c,0x2,0x71,0xc0,0x2,0xe8,0x80,0xec,0x3b,0xdd,
0x3c,0x1d,0x1c,0x3f,0x43,0xa6,0xf5,0x54,0xdd,0x7,0xa8,0xf6,0xdc,0xb7,0x4d,0x89,
0x91,0xb3,0x0,0xd6,0x4,0xa9,0x19,0xd0,0x12,0xe4,0x22,0xb1,0x6b,0x89,0xb8,0x9e,
0x24,0x4f,0xec,0x0,0x26,0x43,0x51,0xbd,0xbb,0xb1,0xee,0x98,0x1a,0x5b,0xd6,0xff,
0x1,0x52,0xf9,0xa3,0x52,0x6d,0xc9,0xcf,0xa8,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,
0x44,0xae,0x42,0x60,0x82,
};
static const unsigned char qt_resource_name[] = {
// icons
0x0,0x5,
0x0,0x6f,0xa6,0x53,
0x0,0x69,
0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x73,
// touchslider.png
0x0,0xf,
0xd,0xfa,0x7f,0x7,
0x0,0x74,
0x0,0x6f,0x0,0x75,0x0,0x63,0x0,0x68,0x0,0x73,0x0,0x6c,0x0,0x69,0x0,0x64,0x0,0x65,0x0,0x72,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67,
// touchbutton.png
0x0,0xf,
0xc,0x9d,0x83,0x87,
0x0,0x74,
0x0,0x6f,0x0,0x75,0x0,0x63,0x0,0x68,0x0,0x62,0x0,0x75,0x0,0x74,0x0,0x74,0x0,0x6f,0x0,0x6e,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67,
// touchbuttframe.png
0x0,0x12,
0xd,0x7d,0xeb,0xc7,
0x0,0x74,
0x0,0x6f,0x0,0x75,0x0,0x63,0x0,0x68,0x0,0x62,0x0,0x75,0x0,0x74,0x0,0x74,0x0,0x66,0x0,0x72,0x0,0x61,0x0,0x6d,0x0,0x65,0x0,0x2e,0x0,0x70,0x0,0x6e,
0x0,0x67,
};
static const unsigned char qt_resource_struct[] = {
// :
0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x1,
// :/icons
0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x2,
// :/icons/touchbutton.png
0x0,0x0,0x0,0x34,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x3,0x97,
// :/icons/touchbuttframe.png
0x0,0x0,0x0,0x58,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x7,0x25,
// :/icons/touchslider.png
0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,
};
QT_BEGIN_NAMESPACE
extern Q_CORE_EXPORT bool qRegisterResourceData
(int, const unsigned char *, const unsigned char *, const unsigned char *);
extern Q_CORE_EXPORT bool qUnregisterResourceData
(int, const unsigned char *, const unsigned char *, const unsigned char *);
QT_END_NAMESPACE
int QT_MANGLE_NAMESPACE(qInitResources_touch_widgets)()
{
QT_PREPEND_NAMESPACE(qRegisterResourceData)
(0x01, qt_resource_struct, qt_resource_name, qt_resource_data);
return 1;
}
Q_CONSTRUCTOR_FUNCTION(QT_MANGLE_NAMESPACE(qInitResources_touch_widgets))
int QT_MANGLE_NAMESPACE(qCleanupResources_touch_widgets)()
{
QT_PREPEND_NAMESPACE(qUnregisterResourceData)
(0x01, qt_resource_struct, qt_resource_name, qt_resource_data);
return 1;
}
Q_DESTRUCTOR_FUNCTION(QT_MANGLE_NAMESPACE(qCleanupResources_touch_widgets))

Binary file not shown.

17
touch_widgets/touch_bar.h Normal file
View File

@@ -0,0 +1,17 @@
#ifndef TOUCH_BAR_H
#define TOUCH_BAR_H
#include <QProgressBar>
class touch_bar: public QProgressBar {
Q_OBJECT
public:
touch_bar(QWidget * parent = 0): QProgressBar(parent)
{
//setSizePolicy(QSizePolicy::Minimum,QSizePolicy::Minimum);
}
signals:
void mouseMoveEvent(QMouseEvent * e);
void mousePressEvent(QMouseEvent * e);
};
#endif // TOUCH_BAR_H

View File

@@ -0,0 +1,3 @@
[Project]
Manager=KDevCMakeManager
Name=touch_widgets

View File

@@ -0,0 +1,17 @@
CONFIG += designer plugin release
TARGET = $$qtLibraryTarget(touch_widgets_plugin)
TEMPLATE = lib
HEADERS = touchsliderplugin.h touchbuttframeplugin.h tw.h \
touchbuttonplugin.h
SOURCES = touchsliderplugin.cpp touchbuttframeplugin.cpp tw.cpp \
touchbuttonplugin.cpp
RESOURCES = touch_widgets.qrc
LIBS += -L. -ltouch_widgets
target.path = $$[QT_INSTALL_PLUGINS]/designer
INSTALLS += target
#include(touchslider.pri)
#include(touchbuttframe.pri)
#include(touchbutton.pri)

View File

@@ -0,0 +1,7 @@
<RCC>
<qresource prefix="/" >
<file>icons/touchbuttframe.png</file>
<file>icons/touchbutton.png</file>
<file>icons/touchslider.png</file>
</qresource>
</RCC>

View File

@@ -0,0 +1,7 @@
<RCC>
<qresource prefix="/" >
<file>icons/touchbuttframe.png</file>
<file>icons/touchbutton.png</file>
<file>icons/touchslider.png</file>
</qresource>
</RCC>

View File

@@ -0,0 +1,84 @@
#include "touchbuttframe.h"
TouchButtFrame::TouchButtFrame(QWidget * parent, Qt::Orientation orientation): QFrame(parent) {
id_click = id_set = -1;
TouchButton b;
colr = b.noColor();
colg = b.yesColor();
colw = b.grayColor();
colp = b.downColor();
setFrameShape(QFrame::StyledPanel);
lay = new QBoxLayout(QBoxLayout::LeftToRight);
lay->setContentsMargins(0, 0, 0, 0);
if (orientation == Qt::Vertical) lay->setDirection(QBoxLayout::TopToBottom);
}
void TouchButtFrame::addButton(const QString & caption) {
TouchButton * butt = new TouchButton(lay->count(), caption);
butt->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
butt->setCheckable(true);
butt->setAutoExclusive(true);
//butt->setAutoFillBackground(true);
lay->addWidget(butt);
this->setLayout(lay);
connect(butt, SIGNAL(clickedID(int)), SLOT(butt_click(int)));
connect(butt, SIGNAL(toggledID(int, bool)), SLOT(butt_toggle(int, bool)));
}
void TouchButtFrame::resetColors() {
for (int i = 0; i < lay->count(); ++i) {
button(i)->setYesColor(colg);
button(i)->setNoColor(colr);
button(i)->setGrayColor(colw);
button(i)->setDownColor(colp);
}
}
void TouchButtFrame::deleteButtons() {
while (!lay->isEmpty())
delete button(0);
}
void TouchButtFrame::setButtons(const QStringList & captions) {
int cur = currentButton();
deleteButtons();
for (int i = 0; i < captions.size(); ++i)
addButton(captions.at(i));
if (button(cur) != 0) button(cur)->setChecked(true);
else if (!captions.isEmpty()) button(0)->setChecked(true);
}
void TouchButtFrame::setCurrentButton(int index) {
if (button(index) != 0) {
if (currentButton() != -1) button(currentButton())->setChecked(false);
button(index)->setChecked(true);
}
}
int TouchButtFrame::currentButton() {
for (int i = 0; i < buttonsCount(); ++i)
if (button(i)->isChecked()) return i;
return -1;
}
QStringList TouchButtFrame::buttons() {
QStringList l;
for (int i = 0; i < lay->count(); ++i)
l.append(button(i)->text());
return l;
}
TouchButton * TouchButtFrame::button(int index) {
if (index >= 0 && index < lay->count())
return (qobject_cast<TouchButton * >(lay->itemAt(index)->widget()));
return 0;
}

View File

@@ -0,0 +1,113 @@
#ifndef TOUCHBUTTFRAME_H
#define TOUCHBUTTFRAME_H
#include <QtGui/QFrame>
#include <QBoxLayout>
#include <QDebug>
#include "touchbutton.h"
class TouchButtFrame: public QFrame
{
Q_OBJECT
Q_PROPERTY(QColor colorYes READ colorYes WRITE setColorYes)
Q_PROPERTY(QColor colorNo READ colorNo WRITE setColorNo)
Q_PROPERTY(QColor colorGray READ colorGray WRITE setColorGray)
Q_PROPERTY(QColor colorDown READ colorDown WRITE setColorDown)
Q_PROPERTY(QStringList buttons READ buttons WRITE setButtons)
Q_PROPERTY(int currentButton READ currentButton WRITE setCurrentButton)
Q_PROPERTY(Qt::Orientation orientation READ orientation WRITE setOrientation)
Q_PROPERTY(int clickID READ clickID WRITE setClickID)
Q_PROPERTY(int setID READ setID WRITE setSetID)
public:
TouchButtFrame(QWidget * parent = 0, Qt::Orientation orientation = Qt::Horizontal);
int clickID() const {return id_click;}
int setID() const {return id_set;}
void setButtons(const QStringList & captions);
QStringList buttons();
TouchButton * button(int index);
int buttonsCount() const {return lay->count();}
int currentButton();
Qt::Orientation orientation() const {if (lay->direction() == 0) return Qt::Horizontal; else return Qt::Vertical;}
QColor colorYes() const {return colg;}
QColor colorNo() const {return colr;}
QColor colorGray() const {return colw;}
QColor colorDown() const {return colp;}
void setCurrentButton(int index);
void setColorYes(QColor col) {colg = col; resetColors();}
void setColorNo(QColor col) {colr = col; resetColors();}
void setColorGray(QColor col) {colw = col; resetColors();}
void setColorDown(QColor col) {colp = col; resetColors();}
void setOrientation(Qt::Orientation orientation) {if (orientation == Qt::Horizontal) lay->setDirection(QBoxLayout::LeftToRight); else lay->setDirection(QBoxLayout::TopToBottom);}
private:
void resetColors();
void deleteButtons();
void addButton(const QString & caption);
int id_click, id_set;
QColor colr, colg, colw, colp;
QBoxLayout * lay;
//int count;
private slots:
void butt_click(int index) {emit clicked(index); emit clickedID(id_click, index);}
void butt_toggle(int index, bool checked) {emit toggled(index, checked); emit toggledID(id_click, index, checked);}
public slots:
void enable() {setEnabled(true);}
void disable() {setAllButtonsGray(); setEnabled(false);}
void setClickID(int id) {id_click = id;}
void setSetID(int id) {id_set = id;}
void setButtonChecked(int index) {if (button(index) != 0) button(index)->setChecked(true);}
void setButtonUnchecked(int index) {if (button(index) != 0) button(index)->setChecked(false);}
void setButtonState(int index, TouchButton::State state) {if (button(index) != 0) button(index)->setState(state);}
void setButtonYes(int index) {if (button(index) != 0) button(index)->setStateYes();}
void setButtonNo(int index) {if (button(index) != 0) button(index)->setStateNo();}
void setButtonGray(int index) {if (button(index) != 0) button(index)->setStateGray();}
void setAllButtonsState(TouchButton::State state) {for (int i = 0; i < buttonsCount(); ++i) button(i)->setState(state);}
void setAllButtonsYes() {for (int i = 0; i < buttonsCount(); ++i) button(i)->setStateYes();}
void setAllButtonsNo() {for (int i = 0; i < buttonsCount(); ++i) button(i)->setStateNo();}
void setAllButtonsGray() {for (int i = 0; i < buttonsCount(); ++i) button(i)->setStateGray();}
void hideButton(int index) {if (button(index) != 0) button(index)->hide();}
void showButton(int index) {if (button(index) != 0) button(index)->show();}
void enableButton(int index) {if (button(index) != 0) button(index)->enable();}
void disableButton(int index) {if (button(index) != 0) button(index)->disable();}
void enableID(int set_id) {if (set_id == id_set) enable();}
void disableID(int set_id) {if (set_id == id_set) disable();}
void setButtonCheckedID(int set_id, int index) {if (set_id == id_set) setButtonChecked(index);}
void setButtonUncheckedID(int set_id, int index) {if (set_id == id_set) setButtonUnchecked(index);}
void setButtonStateID(int set_id, int index, TouchButton::State state) {if (set_id == id_set) setButtonState(index, state);}
void setButtonYesID(int set_id, int index) {if (set_id == id_set) setButtonYes(index);}
void setButtonNoID(int set_id, int index) {if (set_id == id_set) setButtonNo(index);}
void setButtonGrayID(int set_id, int index) {if (set_id == id_set) setButtonGray(index);}
void setAllButtonsStateID(int set_id, TouchButton::State state) {if (set_id == id_set) setAllButtonsState(state);}
void setAllButtonsYesID(int set_id) {if (set_id == id_set) setAllButtonsYes();}
void setAllButtonsNoID(int set_id) {if (set_id == id_set) setAllButtonsNo();}
void setAllButtonsGrayID(int set_id) {if (set_id == id_set) setAllButtonsGray();}
void hideButtonID(int set_id, int index) {if (set_id == id_set) hideButton(index);}
void showButtonID(int set_id, int index) {if (set_id == id_set) showButton(index);}
void enableButtonID(int set_id, int index) {if (set_id == id_set) enableButton(index);}
void disableButtonID(int set_id, int index) {if (set_id == id_set) disableButton(index);}
signals:
void clicked(int index);
void toggled(int index, bool checked);
void clickedID(int id, int index);
void toggledID(int id, int index, bool checked);
};
#endif // TOUCHBUTTFRAME_H

View File

@@ -0,0 +1,3 @@
HEADERS += touchbuttframe.h
SOURCES += touchbuttframe.cpp
OTHER_FILES += battery.png

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,104 @@
#include "touchbutton.h"
TouchButton::TouchButton(QWidget * parent): QToolButton(parent) {
init();
}
TouchButton::TouchButton(int id__, const QString & text): QToolButton(0) {
init();
id_click = id_yes = id_no = id__;
setText(text);
}
TouchButton::~TouchButton() {
}
void TouchButton::init() {
connect(this, SIGNAL(clicked(bool)), this, SLOT(_clicked()));
connect(this, SIGNAL(toggled(bool)), this, SLOT(_toggled(bool)));
animation.setTargetObject(this);
animation.setPropertyName("currentColor");
animation.setEasingCurve(QEasingCurve::OutSine);
animation.setDuration(350);
delay_blink = 500;
anim = auto_gray = true;
state_ = Gray;
id_click = id_yes = id_no = -1;
timer = 0;
pal = palette();
col_yes = QColor(Qt::green);
col_no = QColor(Qt::red);
col_down = QColor(Qt::yellow);
col_gray = col_cur = col_up = pal.button().color();
col_dst = col_gray;
}
void TouchButton::timerEvent(QTimerEvent * e) {
if (e->timerId() == timer) {
killTimer(e->timerId());
timer = 0;
setCurrentColor(col_blink);
animateColor(col_dst);
return;
}
QToolButton::timerEvent(e);
}
void TouchButton::mousePressEvent(QMouseEvent * e) {
animateColor(col_down);
QToolButton::mousePressEvent(e);
emit pressedID(id_click);
}
void TouchButton::mouseReleaseEvent(QMouseEvent * e) {
setCurrentColor(col_down);
animateColor(col_dst);
QToolButton::mouseReleaseEvent(e);
emit releasedID(id_click);
}
void TouchButton::animateColor(const QColor & tc) {
if (anim) {
animation.stop();
animation.setStartValue(currentColor());
animation.setEndValue(tc);
animation.start();
} else {
col_cur = tc;
applyColor();
}
}
void TouchButton::applyState(State s) {
if (s == state_) return;
State ps = state_;
state_ = s;
emit stateChanged(state_, ps);
emit stateChangedID(id_click, state_, ps);
}
void TouchButton::blink(const QColor & tc) {
col_blink = tc;
if (timer > 0) killTimer(timer);
timer = startTimer(delay_blink);
}
void TouchButton::setState(State s) {
switch (s) {
case Gray: setStateGray(); break;
case Yes: setStateYes(); break;
case No: setStateNo(); break;
default: break;
};
}

154
touch_widgets/touchbutton.h Normal file
View File

@@ -0,0 +1,154 @@
#ifndef TOUCHBUTTON_H
#define TOUCHBUTTON_H
#include <QToolButton>
#include <QFrame>
#include <QMouseEvent>
#include <QPropertyAnimation>
#include <QDebug>
QT_BEGIN_NAMESPACE
class TouchButton: public QToolButton
{
Q_OBJECT
Q_ENUMS(State)
Q_PROPERTY(QColor downColor READ downColor WRITE setDownColor)
Q_PROPERTY(QColor upColor READ upColor WRITE setUpColor)
Q_PROPERTY(QColor grayColor READ grayColor WRITE setGrayColor)
Q_PROPERTY(QColor yesColor READ yesColor WRITE setYesColor)
Q_PROPERTY(QColor noColor READ noColor WRITE setNoColor)
Q_PROPERTY(QColor currentColor READ currentColor WRITE setCurrentColor DESIGNABLE false)
Q_PROPERTY(State state READ state WRITE setState)
Q_PROPERTY(bool autoGray READ autoGray WRITE setAutoGray)
Q_PROPERTY(bool animated READ animated WRITE setAnimated)
Q_PROPERTY(int animationDuration READ animationDuration WRITE setAnimationDuration)
Q_PROPERTY(QEasingCurve::Type animationCurve READ animationCurve WRITE setAnimationCurve)
Q_PROPERTY(int blinkDelay READ blinkDelay WRITE setBlinkDelay)
Q_PROPERTY(int clickID READ clickID WRITE setClickID)
Q_PROPERTY(int yesID READ yesID WRITE setYesID)
Q_PROPERTY(int noID READ noID WRITE setNoID)
public:
explicit TouchButton(QWidget * parent = 0);
TouchButton(int id, const QString & text = QString());
~TouchButton();
enum State {Gray, Yes, No};
int clickID() const {return id_click;}
int yesID() const {return id_yes;}
int noID() const {return id_no;}
QColor downColor() const {return col_down;}
QColor upColor() const {return col_up;}
QColor grayColor() const {return col_gray;}
QColor yesColor() const {return col_yes;}
QColor noColor() const {return col_no;}
QColor currentColor() const {return col_cur;}
State state() const {return state_;}
bool autoGray() const {return auto_gray;}
bool animated() const {return anim;}
int animationDuration() const {return animation.duration();}
QEasingCurve::Type animationCurve() const {return animation.easingCurve().type();}
int blinkDelay() const {return delay_blink;}
void blink(const QColor & tc);
private:
void timerEvent(QTimerEvent * e);
void mousePressEvent(QMouseEvent * e);
void mouseReleaseEvent(QMouseEvent * e);
void init();
void animateColor(const QColor & tc);
void applyColor() {pal.setColor(QPalette::Button, col_cur); setPalette(pal);}
void applyState(State s);
QPalette pal;
QColor col_down, col_up, col_gray, col_yes, col_no, col_cur, col_dst, col_blink;
QPropertyAnimation animation;
State state_;
int id_click, id_yes, id_no, delay_blink, timer;
bool anim, auto_gray;
private slots:
void _clicked() {emit clickedID(id_click);}
void _toggled(bool on) {if (!on && auto_gray) setStateGray(); emit toggledID(id_click, on);}
public slots:
void enable() {setEnabled(true);}
void disable() {setStateGray(); setEnabled(false);}
void setClickID(int id) {id_click = id;}
void setYesID(int id) {id_yes = id;}
void setNoID(int id) {id_no = id;}
void setDownColor(const QColor & col) {col_down = col;}
void setUpColor(const QColor & col) {col_up = col;}
void setGrayColor(const QColor & col) {col_gray = col;}
void setYesColor(const QColor & col) {col_yes = col;}
void setNoColor(const QColor & col) {col_no = col;}
void setState(State s);
void setStateGray() {col_dst = col_gray; applyState(Gray); animateColor(col_dst);}
void setStateYes() {col_dst = col_yes; applyState(Yes); animateColor(col_dst);}
void setStateNo() {col_dst = col_no; applyState(No); animateColor(col_dst);}
void setStateYesOrNo(bool yes) {if (yes) setStateYes(); else setStateNo();}
void setStateYesOrGray(bool yes) {if (yes) setStateYes(); else setStateGray();}
void setStateNoOrYes(bool no) {if (no) setStateNo(); else setStateYes();}
void setStateNoOrGray(bool no) {if (no) setStateNo(); else setStateGray();}
void blinkYes() {blink(col_yes);}
void blinkNo() {blink(col_no);}
void blinkYesOrNo(bool yes) {blink(yes ? col_yes : col_no);}
void blinkNoOrYes(bool no) {blink(no ? col_no : col_yes);}
void enableID(int yes_id) {if (yes_id == id_yes) enable();}
void disableID(int yes_id) {if (yes_id == id_yes) disable();}
void setStateID(int yes_id, State s) {if (yes_id == id_yes) setState(s);}
void setStateGrayID(int yes_id) {if (yes_id == id_yes) setStateGray();}
void setStateYesID(int yes_id) {if (yes_id == id_yes) setStateYes();}
void setStateNoID(int no_id) {if (no_id == id_no) setStateNo();}
void setStateYesOrNoID(int yes_id, bool yes) {if (yes_id == id_yes) setStateYesOrNo(yes);}
void setStateYesOrGrayID(int yes_id, bool yes) {if (yes_id == id_yes) setStateYesOrGray(yes);}
void setStateNoOrYesID(int no_id, bool no) {if (no_id == id_no) setStateNoOrYes(no);}
void setStateNoOrGrayID(int no_id, bool no) {if (no_id == id_no) setStateNoOrGray(no);}
void blinkYesID(int yes_id) {if (yes_id == id_yes) blinkYes();}
void blinkNoID(int no_id) {if (no_id == id_no) blinkNo();}
void blinkYesOrNoID(int yes_id, bool yes) {if (yes_id == id_yes) blinkYesOrNo(yes);}
void blinkNoOrYesID(int no_id, bool no) {if (no_id == id_no) blinkNoOrYes(no);}
void setColor(const QColor & col) {col_dst = col; animateColor(col_dst);}
void setCurrentColor(const QColor & col) {col_cur = col; applyColor();}
void setAutoGray(bool yes) {auto_gray = yes;}
void setAnimated(bool yes) {anim = yes;}
void setAnimationDuration(int dur) {animation.setDuration(dur);}
void setAnimationCurve(QEasingCurve::Type curve) {animation.setEasingCurve(QEasingCurve(curve));}
void setBlinkDelay(int dur) {delay_blink = dur;}
void delayedClick() {QMetaObject::invokeMethod(this, "click", Qt::QueuedConnection);}
void delayedToggle() {QMetaObject::invokeMethod(this, "toggle", Qt::QueuedConnection);}
void delayedClickID(int yes_id) {if (yes_id == id_yes) delayedClick();}
void delayedToggleID(int yes_id) {if (yes_id == id_yes) delayedToggle();}
signals:
void clickedID(int id);
void pressedID(int id);
void releasedID(int id);
void toggledID(int id, bool on);
void stateChanged(State state, State prev_state);
void stateChangedID(int id, State state, State prev_state);
};
QT_END_NAMESPACE
#endif // TOUCHBUTTON_H

View File

@@ -0,0 +1,5 @@
HEADERS += \
touchbutton.h
SOURCES += \
touchbutton.cpp
OTHER_FILES +=

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,242 @@
#include "touchslider.h"
#include "ui_touchslider.h"
TouchSlider::TouchSlider(QWidget * parent): QGroupBox(parent), ui(new Ui::TouchSlider) {
ui->setupUi(this);
ui->barNeg->setMinimum(0);
prec = 1;
id_click = id_set = -1;
hasZero = true;
m_readOnly = false;
m_showMinMax = false;
}
TouchSlider::~TouchSlider() {
delete ui;
}
void TouchSlider::on_pbMin_clicked() {
if (m_readOnly) return;
ui->barNeg->setValue(ui->barNeg->maximum());
ui->barPos->setValue(ui->barPos->minimum());
}
void TouchSlider::on_pbMax_clicked() {
if (m_readOnly) return;
ui->barNeg->setValue(ui->barNeg->minimum());
ui->barPos->setValue(ui->barPos->maximum());
}
void TouchSlider::on_pbInc_clicked() {
if (ui->barPos->value() >= 0 && ui->barNeg->value() == 0) ui->barPos->setValue(ui->barPos->value() + 1);
if (ui->barNeg->value() > 0) ui->barNeg->setValue(ui->barNeg->value() - 1);
}
void TouchSlider::on_pbDec_clicked() {
if (ui->barNeg->value() >= 0 && ui->barPos->value() == 0 && hasZero) ui->barNeg->setValue(ui->barNeg->value() + 1);
if (ui->barPos->value() > 0) ui->barPos->setValue(ui->barPos->value() - 1);
}
void TouchSlider::on_pbZero_clicked() {
ui->barNeg->setValue(ui->barNeg->minimum());
ui->barPos->setValue(ui->barPos->minimum());
}
void TouchSlider::setValue(double val) {
if (val < minimum()) val = minimum();
if (val > maximum()) val = maximum();
if (val < 0) {
ui->barPos->setValue(ui->barPos->minimum());
if (hasZero) ui->barNeg->setValue(qRound(-val / prec));
} else {
ui->barPos->setValue(qRound(val / prec));
ui->barNeg->setValue(ui->barNeg->minimum());
}
updateCaption();
}
double TouchSlider::value() const {
if (ui->barNeg->value() <= ui->barNeg->minimum())
return (double)(ui->barPos->value()) * prec;
else return -(double)(ui->barNeg->value()) * prec;
}
void TouchSlider::setMaximum(double max) {
double val = value();
if (max < 0) return;
ui->barPos->setMaximum(qRound(max / prec));
setValue(val);
ui->pbMax->setText(QString::number(maximum()));
}
double TouchSlider::maximum() const {
return (double)(ui->barPos->maximum()) * prec;
}
void TouchSlider::setMinimum(double min) {
double val = value();
if (min < 0) {
hasZero = true;
ui->barNeg->setMaximum(qRound(-min / prec));
ui->barPos->setMinimum(0);
ui->barNeg->setVisible(true);
ui->pbZero->setVisible(true);
setValue(val);
} else {
hasZero = false;
ui->barNeg->setMaximum(0);
ui->barNeg->setVisible(false);
ui->pbZero->setVisible(false);
ui->barPos->setMinimum(qRound(min / prec));
setValue(val);
}
ui->pbMin->setText(QString::number(minimum()));
}
double TouchSlider::minimum() const {
if (hasZero) return -(double)(ui->barNeg->maximum()) * prec;
return (double)(ui->barPos->minimum()) * prec;
}
void TouchSlider::setPrecision(double precision) {
double min = minimum();
double max = maximum();
double val = value();
prec = precision;
setMinimum(min);
setMaximum(max);
setValue(val);
ui->pbInc->setText("+" + QString::number(precision));
ui->pbDec->setText("-" + QString::number(precision));
}
double TouchSlider::precision() const {
return prec;
}
void TouchSlider::updateCaption() {
setTitle(pref + " " + QString::number(value()) + " " + suff);
emit valueChanged(value());
emit valueChanged((int)value());
emit valueChangedID(id_click, value());
emit valueChangedID(id_click, (int)value());
}
void TouchSlider::on_barPos_mouseMoveEvent(QMouseEvent * e) {
if (m_readOnly) return;
int tx = e->x();
if (tx > ui->barPos->width()) tx = ui->barPos->width();
if (tx < 0) {
if (hasZero) {
int nx = tx + ui->barNeg->width() + layout()->spacing();
if (nx < ui->barNeg->width()) {
QMouseEvent * event = new QMouseEvent(QMouseEvent::MouseMove, QPoint(nx, 0), Qt::NoButton, Qt::NoButton, Qt::NoModifier);
on_barNeg_mouseMoveEvent(event);
return;
}
}
tx = 0;
}
ui->barPos->setValue(ui->barPos->minimum() + qRound((double)(tx * (ui->barPos->maximum() - ui->barPos->minimum())) / (double)(ui->barPos->width())));
ui->barNeg->setValue(ui->barNeg->minimum());
}
void TouchSlider::on_barNeg_mouseMoveEvent(QMouseEvent * e) {
if (m_readOnly) return;
int tx = e->x();
if (tx < 0) tx = 0;
if (tx > ui->barNeg->width()) {
int nx = tx - ui->barPos->width() - layout()->spacing();
if (nx > 0) {
QMouseEvent * event = new QMouseEvent(QMouseEvent::MouseMove, QPoint(nx, 0), Qt::NoButton, Qt::NoButton, Qt::NoModifier);
on_barPos_mouseMoveEvent(event);
return;
}
tx = ui->barNeg->width();
}
ui->barNeg->setValue(ui->barNeg->maximum() - qRound((double)(tx * ui->barNeg->maximum()) / (double)(ui->barNeg->width())));
ui->barPos->setValue(ui->barPos->minimum());
}
void TouchSlider::on_barPos_mousePressEvent(QMouseEvent * e) {
if (m_readOnly) return;
ui->barPos->setValue(ui->barPos->minimum() + qRound((double)(e->x() * (ui->barPos->maximum() - ui->barPos->minimum())) / (double)(ui->barPos->width())));
ui->barNeg->setValue(ui->barNeg->minimum());
}
void TouchSlider::on_barNeg_mousePressEvent(QMouseEvent * e) {
if (m_readOnly) return;
ui->barNeg->setValue(ui->barNeg->maximum() - qRound((double)(e->x()*ui->barNeg->maximum()) / (double)(ui->barNeg->width())));
ui->barPos->setValue(ui->barPos->minimum());
}
void TouchSlider::on_barNeg_valueChanged(int) {
updateCaption();
}
void TouchSlider::on_barPos_valueChanged(int) {
updateCaption();
}
void TouchSlider::setReadOnly(bool arg) {
QBoxLayout * bl = qobject_cast<QBoxLayout *>(layout());
m_readOnly = arg;
if (arg) {
ui->pbDec->hide();
ui->pbInc->hide();
if (hasZero)
ui->pbZero->hide();
bl->setStretchFactor(ui->pbMin, 2);
bl->setStretchFactor(ui->pbMax, 2);
} else {
ui->pbDec->show();
ui->pbInc->show();
if (hasZero)
ui->pbZero->show();
bl->setStretchFactor(ui->pbMin, 1);
bl->setStretchFactor(ui->pbMax, 1);
}
}
void TouchSlider::setShowMinMax(bool arg) {
QBoxLayout * bl = qobject_cast<QBoxLayout *>(layout());
m_showMinMax = arg;
if (arg) {
ui->pbMin->hide();
ui->pbMax->hide();
bl->setStretchFactor(ui->pbInc, 2);
bl->setStretchFactor(ui->pbDec, 2);
bl->setStretchFactor(ui->pbZero, 2);
} else {
ui->pbMin->show();
ui->pbMax->show();
bl->setStretchFactor(ui->pbInc, 1);
bl->setStretchFactor(ui->pbDec, 1);
bl->setStretchFactor(ui->pbZero, 1);
}
}

105
touch_widgets/touchslider.h Normal file
View File

@@ -0,0 +1,105 @@
#ifndef TOUCHSLIDER_H
#define TOUCHSLIDER_H
#include <QGroupBox>
#include <QMouseEvent>
namespace Ui {
class TouchSlider;
}
class TouchSlider: public QGroupBox
{
Q_OBJECT
Q_PROPERTY(bool readOnly READ readOnly WRITE setReadOnly)
Q_PROPERTY(bool showMinMax READ showMinMax WRITE setShowMinMax)
Q_PROPERTY(double minimum READ minimum WRITE setMinimum)
Q_PROPERTY(double maximum READ maximum WRITE setMaximum)
Q_PROPERTY(double value READ value WRITE setValue)
Q_PROPERTY(double precision READ precision WRITE setPrecision)
Q_PROPERTY(QString prefix READ prefix WRITE setPrefix)
Q_PROPERTY(QString suffix READ suffix WRITE setSuffix)
Q_PROPERTY(int clickID READ clickID WRITE setClickID)
Q_PROPERTY(int setID READ setID WRITE setSetID)
public:
explicit TouchSlider(QWidget *parent = 0);
~TouchSlider();
int clickID() const {return id_click;}
int setID() const {return id_set;}
double minimum() const;
double maximum() const;
double value() const;
double precision() const;
QString prefix() const {return pref;}
QString suffix() const {return suff;}
bool readOnly() const {return m_readOnly;}
bool showMinMax() const {return m_showMinMax;}
private:
void updateCaption();
Ui::TouchSlider *ui;
bool hasZero;
bool m_readOnly;
bool m_showMinMax;
double prec;
int id_click, id_set;
QString pref, suff;
public slots:
void enable() {setEnabled(true);}
void disable() {setEnabled(false);}
void setClickID(int id) {id_click = id;}
void setSetID(int id) {id_set = id;}
void setSuffix(const QString & text) {suff = text; updateCaption();}
void setPrefix(const QString & text) {pref = text; updateCaption();}
void setPrecision(double precision);
void setPrecision(int precision) {setPrecision((double)precision);}
void setMinimum(double min);
void setMinimum(int min) {setMinimum((double)min);}
void setMaximum(double max);
void setMaximum(int max) {setMaximum((double)max);}
void setReadOnly(bool yes);
void setShowMinMax(bool yes);
void setValue(double val);
void setValue(int val) {setValue((double)val);}
void enableID(int set_id) {if (set_id == id_set) enable();}
void disableID(int set_id) {if (set_id == id_set) disable();}
void setValueID(int set_id, double val) {if (set_id == id_set) setValue(val);}
void setValueID(int set_id, int val) {if (set_id == id_set) setValue(val);}
void clickMin() {on_pbMin_clicked();}
void clickMax() {on_pbMax_clicked();}
void clickInc() {on_pbInc_clicked();}
void clickDec() {on_pbDec_clicked();}
void clickZero() {on_pbZero_clicked();}
private slots:
void on_barPos_valueChanged(int value);
void on_barNeg_valueChanged(int value);
void on_barNeg_mousePressEvent(QMouseEvent*);
void on_barPos_mousePressEvent(QMouseEvent*);
void on_barNeg_mouseMoveEvent(QMouseEvent*);
void on_barPos_mouseMoveEvent(QMouseEvent*);
void on_pbZero_clicked();
void on_pbDec_clicked();
void on_pbInc_clicked();
void on_pbMax_clicked();
void on_pbMin_clicked();
signals:
void valueChanged(double val);
void valueChanged(int val);
void valueChangedID(int id, double val);
void valueChangedID(int id, int val);
};
#endif // TOUCHSLIDER_H

View File

@@ -0,0 +1,8 @@
HEADERS += \
touchslider.h \
touch_bar.h
SOURCES += \
touchslider.cpp
FORMS += \
touchslider.ui

View File

@@ -0,0 +1,187 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>TouchSlider</class>
<widget class="QGroupBox" name="TouchSlider">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>449</width>
<height>77</height>
</rect>
</property>
<property name="title">
<string>val</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<layout class="QHBoxLayout" name="horizontalLayout" stretch="0,4,4,0,0,0,0">
<property name="spacing">
<number>4</number>
</property>
<property name="margin">
<number>2</number>
</property>
<item>
<widget class="TouchButton" name="pbMin">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>45</width>
<height>45</height>
</size>
</property>
<property name="text">
<string>-100</string>
</property>
</widget>
</item>
<item>
<widget class="touch_bar" name="barNeg">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="value">
<number>0</number>
</property>
<property name="textVisible">
<bool>false</bool>
</property>
<property name="invertedAppearance">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="touch_bar" name="barPos">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximum">
<number>100</number>
</property>
<property name="value">
<number>50</number>
</property>
<property name="textVisible">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="TouchButton" name="pbMax">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>45</width>
<height>45</height>
</size>
</property>
<property name="text">
<string>100</string>
</property>
</widget>
</item>
<item>
<widget class="TouchButton" name="pbDec">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>45</width>
<height>45</height>
</size>
</property>
<property name="text">
<string>-</string>
</property>
<property name="autoRepeat">
<bool>true</bool>
</property>
<property name="autoRepeatDelay">
<number>500</number>
</property>
</widget>
</item>
<item>
<widget class="TouchButton" name="pbZero">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>45</width>
<height>45</height>
</size>
</property>
<property name="text">
<string>0</string>
</property>
</widget>
</item>
<item>
<widget class="TouchButton" name="pbInc">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>45</width>
<height>45</height>
</size>
</property>
<property name="text">
<string>+</string>
</property>
<property name="autoRepeat">
<bool>true</bool>
</property>
<property name="autoRepeatDelay">
<number>500</number>
</property>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>TouchButton</class>
<extends>QToolButton</extends>
<header>touchbutton.h</header>
</customwidget>
<customwidget>
<class>touch_bar</class>
<extends>QProgressBar</extends>
<header>touch_bar.h</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>

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

19
touch_widgets/tw.cpp Normal file
View File

@@ -0,0 +1,19 @@
#include "touchsliderplugin.h"
#include "touchbuttframeplugin.h"
#include "touchbuttonplugin.h"
#include "tw.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)

21
touch_widgets/tw.h Normal file
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