You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdevelop/languages/cpp/app_templates/kscons_kmdi
tpearson 170a65dc2a
Fix a number of runtime object identification problems which led to an even larger array of minor glitches
14 years ago
..
CMakeLists.txt [kdevelop] initial cmake support 14 years ago
INSTALL Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
Makefile.am Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
QUICKSTART Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
README Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
SConscript-doc Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
SConscript-src Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
SConstruct Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
VERSION Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
app.kcfg Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
app.kdevelop Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
app_part.cpp Trinity Qt initial conversion 15 years ago
app_part.h TQt conversion fixes 15 years ago
app_part.rc Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
app_shell.rc Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
appkmdi.cpp Trinity Qt initial conversion 15 years ago
appkmdi.h TQt conversion fixes 15 years ago
appkmdiView.cpp Trinity Qt initial conversion 15 years ago
appkmdiView.h Trinity Qt initial conversion 15 years ago
kmdikonsole.cpp Fix a number of runtime object identification problems which led to an even larger array of minor glitches 14 years ago
kmdikonsole.h Trinity Qt initial conversion 15 years ago
kscons_kmdi.kdevtemplate Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
kscons_kmdi.png Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
main.cpp Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
messages.sh Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
prefs.ui Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
settings.kcfgc Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
tips Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago

README

-----------------------------------------------
Kde scons template quickstart
Author: Thomas Nagy
Date: 2005-04-04
-----------------------------------------------

This README file explains basic concepts necessary 
for starting with this application template.


** Building and installing **

* To configure the application run "scons configure"
  In some rare cases you may need to add flags:
      scons configure qtincludes=/usr/include/qt3/include kdeincludes=/usr/lib/kde3/include

* After building, launch the application and test the dcop
  interface by using the command (search a bit) :
    dcop
    dcop appname-...
    dcop appname-... instancenumber
    dcop appname-... instancenumber switch_colors
    dcop appname switch_colors
  Or launch kdcop and search in the menus for your program
  name and double-click on 'switch_colors()'

* The usual targets call the following scons commands :
      make           -> scons
      make clean     -> scons -c
      make install   -> scons install
      make uninstall -> scons -c install
      make dist      -> scons dist

* To build apps, use KDEprogram, KDEshlib, etc.
  these functions are documented at the bottom of kde.py
  More information can be found in the QUICKSTART 

* The scons scripts for building kde applications originate 
  from the 'bksys' distribution. It contains several other examples
  that detail the kpart building and the dcop interface
  processing :
      http://www.kde-apps.org/content/show.php?content=19243

* Extending the scons scripts for building the application :
  The scons scripts are actually python scripts, so all the
  usual tricks apply : 'for' and 'while' loops, 'if', 'else' ..
  consult :
      http://www.python.org for more information about python
      http://www.scons.org for more informationabout scons

* Simplify your life : install the project in your home directory for
testing purposes.
scons configure prefix=/home/user/dummyfolder/
In the end when you finished the development you can
rm -rf /home/user/dummyfolder/
without fear.


** Technologies **

* Build the menus of your application easily
kde applications now use an xml file (*ui.rc file) to build the menus.
This allow a great customization of the application. However, when
programming the menu is shown only after a "make install"

For more details, consult :
http://devel-home.kde.org/~larrosa/tutorial/p9.html
http://developer.kde.org/documentation/tutorials/xmlui/preface.html

* Use KConfig XT to create your configuration dialogs and make 
them more maintainable.

For that, you will need to write two simple configuration files 
in the src directory : <myproject>.kcfg and a <settings>.kcfgc
The configure.in.in will need to be modified : change the line #MIN_CONFIG(3.0.0) 
into #MIN_CONFIG(3.2.0)

Take an example on the many apps found in the kdegames source package and consult :
http://developer.kde.org/documentation/tutorials/kconfigxt/kconfigxt.html

* With KParts, you can embed other kde components in your program, or make your program
embeddable in other apps. For example, the kmplayer kpart can be called to play videos
in your app.

For more details, consult :
http://www-106.ibm.com/developerworks/library/l-kparts/
http://developer.kde.org/documentation/tutorials/dot/writing-plugins.html
http://developer.kde.org/documentation/tutorials/developing-a-plugin-structure/index.html

* With dcop, you can control your app from other applications
Make sure to include K_DCOP and a kdcop: section in your .h file
http://developer.kde.org/documentation/tutorials/dot/dcopiface/dcop-interface.html


** Documentation **

* For the translations :
refer to the file po/SConscript and po/messages.sh

1. Download a patched gettext which can be found at:
 http://public.kde.planetmirror.com/pub/kde/devel/gettext-kde/
2. Install that gettext in ~/bin/
3. cd ~/yourproject, export PATH=~/bin:$PATH, export
KDEDIR=/where_your_KDE3_is
4. make -f admin/Makefile.common package-messages
5. make package-messages
6. Translate the po files (not the pot!!) with kbabel or xemacs

* Do not forget to write the documentation for your kde app 
edit the documentation template index.docbook in doc/