Tweek

The Programmer's Guide

Patrick Hartling

1.2

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with the Invariant Sections being Appendix D, GNU Free Documentation License, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in Appendix D, GNU Free Documentation License.

$Date: 2007-04-18 11:28:09 -0500 (Wed, 18 Apr 2007) $


Table of Contents

Preface
I. Introduction
1. Tweek
C++ API Design Overview
Subject
Observer
CORBA Manager
Subject Manager
CORBA
Interface Definition Language
Supported Languages
2. JavaBeans
Bean Categories
Service Beans
Viewer Beans
Panel Beans
Generic Beans
XML
II. Programming
3. IDL
4. C++
Deriving from tweek::SubjectImpl
Using the CORBA Manager
Using the Subject Manager
Subject Manager Initialization
tweek::SubjectManagerImpl API
5. Java
GUI Library
Bean Library
Event Library
Network Library
Bean Delivery Library
6. Putting It All Together
Collaborative Slider
The Subject
The Observer
The Server Application
The JavaBean
Running the Example
File Loader
The JavaBean
XML File
7. C++ as a Client
The CORBA Service
Example Client Application
StringSubject Interface
StringSubject Interface Implementation
Observer Implementation
Client Application
8. Python
III. Appendices
A. Compiling Example Code
SliderSubject
File Loader
B. CORBA Implementations
C. Legal
D. GNU Free Documentation License
PREAMBLE
APPLICABILITY AND DEFINITIONS
VERBATIM COPYING
COPYING IN QUANTITY
MODIFICATIONS
COMBINING DOCUMENTS
COLLECTIONS OF DOCUMENTS
AGGREGATION WITH INDEPENDENT WORKS
TRANSLATION
TERMINATION
FUTURE REVISIONS OF THIS LICENSE
ADDENDUM: How to use this License for your documents
Bibliography
Glossary
Index

List of Examples

2.1. PlexusGraphView.xml snippet
2.2. Viewers.xml
3.1. Subject.idl
3.2. CustomSubject.idl
4.1. CustomSubjectImpl.h
4.2. CustomSubjectImpl.cpp
4.3. TweekApp.cpp
4.4. TweekApp.cpp
6.1. SliderSubject.idl
6.2. SliderSubjectImpl.h
6.3. SliderSubjectImpl.cpp
6.4. SliderObserverImpl.java
6.5. SliderSubjectApp.cpp
6.6. NetworkTestBean.xml
6.7. FileOpenTestBean.xml
7.1. StringSubject.idl
7.2. StringSubjectImpl.h
7.3. StringSubjectImpl.cpp
7.4. StringObserverImpl.h
7.5. StringObserverImpl.cpp
7.6. client.cpp: Required Header Files
7.7. client.cpp: Implementation of main(), Part I
7.8. client.cpp: Implementation of main(), Part II
7.9. client.cpp: Implementation of chooseSubjectManager()