Skip to content

Commit

Permalink
Changes: First public release
Browse files Browse the repository at this point in the history
RevBy: TrustMe
  • Loading branch information
Tomas Junnonen committed Feb 15, 2010
0 parents commit 0299123
Show file tree
Hide file tree
Showing 2,726 changed files with 460,159 additions and 0 deletions.
43 changes: 43 additions & 0 deletions .gitignore
@@ -0,0 +1,43 @@
*.qm
moc_*
gen_*
*.o
*.gcno
Makefile
*.so
*.so.*

# vim swap files
.*.swp
BUILD_ID
Makefile
doc/html
lib/*
.moc
.obj
.*.swp
*.o
testdui
*~
*.tmp
*moc_*
*.log
*.log.xml
YES
*-stamp
*.gcov
*.log.xml
*.deb
*.gcno
*.old
*.foo
*.gcda
*.pro.user
*.app
.DS_Store
.dummy
cscope.files
cscope.out
.gen
build-i386
build-armel
514 changes: 514 additions & 0 deletions LICENSE.LGPL

Large diffs are not rendered by default.

47 changes: 47 additions & 0 deletions README
@@ -0,0 +1,47 @@
This source tree contains the DirectUI library

Building
========
./configure
make
sudo make install

The library will be installed by default with a prefix of /usr/local,
see ./configure -help for options.

The reference documentation can be built with "make doc",
if doxygen is available.

Running
=======
The library ships with a demo application called "widgetsgallery"

The duitheme package must be installed before running any DirectUI
applications.

duitheme is available separately from http://qt.gitorious.org and can
be installed with the following commands:
cd duitheme
qmake
sudo make install


Build dependencies
==================
- Development headers:
- Qt 4.6
- X11
- Mesa or vendor specific OpenGL libraries
- pkg-config

Optional dependencies
=====================

If found, the following libraries will enable additional
features in the DirectUI library:

- ICU: I18N and L10N extensions
- GConf2: C++ abstraction layer for gconf settings system
- ContextKit context subscriber: Automatic rotation on supported hardware
- GStreamer 0.10: Media widgets
- DBus: Out of process applet support, out of process theme server support
205 changes: 205 additions & 0 deletions README.win32
@@ -0,0 +1,205 @@
this README describes how to set up libdui on a windows
computer.

right now we support the MinGW GCC compiler and the
Microsoft Visual Studio cl C++ compiler. this document
describes how to compile libdui for both compilers.

general prerequisites:

- install git, i installed it from http://code.google.com/p/msysgit/

- install perl, strawberry perl works for me.

- install coreutils from gnuwin32.sf.net. this is needed, because
in the qmake build files there are some calls for the unix touch
command. and this package installs touch for windows.

- install debugview. i got it from
http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx
it shows the qDebug statements that libdui will print when
something goes wrong.


prerequisities for visual studio:

- install visual studio, express version worked for me.

- install a qt version with dbus support. either do it
on your own, or use the version that is distributed by
kde. go to http://winkde.org/pub/kde/ports/win32/installer/
and download the latest installer. then install kde.
you can install everything, but for this purpose it is important
to install the qt package and also the qt development package
(the header files etc.). kde for windows comes in two "versions",
one is compiles with visual studio express, and the other is
compiles with mingw. make sure you select to install the
msvc version.


prerequisities for mingw:

- install MinGW. the version that can be installed at the
installation routine of qt for windows is ok.

- install a qt version with dbus support. either do it
on your own, or use the version that is distributed by
kde. go to http://winkde.org/pub/kde/ports/win32/installer/
and download the latest installer. then install kde.
you can install everything, but for this purpose it is important
to install the qt package and also the qt development package
(the header files etc.). kde for windows comes in two "versions",
one is compiles with visual studio express, and the other is
compiles with mingw. make sure you select to install the
mingw version.


now you should have all the tools you need to build and execute libdui
and its programs.

# now you should check that youe environment is setup in a way
# that the needed tools can be found. for the following commands,
# execute them in a cmd.exe window and check if they are found.
# (when you know konsole on linux as a shell window, try out
# console2, you might like it: http://sourceforge.net/projects/console/ )
touch
perl
git
qmake

# for mingw
gcc
g++
make

# for msvc
cl
nmake

# if all the commands are found, you are fine. if not, you have to add
# the pathes to these commands to your PATH environment variable,
# like this:
# set PATH=%PATH%;c:\KDE\bin

now go to some directory, e.g. c:\dui. in the following i will
list the commands needed to get a working widgets gallery.

# go to this empty directory...
c:
cd \dui

# now do a git checkout of duitheme
git co git+ssh://git@dvcs.projects.maemo.org:af/duitheme

# now install the theme files
cd duitheme
qmake

# for msvc
nmake
nmake install

# or for mingw
make
make install

#for all
cd ..

# in this dir do a git checkout of libdui.
# right now we still need the holger-msvc branch, but it
# will be merged to master in short time.
git co git+ssh://git@dvcs.projects.maemo.org:af/libdui

# now switch to holger-msvc branch
cd libdui
git co -b holger-msvc origin/holger-msvc
cd ..

# sources are now in libdui.

# now create build directory
mkdir libduibuild

cd libduibuild

# run qmake
qmake ..\libdui\projects.pro

# for msvc:

# run nmake to build it.
nmake
# currently this will fail with an error about a missing
# duigen executable

# actually right now under windows i was not able to build
# the duigen executable in the same location no matter if
# we build a debug or release build. for that the following
# steps in between are needed. we build and "install" duigen
# before we build the rest of libdui.
cd duigen
nmake
nmake install
cd ..

# and now we continue with the normal libdui build
nmake

# now install libdui
nmake install



# for mingw
# run make to build it.
make
# currently this will fail with an error about a missing
# duigen executable

# actually right now under windows i was not able to build
# the duigen executable in the same location no matter if
# we build a debug or release build. for that the following
# steps in between are needed. we build and "install" duigen
# before we build the rest of libdui.
cd duigen
make
make install
cd ..

# and now we continue with the normal libdui build
make

# now install libdui
make install



# for all

# now we built libdui and installed it, but the theme files
# are not yet in the right places. let's see if widgetsgallery
# tries to start anyway. it is expected that when you start
# widgetsgallery, it only prints some output in the stderr channel
# and exits again. first start the debugview program to catch
# messages on stderr.
debugview

# now we set the PATH environment variable to contain the path to
# the installed qt with dbus support. in this case we use the
# KDE-on-windows version.
set PATH=c:\d\kde\bin;%PATH%

# now we add the directories which contain dui.dll and the executables.
# qmake by default installs to /usr prefix. this is c:\usr\ under windows.
set PATH=c:\usr\bin;c:\usr\lib;%PATH%

# now everything that is needed should be in place.
# start widgets gallery:
widgetsgallery

# now you should see the same widgets gallery window as you see
# on linux.
# if you do: Congratulations :-)
# if you don't: contact me and i will try to help you:
# holger.schroeder.ext@basyskom.de
14 changes: 14 additions & 0 deletions benchmarks/.gitignore
@@ -0,0 +1,14 @@
mt_duibutton
mt_duibuttongroup
mt_duiimage
mt_duilabel
mt_duilist
mt_duimenu
mt_duitoolbar
pt_duibutton
pt_duiimage
pt_duilist
pt_duimenu
pt_duiprogressindicator
pt_duislider
pt_duitoolbar
9 changes: 9 additions & 0 deletions benchmarks/README.txt
@@ -0,0 +1,9 @@
Some short instructions and notes on how to write performance benchmarks.

1) Use pt_duibutton as a template - TODO:make a base class for common parts.
2) Change file and class names as appropriate
3) In the createView() method, change the cases of the switch statement to set the 'currentView' to a new instance of each view's class
4) In the fetchNewRow() method, the header file, and the paintPerformance_data() method, change the columns/variables to what you want to use as variables to measure performance
5) In the createController() method, create the controller and assign the properties appropriately
6) In the createPaintDevice() method, you generally want to set the width and height of the target pixmap to the width being rendered, but sometimes not since things may be rendered outside this area (eg labels)
7) In the paintPerformance() method, you generally only need a single call to paint() but some view's paint methods have different parameters, in which case you'll need a switch (eg in the duislider).
25 changes: 25 additions & 0 deletions benchmarks/benchmarks.pro
@@ -0,0 +1,25 @@
TEMPLATE = subdirs

SUBDIRS = \
mt_duibutton \
mt_duibuttongroup \
mt_duiimagewidget \
mt_duilist \
mt_duimenu \
mt_duitoolbar \
mt_duilabel \
\
pt_duiapplication \
pt_duibutton \
pt_duicomponentdata \
pt_duiimagewidget \
pt_duimenu \
pt_minimalduiapplication \
pt_minimalqtapplication \
pt_duiprogressindicator \
pt_qapplication \
pt_duislider \
pt_duitheme \
pt_duitoolbar \
pt_widgetsgallery \

30 changes: 30 additions & 0 deletions benchmarks/common_top.pri
@@ -0,0 +1,30 @@
DUISRCDIR = ../../src/
STUBSDIR = ../stubs
INCLUDEPATH += . $$DUISRCDIR $$STUBSDIR $$DUISRCDIR/include $$DUISRCDIR/core $$DUISRCDIR/widgets $$DUISRCDIR/workspace $$DUISRCDIR/style ../memorybenchmark/

DEPENDPATH = $$INCLUDEPATH
QMAKE_LIBDIR += ../../lib
CONFIG += debug
QT += testlib dbus svg
TEMPLATE = app
# DEFINES += QT_NO_DEBUG_OUTPUT
DEFINES += UNIT_TEST
target.path = $$[QT_INSTALL_LIBS]/libdui-benchmarks
INSTALLS += target

win32|macx {
macx {
QMAKE_LFLAGS += -F../../lib
LIBS += -framework dui
}
win32:LIBS += -L../../lib -ldui0
} else {
LIBS += ../../lib/libdui.so
}

QMAKE_CXXFLAGS += -Werror
support_files.files =
support_files.path = $$[QT_INSTALL_LIBS]/libdui-benchmarks
INSTALLS += support_files

CONFIG-=app_bundle

0 comments on commit 0299123

Please sign in to comment.