An interactive tutorials system for KDE


Table of Contents

Preface
Motivation
Introduction
Problem
Possible solution
Conclusion
1. General information
Current state
Features
About the project
2. Design
General design
Final design
Tutorial classes
Modelling conditions
Steps of a tutorial
Managing the tutorial flow
Final design
Tutorial management
Managing the tutorials
Setting up KTutorial
Final design
Scripting
Specialized classes
Main interface for scripts
Managing the scripted tutorials
Final design
View
Tutorials view
Tutorials management view
Final design
3. Using KTutorial in an application
General setup
CMake build system
Adjusting applicationnameui.rc
Code changes
Coding tutorials in C++
Creating the derived class
Setting the tutorial information
Using options
Waiting for something to happen
Finishing the tutorial
Coding tutorials in scripts
Creating the script
Setting the tutorial information
Using options
Waiting for something to happen
Finishing the tutorial
Further information
Types of conditions to wait for
Setup and tear down methods
Finding objects with a name not unique
Widget highlighting
KTutorial customization
Advanced scripting
4. TODO

List of Figures

2.1. General design
2.2. KTutorial tutorial classes design
2.3. Tutorial management design
2.4. Scripting design
2.5. Tutorial view design
2.6. Tutorial management view design

List of Examples

3.1. CMakeLists.txt changes
3.2. applicationnameui.rc changes
3.3. Code changes to setup KTutorial
3.4. SimpleTutorial header (C++)
3.5. Creating a TutorialInformation (C++)
3.6. Using options in a step (C++)
3.7. Using WaitFor in a Step (C++)
3.8. Finishing the tutorial (C++)
3.9. How to install the scripts in CMakeLists.txt
3.10. Creating a TutorialInformation (script)
3.11. Using options in a step (script)
3.12. Using WaitFor in a Step (script)
3.13. Finishing the tutorial (script)
3.14. Registering a custom WaitFor subclass
3.15. Creating an object of a custom WaitFor subclass in a script
3.16. Custom step setup in C++ tutorial
3.17. Custom step setup in scripted tutorial
3.18. Wrapping a Qt object as a PyQt object
3.19. Creating a Python class that inherits from a Qt class
3.20. New-style signal and slot support in PyQt 4.5
3.21. Checking whether the needed PyQt4 version is available or not
3.22. Connecting the Python signals in C++ code