]> git.saurik.com Git - wxWidgets.git/commitdiff
moved proplist documentation to main book
authorVáclav Slavík <vslavik@fastmail.fm>
Sat, 25 Dec 1999 20:30:32 +0000 (20:30 +0000)
committerVáclav Slavík <vslavik@fastmail.fm>
Sat, 25 Dec 1999 20:30:32 +0000 (20:30 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5114 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

53 files changed:
docs/latex/proplist/back.gif [deleted file]
docs/latex/proplist/body.tex [deleted file]
docs/latex/proplist/books.bmp [deleted file]
docs/latex/proplist/books.gif [deleted file]
docs/latex/proplist/bullet.bmp [deleted file]
docs/latex/proplist/changes.tex [deleted file]
docs/latex/proplist/classes.tex [deleted file]
docs/latex/proplist/contents.gif [deleted file]
docs/latex/proplist/forward.gif [deleted file]
docs/latex/proplist/prop.tex [deleted file]
docs/latex/proplist/prop1.bmp [deleted file]
docs/latex/proplist/prop1.eps [deleted file]
docs/latex/proplist/prop1.gif [deleted file]
docs/latex/proplist/prop2.bmp [deleted file]
docs/latex/proplist/prop2.eps [deleted file]
docs/latex/proplist/prop2.gif [deleted file]
docs/latex/proplist/readme.txt [deleted file]
docs/latex/proplist/tex2rtf.ini [deleted file]
docs/latex/proplist/up.gif [deleted file]
docs/latex/proplist/wxprop.hpj [deleted file]
docs/latex/wx/prop1.bmp [new file with mode: 0644]
docs/latex/wx/prop1.eps [new file with mode: 0644]
docs/latex/wx/prop1.gif [new file with mode: 0644]
docs/latex/wx/prop2.bmp [new file with mode: 0644]
docs/latex/wx/prop2.eps [new file with mode: 0644]
docs/latex/wx/prop2.gif [new file with mode: 0644]
docs/latex/wx/propbfva.tex [new file with mode: 0644]
docs/latex/wx/propblva.tex [new file with mode: 0644]
docs/latex/wx/property.tex [new file with mode: 0644]
docs/latex/wx/propflva.tex [new file with mode: 0644]
docs/latex/wx/propford.tex [new file with mode: 0644]
docs/latex/wx/propforf.tex [new file with mode: 0644]
docs/latex/wx/propforp.tex [new file with mode: 0644]
docs/latex/wx/propforv.tex [new file with mode: 0644]
docs/latex/wx/propfovi.tex [new file with mode: 0644]
docs/latex/wx/propifva.tex [new file with mode: 0644]
docs/latex/wx/propilva.tex [new file with mode: 0644]
docs/latex/wx/proplisd.tex [new file with mode: 0644]
docs/latex/wx/proplisf.tex [new file with mode: 0644]
docs/latex/wx/proplisp.tex [new file with mode: 0644]
docs/latex/wx/proplist.tex [new file with mode: 0644]
docs/latex/wx/propliva.tex [new file with mode: 0644]
docs/latex/wx/proplosv.tex [new file with mode: 0644]
docs/latex/wx/proplstv.tex [new file with mode: 0644]
docs/latex/wx/propregv.tex [new file with mode: 0644]
docs/latex/wx/proprfva.tex [new file with mode: 0644]
docs/latex/wx/proprlva.tex [new file with mode: 0644]
docs/latex/wx/propsht.tex [new file with mode: 0644]
docs/latex/wx/propslv.tex [new file with mode: 0644]
docs/latex/wx/propstfv.tex [new file with mode: 0644]
docs/latex/wx/propval.tex [new file with mode: 0644]
docs/latex/wx/propvald.tex [new file with mode: 0644]
docs/latex/wx/propview.tex [new file with mode: 0644]

diff --git a/docs/latex/proplist/back.gif b/docs/latex/proplist/back.gif
deleted file mode 100644 (file)
index bfd15ce..0000000
Binary files a/docs/latex/proplist/back.gif and /dev/null differ
diff --git a/docs/latex/proplist/body.tex b/docs/latex/proplist/body.tex
deleted file mode 100644 (file)
index 41ff42a..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-\chapter{Introduction}\label{introduction}
-\pagenumbering{arabic}%
-\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
-\setfooter{\thepage}{}{}{}{}{\thepage}%
-
-The Property Sheet Classes help the programmer to specify complex dialogs and
-their relationship with their associated data. By specifying data as a
-wxPropertySheet containing wxProperty objects, the programmer can use
-a range of available or custom wxPropertyView classes to allow the user to
-edit this data. Classes derived from wxPropertyView act as mediators between the
-wxPropertySheet and the actual window (and associated panel items).
-
-For example, the wxPropertyListView is a kind of wxPropertyView which displays
-data in a Visual Basic-style property list (see \helpref{the next section}{appearance} for
-screen shots). This is a listbox containing names and values, with
-an edit control and other optional controls via which the user edits the selected
-data item.
-
-wxPropertyFormView is another kind of wxPropertyView which mediates between
-the data and a panel or dialog box which has already been created. This makes it a contender for
-the replacement of wxForm, since programmer-controlled layout is going to be much more
-satisfactory. If automatic layout is desired, then wxPropertyListView could be used instead.
-
-The main intention of this class library was to provide property {\it list} behaviour, but
-it has been generalised as much as possible so that the concept of a property sheet and its viewers
-can reduce programming effort in a range of user interface tasks.
-
-For further details on the classes and how they are used, please see \helpref{Property classes overview}{propertyoverview}.
-
-\section{The appearance and behaviour of a property list view}\label{appearance}
-
-The property list, as seen in an increasing number of development tools
-such as Visual Basic and Delphi, is a convenient and compact method for
-displaying and editing a number of items without the need for one
-control per item, and without the need for designing a special form. The
-controls are as follows:
-
-\begin{itemize}\itemsep=0pt
-\item A listbox showing the properties and their current values, which has double-click
-properties dependent on the nature of the current property;
-\item a text editing area at the top of the display, allowing the user to edit
-the currently selected property if appropriate;
-\item `confirm' and `cancel' buttons to confirm or cancel an edit (for the property, not the
-whole sheet);
-\item an optional list that appears when the user can make a choice from several known possible values;
-\item a small Edit button to invoke `detailed editing' (perhaps showing or hiding the above value list, or
-maybe invoking a common dialog);
-\item optional OK/Close, Cancel and Help buttons for the whole dialog.
-\end{itemize}
-
-The concept of `detailed editing' versus quick editing gives the user a choice
-of editing mode, so novice and expert behaviour can be catered for, or the user can just
-use what he feels comfortable with.
-
-Behaviour alters depending on the kind of property being edited. For example, a boolean value has
-the following behaviour:
-
-\begin{itemize}\itemsep=0pt
-\item Double-clicking on the item toggles between TRUE and FALSE.
-\item Showing the value list enables the user to select TRUE or FALSE.
-\item The user may be able to type in the word TRUE or FALSE, or the edit control
-may be read-only to disallow this since it is error-prone.
-\end{itemize}
-
-A list of strings may pop up a dialog for editing them, a simple string just allows text editing,
-double-clicking a colour property may show a colour selector, double-clicking on a filename property may
-show a file selector (in addition to being able to type in the name in the edit control), etc.
-
-Note that the `type' of property, such as string or integer, does not
-necessarily determine the behaviour of the property. The programmer has
-to be able to specify different behaviours for the same type, depending
-on the meaning of the property. For example, a colour and a filename may
-both be strings, but their editing behaviour should be different. This
-is why objects of type wxPropertyValidator need to be used, to define
-behaviour for a given class of properties or even specific property
-name.  Objects of class wxPropertyView contain a list of property
-registries, which enable reuse of bunches of these validators in
-different circumstances. Or a wxProperty can be explicitly set to use a
-particular validator object. 
-
-The following screen shot of the property classes test program shows the
-user editing a string, which is constrained to be one of three possible
-values.
-
-$$\image{8cm;0cm}{prop1.eps}$$\\
-
-The second picture shows the user having entered a integer that
-was outside the range specified to the validator. Note that in this picture,
-the value list is hidden because it is not used when editing an integer.
-
-$$\image{8cm;0cm}{prop2.eps}$$
-
-\chapter{Files}\label{files}
-\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
-\setfooter{\thepage}{}{}{}{}{\thepage}%
-
-The property class library comprises the following files:
-
-\begin{itemize}\itemsep=0pt
-\item prop.h: base property class header
-\item proplist.h: wxPropertyListView and associated classes
-\item propform.h: wxPropertyListView and associated classes
-\item prop.cpp: base property class implementation
-\item proplist.cpp: wxPropertyListView and associated class implementions
-\item propform.cpp: wxPropertyFormView and associated class implementions
-\end{itemize}
diff --git a/docs/latex/proplist/books.bmp b/docs/latex/proplist/books.bmp
deleted file mode 100644 (file)
index cf1e148..0000000
Binary files a/docs/latex/proplist/books.bmp and /dev/null differ
diff --git a/docs/latex/proplist/books.gif b/docs/latex/proplist/books.gif
deleted file mode 100644 (file)
index 4c67b72..0000000
Binary files a/docs/latex/proplist/books.gif and /dev/null differ
diff --git a/docs/latex/proplist/bullet.bmp b/docs/latex/proplist/bullet.bmp
deleted file mode 100644 (file)
index aad8fc7..0000000
Binary files a/docs/latex/proplist/bullet.bmp and /dev/null differ
diff --git a/docs/latex/proplist/changes.tex b/docs/latex/proplist/changes.tex
deleted file mode 100644 (file)
index d3513d1..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-\chapter{Change log}\label{changes}
-\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
-\setfooter{\thepage}{}{}{}{}{\thepage}%
-
-January - December 1998, Version 2.0
-
-\begin{itemize}\itemsep=0pt
-\item Conversion to wxWindows 2.0.
-\end{itemize}
-
-November 26th 1995, Version 1.1
-
-\begin{itemize}\itemsep=0pt
-\item Added wxListOfStringsListValidator - allows adding, deleting, editing
-strings.
-\item Added wxPropertyValue::ClearList, wxPropertyValue::Delete,
-wxPropertyValue::wxPropertyValue(wxStringList *).
-\item Added wxPropertyValue::Set/GetModified, wxPropertySheet::SetAllModified.
-\item Added wxPropertyView::OnPropertyChanged support, for immediate feedback.
-\end{itemize}
-
-October 1995, Version 1.0
-
-\begin{itemize}\itemsep=0pt
-\item First release.
-\end{itemize}
-
diff --git a/docs/latex/proplist/classes.tex b/docs/latex/proplist/classes.tex
deleted file mode 100644 (file)
index 00dcfe2..0000000
+++ /dev/null
@@ -1,1785 +0,0 @@
-\chapter{Alphabetical class reference}\label{classref}
-\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
-\setfooter{\thepage}{}{}{}{}{\thepage}%
-
-\overview{Property classes overview}{propertyoverview}
-
-\section{\class{wxBoolFormValidator}: wxPropertyFormValidator}\label{wxboolformvalidator}
-
-\overview{Validator classes}{validatorclasses}
-
-This class validates a boolean value for a form view. The associated panel item must be a wxCheckBox.
-
-\membersection{wxBoolFormValidator::wxBoolFormValidator}
-
-\func{void}{wxBoolFormValidator}{\param{long }{flags=0}}
-
-Constructor.
-
-\section{\class{wxBoolListValidator}: wxPropertyListValidator}\label{wxboollistvalidator}
-
-\overview{Validator classes}{validatorclasses}
-
-This class validates a boolean value for a list view.
-
-\membersection{wxBoolListValidator::wxBoolListValidator}
-
-\func{void}{wxBoolListValidator}{\param{long }{flags=0}}
-
-Constructor.
-
-\section{\class{wxIntegerFormValidator}: wxPropertyFormValidator}\label{wxintegerformvalidator}
-
-\overview{Validator classes}{validatorclasses}
-
-This class validates a range of integer values for a form view. The associated panel item must be a wxText
-or wxSlider.
-
-\membersection{wxIntegerFormValidator::wxIntegerFormValidator}
-
-\func{void}{wxIntegerFormValidator}{\param{long }{min=0}, \param{long }{max=0},
- \param{long}{ flags=0}}
-
-Constructor. Assigning zero to minimum and maximum values indicates that there is no range to check.
-
-
-\section{\class{wxIntegerListValidator}: wxPropertyListValidator}\label{wxintegerlistvalidator}
-
-\overview{Validator classes}{validatorclasses}
-
-This class validates a range of integer values for a list view.
-
-\membersection{wxIntegerListValidator::wxIntegerListValidator}
-
-\func{void}{wxIntegerListValidator}{\param{long }{min=0}, \param{long }{max=0},
- \param{long}{ flags=wxPROP\_ALLOW\_TEXT\_EDITING}}
-
-Constructor. Assigning zero to minimum and maximum values indicates that there is no range to check.
-
-\section{\class{wxFilenameListValidator}: wxPropertyListValidator}\label{wxfilenamelistvalidator}
-
-\overview{Validator classes}{validatorclasses}
-
-This class validates a filename for a list view, allowing the user to edit it textually and also popping up
-a file selector in ``detailed editing" mode.
-
-\membersection{wxFilenameListValidator::wxFilenameListValidator}
-
-\func{void}{wxFilenameListValidator}{\param{wxString }{message = ``Select a file"}, \param{wxString }{wildcard = ``*.*"},
-  \param{long}{ flags=0}}
-
-Constructor. Supply an optional message and wildcard.
-
-\section{\class{wxListOfStringsListValidator}: wxPropertyListValidator}\label{wxlistofstringslistvalidator}
-
-\overview{Validator classes}{validatorclasses}
-
-This class validates a list of strings for a list view. When editing the property,
-a dialog box is presented for adding, deleting or editing entries in the list.
-At present no constraints may be supplied.
-
-You can construct a string list property value by constructing a wxStringList object.
-
-For example:
-
-\begin{verbatim}
-  myListValidatorRegistry.RegisterValidator((wxString)"stringlist",
-      new wxListOfStringsListValidator);
-
-  wxStringList *strings = new wxStringList("earth", "fire", "wind", "water", NULL);
-
-  sheet->AddProperty(new wxProperty("fred", strings, "stringlist"));
-\end{verbatim}
-
-\membersection{wxListOfStringsListValidator::wxListofStringsListValidator}
-
-\func{void}{wxListOfStringsListValidator}{\param{long}{ flags=0}}
-
-Constructor.
-
-\section{\class{wxProperty}: wxObject}\label{wxproperty}
-
-The {\bf wxProperty} class represents a property, with a \helpref{wxPropertyValue}{wxpropertyvalue}\rtfsp
-containing the actual value, a name a role, an optional validator, and
-an optional associated window. 
-
-A property might correspond to an actual C++ data member, or it
-might correspond to a conceptual property, such as the width of a window.
-There is no explicit data member {\it wxWindow::width}, but it may be convenient
-to invent such a property for the purposes of editing attributes of the window.
-The properties in the property sheet can be mapped to ``reality" by
-whatever means (in this case by calling wxWindow::SetSize when the user has
-finished editing the property sheet).
-
-A validator may be associated with the property in order to ensure that this and
-only this validator will be used for editing and validating the property.
-An alternative method is to use the {\it role} parameter to specify what kind
-of validator would be appropriate; for example, specifying ``filename" for the role
-would allow the property view to find an appropriate validator at edit time.
-
-
-\membersection{wxProperty::wxProperty}
-
-\func{void}{wxProperty}{\void}
-
-\func{void}{wxProperty}{\param{wxProperty\& }{prop}}
-
-\func{void}{wxProperty}{\param{wxString}{ name}, \param{wxString}{ role}, \param{wxPropertyValidator *}{validator=NULL}}
-
-\func{void}{wxProperty}{\param{wxString}{ name}, \param{const wxPropertyValue\&}{ val}, \param{wxString}{ role}, \param{wxPropertyValidator *}{validator=NULL}}
-
-Constructors.
-
-\membersection{wxProperty::\destruct{wxProperty}}
-
-\func{void}{\destruct{wxProperty}}{\void}
-
-Destructor. Destroys the wxPropertyValue, and the property validator if there is one. However, if the
-actual C++ value in the wxPropertyValue is a pointer, the data in that variable is not destroyed.
-
-\membersection{wxProperty::GetValue}
-
-\func{wxPropertyValue\&}{GetValue}{\void}
-
-Returns a reference to the property value.
-
-\membersection{wxProperty::GetValidator}
-
-\func{wxPropertyValidator *}{GetValidator}{\void}
-
-Returns a pointer to the associated property validator (if any).
-
-\membersection{wxProperty::GetName}
-
-\func{wxString\&}{GetName}{\void}
-
-Returns the name of the property.
-
-\membersection{wxProperty::GetRole}
-
-\func{wxRole\&}{GetRole}{\void}
-
-Returns the role of the property, to be used when choosing an appropriate validator.
-
-\membersection{wxProperty::GetWindow}
-
-\func{wxWindow *}{GetWindow}{\void}
-
-Returns the window associated with the property (if any).
-
-\membersection{wxProperty::SetValue}
-
-\func{void}{SetValue}{\param{wxPropertyValue\&}{ val}}
-
-Sets the value of the property.
-
-\membersection{wxProperty::SetName}
-
-\func{void}{SetName}{\param{wxString\&}{ name}}
-
-Sets the name of the property.
-
-\membersection{wxProperty::SetRole}
-
-\func{void}{SetRole}{\param{wxString\&}{ role}}
-
-Sets the role  of the property.
-
-\membersection{wxProperty::SetValidator}
-
-\func{void}{SetValidator}{\param{wxPropertyValidator *}{validator}}
-
-Sets the validator: this will be deleted when the property is deleted.
-
-\membersection{wxProperty::SetWindow}
-
-\func{void}{SetWindow}{\param{wxWindow *}{win}}
-
-Sets the window associated with the property.
-
-\membersection{wxProperty::operator $=$}
-
-\func{void}{operator $=$}{\param{const wxPropertyValue\&}{ val}}
-
-Assignment operator.
-
-\section{\class{wxPropertyFormValidator}: wxPropertyValidator}\label{wxpropertyformvalidator}
-
-The {\bf wxPropertyFormValidator} abstract class is the root of classes that define validation
-for a wxPropertyFormView.
-
-
-\section{\class{wxPropertyFormDialog}: wxDialogBox}\label{wxpropertyformdialog}
-
-The {\bf wxPropertyFormDialog} class is a prepackaged dialog which can
-be used for viewing a form property sheet. Pass a property form view object, and the dialog
-will pass OnClose and OnDefaultAction listbox messages to the view class for
-processing.
-
-\membersection{wxPropertyFormDialog::wxPropertyFormDialog}
-
-\func{void}{wxPropertyFormDialog}{\param{wxPropertyFormView *}{view}, \param{wxWindow *}{parent}, \param{char *}{title},
- \param{Bool}{ modal=FALSE}, \param{int}{ x=-1}, \param{int}{ y=-1}, \param{int}{ width=-1}, \param{int}{height=-1},
- \param{long}{ style=wxDEFAULT\_DIALOG\_STYLE}, \param{char *}{name=``dialogBox"}}
-
-Constructor.
-
-\membersection{wxPropertyFormDialog::\destruct{wxPropertyFormDialog}}
-
-\func{void}{\destruct{wxPropertyFormDialog}}{\void}
-
-Destructor.
-
-
-\section{\class{wxPropertyFormFrame}: wxFrame}\label{wxpropertyformframe}
-
-The {\bf wxPropertyFormFrame} class is a prepackaged frame which can
-be used for viewing a property form. Pass a property form view object, and the frame
-will pass OnClose messages to the view class for processing.
-
-Call Initialize to create the panel and associate the view; override OnCreatePanel
-if you wish to use a panel class other than the default wxPropertyFormPanel.
-
-\membersection{wxPropertyFormFrame::wxPropertyFormFrame}
-
-\func{void}{wxPropertyFormFrame}{\param{wxPropertyFormView *}{view}, \param{wxFrame *}{parent}, \param{char *}{title},
- \param{int}{ x=-1}, \param{int}{ y=-1}, \param{int}{ width=-1}, \param{int}{height=-1},
- \param{long}{ style=wxSDI $\|$ wxDEFAULT\_FRAME}, \param{char *}{name=``frame"}}
-
-Constructor.
-
-\membersection{wxPropertyFormFrame::\destruct{wxPropertyFormFrame}}
-
-\func{void}{\destruct{wxPropertyFormFrame}}{\void}
-
-Destructor.
-
-\membersection{wxPropertyFormFrame::GetPropertyPanel}
-
-\func{wxPanel *}{GetPropertyPanel}{\void}
-
-Returns the panel associated with the frame.
-
-\membersection{wxPropertyFormFrame::Initialize}
-
-\func{Bool}{Initialize}{\void}
-
-Must be called to create the panel and associate the view with the panel and frame.
-
-\membersection{wxPropertyFormFrame::OnCreatePanel}
-
-\func{wxPanel *}{OnCreatePanel}{\param{wxFrame *}{parent}, \param{wxPropertyFormView *}{view}}
-
-Creates a panel. Override this to create a panel type other than wxPropertyFormPanel.
-
-
-\section{\class{wxPropertyFormPanel}: wxPanel}\label{wxpropertyformpanel}
-
-The {\bf wxPropertyFormPanel} class is a prepackaged panel which can
-be used for viewing a property form. Pass a property form view object, and the panel
-will pass OnDefaultAction listbox messages to the view class for
-processing.
-
-\membersection{wxPropertyFormPanel::wxPropertyFormPanel}
-
-\func{void}{wxPropertyFormPanel}{\param{wxPropertyFormView *}{view}, \param{wxWindow *}{parent},
- \param{int}{ x=-1}, \param{int}{ y=-1}, \param{int}{ width=-1}, \param{int}{height=-1},
- \param{long}{ style=0}, \param{char *}{name=``panel"}}
-
-Constructor.
-
-\membersection{wxPropertyFormPanel::\destruct{wxPropertyFormPanel}}
-
-\func{void}{\destruct{wxPropertyFormPanel}}{\void}
-
-Destructor.
-
-
-
-\section{\class{wxPropertyFormValidator}: wxPropertyValidator}\label{wxpropertyformvalidatir}
-
-\overview{wxPropertyFormValidator overview}{wxpropertyformvalidatoroverview}
-
-The {\bf wxPropertyFormValidator} class defines a base class for form validators. By overriding virtual functions,
-the programmer can create custom behaviour for kinds of property.
-
-\membersection{wxPropertyFormValidator::wxPropertyFormValidator}
-
-\func{void}{wxPropertyFormValidator}{\param{long}{ flags = 0}}
-
-Constructor.
-
-\membersection{wxPropertyFormValidator::\destruct{wxPropertyFormValidator}}
-
-\func{void}{\destruct{wxPropertyFormValidator}}{\void}
-
-Destructor.
-
-\membersection{wxPropertyFormValidator::OnCommand}
-
-\func{Bool}{OnCommand}{\param{wxProperty *}{property}, \param{wxPropertyFormView *}{view},
- \param{wxWindow *}{parentWindow}, \param{wxCommandEvent\& }{event}}
-
-Called when the control corresponding to the property receives a command (if not intercepted
-by a callback associated with the actual control).
-
-\membersection{wxPropertyFormValidator::OnCheckValue}
-
-\func{Bool}{OnCheckValue}{\param{wxProperty *}{property}, \param{wxPropertyFormView *}{view},
- \param{wxWindow *}{parentWindow}}
-Called when the view checks the property value. The value checked by this validator should be taken from the
-panel item corresponding to the property.
-
-\membersection{wxPropertyFormValidator::OnDisplayValue}
-
-\func{Bool}{OnDisplayValue}{\param{wxProperty *}{property}, \param{wxPropertyFormView *}{view},
- \param{wxWindow *}{parentWindow}}
-
-Should display the property value in the appropriate control.
-\membersection{wxPropertyFormValidator::OnDoubleClick}
-
-\func{Bool}{OnDoubleClick}{\param{wxProperty *}{property}, \param{wxPropertyFormView *}{view},
- \param{wxWindow *}{parentWindow}}
-
-Called when the control corresponding to the property is double clicked (listboxes only).
-
-\membersection{wxPropertyFormValidator::OnRetrieveValue}
-
-\func{Bool}{OnRetrieveValue}{\param{wxProperty *}{property}, \param{wxPropertyFormView *}{view},
- \param{wxWindow *}{parentWindow}}
-
-Should do the transfer from the property editing area to the property itself.
-
-
-\section{\class{wxPropertyFormView}: wxPropertyView}\label{wxpropertyformview}
-
-\overview{wxPropertyFormView overview}{wxpropertyformviewoverview}
-
-The {\bf wxPropertyFormView} class shows a wxPropertySheet as a view onto a panel or dialog
-box which has already been created.
-
-\membersection{wxPropertyFormView::wxPropertyFormView}
-
-\func{void}{wxPropertyFormView}{\param{long}{ flags = 0}}
-
-Constructor.
-
-\membersection{wxPropertyFormView::\destruct{wxPropertyFormView}}
-
-\func{void}{\destruct{wxPropertyFormView}}{\void}
-
-Destructor.
-
-\membersection{wxPropertyFormView::AssociateNames}\label{wxpropertyformviewassociatenames}
-
-\func{void}{AssociateNames}{\void}
-
-Associates the properties with the controls on the panel. For each panel item, if the
-panel item name is the same as a property name, the two objects will be associated.
-This function should be called manually since the programmer may wish to do the
-association manually.
-
-\membersection{wxPropertyFormView::Check}\label{wxpropertyformviewcheck}
-
-\func{Bool}{Check}{\void}
-
-Checks all properties by calling the appropriate validators; returns FALSE if a validation failed.
-
-\membersection{wxPropertyFormView::GetPanel}\label{wxpropertyformviewgetpanel}
-
-\func{wxPanel *}{GetPanel}{\void}
-
-Returns the panel associated with the view.
-
-\membersection{wxPropertyFormView::GetManagedWindow}\label{wxpropertyformviewgetmanagedwindow}
-
-\func{wxWindow *}{GetManagedWindow}{\void}
-
-Returns the managed window (a frame or dialog) associated with the view.
-
-\membersection{wxPropertyFormView::OnOk}\label{wxpropertyformviewonok}
-
-\func{void}{OnOk}{\void}
-
-Virtual function that will be called when the OK button on the physical window is pressed.
-By default, checks and updates the form values, closes and deletes the frame or dialog, then deletes the view.
-
-\membersection{wxPropertyFormView::OnCancel}\label{wxpropertyformviewoncancel}
-
-\func{void}{OnCancel}{\void}
-
-Virtual function that will be called when the Cancel button on the physical window is pressed.
-By default, closes and deletes the frame or dialog, then deletes the view.
-
-\membersection{wxPropertyFormView::OnHelp}\label{wxpropertyformviewonhelp}
-
-\func{void}{OnHelp}{\void}
-
-Virtual function that will be called when the Help button on the physical window is pressed.
-This needs to be overridden by the application for anything interesting to happen.
-
-\membersection{wxPropertyFormView::OnRevert}\label{wxpropertyformviewonrevert}
-
-\func{void}{OnRevert}{\void}
-
-Virtual function that will be called when the Revert button on the physical window is pressed.
-By default transfers the wxProperty values to the panel items (in effect
-undoing any unsaved changes in the items).
-
-\membersection{wxPropertyFormView::OnUpdate}\label{wxpropertyformviewonupdate}
-
-\func{void}{OnUpdate}{\void}
-
-Virtual function that will be called when the Update button on the physical window is pressed.
-By defaults transfers the displayed values to the wxProperty objects.
-
-\membersection{wxPropertyFormView::SetManagedWindow}\label{wxpropertyformviewsetmanagedwindow}
-
-\func{void}{SetManagedWindow}{\param{wxWindow *}{win}}
-
-Sets the managed window (a frame or dialog) associated with the view.
-
-\membersection{wxPropertyFormView::TransferToDialog}\label{wxpropertyformviewtransfertodialog}
-
-\func{Bool}{TransferToDialog}{\void}
-
-Transfers property values to the controls in the dialog.
-
-\membersection{wxPropertyFormView::TransferToPropertySheet}\label{wxpropertyformviewtransfertopropertysheet}
-
-\func{Bool}{TransferToPropertySheet}{\void}
-
-Transfers property values from the controls in the dialog to the property sheet.
-
-
-\section{\class{wxPropertyListDialog}: wxDialogBox}\label{wxpropertylistdialog}
-
-The {\bf wxPropertyListDialog} class is a prepackaged dialog which can
-be used for viewing a property list. Pass a property list view object, and the dialog
-will pass OnClose and OnDefaultAction listbox messages to the view class for
-processing.
-
-\membersection{wxPropertyListDialog::wxPropertyListDialog}
-
-\func{void}{wxPropertyListDialog}{\param{wxPropertyListView *}{view}, \param{wxWindow *}{parent}, \param{char *}{title},
- \param{Bool}{ modal=FALSE}, \param{int}{ x=-1}, \param{int}{ y=-1}, \param{int}{ width=-1}, \param{int}{height=-1},
- \param{long}{ style=wxDEFAULT\_DIALOG\_STYLE}, \param{char *}{name=``dialogBox"}}
-
-Constructor.
-
-\membersection{wxPropertyListDialog::\destruct{wxPropertyListDialog}}
-
-\func{void}{\destruct{wxPropertyListDialog}}{\void}
-
-Destructor.
-
-
-\section{\class{wxPropertyListFrame}: wxFrame}\label{wxpropertylistframe}
-
-The {\bf wxPropertyListFrame} class is a prepackaged frame which can
-be used for viewing a property list. Pass a property list view object, and the frame
-will pass OnClose messages to the view class for processing.
-
-Call Initialize to create the panel and associate the view; override OnCreatePanel
-if you wish to use a panel class other than the default wxPropertyListPanel.
-
-\membersection{wxPropertyListFrame::wxPropertyListFrame}
-
-\func{void}{wxPropertyListFrame}{\param{wxPropertyListView *}{view}, \param{wxFrame *}{parent}, \param{char *}{title},
- \param{int}{ x=-1}, \param{int}{ y=-1}, \param{int}{ width=-1}, \param{int}{height=-1},
- \param{long}{ style=wxSDI $\|$ wxDEFAULT\_FRAME}, \param{char *}{name=``frame"}}
-
-Constructor.
-
-\membersection{wxPropertyListFrame::\destruct{wxPropertyListFrame}}
-
-\func{void}{\destruct{wxPropertyListFrame}}{\void}
-
-Destructor.
-
-\membersection{wxPropertyListFrame::GetPropertyPanel}
-
-\func{wxPanel *}{GetPropertyPanel}{\void}
-
-Returns the panel associated with the frame.
-
-\membersection{wxPropertyListFrame::Initialize}
-
-\func{Bool}{Initialize}{\void}
-
-Must be called to create the panel and associate the view with the panel and frame.
-
-\membersection{wxPropertyListFrame::OnCreatePanel}
-
-\func{wxPanel *}{OnCreatePanel}{\param{wxFrame *}{parent}, \param{wxPropertyListView *}{view}}
-
-Creates a panel. Override this to create a panel type other than wxPropertyListPanel.
-
-
-\section{\class{wxPropertyListPanel}: wxPanel}\label{wxpropertylistpanel}
-
-The {\bf wxPropertyListPanel} class is a prepackaged panel which can
-be used for viewing a property list. Pass a property list view object, and the panel
-will pass OnDefaultAction listbox messages to the view class for
-processing.
-
-\membersection{wxPropertyListPanel::wxPropertyListPanel}
-
-\func{void}{wxPropertyListPanel}{\param{wxPropertyListView *}{view}, \param{wxWindow *}{parent},
- \param{int}{ x=-1}, \param{int}{ y=-1}, \param{int}{ width=-1}, \param{int}{height=-1},
- \param{long}{ style=0}, \param{char *}{name=``panel"}}
-
-Constructor.
-
-\membersection{wxPropertyListPanel::\destruct{wxPropertyListPanel}}
-
-\func{void}{\destruct{wxPropertyListPanel}}{\void}
-
-Destructor.
-
-
-
-
-\section{\class{wxPropertyListValidator}: wxPropertyValidator}\label{wxpropertylistvalidator}
-
-\overview{wxPropertyListValidator overview}{wxpropertylistvalidatoroverview}
-
-The {\bf wxPropertyListValidator} abstract class is the base class for
-deriving validators for property lists.
-
-\membersection{wxPropertyListValidator::wxPropertyListValidator}
-
-\func{void}{wxPropertyListValidator}{\param{long}{ flags = wxPROP\_ALLOW\_TEXT\_EDITING}}
-
-Constructor.
-
-\membersection{wxPropertyListValidator::\destruct{wxPropertyListValidator}}
-
-\func{void}{\destruct{wxPropertyListValidator}}{\void}
-
-Destructor.
-
-\membersection{wxPropertyListValidator::OnCheckValue}
-
-\func{Bool}{OnCheckValue}{\param{wxProperty *}{property}, \param{wxPropertyListView *}{view},
- \param{wxWindow *}{parentWindow}}
-Called when the Tick (Confirm) button is pressed or focus is list. Return FALSE if the value
-was invalid, which is a signal restores the old value. Return TRUE if the value was valid.
-
-\membersection{wxPropertyListValidator::OnClearControls}
-
-\func{Bool}{OnClearControls}{\param{wxProperty *}{property}, \param{wxPropertyListView *}{view},
- \param{wxWindow *}{parentWindow}}
-Allows the clearing (enabling, disabling) of property list controls, when the focus leaves the current property.
-
-\membersection{wxPropertyListValidator::OnClearDetailControls}
-
-\func{Bool}{OnClearDetailControls}{\param{wxProperty *}{property}, \param{wxPropertyListView *}{view},
- \param{wxWindow *}{parentWindow}}
-Called when the focus is lost, if the validator is in detailed editing mode.
-
-\membersection{wxPropertyListValidator::OnDisplayValue}
-
-\func{Bool}{OnDisplayValue}{\param{wxProperty *}{property}, \param{wxPropertyListView *}{view},
- \param{wxWindow *}{parentWindow}}
-
-Should display the value in the appropriate controls. The default implementation gets the
-textual value from the property and inserts it into the text edit control.
-\membersection{wxPropertyListValidator::OnDoubleClick}
-
-\func{Bool}{OnDoubleClick}{\param{wxProperty *}{property}, \param{wxPropertyListView *}{view},
- \param{wxWindow *}{parentWindow}}
-
-Called when the property is double clicked. Extra functionality can be provided,
-such as cycling through possible values.
-
-\membersection{wxPropertyListValidator::OnEdit}
-
-\func{Bool}{OnEdit}{\param{wxProperty *}{property}, \param{wxPropertyListView *}{view},
- \param{wxWindow *}{parentWindow}}
-Called when the Edit (detailed editing) button is pressed. The default implementation
-calls wxPropertyListView::BeginDetailedEditing; a filename validator (for example) overrides
-this function to show the file selector.
-
-\membersection{wxPropertyListValidator::OnPrepareControls}
-
-\func{Bool}{OnPrepareControls}{\param{wxProperty *}{property}, \param{wxPropertyListView *}{view},
- \param{wxWindow *}{parentWindow}}
-
-Called to allow the validator to setup the display, such enabling or disabling buttons, and
-setting the values and selection in the standard listbox control (the one optionally used for displaying
-value options).
-
-\membersection{wxPropertyListValidator::OnPrepareDetailControls}
-
-\func{Bool}{OnPrepareDetailControls}{\param{wxProperty *}{property}, \param{wxPropertyListView *}{view},
- \param{wxWindow *}{parentWindow}}
-Called when the property is edited `in detail', i.e. when the Edit button is pressed.
-
-\membersection{wxPropertyListValidator::OnRetrieveValue}
-
-\func{Bool}{OnRetrieveValue}{\param{wxProperty *}{property}, \param{wxPropertyListView *}{view},
- \param{wxWindow *}{parentWindow}}
-
-Called when Tick (Confirm) is pressed or focus is lost or view wants to update
-the property list. Should do the transfer from the property editing area to the property itself
-
-\membersection{wxPropertyListValidator::OnSelect}
-
-\func{Bool}{OnSelect}{\param{Bool}{ select}, \param{wxProperty *}{property}, \param{wxPropertyListView *}{view},
- \param{wxWindow *}{parentWindow}}
-
-Called when the property is selected or deselected: typically displays the value
-in the edit control (having chosen a suitable control to display: (non)editable text or listbox).
-
-\membersection{wxPropertyListValidator::OnValueListSelect}
-
-\func{Bool}{OnValueListSelect}{\param{wxProperty *}{property}, \param{wxPropertyListView *}{view},
- \param{wxWindow *}{parentWindow}}
-
-Called when the value listbox is selected. The default behaviour is to copy
-string to text control, and retrieve the value into the property.
-
-
-
-\section{\class{wxPropertyListView}: wxPropertyView}\label{wxpropertylistview}
-
-\overview{wxPropertyListView overview}{wxpropertylistviewoverview}
-
-The {\bf wxPropertyListView} class shows a wxPropertySheet as a Visual Basic-style property list.
-
-\membersection{wxPropertyListView::wxPropertyListView}
-
-\func{void}{wxPropertyListView}{\param{long}{ flags = wxPROP\_BUTTON\_DEFAULT}}
-
-Constructor.
-
-The {\it flags} argument can be a bit list of the following:
-
-\begin{itemize}\itemsep=0pt
-\item wxPROP\_BUTTON\_CLOSE
-\item wxPROP\_BUTTON\_OK
-\item wxPROP\_BUTTON\_CANCEL
-\item wxPROP\_BUTTON\_CHECK\_CROSS
-\item wxPROP\_BUTTON\_HELP
-\item wxPROP\_DYNAMIC\_VALUE\_FIELD
-\item wxPROP\_PULLDOWN
-\end{itemize}
-
-\membersection{wxPropertyListView::\destruct{wxPropertyListView}}
-
-\func{void}{\destruct{wxPropertyListView}}{\void}
-
-Destructor.
-
-\membersection{wxPropertyListView::AssociatePanel}\label{wxpropertylistviewassociatepanel}
-
-\func{void}{AssociatePanel}{\param{wxPanel *}{panel}}
-
-Associates the window on which the controls will be displayed, with the view (sets an internal pointer to the window).
-
-\membersection{wxPropertyListView::BeginShowingProperty}\label{wxpropertylistviewbeginshowingproperty}
-
-\func{Bool}{BeginShowingProperty}{\param{wxProperty *}{property}}
-
-Finds the appropriate validator and loads the property into the controls, by calling
-wxPropertyValidator::OnPrepareControls and then wxPropertyListView::DisplayProperty.
-
-\membersection{wxPropertyListView::DisplayProperty}\label{wxpropertylistviewdisplayproperty}
-
-\func{Bool}{DisplayProperty}{\param{wxProperty *}{property}}
-
-Calls wxPropertyValidator::OnDisplayValue for the current property's validator. This function
-gets called by wxPropertyListView::BeginShowingProperty, which is in turn called
-from ShowProperty, called by OnPropertySelect, called by the listbox callback when selected.
-
-\membersection{wxPropertyListView::EndShowingProperty}\label{wxpropertylistviewendshowingproperty}
-
-\func{Bool}{EndShowingProperty}{\param{wxProperty *}{property}}
-
-Finds the appropriate validator and unloads the property from the controls, by calling
-wxPropertyListView::RetrieveProperty, wxPropertyValidator::OnClearControls and (if we're in
-detailed editing mdoe) wxPropertyValidator::OnClearDetailControls.
-
-\membersection{wxPropertyListView::GetPanel}\label{wxpropertylistviewgetpanel}
-
-\func{wxPanel *}{GetPanel}{\void}
-
-Returns the panel associated with the view.
-
-\membersection{wxPropertyListView::GetManagedWindow}\label{wxpropertylistviewgetmanagedwindow}
-
-\func{wxWindow *}{GetManagedWindow}{\void}
-
-Returns the managed window (a frame or dialog) associated with the view.
-
-\membersection{wxPropertyListView::GetWindowCancelButton}\label{wxpropertylistviewgetwindowcancelbutton}
-
-\func{wxButton *}{GetWindowCancelButton}{\void}
-
-Returns the window cancel button, if any.
-
-\membersection{wxPropertyListView::GetWindowCloseButton}\label{wxpropertylistviewgetwindowclosebutton}
-
-\func{wxButton *}{GetWindowCloseButton}{\void}
-
-Returns the window close or OK button, if any.
-
-\membersection{wxPropertyListView::GetWindowHelpButton}\label{wxpropertylistviewgetwindowhelpbutton}
-
-\func{wxButton *}{GetWindowHelpButton}{\void}
-
-Returns the window help button, if any.
-
-\membersection{wxPropertyListView::SetManagedWindow}\label{wxpropertylistviewsetmanagedwindow}
-
-\func{void}{SetManagedWindow}{\param{wxWindow *}{win}}
-
-Sets the managed window (a frame or dialog) associated with the view.
-
-\membersection{wxPropertyListView::UpdatePropertyDisplayInList}\label{wxpropertylistviewupdatepropdisplay}
-
-\func{Bool}{UpdatePropertyDisplayInList}{\param{wxProperty *}{property}}
-
-Updates the display for the given changed property.
-
-\membersection{wxPropertyListView::UpdatePropertyList}\label{wxpropertylistviewupdateproplist}
-
-\func{Bool}{UpdatePropertyList}{\param{Bool }{clearEditArea = TRUE}}
-
-Updates the whole property list display.
-
-
-\section{\class{wxPropertySheet}: wxObject}\label{wxpropertysheet}
-
-\overview{wxPropertySheet overview}{wxpropertysheetoverview}
-
-The {\bf wxPropertySheet} class is used for storing a number of
-wxProperty objects (essentially names and values).
-
-\membersection{wxPropertySheet::wxPropertySheet}
-
-\func{void}{wxPropertySheet}{\param{const wxString}{ name = ""}}
-
-Constructor. Sets property sheet's name to name if present.
-
-\membersection{wxPropertySheet::\destruct{wxPropertySheet}}
-
-\func{void}{\destruct{wxPropertySheet}}{\void}
-
-Destructor. Destroys all contained properties.
-
-\membersection{wxPropertySheet::AddProperty}\label{wxpropertysheetaddproperty}
-
-\func{void}{AddProperty}{\param{wxProperty *}{property}}
-
-Adds a property to the sheet.
-
-\membersection{wxPropertySheet::Clear}\label{wxpropertysheetclear}
-
-\func{void}{Clear}{\void}
-
-Clears all the properties from the sheet (deleting them).
-
-\membersection{wxPropertySheet::GetName}\label{wxpropertysheetgetname}
-
-\func{wxString}{GetName}{\void}
-
-Gets the sheet's name.
-
-\membersection{wxPropertySheet::GetProperty}\label{wxpropertysheetgetproperty}
-
-\func{wxProperty *}{GetProperty}{\param{wxString}{ name}}
-
-Gets a property by name.
-
-\membersection{wxPropertySheet::GetProperties}\label{wxpropertysheetgetproperties}
-
-\func{wxList\&}{GetProperties}{\void}
-
-Returns a reference to the internal list of properties.
-
-\membersection{wxPropertySheet::HasProperty}\label{wxpropertysheethasproperty}
-
-\func{bool}{HasProperty}{\param{wxString}{ propname}}
-
-Returns true if sheet contains property propname.
-
-\membersection{wxPropertySheet::RemoveProperty}\label{wxpropertysheetremoveproperty}
-
-\func{void}{RemoveProperty}{\param{wxString}{ propname}}
-
-Removes property propname from sheet, deleting it.
-
-\membersection{wxPropertySheet::SetName}\label{wxpropertysheetsetname}
-
-\func{void}{SetName}{\param{wxString}{ sheetname}}
-
-Set the sheet's name to sheetname
-
-\membersection{wxPropertySheet::SetProperty}\label{wxpropertysheetsetproperty}
-
-\func{bool}{SetProperty}{\param{wxString}{ propname}, \param{wxPropertyValue}{ value}}
-
-Sets property propname to value. Returns false if property is not a member of sheet.
-
-\membersection{wxPropertySheet::SetAllModified}
-
-\func{void}{SetAllModified}{\param{Bool}{ flag}}
-
-Sets the `modified' flag of each property value.
-
-
-
-\section{\class{wxPropertyValidator}: wxEvtHandler}\label{wxpropertyvalidator}
-
-\overview{wxPropertyValidator overview}{wxpropertyvalidatoroverview}
-
-The {\bf wxPropertyValidator} abstract class is the base class for deriving
-validators for properties.
-
-\membersection{wxPropertyValidator::wxPropertyValidator}
-
-\func{void}{wxPropertyValidator}{\param{long}{ flags = 0}}
-
-Constructor.
-
-\membersection{wxPropertyValidator::\destruct{wxPropertyValidator}}
-
-\func{void}{\destruct{wxPropertyValidator}}{\void}
-
-Destructor.
-
-\membersection{wxPropertyValidator::GetFlags}
-
-\func{long}{GetFlags}{\void}
-
-Returns the flags for the validator.
-
-\membersection{wxPropertyValidator::GetValidatorProperty}
-
-\func{wxProperty *}{GetValidatorProperty}{\void}
-
-Gets the property for the validator.
-
-\membersection{wxPropertyValidator::SetValidatorProperty}
-
-\func{void}{SetValidatorProperty}{\param{wxProperty *}{property}}
-
-Sets the property for the validator.
-
-
-\section{\class{wxPropertyValidatorRegistry}: wxHashTable}\label{wxpropertyvalidatorregistry}
-
-The {\bf wxPropertyValidatorRegistry} class is used for storing validators,
-indexed by the `role name' of the property, by which groups of property
-can be identified for the purpose of validation and editing.
-
-\membersection{wxPropertyValidatorRegistry::wxPropertyValidatorRegistry}
-
-\func{void}{wxPropertyValidatorRegistry}{\void}
-
-Constructor.
-
-\membersection{wxPropertyValidatorRegistry::\destruct{wxPropertyValidatorRegistry}}
-
-\func{void}{\destruct{wxPropertyValidatorRegistry}}{\void}
-
-Destructor.
-
-\membersection{wxPropertyValidatorRegistry::Clear}
-
-\func{void}{ClearRegistry}{\void}
-
-Clears the registry, deleting the validators.
-
-\membersection{wxPropertyValidatorRegistry::GetValidator}
-
-\func{wxPropertyValidator *}{GetValidator}{\param{wxString\& }{roleName}}
-
-Retrieve a validator by the property role name.
-
-\membersection{wxPropertyValidatorRegistry::RegisterValidator}\label{wxpropertyvalidatorregistervalidator}
-
-\func{void}{RegisterValidator}{\param{wxString\& }{roleName}, \param{wxPropertyValidator *}{validator}}
-
-Register a validator with the registry. {\it roleName} is a name indicating the
-role of the property, such as ``filename''. Later, when a validator is chosen for
-editing a property, this role name is matched against the class names of the property,
-if the property does not already have a validator explicitly associated with it.
-
-
-\section{\class{wxPropertyValue}: wxObject}\label{wxpropertyvalue}
-
-The {\bf wxPropertyValue} class represents the value of a property,
-and is normally associated with a wxProperty object.
-
-A wxPropertyValue has one of the following types:
-
-\begin{itemize}\itemsep=0pt
-\item wxPropertyValueNull
-\item wxPropertyValueInteger
-\item wxPropertyValueReal
-\item wxPropertyValueBool
-\item wxPropertyValueString
-\item wxPropertyValueList
-\item wxPropertyValueIntegerPtr
-\item wxPropertyValueRealPtr
-\item wxPropertyValueBoolPtr
-\item wxPropertyValueStringPtr
-\end{itemize}
-
-\membersection{wxPropertyValue::wxPropertyValue}
-
-\func{void}{wxPropertyValue}{\void}
-
-Default constructor.
-
-\func{void}{wxPropertyValue}{\param{const wxPropertyValue\& }{copyFrom}}
-
-Copy constructor.
-
-\func{void}{wxPropertyValue}{\param{char *}{val}}
-
-Construction from a string value.
-
-\func{void}{wxPropertyValue}{\param{long}{ val}}
-
-Construction from an integer value. You may need to cast to (long) to
-avoid confusion with other constructors (such as the Bool constructor).
-
-\func{void}{wxPropertyValue}{\param{Bool}{ val}}
-
-Construction from a boolean value.
-
-\func{void}{wxPropertyValue}{\param{float}{ val}}
-
-Construction from a floating point value.
-
-\func{void}{wxPropertyValue}{\param{double}{ val}}
-
-Construction from a floating point value.
-
-\func{void}{wxPropertyValue}{\param{wxList *}{ val}}
-
-Construction from a list of wxPropertyValue objects. The
-list, but not each contained wxPropertyValue, will be deleted
-by the constructor. The wxPropertyValues will be assigned to
-this wxPropertyValue list. In other words, so do not delete wxList or
-its data after calling this constructor.
-
-\func{void}{wxPropertyValue}{\param{wxStringList *}{ val}}
-
-Construction from a list of strings. The list (including the strings
-contained in it) will be deleted by the constructor, so do not
-destroy {\it val} explicitly.
-
-\func{void}{wxPropertyValue}{\param{char **}{val}}
-
-Construction from a string pointer.
-
-\func{void}{wxPropertyValue}{\param{long *}{val}}
-
-Construction from an integer pointer.
-
-\func{void}{wxPropertyValue}{\param{Bool *}{val}}
-
-Construction from an boolean pointer.
-
-\func{void}{wxPropertyValue}{\param{float *}{val}}
-
-Construction from a floating point pointer.
-
-The last four constructors use pointers to various C++ types, and do not
-store the types themselves; this allows the values to stand in for actual
-data values defined elsewhere.
-
-\membersection{wxPropertyValue::\destruct{wxPropertyValue}}
-
-\func{void}{\destruct{wxPropertyValue}}{\void}
-
-Destructor.
-
-\membersection{wxPropertyValue::Append}
-
-\func{void}{Append}{\param{wxPropertyValue *}{expr}}
-
-Appends a property value to the list.
-
-\membersection{wxPropertyValue::BoolValue}
-
-\func{Bool}{BoolValue}{\void}
-
-Returns the boolean value.
-
-\membersection{wxPropertyValue::BoolValuePtr}
-
-\func{Bool *}{BoolValuePtr}{\void}
-
-Returns the pointer to the boolean value.
-
-\membersection{wxPropertyValue::ClearList}
-
-\func{void}{ClearList}{\void}
-
-Deletes the contents of the list.
-
-\membersection{wxPropertyValue::Delete}
-
-\func{void}{Delete}{\param{wxPropertyValue *}{expr}}
-
-Deletes {\it expr} from this list.
-
-\membersection{wxPropertyValue::GetFirst}
-
-\func{wxPropertyValue *}{GetFirst}{\void}
-
-Gets the first value in the list.
-
-\membersection{wxPropertyValue::GetLast}
-
-\func{wxPropertyValue *}{GetFirst}{\void}
-
-Gets the last value in the list.
-
-\membersection{wxPropertyValue::GetModified}
-
-\func{Bool}{GetModified}{\void}
-
-Returns TRUE if the value was modified since being created
-(or since SetModified was called).
-
-\membersection{wxPropertyValue::GetNext}
-
-\func{wxPropertyValue *}{GetNext}{\void}
-
-Gets the next value in the list (the one after `this').
-
-\membersection{wxPropertyValue::GetStringRepresentation}
-
-\func{wxString}{GetStringRepresentation}{\void}
-
-Gets a string representation of the value.
-
-\membersection{wxPropertyValue::IntegerValue}
-
-\func{long}{IntegerValue}{\void}
-
-Returns the integer value.
-
-\membersection{wxPropertyValue::Insert}
-
-\func{void}{Insert}{\param{wxPropertyValue *}{expr}}
-
-Inserts a property value at the front of a list.
-
-\membersection{wxPropertyValue::IntegerValuePtr}
-
-\func{long *}{IntegerValuePtr}{\void}
-
-Returns the pointer to the integer value.
-
-\membersection{wxPropertyValue::Nth}
-
-\func{wxPropertyValue *}{Nth}{\param{int}{ n}}
-
-Returns the nth value of a list expression (starting from zero).
-
-\membersection{wxPropertyValue::Number}
-
-\func{int}{Number}{\void}
-
-Returns the number of elements in a list expression.
-
-\membersection{wxPropertyValue::RealValue}
-
-\func{float}{RealValue}{\void}
-
-Returns the floating point value.
-
-\membersection{wxPropertyValue::RealValuePtr}
-
-\func{float *}{RealValuePtr}{\void}
-
-Returns the pointer to the floating point value.
-
-\membersection{wxPropertyValue::SetModified}
-
-\func{void}{SetModified}{\param{Bool}{ flag}}
-
-Sets the `modified' flag.
-
-\membersection{wxPropertyValue::StringValue}
-
-\func{char *}{StringValue}{\void}
-
-Returns the string value.
-
-\membersection{wxPropertyValue::StringValuePtr}
-
-\func{char **}{StringValuePtr}{\void}
-
-Returns the pointer to the string value.
-
-\membersection{wxPropertyValue::Type}
-
-\func{wxPropertyValueType}{Type}{\void}
-
-Returns the value type.
-
-\membersection{wxPropertyValue::operator $=$}
-
-\func{void}{operator $=$}{\param{const wxPropertyValue\& }{val}}
-
-\func{void}{operator $=$}{\param{const char *}{val}}
-
-\func{void}{operator $=$}{\param{const long }{val}}
-
-\func{void}{operator $=$}{\param{const Bool }{val}}
-
-\func{void}{operator $=$}{\param{const float }{val}}
-
-\func{void}{operator $=$}{\param{const char **}{val}}
-
-\func{void}{operator $=$}{\param{const long *}{val}}
-
-\func{void}{operator $=$}{\param{const Bool *}{val}}
-
-\func{void}{operator $=$}{\param{const float *}{val}}
-
-Assignment operators.
-
-
-
-\section{\class{wxPropertyView}: wxEvtHandler}\label{wxpropertyview}
-
-\overview{wxPropertyView overview}{wxpropertyviewoverview}
-
-The {\bf wxPropertyView} abstract class is the base class for views
-of property sheets, acting as intermediaries between properties and
-actual windows.
-
-\membersection{wxPropertyView::wxPropertyView}
-
-\func{void}{wxPropertyView}{\param{long}{ flags = wxPROP\_BUTTON\_DEFAULT}}
-
-Constructor.
-
-The {\it flags} argument can be a bit list of the following:
-
-\begin{itemize}\itemsep=0pt
-\item wxPROP\_BUTTON\_CLOSE
-\item wxPROP\_BUTTON\_OK
-\item wxPROP\_BUTTON\_CANCEL
-\item wxPROP\_BUTTON\_CHECK\_CROSS
-\item wxPROP\_BUTTON\_HELP
-\item wxPROP\_DYNAMIC\_VALUE\_FIELD
-\item wxPROP\_PULLDOWN
-\end{itemize}
-
-\membersection{wxPropertyView::\destruct{wxPropertyView}}
-
-\func{void}{\destruct{wxPropertyView}}{\void}
-
-Destructor.
-
-\membersection{wxPropertyView::AddRegistry}\label{wxpropertyviewaddregistry}
-
-\func{void}{AddRegistry}{\param{wxPropertyValidatorRegistry *}{registry}}
-
-Adds a registry (list of property validators) the view's list of registries, which is initially empty.
-
-\membersection{wxPropertyView::FindPropertyValidator}\label{wxpropertyviewfindpropertyvalidator}
-
-\func{wxPropertyValidator *}{FindPropertyValidator}{\param{wxProperty *}{property}}
-
-Finds the property validator that is most appropriate to this property.
-
-\membersection{wxPropertyView::GetPropertySheet}\label{wxpropertyviewgetpropertysheet}
-
-\func{wxPropertySheet *}{GetPropertySheet}{\void}
-
-Gets the property sheet for this view.
-
-\membersection{wxPropertyView::GetRegistryList}\label{wxpropertyviewgetregistrylist}
-
-\func{wxList\&}{GetRegistryList}{\void}
-
-Returns a reference to the list of property validator registries.
-
-\membersection{wxPropertyView::OnOk}\label{wxpropertyviewonok}
-
-\func{void}{OnOk}{\void}
-
-Virtual function that will be called when the OK button on the physical window is pressed (if it exists).
-
-\membersection{wxPropertyView::OnCancel}\label{wxpropertyviewoncancel}
-
-\func{void}{OnCancel}{\void}
-
-Virtual function that will be called when the Cancel button on the physical window is pressed (if it exists).
-
-\membersection{wxPropertyView::OnClose}\label{wxpropertyviewonclose}
-
-\func{Bool}{OnClose}{\void}
-
-Virtual function that will be called when the physical window is closed. The default implementation returns FALSE.
-
-\membersection{wxPropertyView::OnHelp}\label{wxpropertyviewonhelp}
-
-\func{void}{OnHelp}{\void}
-
-Virtual function that will be called when the Help button on the physical window is pressed (if it exists).
-
-\membersection{wxPropertyView::OnPropertyChanged}\label{wxpropertyviewonpropertychanged}
-
-\func{void}{OnPropertyChanged}{\param{wxProperty *}{property}}
-
-Virtual function called by a view or validator when a property's value changed. Validators
-must be written correctly for this to be called. You can override this function
-to respond immediately to property value changes.
-
-\membersection{wxPropertyView::OnUpdateView}\label{wxpropertyviewonupdateview}
-
-\func{Bool}{OnUpdateView}{\void}
-
-Called by the viewed object to update the view. The default implementation just returns
-FALSE.
-
-\membersection{wxPropertyView::SetPropertySheet}\label{wxpropertyviewsetpropertysheet}
-
-\func{void}{SetPropertySheet}{\param{wxPropertySheet *}{sheet}}
-
-Sets the property sheet for this view.
-
-\membersection{wxPropertyView::ShowView}\label{wxpropertyviewshowview}
-
-\func{void}{ShowView}{\param{wxPropertySheet *}{sheet}, \param{wxPanel *}{panel}}
-
-Associates this view with the given panel, and shows the view.
-
-\section{\class{wxRealFormValidator}: wxPropertyFormValidator}\label{wxrealformvalidator}
-
-\overview{Validator classes}{validatorclasses}
-
-This class validates a range of real values for form views. The associated panel item must be a wxText.
-
-\membersection{wxRealFormValidator::wxRealFormValidator}
-
-\func{void}{wxRealFormValidator}{\param{float }{min=0.0}, \param{float }{max=0.0},
- \param{long}{ flags=0}}
-
-Constructor. Assigning zero to minimum and maximum values indicates that there is no range to check.
-
-
-\section{\class{wxStringFormValidator}: wxPropertyFormValidator}\label{wxstringformvalidator}
-
-\overview{Validator classes}{validatorclasses}
-
-This class validates a string value for a form view, with an optional choice of possible values.
-The associated panel item must be a wxText, wxListBox or wxChoice. For wxListBox and wxChoice items,
-if the item is empty, the validator attempts to initialize the item from the strings in
-the validator. Note that this does not happen for XView wxChoice items since XView cannot reinitialize a wxChoice.
-\membersection{wxStringFormValidator::wxStringFormValidator}
-
-\func{void}{wxStringFormValidator}{\param{wxStringList *}{list=NULL}, \param{long}{ flags=0}}
-
-Constructor. Supply a list of strings to indicate a choice, or no strings to allow the
-user to freely edit the string. The string list will be deleted when the validator is deleted.
-
-
-\section{\class{wxRealListValidator}: wxPropertyListValidator}\label{wxreallistvalidator}
-
-\overview{Validator classes}{validatorclasses}
-
-This class validates a range of real values for property lists.
-
-\membersection{wxRealListValidator::wxreallistvalidator}
-
-\func{void}{wxRealListValidator}{\param{float }{min=0.0}, \param{float }{max=0.0},
- \param{long}{ flags=wxPROP\_ALLOW\_TEXT\_EDITING}}
-
-Constructor. Assigning zero to minimum and maximum values indicates that there is no range to check.
-
-
-\section{\class{wxStringListValidator}: wxPropertyListValidator}\label{wxstringlistvalidator}
-
-\overview{Validator classes}{validatorclasses}
-
-This class validates a string value, with an optional choice of possible values.
-
-\membersection{wxStringListValidator::wxStringListValidator}
-
-\func{void}{wxStringListValidator}{\param{wxStringList *}{list=NULL}, \param{long}{ flags=0}}
-
-Constructor. Supply a list of strings to indicate a choice, or no strings to allow the
-user to freely edit the string. The string list will be deleted when the validator is deleted.
-
-
-\chapter{Classes by category}\label{classesbycat}
-
-A classification of property sheet classes by category.
-
-\section{Data classes}
-
-\begin{itemize}\itemsep=0pt
-\item \helpref{wxProperty}{wxproperty}
-\item \helpref{wxPropertyValue}{wxpropertyvalue}
-\item \helpref{wxPropertySheet}{wxpropertysheet}
-\end{itemize}
-
-
-\section{Validator classes}\label{validatorclasses}
-
-Validators check that the values the user has entered for a property are
-valid. They can also define specific ways of entering data, such as a
-file selector for a filename, and they are responsible for transferring
-values between the wxProperty and the physical display. 
-
-Base classes:
-
-\begin{itemize}\itemsep=0pt
-\item \helpref{wxPropertyValidator}{wxproperty}
-\item \helpref{wxPropertyListValidator}{wxpropertylistvalidator}
-\item \helpref{wxPropertyFormValidator}{wxpropertyformvalidator}
-\end{itemize}
-
-List view validators:
-
-\begin{itemize}\itemsep=0pt
-\item \helpref{wxBoolListValidator}{wxboollistvalidator}
-\item \helpref{wxFilenameListValidator}{wxfilenamelistvalidator}
-\item \helpref{wxIntegerListValidator}{wxintegerlistvalidator}
-\item \helpref{wxListOfStringsListValidator}{wxlistofstringslistvalidator}
-\item \helpref{wxRealListValidator}{wxreallistvalidator}
-\item \helpref{wxStringListValidator}{wxstringlistvalidator}
-\end{itemize}
-
-Form view validators:
-
-\begin{itemize}\itemsep=0pt
-\item \helpref{wxBoolFormValidator}{wxboolformvalidator}
-\item \helpref{wxIntegerFormValidator}{wxintegerformvalidator}
-\item \helpref{wxRealFormValidator}{wxrealformvalidator}
-\item \helpref{wxStringFormValidator}{wxstringformvalidator}
-\end{itemize}
-
-\section{View classes}\label{viewclasses}
-
-View classes mediate between a property sheet and a physical window.
-
-\begin{itemize}\itemsep=0pt
-\item \helpref{wxPropertyView}{wxpropertyview}
-\item \helpref{wxPropertyListView}{wxpropertylistview}
-\item \helpref{wxPropertyFormView}{wxpropertyformview}
-\end{itemize}
-
-\section{Window classes}\label{windowclasses}
-
-The class library defines some window classes that can be used as-is with a suitable
-view class and property sheet.
-
-\begin{itemize}\itemsep=0pt
-\item \helpref{wxPropertyFormFrame}{wxpropertyformframe}
-\item \helpref{wxPropertyFormDialog}{wxpropertyformdialog}
-\item \helpref{wxPropertyFormPanel}{wxpropertyformpanel}
-\item \helpref{wxPropertyListFrame}{wxpropertylistframe}
-\item \helpref{wxPropertyListDialog}{wxpropertylistdialog}
-\item \helpref{wxPropertyListPanel}{wxpropertylistpanel}
-\end{itemize}
-
-\section{Registry classes}
-
-A validator registry is a list of validators that can be applied to properties in a property sheet.
-There may be one or more registries per property view.
-
-\begin{itemize}\itemsep=0pt
-\item \helpref{wxPropertyValidatorRegistry}{wxpropertyvalidatorregistry}
-\end{itemize}
-
-
-\chapter{Topic overviews}\label{overviews}
-
-This chapter contains a selection of topic overviews.
-
-\section{Property classes overview}\label{propertyoverview}
-
-The property classes help a programmer to express relationships between
-data and physical windows, in particular:
-
-\begin{itemize}\itemsep=0pt
-\item the transfer of data to and from the physical controls;
-\item the behaviour of various controls and custom windows for particular
-types of data;
-\item the validation of data, notifying the user when incorrect data is entered,
-or even better, constraining the input so only valid data can be entered.
-\end{itemize}
-
-With a consistent framework, the programmer should be able to use existing
-components and design new ones in a principled manner, to solve many data entry
-requirements.
-
-Each datum is represented in a \helpref{wxProperty}{wxproperty}, which has a name and a value.
-Various C++ types are permitted in the value of a property, and the property can store a pointer
-to the data instead of a copy of the data. A \helpref{wxPropertySheet}{wxpropertysheet} represents a number of these properties.
-
-These two classes are independent from the way in which the data is visually manipulated. To
-mediate between property sheets and windows, the abstract class \helpref{wxPropertyView}{wxpropertyview} is
-available for programmers to derive new kinds of view. One kind of view that is available is the \helpref{wxPropertyListView}{wxpropertylistview},
-which displays the data in a Visual Basic-style list, with a small number of controls for editing
-the currently selected property. Another is \helpref{wxPropertyFormView}{wxpropertyformview} which
-mediates between an existing dialog or panel and the property sheet.
-
-The hard work of mediation is actually performed by validators, which are instances of classes
-derived from \helpref{wxPropertyValidator}{wxpropertyvalidator}. A validator is associated with
-a particular property and is responsible for
-responding to user interface events, and displaying, updating and checking the property value.
-Because a validator's behaviour depends largely on the kind of view being used, there has to be
-a separate hierarchy of validators for each class of view. So for wxPropertyListView, there is
-an abstract class \helpref{wxPropertyListValidator}{wxpropertylistvalidator} from which concrete
-classes are derived, such as \helpref{wxRealListValidator}{wxreallistvalidator} and
-\rtfsp\helpref{wxStringListValidator}{wxstringlistvalidator}.
-
-A validator can be explicitly set for a property, so there is no doubt which validator
-should be used to edit that property. However, it is also possible to define a registry
-of validators, and have the validator chosen on the basis of the {\it role} of the property.
-So a property with a ``filename" role would match the ``filename" validator, which pops
-up a file selector when the user double clicks on the property.
-
-You don't have to define your own frame or window classes: there are some predefined
-that will work with the property list view. See \helpref{Window classes}{windowclasses} for
-further details.
-
-\subsection{Example 1: Property list view}
-
-The following code fragment shows the essentials of creating a registry of
-standard validators, a property sheet containing some properties, and
-a property list view and dialog or frame. RegisterValidators will be
-called on program start, and PropertySheetTest is called in response to a
-menu command.
-
-Note how some properties are created with an explicit reference to
-a validator, and others are provided with a ``role'' which can be matched
-against a validator in the registry.
-
-The interface generated by this test program is shown in the section \helpref{Appearance and
-behaviour of a property list view}{appearance}.
-
-\begin{verbatim}
-void RegisterValidators(void)
-{
-  myListValidatorRegistry.RegisterValidator((wxString)"real", new wxRealListValidator);
-  myListValidatorRegistry.RegisterValidator((wxString)"string", new wxStringListValidator);
-  myListValidatorRegistry.RegisterValidator((wxString)"integer", new wxIntegerListValidator);
-  myListValidatorRegistry.RegisterValidator((wxString)"bool", new wxBoolListValidator);
-}
-
-void PropertyListTest(Bool useDialog)
-{
-  wxPropertySheet *sheet = new wxPropertySheet;
-
-  sheet->AddProperty(new wxProperty("fred", 1.0, "real"));
-  sheet->AddProperty(new wxProperty("tough choice", (Bool)TRUE, "bool"));
-  sheet->AddProperty(new wxProperty("ian", (long)45, "integer", new wxIntegerListValidator(-50, 50)));
-  sheet->AddProperty(new wxProperty("bill", 25.0, "real", new wxRealListValidator(0.0, 100.0)));
-  sheet->AddProperty(new wxProperty("julian", "one", "string"));
-  sheet->AddProperty(new wxProperty("bitmap", "none", "string", new wxFilenameListValidator("Select a bitmap file", "*.bmp")));
-  wxStringList *strings = new wxStringList("one", "two", "three", NULL);
-  sheet->AddProperty(new wxProperty("constrained", "one", "string", new wxStringListValidator(strings)));
-
-  wxPropertyListView *view =
-    new wxPropertyListView(NULL,
-     wxPROP_BUTTON_CHECK_CROSS|wxPROP_DYNAMIC_VALUE_FIELD|wxPROP_PULLDOWN);
-
-  wxDialogBox *propDialog = NULL;
-  wxPropertyListFrame *propFrame = NULL;
-  if (useDialog)
-  {
-    propDialog = new wxPropertyListDialog(view, NULL, "Property Sheet Test", TRUE, -1, -1, 400, 500);
-  }
-  else
-  {
-    propFrame = new wxPropertyListFrame(view, NULL, "Property Sheet Test", -1, -1, 400, 500);
-  }
-  
-  view->AddRegistry(&myListValidatorRegistry);
-
-  if (useDialog)
-  {
-    view->ShowView(sheet, propDialog);
-    propDialog->Centre(wxBOTH);
-    propDialog->Show(TRUE);
-  }
-  else
-  {
-    propFrame->Initialize();
-    view->ShowView(sheet, propFrame->GetPropertyPanel());
-    propFrame->Centre(wxBOTH);
-    propFrame->Show(TRUE);
-  }
-}
-\end{verbatim}
-
-\subsection{Example 2: Property form view}
-
-This example is similar to Example 1, but uses a property form view to
-edit a property sheet using a predefined dialog box.
-
-\begin{verbatim}
-void RegisterValidators(void)
-{
-  myFormValidatorRegistry.RegisterValidator((wxString)"real", new wxRealFormValidator);
-  myFormValidatorRegistry.RegisterValidator((wxString)"string", new wxStringFormValidator);
-  myFormValidatorRegistry.RegisterValidator((wxString)"integer", new wxIntegerFormValidator);
-  myFormValidatorRegistry.RegisterValidator((wxString)"bool", new wxBoolFormValidator);
-}
-
-void PropertyFormTest(Bool useDialog)
-{
-  wxPropertySheet *sheet = new wxPropertySheet;
-
-  sheet->AddProperty(new wxProperty("fred", 25.0, "real", new wxRealFormValidator(0.0, 100.0)));
-  sheet->AddProperty(new wxProperty("tough choice", (Bool)TRUE, "bool"));
-  sheet->AddProperty(new wxProperty("ian", (long)45, "integer", new wxIntegerFormValidator(-50, 50)));
-  sheet->AddProperty(new wxProperty("julian", "one", "string"));
-  wxStringList *strings = new wxStringList("one", "two", "three", NULL);
-  sheet->AddProperty(new wxProperty("constrained", "one", "string", new wxStringFormValidator(strings)));
-
-  wxPropertyFormView *view = new wxPropertyFormView(NULL);
-
-  wxDialogBox *propDialog = NULL;
-  wxPropertyFormFrame *propFrame = NULL;
-  if (useDialog)
-  {
-    propDialog = new wxPropertyFormDialog(view, NULL, "Property Form Test", TRUE, -1, -1, 400, 300);
-  }
-  else
-  {
-    propFrame = new wxPropertyFormFrame(view, NULL, "Property Form Test", -1, -1, 400, 300);
-    propFrame->Initialize();
-  }
-  
-  wxPanel *panel = propDialog ? propDialog : propFrame->GetPropertyPanel();
-  panel->SetLabelPosition(wxVERTICAL);
-  
-  // Add items to the panel
-  
-  (void) new wxButton(panel, (wxFunction)NULL, "OK", -1, -1, -1, -1, 0, "ok");
-  (void) new wxButton(panel, (wxFunction)NULL, "Cancel", -1, -1, 80, -1, 0, "cancel");
-  (void) new wxButton(panel, (wxFunction)NULL, "Update", -1, -1, 80, -1, 0, "update");
-  (void) new wxButton(panel, (wxFunction)NULL, "Revert", -1, -1, -1, -1, 0, "revert");
-  panel->NewLine();
-  
-  // The name of this text item matches the "fred" property
-  (void) new wxText(panel, (wxFunction)NULL, "Fred", "", -1, -1, 90, -1, 0, "fred");
-  (void) new wxCheckBox(panel, (wxFunction)NULL, "Yes or no", -1, -1, -1, -1, 0, "tough choice");
-  (void) new wxSlider(panel, (wxFunction)NULL, "Sliding scale", 0, -50, 50, 100, -1, -1, wxHORIZONTAL, "ian");
-  panel->NewLine();
-  (void) new wxListBox(panel, (wxFunction)NULL, "Constrained", wxSINGLE, -1, -1, 100, 90, 0, NULL, 0, "constrained");
-
-  view->AddRegistry(&myFormValidatorRegistry);
-
-  if (useDialog)
-  {
-    view->ShowView(sheet, propDialog);
-    view->AssociateNames();
-    view->TransferToDialog();
-    propDialog->Centre(wxBOTH);
-    propDialog->Show(TRUE);
-  }
-  else
-  {
-    view->ShowView(sheet, propFrame->GetPropertyPanel());
-    view->AssociateNames();
-    view->TransferToDialog();
-    propFrame->Centre(wxBOTH);
-    propFrame->Show(TRUE);
-  }
-}
-\end{verbatim}
-
-\section{Validator classes overview}\label{validatoroverview}
-
-Classes: \helpref{Validator classes}{validatorclasses}
-
-The validator classes provide functionality for mediating between a wxProperty and
-the actual display. There is a separate family of validator classes for each
-class of view, since the differences in user interface for these views implies
-that little common functionality can be shared amongst validators.
-
-\subsection{wxPropertyValidator overview}\label{wxpropertyvalidatoroverview}
-
-Class: \helpref{wxPropertyValidator}{wxpropertyvalidator}
-
-This class is the root of all property validator classes. It contains a small
-amount of common functionality, including functions to convert between
-strings and C++ values.
-
-A validator is notionally an object which sits between a property and its displayed
-value, and checks that the value the user enters is correct, giving an error message
-if the validation fails. In fact, the validator does more than that, and is akin to
-a view class but at a finer level of detail. It is also responsible for
-loading the dialog box control with the value from the property, putting it back
-into the property, preparing special controls for editing the value, and
-may even invoke special dialogs for editing the value in a convenient way.
-
-In a property list dialog, there is quite a lot of scope for supplying custom dialogs,
-such as file or colour selectors. For a form dialog, there is less scope because
-there is no concept of `detailed editing' of a value: one control is associated with
-one property, and there is no provision for invoking further dialogs. The reader
-may like to work out how the form view could be extended to provide some of the
-functionality of the property list!
-
-Validator objects may be associated explictly with a wxProperty, or they may be
-indirectly associated by virtue of a property `kind' that matches validators having
-that kind. In the latter case, such validators are stored in a validator registry
-which is passed to the view before the dialog is shown. If the validator takes
-arguments, such as minimum and maximum values in the case of a wxIntegerListValidator,
-then the validator must be associated explicitly with the property. The validator
-will be deleted when the property is deleted.
-
-\subsection{wxPropertyListValidator overview}\label{wxpropertylistvalidatoroverview}
-
-Class: \helpref{wxPropertyListValidator}{wxpropertylistvalidator}
-
-This class is the abstract base class for property list view validators.
-The list view acts upon a user interface containing a list of properties,
-a text item for direct property value editing, confirm/cancel buttons for the value,
-a pulldown list for making a choice between values, and OK/Cancel/Help buttons
-for the dialog (see \helpref{property list appearance}{appearance}).
-
-By overriding virtual functions, the programmer can create custom
-behaviour for different kinds of property. Custom behaviour can use just the
-available controls on the property list dialog, or the validator can
-invoke custom editors with quite different controls, which pop up in
-`detailed editing' mode.
-
-See the detailed class documentation for the members you should override
-to give your validator appropriate behaviour.
-
-\subsection{wxPropertyFormValidator overview}\label{wxpropertyformvalidatoroverview}
-
-This class is the abstract base class for property form view validators.
-The form view acts upon an existing dialog box or panel, where either the
-panel item names correspond to property names, or the programmer has explicitly
-associated the panel item with the property.
-
-By overriding virtual functions, the programmer determines how
-values are displayed or retrieved, and the checking that the validator does.
-
-See the detailed class documentation for the members you should override
-to give your validator appropriate behaviour.
-
-\section{View classes overview}\label{viewoverview}
-
-Classes: \helpref{View classes}{viewclasses}
-
-An instance of a view class relates a property sheet with an actual window.
-Currently, there are two classes of view: wxPropertyListView and wxPropertyFormView.
-
-\subsection{wxPropertyView overview}\label{wxpropertyviewoverview}
-
-Class: \helpref{wxPropertyView}{wxpropertyview}
-
-This is the abstract base class for property views.
-
-\subsection{wxPropertyListView overview}\label{wxpropertylistviewoverview}
-
-Class: \helpref{wxPropertyListView}{wxpropertylistview}
-
-The property list view defines the relationship between a property sheet and
-a property list dialog or panel. It manages user interface events such as
-clicking on a property, pressing return in the text edit field, and clicking
-on Confirm or Cancel. These events cause member functions of the
-class to be called, and these in turn may call member functions of
-the appropriate validator to be called, to prepare controls, check the property value,
-invoke detailed editing, etc.
-
-\subsection{wxPropertyFormView overview}\label{wxpropertyformviewoverview}
-
-Class: \helpref{wxPropertyFormView}{wxpropertyformview}
-
-The property form view manages the relationship between a property sheet
-and an existing dialog or panel.
-
-You must first create a panel or dialog box for the view to work on.
-The panel should contain panel items with names that correspond to
-properties in your property sheet; or you can explicitly set the
-panel item for each property.
-
-Apart from any custom panel items that you wish to control independently
-of the property-editing items, wxPropertyFormView takes over the
-processing of item events. It can also control normal dialog behaviour such
-as OK, Cancel, so you should also create some standard buttons that the property view
-can recognise. Just create the buttons with standard names and the view
-will do the rest. The following button names are recognised:
-
-\begin{itemize}\itemsep=0pt
-\item {\bf ok}: indicates the OK button. Calls wxPropertyFormView::OnOk. By default,
-checks and updates the form values, closes and deletes the frame or dialog, then deletes the view.
-\item {\bf cancel}: indicates the Cancel button. Calls wxPropertyFormView::OnCancel. By default,
-closes and deletes the frame or dialog, then deletes the view.
-\item {\bf help}: indicates the Help button. Calls wxPropertyFormView::OnHelp. This needs
-to be overridden by the application for anything interesting to happen.
-\item {\bf revert}: indicates the Revert button. Calls wxPropertyFormView::OnRevert,
-which by default transfers the wxProperty values to the panel items (in effect
-undoing any unsaved changes in the items).
-\item {\bf update}: indicates the Revert button. Calls wxPropertyFormView::OnUpdate, which
-by defaults transfers the displayed values to the wxProperty objects.
-\end{itemize}
-
-\section{wxPropertySheet overview}\label{wxpropertysheetoverview}
-
-Classes: \helpref{wxPropertySheet}{wxpropertysheet}, \helpref{wxProperty}{wxproperty}, \helpref{wxPropertyValue}{wxpropertyvalue}
-
-A property sheet defines zero or more properties. This is a bit like an explicit representation of
-a C++ object. wxProperty objects can have values which are pointers to C++ values, or they
-can allocate their own storage for values.
-
-Because the property sheet representation is explicit and can be manipulated by
-a program, it is a convenient form to be used for a variety of
-editing purposes. wxPropertyListView and wxPropertyFormView are two classes that
-specify the relationship between a property sheet and a user interface. You could imagine
-other uses for wxPropertySheet, for example to generate a form-like user interface without
-the need for GUI programming. Or for storing the names and values of command-line switches, with the
-option to subsequently edit these values using a wxPropertyListView.
-
-A typical use for a property sheet is to represent values of an object
-which are only implicit in the current representation of it. For
-example, in Visual Basic and similar programming environments, you can
-`edit a button', or rather, edit the button's properties.  One of the
-properties you can edit is {\it width} - but there is no explicit
-representation of width in a wxWindows button; instead, you call SetSize
-and GetSize members. To translate this into a consisent,
-property-oriented scheme, we could derive a new class
-wxButtonWithProperties, which has two new functions: SetProperty and
-GetProperty.  SetProperty accepts a property name and a value, and calls
-an appropriate function for the property that is being passed.
-GetProperty accepts a property name, returning a property value. So
-instead of having to use the usual arbitrary set of C++ member functions
-to set or access attributes of a window, programmer deals merely with
-SetValue/GetValue, and property names and values.
-We now have a single point at which we can modify or query an object by specifying
-names and values at run-time. (The implementation of SetProperty and GetProperty
-is probably quite messy and involves a large if-then-else statement to
-test the property name and act accordingly.)
-
-When the user invokes the property editor for a wxButtonWithProperties, the system
-creates a wxPropertySheet with `imaginary' properties such as width, height, font size
-and so on. For each property, wxButtonWithProperties::GetProperty is called, and the result is
-passed to the corresponding wxProperty. The wxPropertySheet is passed to a wxPropertyListView
-as described elsewhere, and the user edits away. When the user has finished editing, the system calls
-wxButtonWithProperties::SetProperty to transfer the wxProperty value back into the button
-by way of an appropriate call, wxWindow::SetSize in the case of width and height properties.
-
-
-
diff --git a/docs/latex/proplist/contents.gif b/docs/latex/proplist/contents.gif
deleted file mode 100644 (file)
index 3dddfa3..0000000
Binary files a/docs/latex/proplist/contents.gif and /dev/null differ
diff --git a/docs/latex/proplist/forward.gif b/docs/latex/proplist/forward.gif
deleted file mode 100644 (file)
index 9c81e8c..0000000
Binary files a/docs/latex/proplist/forward.gif and /dev/null differ
diff --git a/docs/latex/proplist/prop.tex b/docs/latex/proplist/prop.tex
deleted file mode 100644 (file)
index cb1a4a2..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-\documentstyle[a4,makeidx,verbatim,texhelp,fancyhea,mysober,mytitle]{report}
-\input psbox.tex
-% Remove this for processing with dvi2ps instead of dvips
-%\special{!/@scaleunit 1 def}
-\parskip=10pt
-\parindent=0pt
-\title{User Manual for wxWindows Property Sheet Classes Version 2.0}
-\winhelponly{\author{by Julian Smart, Anthemion Software\\$$\image{}{prop1}$$}}
-\winhelpignore{\author{Julian Smart, Anthemion Software}
-\date{December 1998}
-}
-\makeindex
-\begin{document}
-\maketitle
-\pagestyle{fancyplain}
-\bibliographystyle{plain}
-\setheader{{\it CONTENTS}}{}{}{}{}{{\it CONTENTS}}
-\setfooter{\thepage}{}{}{}{}{\thepage}%
-\pagenumbering{roman}
-\tableofcontents
-
-\chapter*{Copyright notice}
-\setheader{{\it COPYRIGHT}}{}{}{}{}{{\it COPYRIGHT}}%
-\setfooter{\thepage}{}{}{}{}{\thepage}%
-
-\begin{center}
-Copyright (c) 1998 Julian Smart, Anthemion Software
-\end{center}
-
-Please see the wxWindows licence for conditions of use.
-
-\input{body.tex}
-\input{classes.tex}
-\input{changes.tex}
-
-%\newpage
-%
-% Note: In RTF, the \printindex must come before the
-% change of header/footer, since the \printindex inserts
-% the RTF \sect command which divides one chapter from
-% the next.
-\rtfonly{\printindex
-\addcontentsline{toc}{chapter}{Index}
-\setheader{{\it INDEX}}{}{}{}{}{{\it INDEX}}%
-\setfooter{\thepage}{}{}{}{}{\thepage}%
-}
-\end{document}
diff --git a/docs/latex/proplist/prop1.bmp b/docs/latex/proplist/prop1.bmp
deleted file mode 100644 (file)
index 92c6bee..0000000
Binary files a/docs/latex/proplist/prop1.bmp and /dev/null differ
diff --git a/docs/latex/proplist/prop1.eps b/docs/latex/proplist/prop1.eps
deleted file mode 100644 (file)
index 02ac7d6..0000000
+++ /dev/null
@@ -1,539 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Title: prop1.eps
-%%Creator: XV Version 2.20  Rev: 4/24/92  -  by John Bradley
-%%BoundingBox: 167 292 445 500
-%%Pages: 1
-%%DocumentFonts:
-%%EndComments
-%%EndProlog
-
-%%Page: 1 1
-
-% remember original state
-/origstate save def
-
-% build a temporary dictionary
-20 dict begin
-
-% lower left corner
-167 292 translate
-
-% size of image (on paper, in 1/72inch coords)
-278 208 scale
-
-% define 'colorimage' if it isn't defined
-%   ('colortogray' and 'mergeprocs' come from xwd2ps
-%     via xgrab)
-/colorimage where   % do we know about 'colorimage'?
-  { pop }           % yes: pop off the 'dict' returned
-  {                 % no:  define one
-    /colortogray {  % define an RGB->I function
-      /rgbdata exch store    % call input 'rgbdata'
-      rgbdata length 3 idiv
-      /npixls exch store
-      /rgbindx 0 store
-      /grays npixls string store  % str to hold the result
-      0 1 npixls 1 sub {
-        grays exch
-        rgbdata rgbindx       get 20 mul    % Red
-        rgbdata rgbindx 1 add get 32 mul    % Green
-        rgbdata rgbindx 2 add get 12 mul    % Blue
-        add add 64 idiv      % I = .5G + .31R + .18B
-        put
-        /rgbindx rgbindx 3 add store
-      } for
-      grays
-    } bind def
-
-    % Utility procedure for colorimage operator.
-    % This procedure takes two procedures off the
-    % stack and merges them into a single procedure.
-
-    /mergeprocs { % def
-      dup length
-      3 -1 roll
-      dup
-      length
-      dup
-      5 1 roll
-      3 -1 roll
-      add
-      array cvx
-      dup
-      3 -1 roll
-      0 exch
-      putinterval
-      dup
-      4 2 roll
-      putinterval
-    } bind def
-
-    /colorimage { % def
-      pop pop     % remove 'false 3' operands
-      {colortogray} mergeprocs
-      image
-    } bind def
-  } ifelse          % end of 'false' case
-
-
-
-% define the colormap
-/cmap 42 string def
-
-
-% load up the colormap
-currentfile cmap readhexstring
-000000 bf0000 00bf00 bfbf00 0000bf 00bfbf c0c0c0 808080 ff0000 00ff00 
-ffff00 0000ff 00ffff ffffff 
-pop pop   % lose return values from readhexstring
-
-
-% rlecmapimage expects to have 'w h bits matrix' on stack
-/rlecmapimage {
-  /buffer 1 string def
-  /rgbval 3 string def
-  /block  384 string def
-
-  % proc to read a block from file, and return RGB data
-  { currentfile buffer readhexstring pop
-    /bcount exch 0 get store
-    bcount 128 ge
-    {  % it's a non-run block
-      0 1 bcount 128 sub
-      { currentfile buffer readhexstring pop pop
-
-        % look up value in color map
-        /rgbval cmap buffer 0 get 3 mul 3 getinterval store
-
-        % and put it in position i*3 in block
-        block exch 3 mul rgbval putinterval
-      } for
-      block  0  bcount 127 sub 3 mul  getinterval
-    }
-
-    { % else it's a run block
-      currentfile buffer readhexstring pop pop
-
-      % look up value in colormap
-      /rgbval cmap buffer 0 get 3 mul 3 getinterval store
-
-      0 1 bcount { block exch 3 mul rgbval putinterval } for
-
-      block 0 bcount 1 add 3 mul getinterval
-    } ifelse
-  } % end of proc
-  false 3 colorimage
-} bind def
-
-
-278 208 8                      % dimensions of data
-[278 0 0 -208 0 208]           % mapping matrix
-rlecmapimage
-
-7f067f0614060000
-81060d7f0d7f0d110d810700
-82060d067f067f061006810700
-82060d067f067f061006810700
-82060d068106047f047f040c040106810700
-82060d068106048204060d820d060783070d0702010203098102047f047a040106810700
-
-82060d068106048704060b060001020781070283020702098109028102047f0446040e0d
-81000d0d0d81000481040d0d0d81000481040682060700
-82060d0681060482040806810600820002078507020902070201028109047f044604810d
-060b068307000d060b068207000482040d060b068207000481040682060700
-82060d0681060481040685060800040307820702098409020702098109040104050d2d04
-030d0204010d1a04050d6604810d060b068307000d06810600070001068207000482040d
-060b068207000481040682060700
-82060d068106048704060b0604000a0789070209020702070209040104010d0204010d1d
-04010d0b04010d0104010d0104010d1204010d0704010d1004010d5504810d060b068307
-000d06810600070001068207000482040d06010601000306010001068207000481040682
-060700
-82060d068106048204070681060001000107010286070209020702040104010d0204010d
-1d04010d0b04010d0504010d1204010d0704010d1004010d5504810d060b068307000d06
-820600060506810006830607000482040d06020601000106010002068207000481040682
-060700
-82060d0681060485040d0607060d010d8407020002090109820200040104010d0204010d
-81040d010d0104030d0104040d0204030d0104020d81040d010d81040d820d040d810d04
-0304010d0504040d0204030d0204030d0104020d0604010d0404030d0204020d0104020d
-5404810d060b068307000d06820600060506810006830607000482040d06030603000306
-8207000481040682060700
-82060d068106048104070507010006020204050d0104010d0104010d0104010d81040d81
-0d0481040d820d040d810d0481040d820d040d810d0481040d810d0481040d820d040d81
-0d040404030d0204020d81040d820d040d810d0481040d820d040d810d0481040d820d04
-0d810d040604010d0304010d0104010d81040d820d040d820d040d810d045404810d060b
-068307000d06820600060506810006830607000482040d06040601000406820700048104
-0682060700
-82060d068106048104050505010006030204010d0504010d0104010d0104010d81040d81
-0d0481040d820d040d040d81040d810d0481040d810d0481040d820d040d810d04070401
-0d0104010d0104010d81040d040d81040d040d81040d810d040604010d0304050d010401
-0d0204010d5504810d060b068307000d06820600060506810006830607000482040d0603
-06030003068207000481040682060700
-82060d0681060481040c010c8205080c830c05030a020a81030a810a040104010d050401
-0d0104010d0104010d81040d810d0481040d820d040d810d040304010d0104010d010401
-0d81040d810d040704010d0104010d0104010d81040d810d040304010d0404010d070401
-0d0304010d0604010d0104010d5504810d060b068307000d068206000605068100068306
-07000482040d06020601000106010002068207000481040682060700
-82060d068106048c040c05070507050c05030a030a840a03000a040104010d0504010d01
-04010d0104010d81040d810d0481040d820d040d810d0481040d820d040d810d0481040d
-810d040104020d0504010d0104010d0104010d0104010d81040d810d0481040d820d040d
-810d0481040d820d040d810d040604010d0304010d0104010d81040d820d040d820d040d
-810d045404810d060106050003068307000d06820600060506810006830607000482040d
-06010601000306010001068207000481040682060700
-82060d0681060482040c08020886070c05030a030a010a82030a040104010d0504010d02
-04030d0104040d0204030d0104010d0204010d0104010d0704030d0204010d0104010d01
-04030d0204030d0204010d0604010d0404030d0204020d0204010d5404810d0601060500
-03068307000d06810600070001068207000482040d060b068207000481040682060700
-82060d0681060482040c080208010c8205030a810a0384030a030a041404010d1404010d
-7f041804810d060b068307000d060b068207000482040d060b0682070004810406820607
-00
-82060d0681060482040c080308850c05030a030a010a82000a041404010d1204020d7f04
-1904810d070c0782000d070c0781000482040d070c0781000481040682060700
-82060d0681060483040c05080208850c05030a030a810a0382030a047f0446041f000104
-0f0001040106810700
-82060d0681060481040c050c8205030a050a7f047b040106810700
-82060d068106047f047f040c040106810700
-82060d067f067f061006810700
-82060d067f067f061006810700
-82060d0637067f073907810d061c06810700
-82060d06030616000306160001068107007f00360082060d0681060015000406810700
-82060d06020681000d140d820700068206000d140d8507000607000d7f0d350d84060d06
-000d140d820700060206810700
-82060d06020682000d06120601078100068306000d061206010784000607000d7f0d350d
-84060d06000d130d01078100060206810700
-82060d06020682000d06120601078100068306000d061206010784000607000d7f0d350d
-84060d06000d810d06110601078100060206810700
-82060d06020682000d06120601078100068306000d061206010784000607000d7f0d350d
-84060d06000d810d06110601078100060206810700
-82060d06020682000d0603068100060606810006030601078100068306000d0612060107
-84000607000d820d000d7f0d320d84060d06000d810d06110601078100060206810700
-82060d06020682000d06030683000600060306810006040601078100068306000d061206
-010785000607000d0081000d7f0d320d84060d06000d810d061106010781000602068107
-00
-82060d06020682000d06040683000600060106810006050601078100068306000d060b06
-8100060406010785000607000d000100810d0081000d820d000d810d0081000d810d0002
-007f0d220d84060d06000d810d06110601078100060206810700
-82060d06020682000d06050685000600060006060601078100068306000d060a06830006
-00060306010785000607000d0081000d810d0082000d000100810d0082000d0081000d81
-0d0081000d7f0d200d84060d06000d810d06110601078100060206810700
-82060d06020682000d0606068300060006070601078100068306000d0609068300060006
-0406010785000607000d0081000d810d0082000d000100810d0082000d0081000d810d00
-81000d7f0d200d84060d06000d810d06110601078100060206810700
-82060d06020682000d0607068300060006060601078100068306000d0604068100060106
-83000600060506010785000607000d0081000d010d0200810d000100010d0100010d0100
-7f0d210d84060d06000d810d06110601078100060206810700
-82060d06020682000d06060685000600060006050601078100068306000d060306870006
-0006000600060606010785000607000d0081000d010d0200810d000100010d0100010d01
-007f0d210d84060d06000d810d06110601078100060206810700
-82060d06020682000d06050681000601068300060006040601078100068306000d060406
-850006000600060706010784000607000d810d0081000d810d0081000d010d0100020d03
-007f0d220d84060d06000d810d0603060100810600820006008100060406010781000602
-06810700
-82060d06020682000d06040681000603068300060006030601078100068306000d060506
-83000600060806010784000607000d7f0d350d84060d06000d810d060306010081060082
-000600810006040601078100060206810700
-82060d06020682000d060306010005060100040601078100068306000d06060681000609
-06010784000607000d7f0d350d84060d06000d810d06110601078100060206810700
-82060d06020682000d06120601078100068306000d061206010784000607000d7f0d350d
-84060d06000d810d06110601078100060206810700
-82060d06020682000d06120601078100068306000d061206010784000607000d7f0d350d
-84060d06000d810d06110601078100060206810700
-82060d06020682000d0714078100068306000d07140784000607000d7f0d350d85060d06
-000d0714078100060206810700
-82060d06020682000d0714078100068306000d07140784000607000d7f0d350d84060d06
-000715078100060206810700
-82060d06030616000306160001068207000d7f0d350d82060d0681060015000406810700
-
-82060d0637068107067f063706810d061c06810700
-82060d0637067f0d3a0d1d06810700
-82060d0601067f077f070a07810d060106810700
-82060d0601068107007f007f00070082060d060106810700
-82060d0601068207000d7f0d7f0d060d82060d060106810700
-82060d0601068207000d7f0d7f0d060d82060d060106810700
-82060d0601068207000d7f0d7f0d060d82060d060106810700
-82060d0601068207000d7f0d7f0d060d82060d060106810700
-82060d0601068207000d7f0d7f0d060d82060d060106810700
-82060d0601068207000d010d0300010d0400020d03007f0d720d82060d060106810700
-82060d0601068207000d810d0081000d810d0082000d0081000d810d0082000d0081000d
-810d0081000d7f0d700d82060d060106810700
-82060d0601068207000d810d0081000d810d0082000d0081000d810d0082000d0004007f
-0d710d82060d060106810700
-82060d0601068207000d810d0081000d810d0082000d0081000d810d0082000d0081000d
-7f0d740d82060d060106810700
-82060d0601068207000d810d0081000d810d0082000d0081000d810d0082000d0081000d
-810d0081000d7f0d700d82060d060106810700
-82060d0601068207000d010d0300010d0100010d0100010d03007f0d720d82060d060106
-810700
-82060d0601068207000d7f0d7f0d060d82060d060106810700
-82060d0601068207000d7f0d7f0d060d82060d060106810700
-82060d0601068207000d7f0d7f0d060d82060d060106810700
-82060d060106ff0700040a040a040a040a040a040a040a040a040a040a040a040a040a04
-0a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a04
-0a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a04
-0a040a040a040a040a040a040a040a040a040a040a040a040a040aff040a040a040a040a
-040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a
-040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a
-040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a
-040a040a040a040a040a040a8c040a040a040a040a040a060d060106810700
-82060d0601068307000a047f047f04050482060d060106810700
-82060d060106820700047f047f040504830a060d060106810700
-82060d0601068307000a0482040d047f047f04020482060d060106810700
-82060d0601068207000481040d810d047f047f040104830a060d060106810700
-82060d0601068307000a0d020d81040d810d0482040d0481040d810d0481040d020d7f04
-720482060d060106810700
-82060d0601068207000481040d810d0481040d820d040d010d81040d820d040d810d0481
-040d810d047f046f04830a060d060106810700
-82060d0601068407000a040d810d0481040d820d040d010d81040d820d040d810d048104
-0d810d047f04700482060d060106810700
-82060d0601068207000481040d810d040104020d81040d010d0104010d0104010d7f0470
-04830a060d060106810700
-82060d0601068407000a040d810d040104020d81040d010d0104010d0104010d7f047104
-82060d060106810700
-82060d060106820700040104010d0104010d0204010d0204030d7f047104830a060d0601
-06810700
-82060d0601068307000a047f047f04050482060d060106810700
-82060d060106820700047f047f040504830a060d060106810700
-82060d060106ff07000a040a040a040a040a040a040a040a040a040a040a040a040a040a
-040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a
-040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a
-040a040a040a040a040a040a040a040a040a040a040a040a040a04ff0a040a040a040a04
-0a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a04
-0a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a04
-0a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a04
-0a040a040a040a040a040a048c0a040a040a040a040a04060d060106810700
-82060d0601068207000d7f0d7f0d060d82060d060106810700
-82060d0601068207000d7f0d7f0d060d82060d060106810700
-82060d0601068207000d7f0d7f0d060d82060d060106810700
-82060d0601068207000d010d81000d810d0081000d7f0d7e0d82060d060106810700
-82060d0601068207000d810d0081000d810d0081000d7f0d7e0d82060d060106810700
-82060d0601068307000d000200810d000300010d0300010d0300020d03007f0d690d8206
-0d060106810700
-82060d0601068207000d810d0081000d810d0081000d810d0082000d0081000d010d0100
-010d0100810d0081000d810d0081000d7f0d670d82060d060106810700
-82060d0601068207000d810d0081000d810d0081000d810d0082000d0081000d010d0500
-810d0004007f0d680d82060d060106810700
-82060d0601068207000d810d0081000d810d0081000d810d0082000d0081000d010d0100
-040d01007f0d6c0d82060d060106810700
-82060d0601068207000d810d0081000d810d0081000d810d0082000d0081000d010d0100
-010d0100810d0081000d810d0081000d7f0d670d82060d060106810700
-82060d0601068207000d010d0100810d0081000d810d0082000d0081000d020d0300020d
-03007f0d690d82060d060106810700
-82060d0601068207000d7f0d7f0d060d82060d060106810700
-82060d0601068207000d7f0d7f0d060d82060d060106810700
-82060d0601068207000d7f0d7f0d060d82060d060106810700
-82060d0601068207000d7f0d7f0d060d82060d060106810700
-82060d0601068207000d7f0d7f0d060d82060d060106810700
-82060d0601068207000d7f0d7f0d060d82060d060106810700
-82060d0601068207000d7f0d7f0d060d82060d060106810700
-82060d0601068207000d7f0d7f0d060d82060d060106810700
-82060d0601068207000d7f0d7f0d060d82060d060106810700
-82060d0601068207000d7f0d7f0d060d82060d060106810700
-82060d0601068207000d7f0d7f0d060d82060d060106810700
-82060d0601068207000d7f0d7f0d060d82060d060106810700
-82060d0601068207000d7f0d7f0d060d82060d060106810700
-82060d0601068207000d7f0d7f0d060d82060d060106810700
-82060d0601068207000d7f0d7f0d060d82060d060106810700
-82060d0601068207000d7f0d7f0d060d82060d060106810700
-82060d0601068207000d7f0d7f0d060d82060d060106810700
-82060d0601068107067f067f060806810d060106810700
-82060d0601067f0d7f0d0b0d0206810700
-82060d067f067f061006810700
-82060d067f067f061006810700
-82060d0601067f077f070b070206810700
-82060d0601068107007f007f000800810d060106810700
-82060d0601068207000d7f0d760d0e060100810d060106810700
-82060d0601068207000d7f0d760d81060d0b0d81070082000d060106810700
-82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
-82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
-82060d0601068207000d1c0d0100120d01000e0d81000d6b0d0400400d82060d060a0681
-070082000d060106810700
-82060d0601068207000d010d81000d190d81000d120d81000d7b0d85000d000d000d3f0d
-82060d060a0681070082000d060106810700
-82060d0601068207000d810d000300030d0200010d0100010d0100020d0100810d008400
-0d000d0081000d090d0300010d82000d0081000d020d0200020d0200040d0300020d0200
-5f0d81000d020d0100810d0082000d0081000d810d0081000d010d02002c0d82060d0603
-06810006040681070082000d060106810700
-82060d0601068207000d010d81000d040d81000d010d81000d820d000d010d81000d820d
-000d810d0081000d810d0081000d820d000d070d81000d010d81000d810d0081000d820d
-000d820d000d010d81000d020d81000d020d81000d010d81000d820d000d010d81000d5d
-0d81000d030d0100030d81000d010d81000d820d000d010d81000d2a0d82060d06020602
-00040681070082000d060106810700
-82060d0601068207000d010d81000d040d81000d010d81000d820d000d010d81000d820d
-000d010d81000d820d000d010d81000d070d81000d040d81000d010d81000d820d000d01
-0d81000d020d81000d020d81000d040d04005e0d81000d030d81000d030d81000d010d81
-000d810d0003002b0d82060d0601060400030681070082000d060106810700
-82060d0601068207000d010d81000d010d81000d820d000d010d81000d820d000d810d00
-81000d820d000d010d81000d820d000d010d81000d070d81000d040d81000d010d81000d
-820d000d010d81000d020d81000d020d81000d040d81000d610d81000d030d81000d030d
-81000d810d0081000d820d000d2e0d82060d068106000500020681070082000d06010681
-0700
-82060d0601068207000d020d0200030d0200030d0100810d0081000d810d000200810d00
-0100810d000100080d0300810d000100810d000100010d0200020d0400020d0300020d03
-005d0d0200020d0300030d0100810d0081000d810d0002002b0d82060d060a0681070082
-000d060106810700
-82060d0601068207000d1a0d81000d7f0d590d82060d060a0681070082000d0601068107
-00
-82060d0601068207000d170d02007f0d5b0d82060d060a0681070082000d060106810700
-
-82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
-82060d0601068207000d7f0d760d8106070c070100810d060106810700
-82060d0601068207000d7f0d760d1000810d060106810700
-82060d0601068207000d7f0d760d92060d060d060d060d060d060d060d060d000d060106
-810700
-82060d0601068207000d7f0d770d91060d060d060d060d060d060d060d06000d06010681
-0700
-82060d0601068207000d030d81000d7f0d2d0d81000d020d0300390d92060d060d060d06
-0d060d060d060d060d000d060106810700
-82060d0601068207000d7f0d320d0100030d81000d3c0d91060d060d060d060d060d060d
-060d06000d060106810700
-82060d0601068207000d010d0200040d0200010d0100810d0081000d7f0d1c0d83000d00
-0d020d81000d3b0d92060d060d060d060d060d060d060d060d000d060106810700
-82060d0601068207000d030d81000d020d81000d010d81000d810d0081000d820d000d7f
-0d1a0d81000d820d000d020d02003b0d91060d060d060d060d060d060d060d06000d0601
-06810700
-82060d0601068207000d030d81000d030d0300010d81000d010d81000d7f0d1a0d040005
-0d81000d380d92060d060d060d060d060d060d060d060d000d060106810700
-82060d0601068207000d030d81000d020d81000d010d81000d820d000d010d81000d7f0d
-1d0d81000d010d81000d010d81000d380d0e060100810d060106810700
-82060d0601068207000d010d0400010d0800810d0001007f0d1c0d0200020d02003a0d81
-060d0b0d81070082000d060106810700
-82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
-82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
-82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
-82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
-82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
-82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
-82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
-82060d0601068207000d810d0081000d060d81000d030d0100040d01007f0d170d020003
-0d0300390d82060d060a0681070082000d060106810700
-82060d0601068207000d010d81000d0d0d81000d040d81000d7f0d150d81000d010d8100
-0d010d81000d3b0d82060d060a0681070082000d060106810700
-82060d0601068207000d010d82000d0081000d010d0200050d81000d040d81000d7f0d18
-0d81000d020d81000d3b0d82060d060a0681070082000d060106810700
-82060d0601068207000d010d0100010d81000d020d81000d040d81000d040d81000d7f0d
-170d81000d030d02003a0d82060d060a0681070082000d060106810700
-82060d0601068207000d010d81000d010d81000d020d81000d040d81000d040d81000d7f
-0d160d81000d070d81000d380d82060d060a0681070082000d060106810700
-82060d0601068207000d010d81000d010d81000d020d81000d040d81000d040d81000d7f
-0d150d81000d040d81000d010d81000d380d82060d060a0681070082000d060106810700
-
-82060d0601068207000d810d000300020d0400010d0400010d04007f0d140d0400020d02
-003a0d82060d060a0681070082000d060106810700
-82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
-82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
-82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
-82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
-82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
-82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
-82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
-82060d0601068207000d030d81000d0a0d0100050d81000d7f0d5b0d82060d060a068107
-0082000d060106810700
-82060d0601068207000d110d81000d7f0d620d82060d060a0681070082000d0601068107
-00
-82060d0601068207000d010d0300010d0100010d0100030d81000d020d0200040d020001
-0d0100810d0081000d7f0d070d0200010d0100810d0081000d020d0200330d82060d060a
-0681070082000d060106810700
-82060d0601068207000d040d81000d010d81000d010d81000d020d81000d040d81000d02
-0d81000d010d81000d810d0081000d820d000d7f0d050d81000d010d81000d810d008100
-0d820d000d820d000d010d81000d310d82060d060a0681070082000d060106810700
-82060d0601068207000d040d81000d010d81000d010d81000d020d81000d040d81000d03
-0d0300010d81000d010d81000d7f0d050d81000d010d81000d820d000d010d81000d810d
-000300320d82060d060a0681070082000d060106810700
-82060d0601068207000d040d81000d010d81000d810d0081000d020d81000d040d81000d
-020d81000d010d81000d820d000d010d81000d7f0d050d81000d010d81000d820d000d01
-0d81000d820d000d350d82060d060a0681070082000d060106810700
-82060d0601068207000d040d81000d020d0100810d0082000d000300010d0400010d0800
-810d0001007f0d060d0200010d0200810d000100010d0300320d82060d060a0681070082
-000d060106810700
-82060d0601068207000d040d81000d7f0d6f0d82060d060a0681070082000d0601068107
-00
-82060d0601068207000d010d02007f0d710d82060d060a0681070082000d060106810700
-
-82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
-82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
-82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
-82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
-82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
-82060d0601068207000d810d0081000d060d81000d7f0d690d82060d060a068107008200
-0d060106810700
-82060d0601068207000d010d81000d0b0d81000d7f0d640d82060d060a0681070082000d
-060106810700
-82060d0601068207000d010d82000d0081000d010d0200020d0400010d0200820d000d02
-0d0200010d0100810d0081000d7f0d050d0100810d0081000d020d0200010d0100810d00
-81000d020d02002c0d82060d060a0681070082000d060106810700
-82060d0601068207000d010d0100010d81000d020d81000d020d81000d040d85000d000d
-000d820d000d010d81000d810d0081000d820d000d7f0d050d0100010d81000d820d000d
-010d81000d810d0081000d820d000d820d000d010d81000d2a0d82060d060a0681070082
-000d060106810700
-82060d0601068207000d010d81000d010d81000d020d81000d020d81000d040d85000d00
-0d000d010d0300010d81000d010d81000d7f0d050d81000d010d81000d820d000d010d81
-000d820d000d010d81000d810d0003002b0d82060d060a0681070082000d060106810700
-
-82060d0601068207000d010d81000d010d81000d020d81000d020d81000d010d81000d86
-0d000d000d000d820d000d010d81000d820d000d010d81000d7f0d050d81000d010d8100
-0d820d000d010d81000d820d000d010d81000d820d000d2e0d82060d060a068107008200
-0d060106810700
-82060d0601068207000d810d000300020d0400020d0200010d0600810d000400810d0002
-007f0d060d0200810d000100010d0200010d0200810d000100010d03002b0d8106070c07
-0100810d060106810700
-82060d0601068207000d240d81000d7f0d4f0d1000810d060106810700
-82060d0601068207000d230d02007f0d4f0d0e060100810d060106810700
-82060d0601068207000d7f0d760d81060d0b0d81070082000d060106810700
-82060d060106820700047f04760482060d060a0681070082000d060106810700
-82060d060106820700047f04760482060d060a0681070082000d060106810700
-82060d060106820700047f04760482060d060a0681070082000d060106810700
-82060d060106820700047f04760482060d060a0681070082000d060106810700
-82060d060106820700043404810d041304010d7f04290482060d06810600050002068107
-0082000d060106810700
-82060d060106820700041d04810d042b04810d046204810d04430482060d060106040003
-0681070082000d060106810700
-82060d060106820700040204030d0204020d0104010d81040d810d040204030d81040d03
-0d0204010d81040d810d040104020d0204020d0204010d81040d810d040204020d030401
-0d82040d046104040d0104020d81040d010d0104020d330482060d060206020004068107
-0082000d060106810700
-82060d060106820700040104810d040104810d0482040d040104810d0481040d810d0482
-040d0482040d040404810d040504010d0304810d040104810d040204810d040204010d01
-04810d0482040d040104810d0482040d0481040d810d046204810d040404810d04010481
-0d0482040d040104810d04310482060d060306810006040681070082000d060106810700
-
-82060d060106820700040104810d040404810d040104810d0482040d040104810d040104
-020d0204810d040504810d040404030d0304810d040204810d040104810d0481040d030d
-0104810d040104810d046204810d040404850d040d040d0482040d040104810d04310482
-060d060a0681070082000d060106810700
-82060d060106820700040104810d040404810d040104810d0482040d040104810d040404
-810d0482040d040104810d040104810d040304810d040104810d040204810d040204810d
-040104810d0482040d040404810d040104810d046204810d040104810d0486040d040d04
-0d0482040d040104810d04310482060d060a0681070082000d060106810700
-82060d060106820700040204030d0204020d0104020d81040d010d81040d020d0304020d
-0204030d0204050d81040d030d81040d010d81040d010d0104030d0204040d6304020d03
-04830d040d040204020d330482060d060a0681070082000d060106810700
-82060d060106820700047f04760482060d060a0681070082000d060106810700
-82060d060106820700047f0476048106070c070100810d060106810700
-82060d060106820700047f0476041000810d060106810700
-82060d0601068107067f0677061000810d060106810700
-82060d0601067f0d7f0d0b0d0206810700
-82060d067f067f061006810700
-82060d067f067f061006810700
-82060d067f067f061006810700
-82060d067f067f061006810700
-82060d067f067f061006810700
-82060d067f067f061006810700
-82060d067f067f061006810700
-82060d067f067f061006810700
-82060d067f067f061006810700
-8106077f077f0712070000
-7f007f001500
-
-%
-% Compression made this file 6.27% of the uncompressed size.
-%
-
-
-showpage
-
-% stop using temporary dictionary
-end
-
-% restore original state
-origstate restore
-
-%%Trailer
diff --git a/docs/latex/proplist/prop1.gif b/docs/latex/proplist/prop1.gif
deleted file mode 100644 (file)
index 4344434..0000000
Binary files a/docs/latex/proplist/prop1.gif and /dev/null differ
diff --git a/docs/latex/proplist/prop2.bmp b/docs/latex/proplist/prop2.bmp
deleted file mode 100644 (file)
index d909f41..0000000
Binary files a/docs/latex/proplist/prop2.bmp and /dev/null differ
diff --git a/docs/latex/proplist/prop2.eps b/docs/latex/proplist/prop2.eps
deleted file mode 100644 (file)
index 398e70c..0000000
+++ /dev/null
@@ -1,664 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Title: prop2.eps
-%%Creator: XV Version 2.20  Rev: 4/24/92  -  by John Bradley
-%%BoundingBox: 167 221 466 500
-%%Pages: 1
-%%DocumentFonts:
-%%EndComments
-%%EndProlog
-
-%%Page: 1 1
-
-% remember original state
-/origstate save def
-
-% build a temporary dictionary
-20 dict begin
-
-% lower left corner
-167 221 translate
-
-% size of image (on paper, in 1/72inch coords)
-299 279 scale
-
-% define 'colorimage' if it isn't defined
-%   ('colortogray' and 'mergeprocs' come from xwd2ps
-%     via xgrab)
-/colorimage where   % do we know about 'colorimage'?
-  { pop }           % yes: pop off the 'dict' returned
-  {                 % no:  define one
-    /colortogray {  % define an RGB->I function
-      /rgbdata exch store    % call input 'rgbdata'
-      rgbdata length 3 idiv
-      /npixls exch store
-      /rgbindx 0 store
-      /grays npixls string store  % str to hold the result
-      0 1 npixls 1 sub {
-        grays exch
-        rgbdata rgbindx       get 20 mul    % Red
-        rgbdata rgbindx 1 add get 32 mul    % Green
-        rgbdata rgbindx 2 add get 12 mul    % Blue
-        add add 64 idiv      % I = .5G + .31R + .18B
-        put
-        /rgbindx rgbindx 3 add store
-      } for
-      grays
-    } bind def
-
-    % Utility procedure for colorimage operator.
-    % This procedure takes two procedures off the
-    % stack and merges them into a single procedure.
-
-    /mergeprocs { % def
-      dup length
-      3 -1 roll
-      dup
-      length
-      dup
-      5 1 roll
-      3 -1 roll
-      add
-      array cvx
-      dup
-      3 -1 roll
-      0 exch
-      putinterval
-      dup
-      4 2 roll
-      putinterval
-    } bind def
-
-    /colorimage { % def
-      pop pop     % remove 'false 3' operands
-      {colortogray} mergeprocs
-      image
-    } bind def
-  } ifelse          % end of 'false' case
-
-
-
-% define the colormap
-/cmap 42 string def
-
-
-% load up the colormap
-currentfile cmap readhexstring
-000000 bf0000 00bf00 bfbf00 0000bf 00bfbf c0c0c0 808080 ff0000 00ff00 
-ffff00 0000ff 00ffff ffffff 
-pop pop   % lose return values from readhexstring
-
-
-% rlecmapimage expects to have 'w h bits matrix' on stack
-/rlecmapimage {
-  /buffer 1 string def
-  /rgbval 3 string def
-  /block  384 string def
-
-  % proc to read a block from file, and return RGB data
-  { currentfile buffer readhexstring pop
-    /bcount exch 0 get store
-    bcount 128 ge
-    {  % it's a non-run block
-      0 1 bcount 128 sub
-      { currentfile buffer readhexstring pop pop
-
-        % look up value in color map
-        /rgbval cmap buffer 0 get 3 mul 3 getinterval store
-
-        % and put it in position i*3 in block
-        block exch 3 mul rgbval putinterval
-      } for
-      block  0  bcount 127 sub 3 mul  getinterval
-    }
-
-    { % else it's a run block
-      currentfile buffer readhexstring pop pop
-
-      % look up value in colormap
-      /rgbval cmap buffer 0 get 3 mul 3 getinterval store
-
-      0 1 bcount { block exch 3 mul rgbval putinterval } for
-
-      block 0 bcount 1 add 3 mul getinterval
-    } ifelse
-  } % end of proc
-  false 3 colorimage
-} bind def
-
-
-299 279 8                      % dimensions of data
-[299 0 0 -279 0 279]           % mapping matrix
-rlecmapimage
-
-7f0003007f072607
-07077f067f0618068100070707
-070781060d7f0d7f0d150d820700070707
-070782060d067f067f061406820700070707
-070782060d067f067f061406820700070707
-070782060d068106077f077f0710070106820700070707
-070782060d068106078207060d820d060783070d0702010203098102077f077e07010682
-0700070707
-070782060d068106078707060b060001020781070283020702098109028102077f074a07
-0e0d81000d0d0d81000781070d0d0d81000781070683060700070707
-070782060d0681060782070806810600820002078507020902070201028109077f074a07
-810d060b068307000d060b068207000782070d060b068207000781070683060700070707
-
-070782060d06810607810706850608000403078207020984090207020981090701070506
-2d070306020701061a0705066a07810d060b068307000d06810600070001068207000782
-070d060b068207000781070683060700070707
-070782060d068106078707060b0604000a07890702090207020702090701070106020701
-061d0701060b07010601070106010701061207010607070106100701065907810d060b06
-8307000d06810600070001068207000782070d0601060100030601000106820700078107
-0683060700070707
-070782060d0681060701070106020001070102860702090207020701070106020701061d
-0701060b070106050701061207010607070106100701065907810d060b068307000d0682
-0600060506810006830607000782070d0602060100010601000206820700078107068306
-0700070707
-070782060d0681060785070d0607060d010d840702000209010982020007010701060207
-010681070601060107030601070406020703060107020681070601068107068206070681
-060703070106050704060207030602070306010702060607010604070306020702060107
-02065807810d060b068307000d06820600060506810006830607000782070d0603060300
-03068207000781070683060700070707
-070782060d06810607070701000602020705060107010601070106010701068107068106
-078107068206070681060781070682060706810607810706810607810706820607068106
-070407030602070206810706820607068106078107068206070681060781070682060706
-81060706070106030701060107010681070682060706820607068106075807810d060b06
-8307000d06820600060506810006830607000782070d0604060100040682070007810706
-83060700070707
-070782060d06810607810705050501000603020701060507010601070106010701068107
-068106078107068206070604068107068106078107068106078107068206070681060707
-070106010701060107010681070604068107060406810706810607060701060307050601
-070106020701065907810d060b068307000d06820600060506810006830607000782070d
-060306030003068207000781070683060700070707
-070782060d0681060781070c010c8205080c830c05030a020a81030a810a070107010605
-070106010701060107010681070681060781070682060706810607030701060107010601
-070106810706810607070701060107010601070106810706810607030701060407010607
-0701060307010606070106010701065907810d060b068307000d06820600060506810006
-830607000782070d06020601000106010002068207000781070683060700070707
-070782060d068106078c070c05070507050c05030a030a840a03000a0701070106050701
-060107010601070106810706810607810706820607068106078107068206070681060781
-070681060701070206050701060107010601070106010701068107068106078107068206
-070681060781070682060706810607060701060307010601070106810706820607068206
-07068106075807810d060106050003068307000d06820600060506810006830607000782
-070d06010601000306010001068207000781070683060700070707
-070782060d0681060782070c08020886070c05030a030a010a82030a0701070106050701
-060207030601070406020703060107010602070106010701060707030602070106010701
-06010703060207030602070106060701060407030602070206020701065807810d060106
-050003068307000d06810600070001068207000782070d060b0682070007810706830607
-00070707
-070782060d0681060782070c080208010c8205030a810a0384030a030a07140701061407
-01067f071c07810d060b068307000d060b068207000782070d060b068207000781070683
-060700070707
-070782060d0681060782070c080308850c05030a030a010a82000a071407010612070206
-7f071d07810d070c0782000d070c0781000782070d070c07810007810706830607000707
-07
-070782060d0681060783070c05080208850c05030a030a810a0382030a077f074a071f00
-01070f0001070106820700070707
-070782060d0681060781070c050c8205030a050a7f077f070106820700070707
-070782060d068106077f077f0710070106820700070707
-070782060d067f067f061406820700070707
-070782060d067f067f061406820700070707
-070782060d0637067f073d07810d061c06820700070707
-070782060d06030616000306160001068107007f003a0082060d06810600150004068207
-00070707
-070782060d06020681000d140d820700068206000d140d8507000607000d7f0d390d8406
-0d06000d140d820700060206820700070707
-070782060d06020682000d06120601078100068306000d061206010784000607000d7f0d
-390d84060d06000d130d01078100060206820700070707
-070782060d06020682000d06120601078100068306000d061206010784000607000d7f0d
-390d84060d06000d810d06110601078100060206820700070707
-070782060d06020682000d06120601078100068306000d061206010784000607000d7f0d
-390d84060d06000d810d06110601078100060206820700070707
-070782060d06020682000d0603068100060606810006030601078100068306000d061206
-010784000607000d010d0100020d0200020d0200020d02007f0d230d84060d06000d810d
-06110601078100060206820700070707
-070782060d06020682000d060306020003060200040601078100068306000d060b068100
-060406010784000607000d810d000100010d0100810d0082000d0082000d0082000d0082
-000d0081000d7f0d210d84060d06000d810d06110601078100060206820700070707
-070782060d06020682000d060406020001060200050601078100068306000d060a060200
-0406010785000607000d000200010d0100810d0082000d0082000d0082000d0082000d00
-81000d7f0d210d84060d06000d810d06110601078100060206820700070707
-070782060d06020682000d0605060500060601078100068306000d060906030004060107
-87000607000d000d0081000d810d0082000d0082000d0082000d0082000d0082000d0081
-000d7f0d210d84060d06000d810d06110601078100060206820700070707
-070782060d06020682000d0606060300070601078100068306000d060806030005060107
-84000607000d010d0100010d0100810d0082000d0082000d0082000d0082000d0081000d
-7f0d210d84060d06000d810d06110601078100060206820700070707
-070782060d06020682000d0606060300070601078100068306000d060306010001060300
-0606010784000607000d010d0100010d0100810d0082000d0082000d0082000d0082000d
-0081000d7f0d210d84060d06000d810d06110601078100060206820700070707
-070782060d06020682000d0605060500060601078100068306000d060306060007060107
-84000607000d010d0100010d0100810d0082000d0082000d0082000d0082000d0081000d
-7f0d210d84060d06000d810d06110601078100060206820700070707
-070782060d06020682000d060406020001060200050601078100068306000d0604060400
-0806010784000607000d010d0100020d0200020d0200020d02007f0d230d84060d06000d
-810d060306010781060782070607810706040601078100060206820700070707
-070782060d06020682000d060306020003060200040601078100068306000d0605060200
-0906010784000607000d7f0d390d84060d06000d810d0603060107810607820706078107
-06040601078100060206820700070707
-070782060d06020682000d060306010005060100040601078100068306000d0606068100
-060906010784000607000d7f0d390d84060d06000d810d06110601078100060206820700
-070707
-070782060d06020682000d06120601078100068306000d061206010784000607000d7f0d
-390d84060d06000d810d06110601078100060206820700070707
-070782060d06020682000d06120601078100068306000d061206010784000607000d7f0d
-390d84060d06000d810d06110601078100060206820700070707
-070782060d06020682000d0714078100068306000d07140784000607000d7f0d390d8506
-0d06000d0714078100060206820700070707
-070782060d06020682000d0714078100068306000d07140784000607000d7f0d390d8406
-0d06000715078100060206820700070707
-070782060d06030616000306160001068207000d7f0d390d82060d068106001500040682
-0700070707
-070782060d0637068107067f063b06810d061c06820700070707
-070782060d0637067f0d3e0d1d06820700070707
-070782060d0601067f077f070e07810d060106820700070707
-070782060d0601068107007f007f000b0082060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d040d0100120d01007f0d150d0200550d82060d0601068207
-00070707
-070782060d0601068207000d030d81000d140d81000d7f0d130d81000d010d81000d530d
-82060d060106820700070707
-070782060d0601068207000d020d0300010d0100810d0081000d010d0200030d0100820d
-000d7f0d130d81000d010d81000d530d82060d060106820700070707
-070782060d0601068207000d030d81000d030d0100030d81000d010d81000d820d000d81
-0d0081000d7f0d130d81000d010d81000d530d82060d060106820700070707
-070782060d0601068207000d030d81000d030d81000d030d0400010d81000d010d81000d
-7f0d130d81000d010d81000d530d82060d060106820700070707
-070782060d0601068207000d030d81000d030d81000d030d81000d040d81000d010d8100
-0d7f0d130d81000d010d81000d530d82060d060106820700070707
-070782060d0601068207000d020d0300010d0300030d0300020d04007f0d140d0200550d
-82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d1c0d0100120d01000e0d81000d6b0d0400090d0100480d82
-060d060106820700070707
-070782060d0601068207000d010d81000d190d81000d120d81000d7c0d81000d820d000d
-090d81000d470d82060d060106820700070707
-070782060d0601068207000d810d000300030d0200010d0100010d0100020d0100810d00
-84000d000d0081000d090d0300010d82000d0081000d020d0200020d0200040d0300020d
-02005e0d83000d000d020d0200040d81000d030d0300020d0200390d82060d0601068207
-00070707
-070782060d0601068207000d010d81000d040d81000d010d81000d820d000d010d81000d
-820d000d810d0081000d810d0081000d820d000d070d81000d010d81000d810d0081000d
-820d000d820d000d010d81000d020d81000d020d81000d010d81000d820d000d010d8100
-0d5c0d0200020d81000d010d81000d020d81000d020d81000d040d81000d010d81000d37
-0d82060d060106820700070707
-070782060d0601068207000d010d81000d040d81000d010d81000d820d000d010d81000d
-820d000d010d81000d820d000d010d81000d070d81000d040d81000d010d81000d820d00
-0d010d81000d020d81000d020d81000d040d04005d0d83000d000d020d0300030d81000d
-030d0200020d0400380d82060d060106820700070707
-070782060d0601068207000d010d81000d010d81000d820d000d010d81000d820d000d81
-0d0081000d820d000d010d81000d820d000d010d81000d070d81000d040d81000d010d81
-000d820d000d010d81000d020d81000d020d81000d040d81000d600d81000d030d81000d
-010d81000d020d81000d060d81000d820d000d3b0d82060d060106820700070707
-070782060d0601068207000d020d0200030d0200030d0100810d0081000d810d00020081
-0d000100810d000100080d0300810d000100810d000100010d0200020d0400020d030002
-0d03005c0d0200030d0500810d000300010d0300030d0300380d82060d06010682070007
-0707
-070782060d0601068207000d1a0d81000d7f0d6d0d82060d060106820700070707
-070782060d0601068207000d170d02007f0d6f0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d060106820700047f047f040a0482060d060106820700070707
-070782060d060106820700047f047f040a0482060d060106820700070707
-070782060d060106820700047f047f040a0482060d060106820700070707
-070782060d060106820700047f047f040a0482060d060106820700070707
-070782060d060106820700040304810d047f043204010d4f0482060d0601068207000707
-07
-070782060d060106820700047f043904810d044e0482060d060106820700070707
-070782060d060106820700040104020d0404020d0104010d81040d810d047f042404810d
-044e0482060d060106820700070707
-070782060d060106820700040304810d040204810d040104810d0481040d810d0482040d
-047f041a04040d0304810d044e0482060d060106820700070707
-070782060d060106820700040304810d040304030d0104810d040104810d047f04230481
-0d044e0482060d060106820700070707
-070782060d060106820700040304810d040204810d040104810d0482040d040104810d04
-7f042304810d044e0482060d060106820700070707
-070782060d060106820700040104040d0104080d81040d010d7f042104040d4d0482060d
-060106820700070707
-070782060d060106820700047f047f040a0482060d060106820700070707
-070782060d060106820700047f047f040a0482060d060106820700070707
-070782060d060106820700047f047f040a0482060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d810d0081000d060d81000d030d0100040d01007f0d170d02
-00030d03004d0d82060d060106820700070707
-070782060d0601068207000d010d81000d0d0d81000d040d81000d7f0d150d81000d010d
-81000d010d81000d4f0d82060d060106820700070707
-070782060d0601068207000d010d82000d0081000d010d0200050d81000d040d81000d7f
-0d180d81000d020d81000d4f0d82060d060106820700070707
-070782060d0601068207000d010d0100010d81000d020d81000d040d81000d040d81000d
-7f0d170d81000d030d02004e0d82060d060106820700070707
-070782060d0601068207000d010d81000d010d81000d020d81000d040d81000d040d8100
-0d7f0d160d81000d070d81000d4c0d82060d060106820700070707
-070782060d0601068207000d010d81000d010d81000d020d81000d040d81000d040d8100
-0d7f0d150d81000d040d81000d010d81000d4c0d82060d060106820700070707
-070782060d0601068207000d810d000300020d0400010d0400010d04007f0d140d040002
-0d02004e0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d030d81000d0a0d0100050d81000d7f0d6f0d82060d060106
-820700070707
-070782060d0601068207000d110d81000d7f0d760d82060d060106820700070707
-070782060d0601068207000d010d0300010d0100010d0100030d81000d020d0200040d02
-00010d0100810d0081000d7f0d070d0200010d0100810d0081000d020d0200470d82060d
-060106820700070707
-070782060d0601068207000d040d81000d010d81000d010d81000d020d81000d040d8100
-0d020d81000d010d81000d810d0081000d820d000d7f0d050d81000d010d81000d810d00
-81000d820d000d820d000d010d81000d450d82060d060106820700070707
-070782060d0601068207000d040d81000d010d81000d010d81000d020d81000d040d8100
-0d030d0300010d81000d010d81000d7f0d050d81000d010d81000d820d000d010d81000d
-810d000300460d82060d060106820700070707
-070782060d0601068207000d040d81000d010d81000d810d0081000d020d81000d040d81
-000d020d81000d010d81000d820d000d010d81000d7f0d050d81000d010d81000d820d00
-0d010d81000d820d000d490d82060d060106820700070707
-070782060d0601068207000d040d81000d020d0100810d0082000d000300010d0400010d
-0800810d0001007f0d060d0200010d0200810d000100010d0300460d82060d0601068207
-00070707
-070782060d0601068207000d040d81000d7f0d7f0d030d82060d060106820700070707
-070782060d0601068207000d010d02007f0d7f0d050d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d810d0081000d060d81000d7f0d7d0d82060d060106820700
-070707
-070782060d0601068207000d010d81000d0b0d81000d7f0d780d82060d06010682070007
-0707
-070782060d0601068207000d010d82000d0081000d010d0200020d0400010d0200820d00
-0d020d0200010d0100810d0081000d7f0d050d0100810d0081000d020d0200010d010081
-0d0081000d020d0200400d82060d060106820700070707
-070782060d0601068207000d010d0100010d81000d020d81000d020d81000d040d85000d
-000d000d820d000d010d81000d810d0081000d820d000d7f0d050d0100010d81000d820d
-000d010d81000d810d0081000d820d000d820d000d010d81000d3e0d82060d0601068207
-00070707
-070782060d0601068207000d010d81000d010d81000d020d81000d020d81000d040d8500
-0d000d000d010d0300010d81000d010d81000d7f0d050d81000d010d81000d820d000d01
-0d81000d820d000d010d81000d810d0003003f0d82060d060106820700070707
-070782060d0601068207000d010d81000d010d81000d020d81000d020d81000d010d8100
-0d860d000d000d000d820d000d010d81000d820d000d010d81000d7f0d050d81000d010d
-81000d820d000d010d81000d820d000d010d81000d820d000d420d82060d060106820700
-070707
-070782060d0601068207000d810d000300020d0400020d0200010d0600810d000400810d
-0002007f0d060d0200810d000100010d0200010d0200810d000100010d03003f0d82060d
-060106820700070707
-070782060d0601068207000d240d81000d7f0d630d82060d060106820700070707
-070782060d0601068207000d230d02007f0d630d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d340d81000d130d01007f0d3d0d82060d0601068207000707
-07
-070782060d0601068207000d1d0d81000d2b0d81000d620d81000d570d82060d06010682
-0700070707
-070782060d0601068207000d020d0300020d0200010d0100810d0081000d020d0300810d
-000300020d0100810d0081000d010d0200020d0200020d0100810d0081000d020d020003
-0d0100820d000d610d0400010d0200810d000100010d0200470d82060d06010682070007
-0707
-070782060d0601068207000d010d81000d010d81000d820d000d010d81000d810d008100
-0d820d000d820d000d040d81000d050d0100030d81000d010d81000d020d81000d020d01
-00010d81000d820d000d010d81000d820d000d810d0081000d620d81000d040d81000d01
-0d81000d820d000d010d81000d450d82060d060106820700070707
-070782060d0601068207000d010d81000d040d81000d010d81000d820d000d010d81000d
-010d0200020d81000d050d81000d040d0300030d81000d020d81000d010d81000d810d00
-0300010d81000d010d81000d620d81000d040d85000d000d000d820d000d010d81000d45
-0d82060d060106820700070707
-070782060d0601068207000d010d81000d040d81000d010d81000d820d000d010d81000d
-040d81000d820d000d010d81000d010d81000d030d81000d010d81000d020d81000d020d
-81000d010d81000d820d000d040d81000d010d81000d620d81000d010d81000d860d000d
-000d000d820d000d010d81000d450d82060d060106820700070707
-070782060d0601068207000d020d0300020d0200010d0200810d000100810d000200030d
-0200020d0300020d0500810d000300810d000100810d000100010d0300020d0400630d02
-00030d83000d000d020d0200470d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
-7f077f0726078100070107
-03077f0d7f0d210d820700070107
-0307820d06077f077f071c07840d060700070107
-0307830d0607047f047f041c0483060700070107
-0307830d0607047f047f041c0483060700070107
-0307830d0607047f047f040a040e0d8100048404060700070107
-0307830d0607047f047f040a04810d060b06820700048404060700070107
-0307830d06070481040d040d3a04010d7f044604810d060b068207000484040607000701
-07
-0307830d06070481040d810d040104010d1d04010d1904010d7f044604810d0601060107
-030601070106820700048404060700070107
-0307830d06070481040d810d040104010d1d04010d1904010d7f044604810d0602060107
-01060107010d83060700048404060700070107
-0307830d06070481040d810d040104010d81040d010d0104030d0104040d0204030d0104
-020d81040d010d81040d820d040d810d040304010d0104010d0104030d0104010d81040d
-810d0481040d810d0481040d020d0604030d0104020d81040d010d0104030d0104020d7f
-041a04810d0603060307010d0106820700048404060700070107
-0307830d06070481040d040d0104010d0104010d0104010d81040d810d0481040d820d04
-0d810d0481040d820d040d810d0481040d810d0481040d820d040d810d040304010d0104
-010d0404010d81040d820d040d810d0481040d820d040d810d0481040d810d040304010d
-0104010d81040d810d0481040d810d0481040d810d0481040d820d040d810d047f041a04
-810d0604060107010d0206820700048404060700070107
-0307830d06070481040d810d040404010d0104010d0104010d81040d810d0481040d820d
-040d040d81040d810d0481040d810d0481040d820d040d810d040404030d0204040d8104
-0d820d040d810d0481040d820d040d040d0404050d81040d810d0481040d810d0481040d
-810d0481040d820d040d810d047f041a04810d0603060307030682070004840406070007
-0107
-0307830d06070481040d810d040404010d0104010d0104010d81040d810d0481040d820d
-040d810d040304010d0104010d0104010d81040d810d040404030d0104010d0104010d81
-040d820d040d810d0481040d820d040d810d040704010d0404010d0104010d0104010d01
-04010d81040d810d047f041a04810d0602060107010d0107020682070004840406070007
-0107
-0307830d06070481040d810d040404010d0104010d0104010d81040d810d0481040d820d
-040d810d0481040d820d040d810d0481040d810d040104020d0704010d0204010d010401
-0d81040d820d040d820d040d010d81040d810d0481040d810d040304010d0104010d8104
-0d810d0481040d810d0481040d810d0481040d820d040d810d047f041a04810d06010601
-07010d010601070106820700048404060700070107
-0307830d06070481040d810d040404010d0204030d0104040d0204030d0104010d020401
-0d0104010d0804010d0304040d81040d810d0481040d030d0104030d0604030d0104010d
-0104010d0204030d0104010d7f041b04810d060206010d0306010d830607000484040607
-00070107
-0307830d0607041304010d1404010d7f045d04810d060b06820700048404060700070107
-
-0307830d0607041304010d1204020d7f045e04810d070c078100048404060700070107
-0307830d0607047f047f040a040f00010483060700070107
-0307830d0607047f047f041c0483060700070107
-0307830d0607047f047f041c0483060700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d06170602037f067f060406820700070107
-0307810d06160681030a830a0600067f067f060206820700070107
-0307810d06150681030a020a83060007067f067f0683060700070107
-0307810d06150681030a030a8100078107067f067f06820700070107
-0307810d06140681030a040a820600078107067f067e06820700070107
-0307810d06140681030a050a8100078107067f067e06820700070107
-0307810d06130681030a060a820600078107067f067d06820700070107
-0307810d06130681030a070a8100078107067f067d06820700070107
-0307810d06120681030a080a820600078107067f067c06820700070107
-0307810d06120681030a010a810600010081060a010a8100078107067f067c0682070007
-0107
-0307810d06110681030a020a0400020a820600078107067f067b06820700070107
-0307810d06110681030a020a0400030a8100078107061606810006030681000605068100
-0627068100061b0681000620068100062c06040001060200140681000602060400010602
-0001068100060a06820700070107
-0307810d06100681030a030a0400030a8206000781070615068100060306810006050681
-000621068100060306810006230681000618068100060906810006200681000603068100
-060106810006120681000602068100060306810006010683000600060a06820700070107
-
-0307810d06100681030a030a0400040a8100078107061606810006010681000606068100
-062106810006030681000623068100061806810006090681000620068100060306810006
-0106810006120681000602068100060306810006010683000600060a06820700070107
-0307810d060f0681030a040a0400040a8206000781070615068100060106810006010602
-000106830006000601068100068106000100040602008106008100068206000601068100
-068106008100068106008100060206030002060200050602000106820006008100060306
-840006000600810006810600810006810600010002060300010602000106010003060300
-020602000106010082060006820600068206000681060001000206020001068200060081
-000606060300010681000601068100060306020001068200060081000601060300030603
-000106810006010683000600060a06820700070107
-0307810d060f0681030a040a810300010081030a040a8100078107061506810006010681
-000604068500060006000601068300060006010681000602068100068206000684060006
-000601068300060006840600060006030681000601068300060006010681000606068200
-060081000682060006020682000600810006840600060006820600060106830006000601
-068300060006010683000600060306810006010683000600060106830006000682060006
-820600068406000600060106830006000601068200060081000682060006050681000601
-068300060006010681000606068200060081000684060006000601068100060206810006
-01068300060006010683000600060a06820700070107
-0307810d060e0681030a050a810600010081060a040a8206000781070615068300060006
-020603008406000600060106820006000300030681000682060006840600060006010681
-000682060006010681000603068100060106820006000300040603008206000601068100
-060206830006000601068300060006810600030082060006010682000600030082060006
-030681000601068200060003008206000689060006000600060006000300810600030082
-060006010681000602060100040683000600060106810006030603008206000601068300
-060006010681000606068300060006010683000600060a06820700070107
-0307810d060e0681030a060a0200070a8100078107061506830006000601068100060106
-850006000600060106830006000606068100068206000684060006000601068100060106
-810006820600060306810006010683000600060606810006010683000600060106810006
-020683000600060106830006000682060006030681000601068300060006030681000603
-068100060106830006000603068100068a06000600060006000600060306810006030681
-000601068100060906830006000601068100060206810006010683000600060106830006
-0006010681000606068300060006010683000600060a06820700070107
-0307810d060d0681030a070a830300030a060a8206000781070615068100060206810006
-010685000600060006810600830006000601068100060206810006820600068406000600
-068106008300060006840600060006030681000601068300060006010681000602068100
-060106830006000601068100060206830006000601068300060006820600060106830006
-000601068300060006010683000600060306810006010683000600060106830006000601
-068100060106810006820600060106830006000601068300060006010681000605068100
-060106830006000601068100060206810006010683000600060106830006000601068100
-0602068100060106830006000601068100060c06820700070107
-0307810d060d0681030a070a830600060a070a8100078107061506810006030603008206
-000681060083000600068106000100040681000682060006820600068106008300060006
-810600810006010681000602060300020602000506030082060006010681000602068300
-060006010681000682060006810600010002060300010602000106810006030603000206
-020002068100068206000601068100060106020002060200010681000601068100060606
-020002060200050603008206000601068100068106000200040602000206020001068100
-060a06820700070107
-0307810d060c0681030a090a81000a080a820600078107067c0681000677068207000701
-07
-0307810d060c0681030a150a810007810706780603007906820700070107
-0307810d060b0681030a090a8106008200060a070a820600078107067f06750682070007
-0107
-0307810d060b0681030a090a0300090a8100078107067f067506820700070107
-0307810d060a0681030a0a0a0300090a820600078107067f067406820700070107
-0307810d060a0681030a0a0a8106008200060a090a8100078107067f0674068207000701
-07
-0307810d060a0681030a190a81000701077f067406820700070107
-0307810d060a0681030a180a8206000701077f067406820700070107
-0307810d060b0681030a160a8206000702077f067406820700070107
-0307810d060c06810300160004077f067406820700070107
-0307810d060e061a077f067506820700070107
-0307810d060f0618077f067606820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d066b0648006a06820700070107
-0307810d066a064a006906820700070107
-0307810d066a060100450d8107008100066806820700070107
-0307810d066a060100440d010701006906820700070107
-0307810d066a060100010d18069100060006000600060006000600060006000617060107
-01006906820700070107
-0307810d066a060100010d4206010701006906820700070107
-0307810d066a060100010d18068100060d068100061706010701006906820700070107
-0307810d066a060100010d1b060300020681000601068100061906010701006906820700
-070107
-0307810d066a060100010d18068300060006020681000682060006820600068206000617
-06010701006906820700070107
-0307810d066a060100010d1a0681000602068100068406000600061b0601070100690682
-0700070107
-0307810d066a060100010d18068300060006020681000681060081000602068100061706
-010701006906820700070107
-0307810d066a060100010d1a0681000602068100068106008100061c0601070100690682
-0700070107
-0307810d066a060100010d18068300060006020681000684060006000601068100061706
-010701006906820700070107
-0307810d066a060100010d1a06810006020681000682060006820600061a060107010069
-06820700070107
-0307810d066a060100010d18068300060006020681000682060006010683000600061706
-010701006906820700070107
-0307810d066a060100010d1b060300020681000602068100061806010701006906820700
-070107
-0307810d066a060100010d18068100060d068100061706010701006906820700070107
-0307810d066a060100010d4206010701006906820700070107
-0307810d066a060100010d18069100060006000600060006000600060006000617060107
-01006906820700070107
-0307810d066a060100810d07440701006906820700070107
-0307810d066a060100460701006906820700070107
-0307810d066a064a006906820700070107
-0307810d066b0648006a06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-0307810d067f067f061f06820700070107
-7f077f0726078100070107
-02077f007f0024000207
-7f077f072a07
-7f077f072a07
-7f077f072a07
-7f077f072a07
-7f077f072a07
-7f077f072a07
-
-%
-% Compression made this file 5.68% of the uncompressed size.
-%
-
-
-showpage
-
-% stop using temporary dictionary
-end
-
-% restore original state
-origstate restore
-
-%%Trailer
diff --git a/docs/latex/proplist/prop2.gif b/docs/latex/proplist/prop2.gif
deleted file mode 100644 (file)
index ec9b857..0000000
Binary files a/docs/latex/proplist/prop2.gif and /dev/null differ
diff --git a/docs/latex/proplist/readme.txt b/docs/latex/proplist/readme.txt
deleted file mode 100644 (file)
index f54a18a..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-
-Prototype dialog editor and property sheet classes
---------------------------------------------------
-
-Julian Smart, October 4th 1995
-------------------------------
-
-Here's what I've done so far on a lightweight dialog editor.  The 16-bit
-Windows binaries in the bin directory are dialoged.exe (the dialog
-editor) and test.exe (a small property sheet demo). 
-
-Main points:
-
- - You can create a new dialog box and add items to it.
- - You can move items around, and right-click
-   to edit a few properties (very incomplete).
- - Can't write out .wxr files yet. Loading code is in
-   wxWindows, but writing code is absent: should be put
-   into wxWindows.
- - No attempt at resources other than dialogs yet.
-   Should have menu editor too.
- - Should *somehow* have a protocol to allow
-   existing resources e.g. in wxCLIPS/wxPython
-   to be edited in situ.
-   This should be made simpler by the existance of
-   the plug-in event handler mechanism, which means you
-   can temporarily handle all the events yourself.
- - See dialoged.cc: the main program is tiny because
-   it's meant to be embeddable.
- - The wxPropertySheet (set of) classes are very
-   general and should be put into wxWin and documented.
-   
-Comments, chivvying and help all appreciated. Maybe if
-I documented what I had, it would be easier for others
-to do some work on it.
-
-Regards,
-
-Julian
\ No newline at end of file
diff --git a/docs/latex/proplist/tex2rtf.ini b/docs/latex/proplist/tex2rtf.ini
deleted file mode 100644 (file)
index 90c6676..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-runTwice = yes
-titleFontSize = 12
-authorFontSize = 10
-chapterFontSize = 12
-sectionFontSize = 12
-subsectionFontSize = 12
-headerRule = yes
-footerRule = yes
-useHeadingStyles = yes
-contentsDepth = 2
-listItemIndent=40
-generateHPJ = yes
-htmlBrowseButtons = bitmap
-winHelpVersion = 3
-winHelpContents = yes
-winHelpTitle = "Property Classes Manual"
-truncateFilenames = yes
-\overview [2] {\rtfonly{See also }\sethotspotcolour{off}\sethotspotunderline{on}\winhelponly{\image{}{books.bmp}}
-\htmlonly{\image{}{books.gif}}\helpref{#1}{#2}
-\sethotspotcolour{on}\sethotspotunderline{on}}
-
diff --git a/docs/latex/proplist/up.gif b/docs/latex/proplist/up.gif
deleted file mode 100644 (file)
index 316d0d2..0000000
Binary files a/docs/latex/proplist/up.gif and /dev/null differ
diff --git a/docs/latex/proplist/wxprop.hpj b/docs/latex/proplist/wxprop.hpj
deleted file mode 100644 (file)
index d03da30..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-[OPTIONS]
-BMROOT=d:\wx2\wxWind~1\utils\wxprop\docs ; Assume that bitmaps are where the source is
-TITLE=Property Classes Manual
-CONTENTS=Contents
-COMPRESS=HIGH
-
-[FILES]
-wxprop.rtf
-
-[CONFIG]
-CreateButton("Up", "&Up", "JumpId(`wxprop.hlp', `Contents')")
-BrowseButtons()
-
-[MAP]
-
-[BITMAPS]
-
diff --git a/docs/latex/wx/prop1.bmp b/docs/latex/wx/prop1.bmp
new file mode 100644 (file)
index 0000000..92c6bee
Binary files /dev/null and b/docs/latex/wx/prop1.bmp differ
diff --git a/docs/latex/wx/prop1.eps b/docs/latex/wx/prop1.eps
new file mode 100644 (file)
index 0000000..02ac7d6
--- /dev/null
@@ -0,0 +1,539 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: prop1.eps
+%%Creator: XV Version 2.20  Rev: 4/24/92  -  by John Bradley
+%%BoundingBox: 167 292 445 500
+%%Pages: 1
+%%DocumentFonts:
+%%EndComments
+%%EndProlog
+
+%%Page: 1 1
+
+% remember original state
+/origstate save def
+
+% build a temporary dictionary
+20 dict begin
+
+% lower left corner
+167 292 translate
+
+% size of image (on paper, in 1/72inch coords)
+278 208 scale
+
+% define 'colorimage' if it isn't defined
+%   ('colortogray' and 'mergeprocs' come from xwd2ps
+%     via xgrab)
+/colorimage where   % do we know about 'colorimage'?
+  { pop }           % yes: pop off the 'dict' returned
+  {                 % no:  define one
+    /colortogray {  % define an RGB->I function
+      /rgbdata exch store    % call input 'rgbdata'
+      rgbdata length 3 idiv
+      /npixls exch store
+      /rgbindx 0 store
+      /grays npixls string store  % str to hold the result
+      0 1 npixls 1 sub {
+        grays exch
+        rgbdata rgbindx       get 20 mul    % Red
+        rgbdata rgbindx 1 add get 32 mul    % Green
+        rgbdata rgbindx 2 add get 12 mul    % Blue
+        add add 64 idiv      % I = .5G + .31R + .18B
+        put
+        /rgbindx rgbindx 3 add store
+      } for
+      grays
+    } bind def
+
+    % Utility procedure for colorimage operator.
+    % This procedure takes two procedures off the
+    % stack and merges them into a single procedure.
+
+    /mergeprocs { % def
+      dup length
+      3 -1 roll
+      dup
+      length
+      dup
+      5 1 roll
+      3 -1 roll
+      add
+      array cvx
+      dup
+      3 -1 roll
+      0 exch
+      putinterval
+      dup
+      4 2 roll
+      putinterval
+    } bind def
+
+    /colorimage { % def
+      pop pop     % remove 'false 3' operands
+      {colortogray} mergeprocs
+      image
+    } bind def
+  } ifelse          % end of 'false' case
+
+
+
+% define the colormap
+/cmap 42 string def
+
+
+% load up the colormap
+currentfile cmap readhexstring
+000000 bf0000 00bf00 bfbf00 0000bf 00bfbf c0c0c0 808080 ff0000 00ff00 
+ffff00 0000ff 00ffff ffffff 
+pop pop   % lose return values from readhexstring
+
+
+% rlecmapimage expects to have 'w h bits matrix' on stack
+/rlecmapimage {
+  /buffer 1 string def
+  /rgbval 3 string def
+  /block  384 string def
+
+  % proc to read a block from file, and return RGB data
+  { currentfile buffer readhexstring pop
+    /bcount exch 0 get store
+    bcount 128 ge
+    {  % it's a non-run block
+      0 1 bcount 128 sub
+      { currentfile buffer readhexstring pop pop
+
+        % look up value in color map
+        /rgbval cmap buffer 0 get 3 mul 3 getinterval store
+
+        % and put it in position i*3 in block
+        block exch 3 mul rgbval putinterval
+      } for
+      block  0  bcount 127 sub 3 mul  getinterval
+    }
+
+    { % else it's a run block
+      currentfile buffer readhexstring pop pop
+
+      % look up value in colormap
+      /rgbval cmap buffer 0 get 3 mul 3 getinterval store
+
+      0 1 bcount { block exch 3 mul rgbval putinterval } for
+
+      block 0 bcount 1 add 3 mul getinterval
+    } ifelse
+  } % end of proc
+  false 3 colorimage
+} bind def
+
+
+278 208 8                      % dimensions of data
+[278 0 0 -208 0 208]           % mapping matrix
+rlecmapimage
+
+7f067f0614060000
+81060d7f0d7f0d110d810700
+82060d067f067f061006810700
+82060d067f067f061006810700
+82060d068106047f047f040c040106810700
+82060d068106048204060d820d060783070d0702010203098102047f047a040106810700
+
+82060d068106048704060b060001020781070283020702098109028102047f0446040e0d
+81000d0d0d81000481040d0d0d81000481040682060700
+82060d0681060482040806810600820002078507020902070201028109047f044604810d
+060b068307000d060b068207000482040d060b068207000481040682060700
+82060d0681060481040685060800040307820702098409020702098109040104050d2d04
+030d0204010d1a04050d6604810d060b068307000d06810600070001068207000482040d
+060b068207000481040682060700
+82060d068106048704060b0604000a0789070209020702070209040104010d0204010d1d
+04010d0b04010d0104010d0104010d1204010d0704010d1004010d5504810d060b068307
+000d06810600070001068207000482040d06010601000306010001068207000481040682
+060700
+82060d068106048204070681060001000107010286070209020702040104010d0204010d
+1d04010d0b04010d0504010d1204010d0704010d1004010d5504810d060b068307000d06
+820600060506810006830607000482040d06020601000106010002068207000481040682
+060700
+82060d0681060485040d0607060d010d8407020002090109820200040104010d0204010d
+81040d010d0104030d0104040d0204030d0104020d81040d010d81040d820d040d810d04
+0304010d0504040d0204030d0204030d0104020d0604010d0404030d0204020d0104020d
+5404810d060b068307000d06820600060506810006830607000482040d06030603000306
+8207000481040682060700
+82060d068106048104070507010006020204050d0104010d0104010d0104010d81040d81
+0d0481040d820d040d810d0481040d820d040d810d0481040d810d0481040d820d040d81
+0d040404030d0204020d81040d820d040d810d0481040d820d040d810d0481040d820d04
+0d810d040604010d0304010d0104010d81040d820d040d820d040d810d045404810d060b
+068307000d06820600060506810006830607000482040d06040601000406820700048104
+0682060700
+82060d068106048104050505010006030204010d0504010d0104010d0104010d81040d81
+0d0481040d820d040d040d81040d810d0481040d810d0481040d820d040d810d04070401
+0d0104010d0104010d81040d040d81040d040d81040d810d040604010d0304050d010401
+0d0204010d5504810d060b068307000d06820600060506810006830607000482040d0603
+06030003068207000481040682060700
+82060d0681060481040c010c8205080c830c05030a020a81030a810a040104010d050401
+0d0104010d0104010d81040d810d0481040d820d040d810d040304010d0104010d010401
+0d81040d810d040704010d0104010d0104010d81040d810d040304010d0404010d070401
+0d0304010d0604010d0104010d5504810d060b068307000d068206000605068100068306
+07000482040d06020601000106010002068207000481040682060700
+82060d068106048c040c05070507050c05030a030a840a03000a040104010d0504010d01
+04010d0104010d81040d810d0481040d820d040d810d0481040d820d040d810d0481040d
+810d040104020d0504010d0104010d0104010d0104010d81040d810d0481040d820d040d
+810d0481040d820d040d810d040604010d0304010d0104010d81040d820d040d820d040d
+810d045404810d060106050003068307000d06820600060506810006830607000482040d
+06010601000306010001068207000481040682060700
+82060d0681060482040c08020886070c05030a030a010a82030a040104010d0504010d02
+04030d0104040d0204030d0104010d0204010d0104010d0704030d0204010d0104010d01
+04030d0204030d0204010d0604010d0404030d0204020d0204010d5404810d0601060500
+03068307000d06810600070001068207000482040d060b068207000481040682060700
+82060d0681060482040c080208010c8205030a810a0384030a030a041404010d1404010d
+7f041804810d060b068307000d060b068207000482040d060b0682070004810406820607
+00
+82060d0681060482040c080308850c05030a030a010a82000a041404010d1204020d7f04
+1904810d070c0782000d070c0781000482040d070c0781000481040682060700
+82060d0681060483040c05080208850c05030a030a810a0382030a047f0446041f000104
+0f0001040106810700
+82060d0681060481040c050c8205030a050a7f047b040106810700
+82060d068106047f047f040c040106810700
+82060d067f067f061006810700
+82060d067f067f061006810700
+82060d0637067f073907810d061c06810700
+82060d06030616000306160001068107007f00360082060d0681060015000406810700
+82060d06020681000d140d820700068206000d140d8507000607000d7f0d350d84060d06
+000d140d820700060206810700
+82060d06020682000d06120601078100068306000d061206010784000607000d7f0d350d
+84060d06000d130d01078100060206810700
+82060d06020682000d06120601078100068306000d061206010784000607000d7f0d350d
+84060d06000d810d06110601078100060206810700
+82060d06020682000d06120601078100068306000d061206010784000607000d7f0d350d
+84060d06000d810d06110601078100060206810700
+82060d06020682000d0603068100060606810006030601078100068306000d0612060107
+84000607000d820d000d7f0d320d84060d06000d810d06110601078100060206810700
+82060d06020682000d06030683000600060306810006040601078100068306000d061206
+010785000607000d0081000d7f0d320d84060d06000d810d061106010781000602068107
+00
+82060d06020682000d06040683000600060106810006050601078100068306000d060b06
+8100060406010785000607000d000100810d0081000d820d000d810d0081000d810d0002
+007f0d220d84060d06000d810d06110601078100060206810700
+82060d06020682000d06050685000600060006060601078100068306000d060a06830006
+00060306010785000607000d0081000d810d0082000d000100810d0082000d0081000d81
+0d0081000d7f0d200d84060d06000d810d06110601078100060206810700
+82060d06020682000d0606068300060006070601078100068306000d0609068300060006
+0406010785000607000d0081000d810d0082000d000100810d0082000d0081000d810d00
+81000d7f0d200d84060d06000d810d06110601078100060206810700
+82060d06020682000d0607068300060006060601078100068306000d0604068100060106
+83000600060506010785000607000d0081000d010d0200810d000100010d0100010d0100
+7f0d210d84060d06000d810d06110601078100060206810700
+82060d06020682000d06060685000600060006050601078100068306000d060306870006
+0006000600060606010785000607000d0081000d010d0200810d000100010d0100010d01
+007f0d210d84060d06000d810d06110601078100060206810700
+82060d06020682000d06050681000601068300060006040601078100068306000d060406
+850006000600060706010784000607000d810d0081000d810d0081000d010d0100020d03
+007f0d220d84060d06000d810d0603060100810600820006008100060406010781000602
+06810700
+82060d06020682000d06040681000603068300060006030601078100068306000d060506
+83000600060806010784000607000d7f0d350d84060d06000d810d060306010081060082
+000600810006040601078100060206810700
+82060d06020682000d060306010005060100040601078100068306000d06060681000609
+06010784000607000d7f0d350d84060d06000d810d06110601078100060206810700
+82060d06020682000d06120601078100068306000d061206010784000607000d7f0d350d
+84060d06000d810d06110601078100060206810700
+82060d06020682000d06120601078100068306000d061206010784000607000d7f0d350d
+84060d06000d810d06110601078100060206810700
+82060d06020682000d0714078100068306000d07140784000607000d7f0d350d85060d06
+000d0714078100060206810700
+82060d06020682000d0714078100068306000d07140784000607000d7f0d350d84060d06
+000715078100060206810700
+82060d06030616000306160001068207000d7f0d350d82060d0681060015000406810700
+
+82060d0637068107067f063706810d061c06810700
+82060d0637067f0d3a0d1d06810700
+82060d0601067f077f070a07810d060106810700
+82060d0601068107007f007f00070082060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d010d0300010d0400020d03007f0d720d82060d060106810700
+82060d0601068207000d810d0081000d810d0082000d0081000d810d0082000d0081000d
+810d0081000d7f0d700d82060d060106810700
+82060d0601068207000d810d0081000d810d0082000d0081000d810d0082000d0004007f
+0d710d82060d060106810700
+82060d0601068207000d810d0081000d810d0082000d0081000d810d0082000d0081000d
+7f0d740d82060d060106810700
+82060d0601068207000d810d0081000d810d0082000d0081000d810d0082000d0081000d
+810d0081000d7f0d700d82060d060106810700
+82060d0601068207000d010d0300010d0100010d0100010d03007f0d720d82060d060106
+810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d060106ff0700040a040a040a040a040a040a040a040a040a040a040a040a040a04
+0a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a04
+0a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a04
+0a040a040a040a040a040a040a040a040a040a040a040a040a040aff040a040a040a040a
+040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a
+040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a
+040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a
+040a040a040a040a040a040a8c040a040a040a040a040a060d060106810700
+82060d0601068307000a047f047f04050482060d060106810700
+82060d060106820700047f047f040504830a060d060106810700
+82060d0601068307000a0482040d047f047f04020482060d060106810700
+82060d0601068207000481040d810d047f047f040104830a060d060106810700
+82060d0601068307000a0d020d81040d810d0482040d0481040d810d0481040d020d7f04
+720482060d060106810700
+82060d0601068207000481040d810d0481040d820d040d010d81040d820d040d810d0481
+040d810d047f046f04830a060d060106810700
+82060d0601068407000a040d810d0481040d820d040d010d81040d820d040d810d048104
+0d810d047f04700482060d060106810700
+82060d0601068207000481040d810d040104020d81040d010d0104010d0104010d7f0470
+04830a060d060106810700
+82060d0601068407000a040d810d040104020d81040d010d0104010d0104010d7f047104
+82060d060106810700
+82060d060106820700040104010d0104010d0204010d0204030d7f047104830a060d0601
+06810700
+82060d0601068307000a047f047f04050482060d060106810700
+82060d060106820700047f047f040504830a060d060106810700
+82060d060106ff07000a040a040a040a040a040a040a040a040a040a040a040a040a040a
+040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a
+040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a
+040a040a040a040a040a040a040a040a040a040a040a040a040a04ff0a040a040a040a04
+0a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a04
+0a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a04
+0a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a04
+0a040a040a040a040a040a048c0a040a040a040a040a04060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d010d81000d810d0081000d7f0d7e0d82060d060106810700
+82060d0601068207000d810d0081000d810d0081000d7f0d7e0d82060d060106810700
+82060d0601068307000d000200810d000300010d0300010d0300020d03007f0d690d8206
+0d060106810700
+82060d0601068207000d810d0081000d810d0081000d810d0082000d0081000d010d0100
+010d0100810d0081000d810d0081000d7f0d670d82060d060106810700
+82060d0601068207000d810d0081000d810d0081000d810d0082000d0081000d010d0500
+810d0004007f0d680d82060d060106810700
+82060d0601068207000d810d0081000d810d0081000d810d0082000d0081000d010d0100
+040d01007f0d6c0d82060d060106810700
+82060d0601068207000d810d0081000d810d0081000d810d0082000d0081000d010d0100
+010d0100810d0081000d810d0081000d7f0d670d82060d060106810700
+82060d0601068207000d010d0100810d0081000d810d0082000d0081000d020d0300020d
+03007f0d690d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068107067f067f060806810d060106810700
+82060d0601067f0d7f0d0b0d0206810700
+82060d067f067f061006810700
+82060d067f067f061006810700
+82060d0601067f077f070b070206810700
+82060d0601068107007f007f000800810d060106810700
+82060d0601068207000d7f0d760d0e060100810d060106810700
+82060d0601068207000d7f0d760d81060d0b0d81070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d1c0d0100120d01000e0d81000d6b0d0400400d82060d060a0681
+070082000d060106810700
+82060d0601068207000d010d81000d190d81000d120d81000d7b0d85000d000d000d3f0d
+82060d060a0681070082000d060106810700
+82060d0601068207000d810d000300030d0200010d0100010d0100020d0100810d008400
+0d000d0081000d090d0300010d82000d0081000d020d0200020d0200040d0300020d0200
+5f0d81000d020d0100810d0082000d0081000d810d0081000d010d02002c0d82060d0603
+06810006040681070082000d060106810700
+82060d0601068207000d010d81000d040d81000d010d81000d820d000d010d81000d820d
+000d810d0081000d810d0081000d820d000d070d81000d010d81000d810d0081000d820d
+000d820d000d010d81000d020d81000d020d81000d010d81000d820d000d010d81000d5d
+0d81000d030d0100030d81000d010d81000d820d000d010d81000d2a0d82060d06020602
+00040681070082000d060106810700
+82060d0601068207000d010d81000d040d81000d010d81000d820d000d010d81000d820d
+000d010d81000d820d000d010d81000d070d81000d040d81000d010d81000d820d000d01
+0d81000d020d81000d020d81000d040d04005e0d81000d030d81000d030d81000d010d81
+000d810d0003002b0d82060d0601060400030681070082000d060106810700
+82060d0601068207000d010d81000d010d81000d820d000d010d81000d820d000d810d00
+81000d820d000d010d81000d820d000d010d81000d070d81000d040d81000d010d81000d
+820d000d010d81000d020d81000d020d81000d040d81000d610d81000d030d81000d030d
+81000d810d0081000d820d000d2e0d82060d068106000500020681070082000d06010681
+0700
+82060d0601068207000d020d0200030d0200030d0100810d0081000d810d000200810d00
+0100810d000100080d0300810d000100810d000100010d0200020d0400020d0300020d03
+005d0d0200020d0300030d0100810d0081000d810d0002002b0d82060d060a0681070082
+000d060106810700
+82060d0601068207000d1a0d81000d7f0d590d82060d060a0681070082000d0601068107
+00
+82060d0601068207000d170d02007f0d5b0d82060d060a0681070082000d060106810700
+
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d8106070c070100810d060106810700
+82060d0601068207000d7f0d760d1000810d060106810700
+82060d0601068207000d7f0d760d92060d060d060d060d060d060d060d060d000d060106
+810700
+82060d0601068207000d7f0d770d91060d060d060d060d060d060d060d06000d06010681
+0700
+82060d0601068207000d030d81000d7f0d2d0d81000d020d0300390d92060d060d060d06
+0d060d060d060d060d000d060106810700
+82060d0601068207000d7f0d320d0100030d81000d3c0d91060d060d060d060d060d060d
+060d06000d060106810700
+82060d0601068207000d010d0200040d0200010d0100810d0081000d7f0d1c0d83000d00
+0d020d81000d3b0d92060d060d060d060d060d060d060d060d000d060106810700
+82060d0601068207000d030d81000d020d81000d010d81000d810d0081000d820d000d7f
+0d1a0d81000d820d000d020d02003b0d91060d060d060d060d060d060d060d06000d0601
+06810700
+82060d0601068207000d030d81000d030d0300010d81000d010d81000d7f0d1a0d040005
+0d81000d380d92060d060d060d060d060d060d060d060d000d060106810700
+82060d0601068207000d030d81000d020d81000d010d81000d820d000d010d81000d7f0d
+1d0d81000d010d81000d010d81000d380d0e060100810d060106810700
+82060d0601068207000d010d0400010d0800810d0001007f0d1c0d0200020d02003a0d81
+060d0b0d81070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d810d0081000d060d81000d030d0100040d01007f0d170d020003
+0d0300390d82060d060a0681070082000d060106810700
+82060d0601068207000d010d81000d0d0d81000d040d81000d7f0d150d81000d010d8100
+0d010d81000d3b0d82060d060a0681070082000d060106810700
+82060d0601068207000d010d82000d0081000d010d0200050d81000d040d81000d7f0d18
+0d81000d020d81000d3b0d82060d060a0681070082000d060106810700
+82060d0601068207000d010d0100010d81000d020d81000d040d81000d040d81000d7f0d
+170d81000d030d02003a0d82060d060a0681070082000d060106810700
+82060d0601068207000d010d81000d010d81000d020d81000d040d81000d040d81000d7f
+0d160d81000d070d81000d380d82060d060a0681070082000d060106810700
+82060d0601068207000d010d81000d010d81000d020d81000d040d81000d040d81000d7f
+0d150d81000d040d81000d010d81000d380d82060d060a0681070082000d060106810700
+
+82060d0601068207000d810d000300020d0400010d0400010d04007f0d140d0400020d02
+003a0d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d030d81000d0a0d0100050d81000d7f0d5b0d82060d060a068107
+0082000d060106810700
+82060d0601068207000d110d81000d7f0d620d82060d060a0681070082000d0601068107
+00
+82060d0601068207000d010d0300010d0100010d0100030d81000d020d0200040d020001
+0d0100810d0081000d7f0d070d0200010d0100810d0081000d020d0200330d82060d060a
+0681070082000d060106810700
+82060d0601068207000d040d81000d010d81000d010d81000d020d81000d040d81000d02
+0d81000d010d81000d810d0081000d820d000d7f0d050d81000d010d81000d810d008100
+0d820d000d820d000d010d81000d310d82060d060a0681070082000d060106810700
+82060d0601068207000d040d81000d010d81000d010d81000d020d81000d040d81000d03
+0d0300010d81000d010d81000d7f0d050d81000d010d81000d820d000d010d81000d810d
+000300320d82060d060a0681070082000d060106810700
+82060d0601068207000d040d81000d010d81000d810d0081000d020d81000d040d81000d
+020d81000d010d81000d820d000d010d81000d7f0d050d81000d010d81000d820d000d01
+0d81000d820d000d350d82060d060a0681070082000d060106810700
+82060d0601068207000d040d81000d020d0100810d0082000d000300010d0400010d0800
+810d0001007f0d060d0200010d0200810d000100010d0300320d82060d060a0681070082
+000d060106810700
+82060d0601068207000d040d81000d7f0d6f0d82060d060a0681070082000d0601068107
+00
+82060d0601068207000d010d02007f0d710d82060d060a0681070082000d060106810700
+
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d810d0081000d060d81000d7f0d690d82060d060a068107008200
+0d060106810700
+82060d0601068207000d010d81000d0b0d81000d7f0d640d82060d060a0681070082000d
+060106810700
+82060d0601068207000d010d82000d0081000d010d0200020d0400010d0200820d000d02
+0d0200010d0100810d0081000d7f0d050d0100810d0081000d020d0200010d0100810d00
+81000d020d02002c0d82060d060a0681070082000d060106810700
+82060d0601068207000d010d0100010d81000d020d81000d020d81000d040d85000d000d
+000d820d000d010d81000d810d0081000d820d000d7f0d050d0100010d81000d820d000d
+010d81000d810d0081000d820d000d820d000d010d81000d2a0d82060d060a0681070082
+000d060106810700
+82060d0601068207000d010d81000d010d81000d020d81000d020d81000d040d85000d00
+0d000d010d0300010d81000d010d81000d7f0d050d81000d010d81000d820d000d010d81
+000d820d000d010d81000d810d0003002b0d82060d060a0681070082000d060106810700
+
+82060d0601068207000d010d81000d010d81000d020d81000d020d81000d010d81000d86
+0d000d000d000d820d000d010d81000d820d000d010d81000d7f0d050d81000d010d8100
+0d820d000d010d81000d820d000d010d81000d820d000d2e0d82060d060a068107008200
+0d060106810700
+82060d0601068207000d810d000300020d0400020d0200010d0600810d000400810d0002
+007f0d060d0200810d000100010d0200010d0200810d000100010d03002b0d8106070c07
+0100810d060106810700
+82060d0601068207000d240d81000d7f0d4f0d1000810d060106810700
+82060d0601068207000d230d02007f0d4f0d0e060100810d060106810700
+82060d0601068207000d7f0d760d81060d0b0d81070082000d060106810700
+82060d060106820700047f04760482060d060a0681070082000d060106810700
+82060d060106820700047f04760482060d060a0681070082000d060106810700
+82060d060106820700047f04760482060d060a0681070082000d060106810700
+82060d060106820700047f04760482060d060a0681070082000d060106810700
+82060d060106820700043404810d041304010d7f04290482060d06810600050002068107
+0082000d060106810700
+82060d060106820700041d04810d042b04810d046204810d04430482060d060106040003
+0681070082000d060106810700
+82060d060106820700040204030d0204020d0104010d81040d810d040204030d81040d03
+0d0204010d81040d810d040104020d0204020d0204010d81040d810d040204020d030401
+0d82040d046104040d0104020d81040d010d0104020d330482060d060206020004068107
+0082000d060106810700
+82060d060106820700040104810d040104810d0482040d040104810d0481040d810d0482
+040d0482040d040404810d040504010d0304810d040104810d040204810d040204010d01
+04810d0482040d040104810d0482040d0481040d810d046204810d040404810d04010481
+0d0482040d040104810d04310482060d060306810006040681070082000d060106810700
+
+82060d060106820700040104810d040404810d040104810d0482040d040104810d040104
+020d0204810d040504810d040404030d0304810d040204810d040104810d0481040d030d
+0104810d040104810d046204810d040404850d040d040d0482040d040104810d04310482
+060d060a0681070082000d060106810700
+82060d060106820700040104810d040404810d040104810d0482040d040104810d040404
+810d0482040d040104810d040104810d040304810d040104810d040204810d040204810d
+040104810d0482040d040404810d040104810d046204810d040104810d0486040d040d04
+0d0482040d040104810d04310482060d060a0681070082000d060106810700
+82060d060106820700040204030d0204020d0104020d81040d010d81040d020d0304020d
+0204030d0204050d81040d030d81040d010d81040d010d0104030d0204040d6304020d03
+04830d040d040204020d330482060d060a0681070082000d060106810700
+82060d060106820700047f04760482060d060a0681070082000d060106810700
+82060d060106820700047f0476048106070c070100810d060106810700
+82060d060106820700047f0476041000810d060106810700
+82060d0601068107067f0677061000810d060106810700
+82060d0601067f0d7f0d0b0d0206810700
+82060d067f067f061006810700
+82060d067f067f061006810700
+82060d067f067f061006810700
+82060d067f067f061006810700
+82060d067f067f061006810700
+82060d067f067f061006810700
+82060d067f067f061006810700
+82060d067f067f061006810700
+82060d067f067f061006810700
+8106077f077f0712070000
+7f007f001500
+
+%
+% Compression made this file 6.27% of the uncompressed size.
+%
+
+
+showpage
+
+% stop using temporary dictionary
+end
+
+% restore original state
+origstate restore
+
+%%Trailer
diff --git a/docs/latex/wx/prop1.gif b/docs/latex/wx/prop1.gif
new file mode 100644 (file)
index 0000000..4344434
Binary files /dev/null and b/docs/latex/wx/prop1.gif differ
diff --git a/docs/latex/wx/prop2.bmp b/docs/latex/wx/prop2.bmp
new file mode 100644 (file)
index 0000000..d909f41
Binary files /dev/null and b/docs/latex/wx/prop2.bmp differ
diff --git a/docs/latex/wx/prop2.eps b/docs/latex/wx/prop2.eps
new file mode 100644 (file)
index 0000000..398e70c
--- /dev/null
@@ -0,0 +1,664 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: prop2.eps
+%%Creator: XV Version 2.20  Rev: 4/24/92  -  by John Bradley
+%%BoundingBox: 167 221 466 500
+%%Pages: 1
+%%DocumentFonts:
+%%EndComments
+%%EndProlog
+
+%%Page: 1 1
+
+% remember original state
+/origstate save def
+
+% build a temporary dictionary
+20 dict begin
+
+% lower left corner
+167 221 translate
+
+% size of image (on paper, in 1/72inch coords)
+299 279 scale
+
+% define 'colorimage' if it isn't defined
+%   ('colortogray' and 'mergeprocs' come from xwd2ps
+%     via xgrab)
+/colorimage where   % do we know about 'colorimage'?
+  { pop }           % yes: pop off the 'dict' returned
+  {                 % no:  define one
+    /colortogray {  % define an RGB->I function
+      /rgbdata exch store    % call input 'rgbdata'
+      rgbdata length 3 idiv
+      /npixls exch store
+      /rgbindx 0 store
+      /grays npixls string store  % str to hold the result
+      0 1 npixls 1 sub {
+        grays exch
+        rgbdata rgbindx       get 20 mul    % Red
+        rgbdata rgbindx 1 add get 32 mul    % Green
+        rgbdata rgbindx 2 add get 12 mul    % Blue
+        add add 64 idiv      % I = .5G + .31R + .18B
+        put
+        /rgbindx rgbindx 3 add store
+      } for
+      grays
+    } bind def
+
+    % Utility procedure for colorimage operator.
+    % This procedure takes two procedures off the
+    % stack and merges them into a single procedure.
+
+    /mergeprocs { % def
+      dup length
+      3 -1 roll
+      dup
+      length
+      dup
+      5 1 roll
+      3 -1 roll
+      add
+      array cvx
+      dup
+      3 -1 roll
+      0 exch
+      putinterval
+      dup
+      4 2 roll
+      putinterval
+    } bind def
+
+    /colorimage { % def
+      pop pop     % remove 'false 3' operands
+      {colortogray} mergeprocs
+      image
+    } bind def
+  } ifelse          % end of 'false' case
+
+
+
+% define the colormap
+/cmap 42 string def
+
+
+% load up the colormap
+currentfile cmap readhexstring
+000000 bf0000 00bf00 bfbf00 0000bf 00bfbf c0c0c0 808080 ff0000 00ff00 
+ffff00 0000ff 00ffff ffffff 
+pop pop   % lose return values from readhexstring
+
+
+% rlecmapimage expects to have 'w h bits matrix' on stack
+/rlecmapimage {
+  /buffer 1 string def
+  /rgbval 3 string def
+  /block  384 string def
+
+  % proc to read a block from file, and return RGB data
+  { currentfile buffer readhexstring pop
+    /bcount exch 0 get store
+    bcount 128 ge
+    {  % it's a non-run block
+      0 1 bcount 128 sub
+      { currentfile buffer readhexstring pop pop
+
+        % look up value in color map
+        /rgbval cmap buffer 0 get 3 mul 3 getinterval store
+
+        % and put it in position i*3 in block
+        block exch 3 mul rgbval putinterval
+      } for
+      block  0  bcount 127 sub 3 mul  getinterval
+    }
+
+    { % else it's a run block
+      currentfile buffer readhexstring pop pop
+
+      % look up value in colormap
+      /rgbval cmap buffer 0 get 3 mul 3 getinterval store
+
+      0 1 bcount { block exch 3 mul rgbval putinterval } for
+
+      block 0 bcount 1 add 3 mul getinterval
+    } ifelse
+  } % end of proc
+  false 3 colorimage
+} bind def
+
+
+299 279 8                      % dimensions of data
+[299 0 0 -279 0 279]           % mapping matrix
+rlecmapimage
+
+7f0003007f072607
+07077f067f0618068100070707
+070781060d7f0d7f0d150d820700070707
+070782060d067f067f061406820700070707
+070782060d067f067f061406820700070707
+070782060d068106077f077f0710070106820700070707
+070782060d068106078207060d820d060783070d0702010203098102077f077e07010682
+0700070707
+070782060d068106078707060b060001020781070283020702098109028102077f074a07
+0e0d81000d0d0d81000781070d0d0d81000781070683060700070707
+070782060d0681060782070806810600820002078507020902070201028109077f074a07
+810d060b068307000d060b068207000782070d060b068207000781070683060700070707
+
+070782060d06810607810706850608000403078207020984090207020981090701070506
+2d070306020701061a0705066a07810d060b068307000d06810600070001068207000782
+070d060b068207000781070683060700070707
+070782060d068106078707060b0604000a07890702090207020702090701070106020701
+061d0701060b07010601070106010701061207010607070106100701065907810d060b06
+8307000d06810600070001068207000782070d0601060100030601000106820700078107
+0683060700070707
+070782060d0681060701070106020001070102860702090207020701070106020701061d
+0701060b070106050701061207010607070106100701065907810d060b068307000d0682
+0600060506810006830607000782070d0602060100010601000206820700078107068306
+0700070707
+070782060d0681060785070d0607060d010d840702000209010982020007010701060207
+010681070601060107030601070406020703060107020681070601068107068206070681
+060703070106050704060207030602070306010702060607010604070306020702060107
+02065807810d060b068307000d06820600060506810006830607000782070d0603060300
+03068207000781070683060700070707
+070782060d06810607070701000602020705060107010601070106010701068107068106
+078107068206070681060781070682060706810607810706810607810706820607068106
+070407030602070206810706820607068106078107068206070681060781070682060706
+81060706070106030701060107010681070682060706820607068106075807810d060b06
+8307000d06820600060506810006830607000782070d0604060100040682070007810706
+83060700070707
+070782060d06810607810705050501000603020701060507010601070106010701068107
+068106078107068206070604068107068106078107068106078107068206070681060707
+070106010701060107010681070604068107060406810706810607060701060307050601
+070106020701065907810d060b068307000d06820600060506810006830607000782070d
+060306030003068207000781070683060700070707
+070782060d0681060781070c010c8205080c830c05030a020a81030a810a070107010605
+070106010701060107010681070681060781070682060706810607030701060107010601
+070106810706810607070701060107010601070106810706810607030701060407010607
+0701060307010606070106010701065907810d060b068307000d06820600060506810006
+830607000782070d06020601000106010002068207000781070683060700070707
+070782060d068106078c070c05070507050c05030a030a840a03000a0701070106050701
+060107010601070106810706810607810706820607068106078107068206070681060781
+070681060701070206050701060107010601070106010701068107068106078107068206
+070681060781070682060706810607060701060307010601070106810706820607068206
+07068106075807810d060106050003068307000d06820600060506810006830607000782
+070d06010601000306010001068207000781070683060700070707
+070782060d0681060782070c08020886070c05030a030a010a82030a0701070106050701
+060207030601070406020703060107010602070106010701060707030602070106010701
+06010703060207030602070106060701060407030602070206020701065807810d060106
+050003068307000d06810600070001068207000782070d060b0682070007810706830607
+00070707
+070782060d0681060782070c080208010c8205030a810a0384030a030a07140701061407
+01067f071c07810d060b068307000d060b068207000782070d060b068207000781070683
+060700070707
+070782060d0681060782070c080308850c05030a030a010a82000a071407010612070206
+7f071d07810d070c0782000d070c0781000782070d070c07810007810706830607000707
+07
+070782060d0681060783070c05080208850c05030a030a810a0382030a077f074a071f00
+01070f0001070106820700070707
+070782060d0681060781070c050c8205030a050a7f077f070106820700070707
+070782060d068106077f077f0710070106820700070707
+070782060d067f067f061406820700070707
+070782060d067f067f061406820700070707
+070782060d0637067f073d07810d061c06820700070707
+070782060d06030616000306160001068107007f003a0082060d06810600150004068207
+00070707
+070782060d06020681000d140d820700068206000d140d8507000607000d7f0d390d8406
+0d06000d140d820700060206820700070707
+070782060d06020682000d06120601078100068306000d061206010784000607000d7f0d
+390d84060d06000d130d01078100060206820700070707
+070782060d06020682000d06120601078100068306000d061206010784000607000d7f0d
+390d84060d06000d810d06110601078100060206820700070707
+070782060d06020682000d06120601078100068306000d061206010784000607000d7f0d
+390d84060d06000d810d06110601078100060206820700070707
+070782060d06020682000d0603068100060606810006030601078100068306000d061206
+010784000607000d010d0100020d0200020d0200020d02007f0d230d84060d06000d810d
+06110601078100060206820700070707
+070782060d06020682000d060306020003060200040601078100068306000d060b068100
+060406010784000607000d810d000100010d0100810d0082000d0082000d0082000d0082
+000d0081000d7f0d210d84060d06000d810d06110601078100060206820700070707
+070782060d06020682000d060406020001060200050601078100068306000d060a060200
+0406010785000607000d000200010d0100810d0082000d0082000d0082000d0082000d00
+81000d7f0d210d84060d06000d810d06110601078100060206820700070707
+070782060d06020682000d0605060500060601078100068306000d060906030004060107
+87000607000d000d0081000d810d0082000d0082000d0082000d0082000d0082000d0081
+000d7f0d210d84060d06000d810d06110601078100060206820700070707
+070782060d06020682000d0606060300070601078100068306000d060806030005060107
+84000607000d010d0100010d0100810d0082000d0082000d0082000d0082000d0081000d
+7f0d210d84060d06000d810d06110601078100060206820700070707
+070782060d06020682000d0606060300070601078100068306000d060306010001060300
+0606010784000607000d010d0100010d0100810d0082000d0082000d0082000d0082000d
+0081000d7f0d210d84060d06000d810d06110601078100060206820700070707
+070782060d06020682000d0605060500060601078100068306000d060306060007060107
+84000607000d010d0100010d0100810d0082000d0082000d0082000d0082000d0081000d
+7f0d210d84060d06000d810d06110601078100060206820700070707
+070782060d06020682000d060406020001060200050601078100068306000d0604060400
+0806010784000607000d010d0100020d0200020d0200020d02007f0d230d84060d06000d
+810d060306010781060782070607810706040601078100060206820700070707
+070782060d06020682000d060306020003060200040601078100068306000d0605060200
+0906010784000607000d7f0d390d84060d06000d810d0603060107810607820706078107
+06040601078100060206820700070707
+070782060d06020682000d060306010005060100040601078100068306000d0606068100
+060906010784000607000d7f0d390d84060d06000d810d06110601078100060206820700
+070707
+070782060d06020682000d06120601078100068306000d061206010784000607000d7f0d
+390d84060d06000d810d06110601078100060206820700070707
+070782060d06020682000d06120601078100068306000d061206010784000607000d7f0d
+390d84060d06000d810d06110601078100060206820700070707
+070782060d06020682000d0714078100068306000d07140784000607000d7f0d390d8506
+0d06000d0714078100060206820700070707
+070782060d06020682000d0714078100068306000d07140784000607000d7f0d390d8406
+0d06000715078100060206820700070707
+070782060d06030616000306160001068207000d7f0d390d82060d068106001500040682
+0700070707
+070782060d0637068107067f063b06810d061c06820700070707
+070782060d0637067f0d3e0d1d06820700070707
+070782060d0601067f077f070e07810d060106820700070707
+070782060d0601068107007f007f000b0082060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d040d0100120d01007f0d150d0200550d82060d0601068207
+00070707
+070782060d0601068207000d030d81000d140d81000d7f0d130d81000d010d81000d530d
+82060d060106820700070707
+070782060d0601068207000d020d0300010d0100810d0081000d010d0200030d0100820d
+000d7f0d130d81000d010d81000d530d82060d060106820700070707
+070782060d0601068207000d030d81000d030d0100030d81000d010d81000d820d000d81
+0d0081000d7f0d130d81000d010d81000d530d82060d060106820700070707
+070782060d0601068207000d030d81000d030d81000d030d0400010d81000d010d81000d
+7f0d130d81000d010d81000d530d82060d060106820700070707
+070782060d0601068207000d030d81000d030d81000d030d81000d040d81000d010d8100
+0d7f0d130d81000d010d81000d530d82060d060106820700070707
+070782060d0601068207000d020d0300010d0300030d0300020d04007f0d140d0200550d
+82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d1c0d0100120d01000e0d81000d6b0d0400090d0100480d82
+060d060106820700070707
+070782060d0601068207000d010d81000d190d81000d120d81000d7c0d81000d820d000d
+090d81000d470d82060d060106820700070707
+070782060d0601068207000d810d000300030d0200010d0100010d0100020d0100810d00
+84000d000d0081000d090d0300010d82000d0081000d020d0200020d0200040d0300020d
+02005e0d83000d000d020d0200040d81000d030d0300020d0200390d82060d0601068207
+00070707
+070782060d0601068207000d010d81000d040d81000d010d81000d820d000d010d81000d
+820d000d810d0081000d810d0081000d820d000d070d81000d010d81000d810d0081000d
+820d000d820d000d010d81000d020d81000d020d81000d010d81000d820d000d010d8100
+0d5c0d0200020d81000d010d81000d020d81000d020d81000d040d81000d010d81000d37
+0d82060d060106820700070707
+070782060d0601068207000d010d81000d040d81000d010d81000d820d000d010d81000d
+820d000d010d81000d820d000d010d81000d070d81000d040d81000d010d81000d820d00
+0d010d81000d020d81000d020d81000d040d04005d0d83000d000d020d0300030d81000d
+030d0200020d0400380d82060d060106820700070707
+070782060d0601068207000d010d81000d010d81000d820d000d010d81000d820d000d81
+0d0081000d820d000d010d81000d820d000d010d81000d070d81000d040d81000d010d81
+000d820d000d010d81000d020d81000d020d81000d040d81000d600d81000d030d81000d
+010d81000d020d81000d060d81000d820d000d3b0d82060d060106820700070707
+070782060d0601068207000d020d0200030d0200030d0100810d0081000d810d00020081
+0d000100810d000100080d0300810d000100810d000100010d0200020d0400020d030002
+0d03005c0d0200030d0500810d000300010d0300030d0300380d82060d06010682070007
+0707
+070782060d0601068207000d1a0d81000d7f0d6d0d82060d060106820700070707
+070782060d0601068207000d170d02007f0d6f0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d060106820700047f047f040a0482060d060106820700070707
+070782060d060106820700047f047f040a0482060d060106820700070707
+070782060d060106820700047f047f040a0482060d060106820700070707
+070782060d060106820700047f047f040a0482060d060106820700070707
+070782060d060106820700040304810d047f043204010d4f0482060d0601068207000707
+07
+070782060d060106820700047f043904810d044e0482060d060106820700070707
+070782060d060106820700040104020d0404020d0104010d81040d810d047f042404810d
+044e0482060d060106820700070707
+070782060d060106820700040304810d040204810d040104810d0481040d810d0482040d
+047f041a04040d0304810d044e0482060d060106820700070707
+070782060d060106820700040304810d040304030d0104810d040104810d047f04230481
+0d044e0482060d060106820700070707
+070782060d060106820700040304810d040204810d040104810d0482040d040104810d04
+7f042304810d044e0482060d060106820700070707
+070782060d060106820700040104040d0104080d81040d010d7f042104040d4d0482060d
+060106820700070707
+070782060d060106820700047f047f040a0482060d060106820700070707
+070782060d060106820700047f047f040a0482060d060106820700070707
+070782060d060106820700047f047f040a0482060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d810d0081000d060d81000d030d0100040d01007f0d170d02
+00030d03004d0d82060d060106820700070707
+070782060d0601068207000d010d81000d0d0d81000d040d81000d7f0d150d81000d010d
+81000d010d81000d4f0d82060d060106820700070707
+070782060d0601068207000d010d82000d0081000d010d0200050d81000d040d81000d7f
+0d180d81000d020d81000d4f0d82060d060106820700070707
+070782060d0601068207000d010d0100010d81000d020d81000d040d81000d040d81000d
+7f0d170d81000d030d02004e0d82060d060106820700070707
+070782060d0601068207000d010d81000d010d81000d020d81000d040d81000d040d8100
+0d7f0d160d81000d070d81000d4c0d82060d060106820700070707
+070782060d0601068207000d010d81000d010d81000d020d81000d040d81000d040d8100
+0d7f0d150d81000d040d81000d010d81000d4c0d82060d060106820700070707
+070782060d0601068207000d810d000300020d0400010d0400010d04007f0d140d040002
+0d02004e0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d030d81000d0a0d0100050d81000d7f0d6f0d82060d060106
+820700070707
+070782060d0601068207000d110d81000d7f0d760d82060d060106820700070707
+070782060d0601068207000d010d0300010d0100010d0100030d81000d020d0200040d02
+00010d0100810d0081000d7f0d070d0200010d0100810d0081000d020d0200470d82060d
+060106820700070707
+070782060d0601068207000d040d81000d010d81000d010d81000d020d81000d040d8100
+0d020d81000d010d81000d810d0081000d820d000d7f0d050d81000d010d81000d810d00
+81000d820d000d820d000d010d81000d450d82060d060106820700070707
+070782060d0601068207000d040d81000d010d81000d010d81000d020d81000d040d8100
+0d030d0300010d81000d010d81000d7f0d050d81000d010d81000d820d000d010d81000d
+810d000300460d82060d060106820700070707
+070782060d0601068207000d040d81000d010d81000d810d0081000d020d81000d040d81
+000d020d81000d010d81000d820d000d010d81000d7f0d050d81000d010d81000d820d00
+0d010d81000d820d000d490d82060d060106820700070707
+070782060d0601068207000d040d81000d020d0100810d0082000d000300010d0400010d
+0800810d0001007f0d060d0200010d0200810d000100010d0300460d82060d0601068207
+00070707
+070782060d0601068207000d040d81000d7f0d7f0d030d82060d060106820700070707
+070782060d0601068207000d010d02007f0d7f0d050d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d810d0081000d060d81000d7f0d7d0d82060d060106820700
+070707
+070782060d0601068207000d010d81000d0b0d81000d7f0d780d82060d06010682070007
+0707
+070782060d0601068207000d010d82000d0081000d010d0200020d0400010d0200820d00
+0d020d0200010d0100810d0081000d7f0d050d0100810d0081000d020d0200010d010081
+0d0081000d020d0200400d82060d060106820700070707
+070782060d0601068207000d010d0100010d81000d020d81000d020d81000d040d85000d
+000d000d820d000d010d81000d810d0081000d820d000d7f0d050d0100010d81000d820d
+000d010d81000d810d0081000d820d000d820d000d010d81000d3e0d82060d0601068207
+00070707
+070782060d0601068207000d010d81000d010d81000d020d81000d020d81000d040d8500
+0d000d000d010d0300010d81000d010d81000d7f0d050d81000d010d81000d820d000d01
+0d81000d820d000d010d81000d810d0003003f0d82060d060106820700070707
+070782060d0601068207000d010d81000d010d81000d020d81000d020d81000d010d8100
+0d860d000d000d000d820d000d010d81000d820d000d010d81000d7f0d050d81000d010d
+81000d820d000d010d81000d820d000d010d81000d820d000d420d82060d060106820700
+070707
+070782060d0601068207000d810d000300020d0400020d0200010d0600810d000400810d
+0002007f0d060d0200810d000100010d0200010d0200810d000100010d03003f0d82060d
+060106820700070707
+070782060d0601068207000d240d81000d7f0d630d82060d060106820700070707
+070782060d0601068207000d230d02007f0d630d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d340d81000d130d01007f0d3d0d82060d0601068207000707
+07
+070782060d0601068207000d1d0d81000d2b0d81000d620d81000d570d82060d06010682
+0700070707
+070782060d0601068207000d020d0300020d0200010d0100810d0081000d020d0300810d
+000300020d0100810d0081000d010d0200020d0200020d0100810d0081000d020d020003
+0d0100820d000d610d0400010d0200810d000100010d0200470d82060d06010682070007
+0707
+070782060d0601068207000d010d81000d010d81000d820d000d010d81000d810d008100
+0d820d000d820d000d040d81000d050d0100030d81000d010d81000d020d81000d020d01
+00010d81000d820d000d010d81000d820d000d810d0081000d620d81000d040d81000d01
+0d81000d820d000d010d81000d450d82060d060106820700070707
+070782060d0601068207000d010d81000d040d81000d010d81000d820d000d010d81000d
+010d0200020d81000d050d81000d040d0300030d81000d020d81000d010d81000d810d00
+0300010d81000d010d81000d620d81000d040d85000d000d000d820d000d010d81000d45
+0d82060d060106820700070707
+070782060d0601068207000d010d81000d040d81000d010d81000d820d000d010d81000d
+040d81000d820d000d010d81000d010d81000d030d81000d010d81000d020d81000d020d
+81000d010d81000d820d000d040d81000d010d81000d620d81000d010d81000d860d000d
+000d000d820d000d010d81000d450d82060d060106820700070707
+070782060d0601068207000d020d0300020d0200010d0200810d000100810d000200030d
+0200020d0300020d0500810d000300810d000100810d000100010d0300020d0400630d02
+00030d83000d000d020d0200470d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+7f077f0726078100070107
+03077f0d7f0d210d820700070107
+0307820d06077f077f071c07840d060700070107
+0307830d0607047f047f041c0483060700070107
+0307830d0607047f047f041c0483060700070107
+0307830d0607047f047f040a040e0d8100048404060700070107
+0307830d0607047f047f040a04810d060b06820700048404060700070107
+0307830d06070481040d040d3a04010d7f044604810d060b068207000484040607000701
+07
+0307830d06070481040d810d040104010d1d04010d1904010d7f044604810d0601060107
+030601070106820700048404060700070107
+0307830d06070481040d810d040104010d1d04010d1904010d7f044604810d0602060107
+01060107010d83060700048404060700070107
+0307830d06070481040d810d040104010d81040d010d0104030d0104040d0204030d0104
+020d81040d010d81040d820d040d810d040304010d0104010d0104030d0104010d81040d
+810d0481040d810d0481040d020d0604030d0104020d81040d010d0104030d0104020d7f
+041a04810d0603060307010d0106820700048404060700070107
+0307830d06070481040d040d0104010d0104010d0104010d81040d810d0481040d820d04
+0d810d0481040d820d040d810d0481040d810d0481040d820d040d810d040304010d0104
+010d0404010d81040d820d040d810d0481040d820d040d810d0481040d810d040304010d
+0104010d81040d810d0481040d810d0481040d810d0481040d820d040d810d047f041a04
+810d0604060107010d0206820700048404060700070107
+0307830d06070481040d810d040404010d0104010d0104010d81040d810d0481040d820d
+040d040d81040d810d0481040d810d0481040d820d040d810d040404030d0204040d8104
+0d820d040d810d0481040d820d040d040d0404050d81040d810d0481040d810d0481040d
+810d0481040d820d040d810d047f041a04810d0603060307030682070004840406070007
+0107
+0307830d06070481040d810d040404010d0104010d0104010d81040d810d0481040d820d
+040d810d040304010d0104010d0104010d81040d810d040404030d0104010d0104010d81
+040d820d040d810d0481040d820d040d810d040704010d0404010d0104010d0104010d01
+04010d81040d810d047f041a04810d0602060107010d0107020682070004840406070007
+0107
+0307830d06070481040d810d040404010d0104010d0104010d81040d810d0481040d820d
+040d810d0481040d820d040d810d0481040d810d040104020d0704010d0204010d010401
+0d81040d820d040d820d040d010d81040d810d0481040d810d040304010d0104010d8104
+0d810d0481040d810d0481040d810d0481040d820d040d810d047f041a04810d06010601
+07010d010601070106820700048404060700070107
+0307830d06070481040d810d040404010d0204030d0104040d0204030d0104010d020401
+0d0104010d0804010d0304040d81040d810d0481040d030d0104030d0604030d0104010d
+0104010d0204030d0104010d7f041b04810d060206010d0306010d830607000484040607
+00070107
+0307830d0607041304010d1404010d7f045d04810d060b06820700048404060700070107
+
+0307830d0607041304010d1204020d7f045e04810d070c078100048404060700070107
+0307830d0607047f047f040a040f00010483060700070107
+0307830d0607047f047f041c0483060700070107
+0307830d0607047f047f041c0483060700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d06170602037f067f060406820700070107
+0307810d06160681030a830a0600067f067f060206820700070107
+0307810d06150681030a020a83060007067f067f0683060700070107
+0307810d06150681030a030a8100078107067f067f06820700070107
+0307810d06140681030a040a820600078107067f067e06820700070107
+0307810d06140681030a050a8100078107067f067e06820700070107
+0307810d06130681030a060a820600078107067f067d06820700070107
+0307810d06130681030a070a8100078107067f067d06820700070107
+0307810d06120681030a080a820600078107067f067c06820700070107
+0307810d06120681030a010a810600010081060a010a8100078107067f067c0682070007
+0107
+0307810d06110681030a020a0400020a820600078107067f067b06820700070107
+0307810d06110681030a020a0400030a8100078107061606810006030681000605068100
+0627068100061b0681000620068100062c06040001060200140681000602060400010602
+0001068100060a06820700070107
+0307810d06100681030a030a0400030a8206000781070615068100060306810006050681
+000621068100060306810006230681000618068100060906810006200681000603068100
+060106810006120681000602068100060306810006010683000600060a06820700070107
+
+0307810d06100681030a030a0400040a8100078107061606810006010681000606068100
+062106810006030681000623068100061806810006090681000620068100060306810006
+0106810006120681000602068100060306810006010683000600060a06820700070107
+0307810d060f0681030a040a0400040a8206000781070615068100060106810006010602
+000106830006000601068100068106000100040602008106008100068206000601068100
+068106008100068106008100060206030002060200050602000106820006008100060306
+840006000600810006810600810006810600010002060300010602000106010003060300
+020602000106010082060006820600068206000681060001000206020001068200060081
+000606060300010681000601068100060306020001068200060081000601060300030603
+000106810006010683000600060a06820700070107
+0307810d060f0681030a040a810300010081030a040a8100078107061506810006010681
+000604068500060006000601068300060006010681000602068100068206000684060006
+000601068300060006840600060006030681000601068300060006010681000606068200
+060081000682060006020682000600810006840600060006820600060106830006000601
+068300060006010683000600060306810006010683000600060106830006000682060006
+820600068406000600060106830006000601068200060081000682060006050681000601
+068300060006010681000606068200060081000684060006000601068100060206810006
+01068300060006010683000600060a06820700070107
+0307810d060e0681030a050a810600010081060a040a8206000781070615068300060006
+020603008406000600060106820006000300030681000682060006840600060006010681
+000682060006010681000603068100060106820006000300040603008206000601068100
+060206830006000601068300060006810600030082060006010682000600030082060006
+030681000601068200060003008206000689060006000600060006000300810600030082
+060006010681000602060100040683000600060106810006030603008206000601068300
+060006010681000606068300060006010683000600060a06820700070107
+0307810d060e0681030a060a0200070a8100078107061506830006000601068100060106
+850006000600060106830006000606068100068206000684060006000601068100060106
+810006820600060306810006010683000600060606810006010683000600060106810006
+020683000600060106830006000682060006030681000601068300060006030681000603
+068100060106830006000603068100068a06000600060006000600060306810006030681
+000601068100060906830006000601068100060206810006010683000600060106830006
+0006010681000606068300060006010683000600060a06820700070107
+0307810d060d0681030a070a830300030a060a8206000781070615068100060206810006
+010685000600060006810600830006000601068100060206810006820600068406000600
+068106008300060006840600060006030681000601068300060006010681000602068100
+060106830006000601068100060206830006000601068300060006820600060106830006
+000601068300060006010683000600060306810006010683000600060106830006000601
+068100060106810006820600060106830006000601068300060006010681000605068100
+060106830006000601068100060206810006010683000600060106830006000601068100
+0602068100060106830006000601068100060c06820700070107
+0307810d060d0681030a070a830600060a070a8100078107061506810006030603008206
+000681060083000600068106000100040681000682060006820600068106008300060006
+810600810006010681000602060300020602000506030082060006010681000602068300
+060006010681000682060006810600010002060300010602000106810006030603000206
+020002068100068206000601068100060106020002060200010681000601068100060606
+020002060200050603008206000601068100068106000200040602000206020001068100
+060a06820700070107
+0307810d060c0681030a090a81000a080a820600078107067c0681000677068207000701
+07
+0307810d060c0681030a150a810007810706780603007906820700070107
+0307810d060b0681030a090a8106008200060a070a820600078107067f06750682070007
+0107
+0307810d060b0681030a090a0300090a8100078107067f067506820700070107
+0307810d060a0681030a0a0a0300090a820600078107067f067406820700070107
+0307810d060a0681030a0a0a8106008200060a090a8100078107067f0674068207000701
+07
+0307810d060a0681030a190a81000701077f067406820700070107
+0307810d060a0681030a180a8206000701077f067406820700070107
+0307810d060b0681030a160a8206000702077f067406820700070107
+0307810d060c06810300160004077f067406820700070107
+0307810d060e061a077f067506820700070107
+0307810d060f0618077f067606820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d066b0648006a06820700070107
+0307810d066a064a006906820700070107
+0307810d066a060100450d8107008100066806820700070107
+0307810d066a060100440d010701006906820700070107
+0307810d066a060100010d18069100060006000600060006000600060006000617060107
+01006906820700070107
+0307810d066a060100010d4206010701006906820700070107
+0307810d066a060100010d18068100060d068100061706010701006906820700070107
+0307810d066a060100010d1b060300020681000601068100061906010701006906820700
+070107
+0307810d066a060100010d18068300060006020681000682060006820600068206000617
+06010701006906820700070107
+0307810d066a060100010d1a0681000602068100068406000600061b0601070100690682
+0700070107
+0307810d066a060100010d18068300060006020681000681060081000602068100061706
+010701006906820700070107
+0307810d066a060100010d1a0681000602068100068106008100061c0601070100690682
+0700070107
+0307810d066a060100010d18068300060006020681000684060006000601068100061706
+010701006906820700070107
+0307810d066a060100010d1a06810006020681000682060006820600061a060107010069
+06820700070107
+0307810d066a060100010d18068300060006020681000682060006010683000600061706
+010701006906820700070107
+0307810d066a060100010d1b060300020681000602068100061806010701006906820700
+070107
+0307810d066a060100010d18068100060d068100061706010701006906820700070107
+0307810d066a060100010d4206010701006906820700070107
+0307810d066a060100010d18069100060006000600060006000600060006000617060107
+01006906820700070107
+0307810d066a060100810d07440701006906820700070107
+0307810d066a060100460701006906820700070107
+0307810d066a064a006906820700070107
+0307810d066b0648006a06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+7f077f0726078100070107
+02077f007f0024000207
+7f077f072a07
+7f077f072a07
+7f077f072a07
+7f077f072a07
+7f077f072a07
+7f077f072a07
+
+%
+% Compression made this file 5.68% of the uncompressed size.
+%
+
+
+showpage
+
+% stop using temporary dictionary
+end
+
+% restore original state
+origstate restore
+
+%%Trailer
diff --git a/docs/latex/wx/prop2.gif b/docs/latex/wx/prop2.gif
new file mode 100644 (file)
index 0000000..ec9b857
Binary files /dev/null and b/docs/latex/wx/prop2.gif differ
diff --git a/docs/latex/wx/propbfva.tex b/docs/latex/wx/propbfva.tex
new file mode 100644 (file)
index 0000000..b77d134
--- /dev/null
@@ -0,0 +1,12 @@
+\section{\class{wxBoolFormValidator}}\label{wxboolformvalidator}
+
+\overview{Validator classes}{proplistvalidatorclasses}
+
+This class validates a boolean value for a form view. The associated panel item must be a wxCheckBox.
+
+\membersection{wxBoolFormValidator::wxBoolFormValidator}
+
+\func{void}{wxBoolFormValidator}{\param{long }{flags=0}}
+
+Constructor.
+
diff --git a/docs/latex/wx/propblva.tex b/docs/latex/wx/propblva.tex
new file mode 100644 (file)
index 0000000..37179c6
--- /dev/null
@@ -0,0 +1,12 @@
+\section{\class{wxBoolListValidator}}\label{wxboollistvalidator}
+
+\overview{Validator classes}{proplistvalidatorclasses}
+
+This class validates a boolean value for a list view.
+
+\membersection{wxBoolListValidator::wxBoolListValidator}
+
+\func{void}{wxBoolListValidator}{\param{long }{flags=0}}
+
+Constructor.
+
diff --git a/docs/latex/wx/property.tex b/docs/latex/wx/property.tex
new file mode 100644 (file)
index 0000000..c038840
--- /dev/null
@@ -0,0 +1,106 @@
+\section{\class{wxProperty}}\label{wxproperty}
+
+The {\bf wxProperty} class represents a property, with a \helpref{wxPropertyValue}{wxpropertyvalue}\rtfsp
+containing the actual value, a name a role, an optional validator, and
+an optional associated window. 
+
+A property might correspond to an actual C++ data member, or it
+might correspond to a conceptual property, such as the width of a window.
+There is no explicit data member {\it wxWindow::width}, but it may be convenient
+to invent such a property for the purposes of editing attributes of the window.
+The properties in the property sheet can be mapped to ``reality" by
+whatever means (in this case by calling wxWindow::SetSize when the user has
+finished editing the property sheet).
+
+A validator may be associated with the property in order to ensure that this and
+only this validator will be used for editing and validating the property.
+An alternative method is to use the {\it role} parameter to specify what kind
+of validator would be appropriate; for example, specifying ``filename" for the role
+would allow the property view to find an appropriate validator at edit time.
+
+
+\membersection{wxProperty::wxProperty}
+
+\func{void}{wxProperty}{\void}
+
+\func{void}{wxProperty}{\param{wxProperty\& }{prop}}
+
+\func{void}{wxProperty}{\param{wxString}{ name}, \param{wxString}{ role}, \param{wxPropertyValidator *}{validator=NULL}}
+
+\func{void}{wxProperty}{\param{wxString}{ name}, \param{const wxPropertyValue\&}{ val}, \param{wxString}{ role}, \param{wxPropertyValidator *}{validator=NULL}}
+
+Constructors.
+
+\membersection{wxProperty::\destruct{wxProperty}}
+
+\func{void}{\destruct{wxProperty}}{\void}
+
+Destructor. Destroys the wxPropertyValue, and the property validator if there is one. However, if the
+actual C++ value in the wxPropertyValue is a pointer, the data in that variable is not destroyed.
+
+\membersection{wxProperty::GetValue}
+
+\func{wxPropertyValue\&}{GetValue}{\void}
+
+Returns a reference to the property value.
+
+\membersection{wxProperty::GetValidator}
+
+\func{wxPropertyValidator *}{GetValidator}{\void}
+
+Returns a pointer to the associated property validator (if any).
+
+\membersection{wxProperty::GetName}
+
+\func{wxString\&}{GetName}{\void}
+
+Returns the name of the property.
+
+\membersection{wxProperty::GetRole}
+
+\func{wxRole\&}{GetRole}{\void}
+
+Returns the role of the property, to be used when choosing an appropriate validator.
+
+\membersection{wxProperty::GetWindow}
+
+\func{wxWindow *}{GetWindow}{\void}
+
+Returns the window associated with the property (if any).
+
+\membersection{wxProperty::SetValue}
+
+\func{void}{SetValue}{\param{wxPropertyValue\&}{ val}}
+
+Sets the value of the property.
+
+\membersection{wxProperty::SetName}
+
+\func{void}{SetName}{\param{wxString\&}{ name}}
+
+Sets the name of the property.
+
+\membersection{wxProperty::SetRole}
+
+\func{void}{SetRole}{\param{wxString\&}{ role}}
+
+Sets the role  of the property.
+
+\membersection{wxProperty::SetValidator}
+
+\func{void}{SetValidator}{\param{wxPropertyValidator *}{validator}}
+
+Sets the validator: this will be deleted when the property is deleted.
+
+\membersection{wxProperty::SetWindow}
+
+\func{void}{SetWindow}{\param{wxWindow *}{win}}
+
+Sets the window associated with the property.
+
+\membersection{wxProperty::operator $=$}
+
+\func{void}{operator $=$}{\param{const wxPropertyValue\&}{ val}}
+
+Assignment operator.
+
diff --git a/docs/latex/wx/propflva.tex b/docs/latex/wx/propflva.tex
new file mode 100644 (file)
index 0000000..d3de557
--- /dev/null
@@ -0,0 +1,14 @@
+\section{\class{wxFilenameListValidator}}\label{wxfilenamelistvalidator}
+
+\overview{Validator classes}{proplistvalidatorclasses}
+
+This class validates a filename for a list view, allowing the user to edit it textually and also popping up
+a file selector in ``detailed editing" mode.
+
+\membersection{wxFilenameListValidator::wxFilenameListValidator}
+
+\func{void}{wxFilenameListValidator}{\param{wxString }{message = ``Select a file"}, \param{wxString }{wildcard = ``*.*"},
+  \param{long}{ flags=0}}
+
+Constructor. Supply an optional message and wildcard.
+
diff --git a/docs/latex/wx/propford.tex b/docs/latex/wx/propford.tex
new file mode 100644 (file)
index 0000000..3c7bf01
--- /dev/null
@@ -0,0 +1,22 @@
+\section{\class{wxPropertyFormDialog}}\label{wxpropertyformdialog}
+
+The {\bf wxPropertyFormDialog} class is a prepackaged dialog which can
+be used for viewing a form property sheet. Pass a property form view object, and the dialog
+will pass OnClose and OnDefaultAction listbox messages to the view class for
+processing.
+
+\membersection{wxPropertyFormDialog::wxPropertyFormDialog}
+
+\func{void}{wxPropertyFormDialog}{\param{wxPropertyFormView *}{view}, \param{wxWindow *}{parent}, \param{char *}{title},
+ \param{Bool}{ modal=FALSE}, \param{int}{ x=-1}, \param{int}{ y=-1}, \param{int}{ width=-1}, \param{int}{height=-1},
+ \param{long}{ style=wxDEFAULT\_DIALOG\_STYLE}, \param{char *}{name=``dialogBox"}}
+
+Constructor.
+
+\membersection{wxPropertyFormDialog::\destruct{wxPropertyFormDialog}}
+
+\func{void}{\destruct{wxPropertyFormDialog}}{\void}
+
+Destructor.
+
+
diff --git a/docs/latex/wx/propforf.tex b/docs/latex/wx/propforf.tex
new file mode 100644 (file)
index 0000000..5b9e92c
--- /dev/null
@@ -0,0 +1,42 @@
+\section{\class{wxPropertyFormFrame}}\label{wxpropertyformframe}
+
+The {\bf wxPropertyFormFrame} class is a prepackaged frame which can
+be used for viewing a property form. Pass a property form view object, and the frame
+will pass OnClose messages to the view class for processing.
+
+Call Initialize to create the panel and associate the view; override OnCreatePanel
+if you wish to use a panel class other than the default wxPropertyFormPanel.
+
+\membersection{wxPropertyFormFrame::wxPropertyFormFrame}
+
+\func{void}{wxPropertyFormFrame}{\param{wxPropertyFormView *}{view}, \param{wxFrame *}{parent}, \param{char *}{title},
+ \param{int}{ x=-1}, \param{int}{ y=-1}, \param{int}{ width=-1}, \param{int}{height=-1},
+ \param{long}{ style=wxSDI $\|$ wxDEFAULT\_FRAME}, \param{char *}{name=``frame"}}
+
+Constructor.
+
+\membersection{wxPropertyFormFrame::\destruct{wxPropertyFormFrame}}
+
+\func{void}{\destruct{wxPropertyFormFrame}}{\void}
+
+Destructor.
+
+\membersection{wxPropertyFormFrame::GetPropertyPanel}
+
+\func{wxPanel *}{GetPropertyPanel}{\void}
+
+Returns the panel associated with the frame.
+
+\membersection{wxPropertyFormFrame::Initialize}
+
+\func{Bool}{Initialize}{\void}
+
+Must be called to create the panel and associate the view with the panel and frame.
+
+\membersection{wxPropertyFormFrame::OnCreatePanel}
+
+\func{wxPanel *}{OnCreatePanel}{\param{wxFrame *}{parent}, \param{wxPropertyFormView *}{view}}
+
+Creates a panel. Override this to create a panel type other than wxPropertyFormPanel.
+
+
diff --git a/docs/latex/wx/propforp.tex b/docs/latex/wx/propforp.tex
new file mode 100644 (file)
index 0000000..942debc
--- /dev/null
@@ -0,0 +1,23 @@
+\section{\class{wxPropertyFormPanel}}\label{wxpropertyformpanel}
+
+The {\bf wxPropertyFormPanel} class is a prepackaged panel which can
+be used for viewing a property form. Pass a property form view object, and the panel
+will pass OnDefaultAction listbox messages to the view class for
+processing.
+
+\membersection{wxPropertyFormPanel::wxPropertyFormPanel}
+
+\func{void}{wxPropertyFormPanel}{\param{wxPropertyFormView *}{view}, \param{wxWindow *}{parent},
+ \param{int}{ x=-1}, \param{int}{ y=-1}, \param{int}{ width=-1}, \param{int}{height=-1},
+ \param{long}{ style=0}, \param{char *}{name=``panel"}}
+
+Constructor.
+
+\membersection{wxPropertyFormPanel::\destruct{wxPropertyFormPanel}}
+
+\func{void}{\destruct{wxPropertyFormPanel}}{\void}
+
+Destructor.
+
+
+
diff --git a/docs/latex/wx/propforv.tex b/docs/latex/wx/propforv.tex
new file mode 100644 (file)
index 0000000..e8fb783
--- /dev/null
@@ -0,0 +1,57 @@
+\section{\class{wxPropertyFormValidator}}\label{wxpropertyformvalidator}
+
+\overview{wxPropertyFormValidator overview}{wxpropertyformvalidatoroverview}
+
+The {\bf wxPropertyFormValidator} class defines a base class for form validators. By overriding virtual functions,
+the programmer can create custom behaviour for kinds of property.
+
+\membersection{wxPropertyFormValidator::wxPropertyFormValidator}
+
+\func{void}{wxPropertyFormValidator}{\param{long}{ flags = 0}}
+
+Constructor.
+
+\membersection{wxPropertyFormValidator::\destruct{wxPropertyFormValidator}}
+
+\func{void}{\destruct{wxPropertyFormValidator}}{\void}
+
+Destructor.
+
+\membersection{wxPropertyFormValidator::OnCommand}
+
+\func{Bool}{OnCommand}{\param{wxProperty *}{property}, \param{wxPropertyFormView *}{view},
+ \param{wxWindow *}{parentWindow}, \param{wxCommandEvent\& }{event}}
+
+Called when the control corresponding to the property receives a command (if not intercepted
+by a callback associated with the actual control).
+
+\membersection{wxPropertyFormValidator::OnCheckValue}
+
+\func{Bool}{OnCheckValue}{\param{wxProperty *}{property}, \param{wxPropertyFormView *}{view},
+ \param{wxWindow *}{parentWindow}}
+Called when the view checks the property value. The value checked by this validator should be taken from the
+panel item corresponding to the property.
+
+\membersection{wxPropertyFormValidator::OnDisplayValue}
+
+\func{Bool}{OnDisplayValue}{\param{wxProperty *}{property}, \param{wxPropertyFormView *}{view},
+ \param{wxWindow *}{parentWindow}}
+
+Should display the property value in the appropriate control.
+\membersection{wxPropertyFormValidator::OnDoubleClick}
+
+\func{Bool}{OnDoubleClick}{\param{wxProperty *}{property}, \param{wxPropertyFormView *}{view},
+ \param{wxWindow *}{parentWindow}}
+
+Called when the control corresponding to the property is double clicked (listboxes only).
+
+\membersection{wxPropertyFormValidator::OnRetrieveValue}
+
+\func{Bool}{OnRetrieveValue}{\param{wxProperty *}{property}, \param{wxPropertyFormView *}{view},
+ \param{wxWindow *}{parentWindow}}
+
+Should do the transfer from the property editing area to the property itself.
+
+
diff --git a/docs/latex/wx/propfovi.tex b/docs/latex/wx/propfovi.tex
new file mode 100644 (file)
index 0000000..c9d5700
--- /dev/null
@@ -0,0 +1,101 @@
+\section{\class{wxPropertyFormView}}\label{wxpropertyformview}
+
+\overview{wxPropertyFormView overview}{wxpropertyformviewoverview}
+
+The {\bf wxPropertyFormView} class shows a wxPropertySheet as a view onto a panel or dialog
+box which has already been created.
+
+\membersection{wxPropertyFormView::wxPropertyFormView}
+
+\func{void}{wxPropertyFormView}{\param{long}{ flags = 0}}
+
+Constructor.
+
+\membersection{wxPropertyFormView::\destruct{wxPropertyFormView}}
+
+\func{void}{\destruct{wxPropertyFormView}}{\void}
+
+Destructor.
+
+\membersection{wxPropertyFormView::AssociateNames}\label{wxpropertyformviewassociatenames}
+
+\func{void}{AssociateNames}{\void}
+
+Associates the properties with the controls on the panel. For each panel item, if the
+panel item name is the same as a property name, the two objects will be associated.
+This function should be called manually since the programmer may wish to do the
+association manually.
+
+\membersection{wxPropertyFormView::Check}\label{wxpropertyformviewcheck}
+
+\func{Bool}{Check}{\void}
+
+Checks all properties by calling the appropriate validators; returns FALSE if a validation failed.
+
+\membersection{wxPropertyFormView::GetPanel}\label{wxpropertyformviewgetpanel}
+
+\func{wxPanel *}{GetPanel}{\void}
+
+Returns the panel associated with the view.
+
+\membersection{wxPropertyFormView::GetManagedWindow}\label{wxpropertyformviewgetmanagedwindow}
+
+\func{wxWindow *}{GetManagedWindow}{\void}
+
+Returns the managed window (a frame or dialog) associated with the view.
+
+\membersection{wxPropertyFormView::OnOk}\label{wxpropertyformviewonok}
+
+\func{void}{OnOk}{\void}
+
+Virtual function that will be called when the OK button on the physical window is pressed.
+By default, checks and updates the form values, closes and deletes the frame or dialog, then deletes the view.
+
+\membersection{wxPropertyFormView::OnCancel}\label{wxpropertyformviewoncancel}
+
+\func{void}{OnCancel}{\void}
+
+Virtual function that will be called when the Cancel button on the physical window is pressed.
+By default, closes and deletes the frame or dialog, then deletes the view.
+
+\membersection{wxPropertyFormView::OnHelp}\label{wxpropertyformviewonhelp}
+
+\func{void}{OnHelp}{\void}
+
+Virtual function that will be called when the Help button on the physical window is pressed.
+This needs to be overridden by the application for anything interesting to happen.
+
+\membersection{wxPropertyFormView::OnRevert}\label{wxpropertyformviewonrevert}
+
+\func{void}{OnRevert}{\void}
+
+Virtual function that will be called when the Revert button on the physical window is pressed.
+By default transfers the wxProperty values to the panel items (in effect
+undoing any unsaved changes in the items).
+
+\membersection{wxPropertyFormView::OnUpdate}\label{wxpropertyformviewonupdate}
+
+\func{void}{OnUpdate}{\void}
+
+Virtual function that will be called when the Update button on the physical window is pressed.
+By defaults transfers the displayed values to the wxProperty objects.
+
+\membersection{wxPropertyFormView::SetManagedWindow}\label{wxpropertyformviewsetmanagedwindow}
+
+\func{void}{SetManagedWindow}{\param{wxWindow *}{win}}
+
+Sets the managed window (a frame or dialog) associated with the view.
+
+\membersection{wxPropertyFormView::TransferToDialog}\label{wxpropertyformviewtransfertodialog}
+
+\func{Bool}{TransferToDialog}{\void}
+
+Transfers property values to the controls in the dialog.
+
+\membersection{wxPropertyFormView::TransferToPropertySheet}\label{wxpropertyformviewtransfertopropertysheet}
+
+\func{Bool}{TransferToPropertySheet}{\void}
+
+Transfers property values from the controls in the dialog to the property sheet.
+
+
diff --git a/docs/latex/wx/propifva.tex b/docs/latex/wx/propifva.tex
new file mode 100644 (file)
index 0000000..b39468c
--- /dev/null
@@ -0,0 +1,15 @@
+\section{\class{wxIntegerFormValidator}}\label{wxintegerformvalidator}
+
+\overview{Validator classes}{proplistvalidatorclasses}
+
+This class validates a range of integer values for a form view. The associated panel item must be a wxText
+or wxSlider.
+
+\membersection{wxIntegerFormValidator::wxIntegerFormValidator}
+
+\func{void}{wxIntegerFormValidator}{\param{long }{min=0}, \param{long }{max=0},
+ \param{long}{ flags=0}}
+
+Constructor. Assigning zero to minimum and maximum values indicates that there is no range to check.
+
+
diff --git a/docs/latex/wx/propilva.tex b/docs/latex/wx/propilva.tex
new file mode 100644 (file)
index 0000000..76870b0
--- /dev/null
@@ -0,0 +1,13 @@
+\section{\class{wxIntegerListValidator}}\label{wxintegerlistvalidator}
+
+\overview{Validator classes}{proplistvalidatorclasses}
+
+This class validates a range of integer values for a list view.
+
+\membersection{wxIntegerListValidator::wxIntegerListValidator}
+
+\func{void}{wxIntegerListValidator}{\param{long }{min=0}, \param{long }{max=0},
+ \param{long}{ flags=wxPROP\_ALLOW\_TEXT\_EDITING}}
+
+Constructor. Assigning zero to minimum and maximum values indicates that there is no range to check.
+
diff --git a/docs/latex/wx/proplisd.tex b/docs/latex/wx/proplisd.tex
new file mode 100644 (file)
index 0000000..adf3992
--- /dev/null
@@ -0,0 +1,22 @@
+\section{\class{wxPropertyListDialog}}\label{wxpropertylistdialog}
+
+The {\bf wxPropertyListDialog} class is a prepackaged dialog which can
+be used for viewing a property list. Pass a property list view object, and the dialog
+will pass OnClose and OnDefaultAction listbox messages to the view class for
+processing.
+
+\membersection{wxPropertyListDialog::wxPropertyListDialog}
+
+\func{void}{wxPropertyListDialog}{\param{wxPropertyListView *}{view}, \param{wxWindow *}{parent}, \param{char *}{title},
+ \param{Bool}{ modal=FALSE}, \param{int}{ x=-1}, \param{int}{ y=-1}, \param{int}{ width=-1}, \param{int}{height=-1},
+ \param{long}{ style=wxDEFAULT\_DIALOG\_STYLE}, \param{char *}{name=``dialogBox"}}
+
+Constructor.
+
+\membersection{wxPropertyListDialog::\destruct{wxPropertyListDialog}}
+
+\func{void}{\destruct{wxPropertyListDialog}}{\void}
+
+Destructor.
+
+
diff --git a/docs/latex/wx/proplisf.tex b/docs/latex/wx/proplisf.tex
new file mode 100644 (file)
index 0000000..5b8ace2
--- /dev/null
@@ -0,0 +1,42 @@
+\section{\class{wxPropertyListFrame}}\label{wxpropertylistframe}
+
+The {\bf wxPropertyListFrame} class is a prepackaged frame which can
+be used for viewing a property list. Pass a property list view object, and the frame
+will pass OnClose messages to the view class for processing.
+
+Call Initialize to create the panel and associate the view; override OnCreatePanel
+if you wish to use a panel class other than the default wxPropertyListPanel.
+
+\membersection{wxPropertyListFrame::wxPropertyListFrame}
+
+\func{void}{wxPropertyListFrame}{\param{wxPropertyListView *}{view}, \param{wxFrame *}{parent}, \param{char *}{title},
+ \param{int}{ x=-1}, \param{int}{ y=-1}, \param{int}{ width=-1}, \param{int}{height=-1},
+ \param{long}{ style=wxSDI $\|$ wxDEFAULT\_FRAME}, \param{char *}{name=``frame"}}
+
+Constructor.
+
+\membersection{wxPropertyListFrame::\destruct{wxPropertyListFrame}}
+
+\func{void}{\destruct{wxPropertyListFrame}}{\void}
+
+Destructor.
+
+\membersection{wxPropertyListFrame::GetPropertyPanel}
+
+\func{wxPanel *}{GetPropertyPanel}{\void}
+
+Returns the panel associated with the frame.
+
+\membersection{wxPropertyListFrame::Initialize}
+
+\func{Bool}{Initialize}{\void}
+
+Must be called to create the panel and associate the view with the panel and frame.
+
+\membersection{wxPropertyListFrame::OnCreatePanel}
+
+\func{wxPanel *}{OnCreatePanel}{\param{wxFrame *}{parent}, \param{wxPropertyListView *}{view}}
+
+Creates a panel. Override this to create a panel type other than wxPropertyListPanel.
+
+
diff --git a/docs/latex/wx/proplisp.tex b/docs/latex/wx/proplisp.tex
new file mode 100644 (file)
index 0000000..c5b1a62
--- /dev/null
@@ -0,0 +1,24 @@
+\section{\class{wxPropertyListPanel}}\label{wxpropertylistpanel}
+
+The {\bf wxPropertyListPanel} class is a prepackaged panel which can
+be used for viewing a property list. Pass a property list view object, and the panel
+will pass OnDefaultAction listbox messages to the view class for
+processing.
+
+\membersection{wxPropertyListPanel::wxPropertyListPanel}
+
+\func{void}{wxPropertyListPanel}{\param{wxPropertyListView *}{view}, \param{wxWindow *}{parent},
+ \param{int}{ x=-1}, \param{int}{ y=-1}, \param{int}{ width=-1}, \param{int}{height=-1},
+ \param{long}{ style=0}, \param{char *}{name=``panel"}}
+
+Constructor.
+
+\membersection{wxPropertyListPanel::\destruct{wxPropertyListPanel}}
+
+\func{void}{\destruct{wxPropertyListPanel}}{\void}
+
+Destructor.
+
+
+
+
diff --git a/docs/latex/wx/proplist.tex b/docs/latex/wx/proplist.tex
new file mode 100644 (file)
index 0000000..fb4036e
--- /dev/null
@@ -0,0 +1,567 @@
+\chapter{Property sheet classes}\label{proplist}
+
+\section{Introduction}\label{proplistintro}
+
+The Property Sheet Classes help the programmer to specify complex dialogs and
+their relationship with their associated data. By specifying data as a
+wxPropertySheet containing wxProperty objects, the programmer can use
+a range of available or custom wxPropertyView classes to allow the user to
+edit this data. Classes derived from wxPropertyView act as mediators between the
+wxPropertySheet and the actual window (and associated panel items).
+
+For example, the wxPropertyListView is a kind of wxPropertyView which displays
+data in a Visual Basic-style property list (see \helpref{the next section}{proplistappearance} for
+screen shots). This is a listbox containing names and values, with
+an edit control and other optional controls via which the user edits the selected
+data item.
+
+wxPropertyFormView is another kind of wxPropertyView which mediates between
+the data and a panel or dialog box which has already been created. This makes it a contender for
+the replacement of wxForm, since programmer-controlled layout is going to be much more
+satisfactory. If automatic layout is desired, then wxPropertyListView could be used instead.
+
+The main intention of this class library was to provide property {\it list} behaviour, but
+it has been generalised as much as possible so that the concept of a property sheet and its viewers
+can reduce programming effort in a range of user interface tasks.
+
+For further details on the classes and how they are used, please see \helpref{Property classes overview}{proplistpropertyoverview}.
+
+\subsection{The appearance and behaviour of a property list view}\label{proplistappearance}
+
+The property list, as seen in an increasing number of development tools
+such as Visual Basic and Delphi, is a convenient and compact method for
+displaying and editing a number of items without the need for one
+control per item, and without the need for designing a special form. The
+controls are as follows:
+
+\begin{itemize}\itemsep=0pt
+\item A listbox showing the properties and their current values, which has double-click
+properties dependent on the nature of the current property;
+\item a text editing area at the top of the display, allowing the user to edit
+the currently selected property if appropriate;
+\item `confirm' and `cancel' buttons to confirm or cancel an edit (for the property, not the
+whole sheet);
+\item an optional list that appears when the user can make a choice from several known possible values;
+\item a small Edit button to invoke `detailed editing' (perhaps showing or hiding the above value list, or
+maybe invoking a common dialog);
+\item optional OK/Close, Cancel and Help buttons for the whole dialog.
+\end{itemize}
+
+The concept of `detailed editing' versus quick editing gives the user a choice
+of editing mode, so novice and expert behaviour can be catered for, or the user can just
+use what he feels comfortable with.
+
+Behaviour alters depending on the kind of property being edited. For example, a boolean value has
+the following behaviour:
+
+\begin{itemize}\itemsep=0pt
+\item Double-clicking on the item toggles between TRUE and FALSE.
+\item Showing the value list enables the user to select TRUE or FALSE.
+\item The user may be able to type in the word TRUE or FALSE, or the edit control
+may be read-only to disallow this since it is error-prone.
+\end{itemize}
+
+A list of strings may pop up a dialog for editing them, a simple string just allows text editing,
+double-clicking a colour property may show a colour selector, double-clicking on a filename property may
+show a file selector (in addition to being able to type in the name in the edit control), etc.
+
+Note that the `type' of property, such as string or integer, does not
+necessarily determine the behaviour of the property. The programmer has
+to be able to specify different behaviours for the same type, depending
+on the meaning of the property. For example, a colour and a filename may
+both be strings, but their editing behaviour should be different. This
+is why objects of type wxPropertyValidator need to be used, to define
+behaviour for a given class of properties or even specific property
+name.  Objects of class wxPropertyView contain a list of property
+registries, which enable reuse of bunches of these validators in
+different circumstances. Or a wxProperty can be explicitly set to use a
+particular validator object. 
+
+The following screen shot of the property classes test program shows the
+user editing a string, which is constrained to be one of three possible
+values.
+
+\helponly{\image{}{prop1.bmp}}
+
+The second picture shows the user having entered a integer that
+was outside the range specified to the validator. Note that in this picture,
+the value list is hidden because it is not used when editing an integer.
+
+\helponly{\image{}{prop2.bmp}}
+
+\section{Headers}\label{proplistfiles}
+
+The property class library comprises the following files:
+
+\begin{itemize}\itemsep=0pt
+\item prop.h: base property class header
+\item proplist.h: wxPropertyListView and associated classes
+\item propform.h: wxPropertyListView and associated classes
+\end{itemize}
+
+
+
+
+
+
+
+
+
+\section{Topic overviews}\label{proplistoverviews}
+
+This chapter contains a selection of topic overviews.
+
+\subsection{Property classes overview}\label{proplistpropertyoverview}
+
+The property classes help a programmer to express relationships between
+data and physical windows, in particular:
+
+\begin{itemize}\itemsep=0pt
+\item the transfer of data to and from the physical controls;
+\item the behaviour of various controls and custom windows for particular
+types of data;
+\item the validation of data, notifying the user when incorrect data is entered,
+or even better, constraining the input so only valid data can be entered.
+\end{itemize}
+
+With a consistent framework, the programmer should be able to use existing
+components and design new ones in a principled manner, to solve many data entry
+requirements.
+
+Each datum is represented in a \helpref{wxProperty}{wxproperty}, which has a name and a value.
+Various C++ types are permitted in the value of a property, and the property can store a pointer
+to the data instead of a copy of the data. A \helpref{wxPropertySheet}{wxpropertysheet} represents a number of these properties.
+
+These two classes are independent from the way in which the data is visually manipulated. To
+mediate between property sheets and windows, the abstract class \helpref{wxPropertyView}{wxpropertyview} is
+available for programmers to derive new kinds of view. One kind of view that is available is the \helpref{wxPropertyListView}{wxpropertylistview},
+which displays the data in a Visual Basic-style list, with a small number of controls for editing
+the currently selected property. Another is \helpref{wxPropertyFormView}{wxpropertyformview} which
+mediates between an existing dialog or panel and the property sheet.
+
+The hard work of mediation is actually performed by validators, which are instances of classes
+derived from \helpref{wxPropertyValidator}{wxpropertyvalidator}. A validator is associated with
+a particular property and is responsible for
+responding to user interface events, and displaying, updating and checking the property value.
+Because a validator's behaviour depends largely on the kind of view being used, there has to be
+a separate hierarchy of validators for each class of view. So for wxPropertyListView, there is
+an abstract class \helpref{wxPropertyListValidator}{wxpropertylistvalidator} from which concrete
+classes are derived, such as \helpref{wxRealListValidator}{wxreallistvalidator} and
+\rtfsp\helpref{wxStringListValidator}{wxstringlistvalidator}.
+
+A validator can be explicitly set for a property, so there is no doubt which validator
+should be used to edit that property. However, it is also possible to define a registry
+of validators, and have the validator chosen on the basis of the {\it role} of the property.
+So a property with a ``filename" role would match the ``filename" validator, which pops
+up a file selector when the user double clicks on the property.
+
+You don't have to define your own frame or window classes: there are some predefined
+that will work with the property list view. See \helpref{Window classes}{proplistwindowclasses} for
+further details.
+
+\subsubsection{Example 1: Property list view}
+
+The following code fragment shows the essentials of creating a registry of
+standard validators, a property sheet containing some properties, and
+a property list view and dialog or frame. RegisterValidators will be
+called on program start, and PropertySheetTest is called in response to a
+menu command.
+
+Note how some properties are created with an explicit reference to
+a validator, and others are provided with a ``role'' which can be matched
+against a validator in the registry.
+
+The interface generated by this test program is shown in the section \helpref{Appearance and
+behaviour of a property list view}{proplistappearance}.
+
+\begin{verbatim}
+void RegisterValidators(void)
+{
+  myListValidatorRegistry.RegisterValidator((wxString)"real", new wxRealListValidator);
+  myListValidatorRegistry.RegisterValidator((wxString)"string", new wxStringListValidator);
+  myListValidatorRegistry.RegisterValidator((wxString)"integer", new wxIntegerListValidator);
+  myListValidatorRegistry.RegisterValidator((wxString)"bool", new wxBoolListValidator);
+}
+
+void PropertyListTest(Bool useDialog)
+{
+  wxPropertySheet *sheet = new wxPropertySheet;
+
+  sheet->AddProperty(new wxProperty("fred", 1.0, "real"));
+  sheet->AddProperty(new wxProperty("tough choice", (Bool)TRUE, "bool"));
+  sheet->AddProperty(new wxProperty("ian", (long)45, "integer", new wxIntegerListValidator(-50, 50)));
+  sheet->AddProperty(new wxProperty("bill", 25.0, "real", new wxRealListValidator(0.0, 100.0)));
+  sheet->AddProperty(new wxProperty("julian", "one", "string"));
+  sheet->AddProperty(new wxProperty("bitmap", "none", "string", new wxFilenameListValidator("Select a bitmap file", "*.bmp")));
+  wxStringList *strings = new wxStringList("one", "two", "three", NULL);
+  sheet->AddProperty(new wxProperty("constrained", "one", "string", new wxStringListValidator(strings)));
+
+  wxPropertyListView *view =
+    new wxPropertyListView(NULL,
+     wxPROP_BUTTON_CHECK_CROSS|wxPROP_DYNAMIC_VALUE_FIELD|wxPROP_PULLDOWN);
+
+  wxDialogBox *propDialog = NULL;
+  wxPropertyListFrame *propFrame = NULL;
+  if (useDialog)
+  {
+    propDialog = new wxPropertyListDialog(view, NULL, "Property Sheet Test", TRUE, -1, -1, 400, 500);
+  }
+  else
+  {
+    propFrame = new wxPropertyListFrame(view, NULL, "Property Sheet Test", -1, -1, 400, 500);
+  }
+  
+  view->AddRegistry(&myListValidatorRegistry);
+
+  if (useDialog)
+  {
+    view->ShowView(sheet, propDialog);
+    propDialog->Centre(wxBOTH);
+    propDialog->Show(TRUE);
+  }
+  else
+  {
+    propFrame->Initialize();
+    view->ShowView(sheet, propFrame->GetPropertyPanel());
+    propFrame->Centre(wxBOTH);
+    propFrame->Show(TRUE);
+  }
+}
+\end{verbatim}
+
+\subsubsection{Example 2: Property form view}
+
+This example is similar to Example 1, but uses a property form view to
+edit a property sheet using a predefined dialog box.
+
+\begin{verbatim}
+void RegisterValidators(void)
+{
+  myFormValidatorRegistry.RegisterValidator((wxString)"real", new wxRealFormValidator);
+  myFormValidatorRegistry.RegisterValidator((wxString)"string", new wxStringFormValidator);
+  myFormValidatorRegistry.RegisterValidator((wxString)"integer", new wxIntegerFormValidator);
+  myFormValidatorRegistry.RegisterValidator((wxString)"bool", new wxBoolFormValidator);
+}
+
+void PropertyFormTest(Bool useDialog)
+{
+  wxPropertySheet *sheet = new wxPropertySheet;
+
+  sheet->AddProperty(new wxProperty("fred", 25.0, "real", new wxRealFormValidator(0.0, 100.0)));
+  sheet->AddProperty(new wxProperty("tough choice", (Bool)TRUE, "bool"));
+  sheet->AddProperty(new wxProperty("ian", (long)45, "integer", new wxIntegerFormValidator(-50, 50)));
+  sheet->AddProperty(new wxProperty("julian", "one", "string"));
+  wxStringList *strings = new wxStringList("one", "two", "three", NULL);
+  sheet->AddProperty(new wxProperty("constrained", "one", "string", new wxStringFormValidator(strings)));
+
+  wxPropertyFormView *view = new wxPropertyFormView(NULL);
+
+  wxDialogBox *propDialog = NULL;
+  wxPropertyFormFrame *propFrame = NULL;
+  if (useDialog)
+  {
+    propDialog = new wxPropertyFormDialog(view, NULL, "Property Form Test", TRUE, -1, -1, 400, 300);
+  }
+  else
+  {
+    propFrame = new wxPropertyFormFrame(view, NULL, "Property Form Test", -1, -1, 400, 300);
+    propFrame->Initialize();
+  }
+  
+  wxPanel *panel = propDialog ? propDialog : propFrame->GetPropertyPanel();
+  panel->SetLabelPosition(wxVERTICAL);
+  
+  // Add items to the panel
+  
+  (void) new wxButton(panel, (wxFunction)NULL, "OK", -1, -1, -1, -1, 0, "ok");
+  (void) new wxButton(panel, (wxFunction)NULL, "Cancel", -1, -1, 80, -1, 0, "cancel");
+  (void) new wxButton(panel, (wxFunction)NULL, "Update", -1, -1, 80, -1, 0, "update");
+  (void) new wxButton(panel, (wxFunction)NULL, "Revert", -1, -1, -1, -1, 0, "revert");
+  panel->NewLine();
+  
+  // The name of this text item matches the "fred" property
+  (void) new wxText(panel, (wxFunction)NULL, "Fred", "", -1, -1, 90, -1, 0, "fred");
+  (void) new wxCheckBox(panel, (wxFunction)NULL, "Yes or no", -1, -1, -1, -1, 0, "tough choice");
+  (void) new wxSlider(panel, (wxFunction)NULL, "Sliding scale", 0, -50, 50, 100, -1, -1, wxHORIZONTAL, "ian");
+  panel->NewLine();
+  (void) new wxListBox(panel, (wxFunction)NULL, "Constrained", wxSINGLE, -1, -1, 100, 90, 0, NULL, 0, "constrained");
+
+  view->AddRegistry(&myFormValidatorRegistry);
+
+  if (useDialog)
+  {
+    view->ShowView(sheet, propDialog);
+    view->AssociateNames();
+    view->TransferToDialog();
+    propDialog->Centre(wxBOTH);
+    propDialog->Show(TRUE);
+  }
+  else
+  {
+    view->ShowView(sheet, propFrame->GetPropertyPanel());
+    view->AssociateNames();
+    view->TransferToDialog();
+    propFrame->Centre(wxBOTH);
+    propFrame->Show(TRUE);
+  }
+}
+\end{verbatim}
+
+\subsection{Validator classes overview}\label{proplistvalidatoroverview}
+
+Classes: \helpref{Validator classes}{proplistvalidatorclasses}
+
+The validator classes provide functionality for mediating between a wxProperty and
+the actual display. There is a separate family of validator classes for each
+class of view, since the differences in user interface for these views implies
+that little common functionality can be shared amongst validators.
+
+
+
+\subsubsection{wxPropertyValidator overview}\label{wxpropertyvalidatoroverview}
+
+Class: \helpref{wxPropertyValidator}{wxpropertyvalidator}
+
+This class is the root of all property validator classes. It contains a small
+amount of common functionality, including functions to convert between
+strings and C++ values.
+
+A validator is notionally an object which sits between a property and its displayed
+value, and checks that the value the user enters is correct, giving an error message
+if the validation fails. In fact, the validator does more than that, and is akin to
+a view class but at a finer level of detail. It is also responsible for
+loading the dialog box control with the value from the property, putting it back
+into the property, preparing special controls for editing the value, and
+may even invoke special dialogs for editing the value in a convenient way.
+
+In a property list dialog, there is quite a lot of scope for supplying custom dialogs,
+such as file or colour selectors. For a form dialog, there is less scope because
+there is no concept of `detailed editing' of a value: one control is associated with
+one property, and there is no provision for invoking further dialogs. The reader
+may like to work out how the form view could be extended to provide some of the
+functionality of the property list!
+
+Validator objects may be associated explictly with a wxProperty, or they may be
+indirectly associated by virtue of a property `kind' that matches validators having
+that kind. In the latter case, such validators are stored in a validator registry
+which is passed to the view before the dialog is shown. If the validator takes
+arguments, such as minimum and maximum values in the case of a wxIntegerListValidator,
+then the validator must be associated explicitly with the property. The validator
+will be deleted when the property is deleted.
+
+\subsubsection{wxPropertyListValidator overview}\label{wxpropertylistvalidatoroverview}
+
+Class: \helpref{wxPropertyListValidator}{wxpropertylistvalidator}
+
+This class is the abstract base class for property list view validators.
+The list view acts upon a user interface containing a list of properties,
+a text item for direct property value editing, confirm/cancel buttons for the value,
+a pulldown list for making a choice between values, and OK/Cancel/Help buttons
+for the dialog (see \helpref{property list appearance}{proplistappearance}).
+
+By overriding virtual functions, the programmer can create custom
+behaviour for different kinds of property. Custom behaviour can use just the
+available controls on the property list dialog, or the validator can
+invoke custom editors with quite different controls, which pop up in
+`detailed editing' mode.
+
+See the detailed class documentation for the members you should override
+to give your validator appropriate behaviour.
+
+\subsubsection{wxPropertyFormValidator overview}\label{wxpropertyformvalidatoroverview}
+
+This class is the abstract base class for property form view validators.
+The form view acts upon an existing dialog box or panel, where either the
+panel item names correspond to property names, or the programmer has explicitly
+associated the panel item with the property.
+
+By overriding virtual functions, the programmer determines how
+values are displayed or retrieved, and the checking that the validator does.
+
+See the detailed class documentation for the members you should override
+to give your validator appropriate behaviour.
+
+\subsection{View classes overview}\label{proplistviewoverview}
+
+Classes: \helpref{View classes}{proplistviewclasses}
+
+An instance of a view class relates a property sheet with an actual window.
+Currently, there are two classes of view: wxPropertyListView and wxPropertyFormView.
+
+\subsubsection{wxPropertyView overview}\label{wxpropertyviewoverview}
+
+Class: \helpref{wxPropertyView}{wxpropertyview}
+
+This is the abstract base class for property views.
+
+\subsubsection{wxPropertyListView overview}\label{wxpropertylistviewoverview}
+
+Class: \helpref{wxPropertyListView}{wxpropertylistview}
+
+The property list view defines the relationship between a property sheet and
+a property list dialog or panel. It manages user interface events such as
+clicking on a property, pressing return in the text edit field, and clicking
+on Confirm or Cancel. These events cause member functions of the
+class to be called, and these in turn may call member functions of
+the appropriate validator to be called, to prepare controls, check the property value,
+invoke detailed editing, etc.
+
+\subsubsection{wxPropertyFormView overview}\label{wxpropertyformviewoverview}
+
+Class: \helpref{wxPropertyFormView}{wxpropertyformview}
+
+The property form view manages the relationship between a property sheet
+and an existing dialog or panel.
+
+You must first create a panel or dialog box for the view to work on.
+The panel should contain panel items with names that correspond to
+properties in your property sheet; or you can explicitly set the
+panel item for each property.
+
+Apart from any custom panel items that you wish to control independently
+of the property-editing items, wxPropertyFormView takes over the
+processing of item events. It can also control normal dialog behaviour such
+as OK, Cancel, so you should also create some standard buttons that the property view
+can recognise. Just create the buttons with standard names and the view
+will do the rest. The following button names are recognised:
+
+\begin{itemize}\itemsep=0pt
+\item {\bf ok}: indicates the OK button. Calls wxPropertyFormView::OnOk. By default,
+checks and updates the form values, closes and deletes the frame or dialog, then deletes the view.
+\item {\bf cancel}: indicates the Cancel button. Calls wxPropertyFormView::OnCancel. By default,
+closes and deletes the frame or dialog, then deletes the view.
+\item {\bf help}: indicates the Help button. Calls wxPropertyFormView::OnHelp. This needs
+to be overridden by the application for anything interesting to happen.
+\item {\bf revert}: indicates the Revert button. Calls wxPropertyFormView::OnRevert,
+which by default transfers the wxProperty values to the panel items (in effect
+undoing any unsaved changes in the items).
+\item {\bf update}: indicates the Revert button. Calls wxPropertyFormView::OnUpdate, which
+by defaults transfers the displayed values to the wxProperty objects.
+\end{itemize}
+
+\subsection{wxPropertySheet overview}\label{wxpropertysheetoverview}
+
+Classes: \helpref{wxPropertySheet}{wxpropertysheet}, \helpref{wxProperty}{wxproperty}, \helpref{wxPropertyValue}{wxpropertyvalue}
+
+A property sheet defines zero or more properties. This is a bit like an explicit representation of
+a C++ object. wxProperty objects can have values which are pointers to C++ values, or they
+can allocate their own storage for values.
+
+Because the property sheet representation is explicit and can be manipulated by
+a program, it is a convenient form to be used for a variety of
+editing purposes. wxPropertyListView and wxPropertyFormView are two classes that
+specify the relationship between a property sheet and a user interface. You could imagine
+other uses for wxPropertySheet, for example to generate a form-like user interface without
+the need for GUI programming. Or for storing the names and values of command-line switches, with the
+option to subsequently edit these values using a wxPropertyListView.
+
+A typical use for a property sheet is to represent values of an object
+which are only implicit in the current representation of it. For
+example, in Visual Basic and similar programming environments, you can
+`edit a button', or rather, edit the button's properties.  One of the
+properties you can edit is {\it width} - but there is no explicit
+representation of width in a wxWindows button; instead, you call SetSize
+and GetSize members. To translate this into a consisent,
+property-oriented scheme, we could derive a new class
+wxButtonWithProperties, which has two new functions: SetProperty and
+GetProperty.  SetProperty accepts a property name and a value, and calls
+an appropriate function for the property that is being passed.
+GetProperty accepts a property name, returning a property value. So
+instead of having to use the usual arbitrary set of C++ member functions
+to set or access attributes of a window, programmer deals merely with
+SetValue/GetValue, and property names and values.
+We now have a single point at which we can modify or query an object by specifying
+names and values at run-time. (The implementation of SetProperty and GetProperty
+is probably quite messy and involves a large if-then-else statement to
+test the property name and act accordingly.)
+
+When the user invokes the property editor for a wxButtonWithProperties, the system
+creates a wxPropertySheet with `imaginary' properties such as width, height, font size
+and so on. For each property, wxButtonWithProperties::GetProperty is called, and the result is
+passed to the corresponding wxProperty. The wxPropertySheet is passed to a wxPropertyListView
+as described elsewhere, and the user edits away. When the user has finished editing, the system calls
+wxButtonWithProperties::SetProperty to transfer the wxProperty value back into the button
+by way of an appropriate call, wxWindow::SetSize in the case of width and height properties.
+
+
+
+\section{Classes by category}\label{proplistclassesbycat}
+
+A classification of property sheet classes by category.
+
+\subsection{Data classes}
+
+\begin{itemize}\itemsep=0pt
+\item \helpref{wxProperty}{wxproperty}
+\item \helpref{wxPropertyValue}{wxpropertyvalue}
+\item \helpref{wxPropertySheet}{wxpropertysheet}
+\end{itemize}
+
+
+\subsection{Validator classes}\label{proplistvalidatorclasses}
+
+Validators check that the values the user has entered for a property are
+valid. They can also define specific ways of entering data, such as a
+file selector for a filename, and they are responsible for transferring
+values between the wxProperty and the physical display. 
+
+Base classes:
+
+\begin{itemize}\itemsep=0pt
+\item \helpref{wxPropertyValidator}{wxproperty}
+\item \helpref{wxPropertyListValidator}{wxpropertylistvalidator}
+\item \helpref{wxPropertyFormValidator}{wxpropertyformvalidator}
+\end{itemize}
+
+List view validators:
+
+\begin{itemize}\itemsep=0pt
+\item \helpref{wxBoolListValidator}{wxboollistvalidator}
+\item \helpref{wxFilenameListValidator}{wxfilenamelistvalidator}
+\item \helpref{wxIntegerListValidator}{wxintegerlistvalidator}
+\item \helpref{wxListOfStringsListValidator}{wxlistofstringslistvalidator}
+\item \helpref{wxRealListValidator}{wxreallistvalidator}
+\item \helpref{wxStringListValidator}{wxstringlistvalidator}
+\end{itemize}
+
+Form view validators:
+
+\begin{itemize}\itemsep=0pt
+\item \helpref{wxBoolFormValidator}{wxboolformvalidator}
+\item \helpref{wxIntegerFormValidator}{wxintegerformvalidator}
+\item \helpref{wxRealFormValidator}{wxrealformvalidator}
+\item \helpref{wxStringFormValidator}{wxstringformvalidator}
+\end{itemize}
+
+\subsection{View classes}\label{proplistviewclasses}
+
+View classes mediate between a property sheet and a physical window.
+
+\begin{itemize}\itemsep=0pt
+\item \helpref{wxPropertyView}{wxpropertyview}
+\item \helpref{wxPropertyListView}{wxpropertylistview}
+\item \helpref{wxPropertyFormView}{wxpropertyformview}
+\end{itemize}
+
+\subsection{Window classes}\label{proplistwindowclasses}
+
+The class library defines some window classes that can be used as-is with a suitable
+view class and property sheet.
+
+\begin{itemize}\itemsep=0pt
+\item \helpref{wxPropertyFormFrame}{wxpropertyformframe}
+\item \helpref{wxPropertyFormDialog}{wxpropertyformdialog}
+\item \helpref{wxPropertyFormPanel}{wxpropertyformpanel}
+\item \helpref{wxPropertyListFrame}{wxpropertylistframe}
+\item \helpref{wxPropertyListDialog}{wxpropertylistdialog}
+\item \helpref{wxPropertyListPanel}{wxpropertylistpanel}
+\end{itemize}
+
+\subsection{Registry classes}
+
+A validator registry is a list of validators that can be applied to properties in a property sheet.
+There may be one or more registries per property view.
+
+\begin{itemize}\itemsep=0pt
+\item \helpref{wxPropertyValidatorRegistry}{wxpropertyvalidatorregistry}
+\end{itemize}
diff --git a/docs/latex/wx/propliva.tex b/docs/latex/wx/propliva.tex
new file mode 100644 (file)
index 0000000..0962211
--- /dev/null
@@ -0,0 +1,108 @@
+\section{\class{wxPropertyListValidator}}\label{wxpropertylistvalidator}
+
+\overview{wxPropertyListValidator overview}{wxpropertylistvalidatoroverview}
+
+The {\bf wxPropertyListValidator} abstract class is the base class for
+deriving validators for property lists.
+
+\membersection{wxPropertyListValidator::wxPropertyListValidator}
+
+\func{void}{wxPropertyListValidator}{\param{long}{ flags = wxPROP\_ALLOW\_TEXT\_EDITING}}
+
+Constructor.
+
+\membersection{wxPropertyListValidator::\destruct{wxPropertyListValidator}}
+
+\func{void}{\destruct{wxPropertyListValidator}}{\void}
+
+Destructor.
+
+\membersection{wxPropertyListValidator::OnCheckValue}
+
+\func{Bool}{OnCheckValue}{\param{wxProperty *}{property}, \param{wxPropertyListView *}{view},
+ \param{wxWindow *}{parentWindow}}
+Called when the Tick (Confirm) button is pressed or focus is list. Return FALSE if the value
+was invalid, which is a signal restores the old value. Return TRUE if the value was valid.
+
+\membersection{wxPropertyListValidator::OnClearControls}
+
+\func{Bool}{OnClearControls}{\param{wxProperty *}{property}, \param{wxPropertyListView *}{view},
+ \param{wxWindow *}{parentWindow}}
+Allows the clearing (enabling, disabling) of property list controls, when the focus leaves the current property.
+
+\membersection{wxPropertyListValidator::OnClearDetailControls}
+
+\func{Bool}{OnClearDetailControls}{\param{wxProperty *}{property}, \param{wxPropertyListView *}{view},
+ \param{wxWindow *}{parentWindow}}
+Called when the focus is lost, if the validator is in detailed editing mode.
+
+\membersection{wxPropertyListValidator::OnDisplayValue}
+
+\func{Bool}{OnDisplayValue}{\param{wxProperty *}{property}, \param{wxPropertyListView *}{view},
+ \param{wxWindow *}{parentWindow}}
+
+Should display the value in the appropriate controls. The default implementation gets the
+textual value from the property and inserts it into the text edit control.
+\membersection{wxPropertyListValidator::OnDoubleClick}
+
+\func{Bool}{OnDoubleClick}{\param{wxProperty *}{property}, \param{wxPropertyListView *}{view},
+ \param{wxWindow *}{parentWindow}}
+
+Called when the property is double clicked. Extra functionality can be provided,
+such as cycling through possible values.
+
+\membersection{wxPropertyListValidator::OnEdit}
+
+\func{Bool}{OnEdit}{\param{wxProperty *}{property}, \param{wxPropertyListView *}{view},
+ \param{wxWindow *}{parentWindow}}
+Called when the Edit (detailed editing) button is pressed. The default implementation
+calls wxPropertyListView::BeginDetailedEditing; a filename validator (for example) overrides
+this function to show the file selector.
+
+\membersection{wxPropertyListValidator::OnPrepareControls}
+
+\func{Bool}{OnPrepareControls}{\param{wxProperty *}{property}, \param{wxPropertyListView *}{view},
+ \param{wxWindow *}{parentWindow}}
+
+Called to allow the validator to setup the display, such enabling or disabling buttons, and
+setting the values and selection in the standard listbox control (the one optionally used for displaying
+value options).
+
+\membersection{wxPropertyListValidator::OnPrepareDetailControls}
+
+\func{Bool}{OnPrepareDetailControls}{\param{wxProperty *}{property}, \param{wxPropertyListView *}{view},
+ \param{wxWindow *}{parentWindow}}
+Called when the property is edited `in detail', i.e. when the Edit button is pressed.
+
+\membersection{wxPropertyListValidator::OnRetrieveValue}
+
+\func{Bool}{OnRetrieveValue}{\param{wxProperty *}{property}, \param{wxPropertyListView *}{view},
+ \param{wxWindow *}{parentWindow}}
+
+Called when Tick (Confirm) is pressed or focus is lost or view wants to update
+the property list. Should do the transfer from the property editing area to the property itself
+
+\membersection{wxPropertyListValidator::OnSelect}
+
+\func{Bool}{OnSelect}{\param{Bool}{ select}, \param{wxProperty *}{property}, \param{wxPropertyListView *}{view},
+ \param{wxWindow *}{parentWindow}}
+
+Called when the property is selected or deselected: typically displays the value
+in the edit control (having chosen a suitable control to display: (non)editable text or listbox).
+
+\membersection{wxPropertyListValidator::OnValueListSelect}
+
+\func{Bool}{OnValueListSelect}{\param{wxProperty *}{property}, \param{wxPropertyListView *}{view},
+ \param{wxWindow *}{parentWindow}}
+
+Called when the value listbox is selected. The default behaviour is to copy
+string to text control, and retrieve the value into the property.
+
+
+
diff --git a/docs/latex/wx/proplosv.tex b/docs/latex/wx/proplosv.tex
new file mode 100644 (file)
index 0000000..0132b09
--- /dev/null
@@ -0,0 +1,27 @@
+\section{\class{wxListOfStringsListValidator}}\label{wxlistofstringslistvalidator}
+
+\overview{Validator classes}{proplistvalidatorclasses}
+
+This class validates a list of strings for a list view. When editing the property,
+a dialog box is presented for adding, deleting or editing entries in the list.
+At present no constraints may be supplied.
+
+You can construct a string list property value by constructing a wxStringList object.
+
+For example:
+
+\begin{verbatim}
+  myListValidatorRegistry.RegisterValidator((wxString)"stringlist",
+      new wxListOfStringsListValidator);
+
+  wxStringList *strings = new wxStringList("earth", "fire", "wind", "water", NULL);
+
+  sheet->AddProperty(new wxProperty("fred", strings, "stringlist"));
+\end{verbatim}
+
+\membersection{wxListOfStringsListValidator::wxListofStringsListValidator}
+
+\func{void}{wxListOfStringsListValidator}{\param{long}{ flags=0}}
+
+Constructor.
+
diff --git a/docs/latex/wx/proplstv.tex b/docs/latex/wx/proplstv.tex
new file mode 100644 (file)
index 0000000..a370762
--- /dev/null
@@ -0,0 +1,108 @@
+\section{\class{wxPropertyListView}}\label{wxpropertylistview}
+
+\overview{wxPropertyListView overview}{wxpropertylistviewoverview}
+
+The {\bf wxPropertyListView} class shows a wxPropertySheet as a Visual Basic-style property list.
+
+\membersection{wxPropertyListView::wxPropertyListView}
+
+\func{void}{wxPropertyListView}{\param{long}{ flags = wxPROP\_BUTTON\_DEFAULT}}
+
+Constructor.
+
+The {\it flags} argument can be a bit list of the following:
+
+\begin{itemize}\itemsep=0pt
+\item wxPROP\_BUTTON\_CLOSE
+\item wxPROP\_BUTTON\_OK
+\item wxPROP\_BUTTON\_CANCEL
+\item wxPROP\_BUTTON\_CHECK\_CROSS
+\item wxPROP\_BUTTON\_HELP
+\item wxPROP\_DYNAMIC\_VALUE\_FIELD
+\item wxPROP\_PULLDOWN
+\end{itemize}
+
+\membersection{wxPropertyListView::\destruct{wxPropertyListView}}
+
+\func{void}{\destruct{wxPropertyListView}}{\void}
+
+Destructor.
+
+\membersection{wxPropertyListView::AssociatePanel}\label{wxpropertylistviewassociatepanel}
+
+\func{void}{AssociatePanel}{\param{wxPanel *}{panel}}
+
+Associates the window on which the controls will be displayed, with the view (sets an internal pointer to the window).
+
+\membersection{wxPropertyListView::BeginShowingProperty}\label{wxpropertylistviewbeginshowingproperty}
+
+\func{Bool}{BeginShowingProperty}{\param{wxProperty *}{property}}
+
+Finds the appropriate validator and loads the property into the controls, by calling
+wxPropertyValidator::OnPrepareControls and then wxPropertyListView::DisplayProperty.
+
+\membersection{wxPropertyListView::DisplayProperty}\label{wxpropertylistviewdisplayproperty}
+
+\func{Bool}{DisplayProperty}{\param{wxProperty *}{property}}
+
+Calls wxPropertyValidator::OnDisplayValue for the current property's validator. This function
+gets called by wxPropertyListView::BeginShowingProperty, which is in turn called
+from ShowProperty, called by OnPropertySelect, called by the listbox callback when selected.
+
+\membersection{wxPropertyListView::EndShowingProperty}\label{wxpropertylistviewendshowingproperty}
+
+\func{Bool}{EndShowingProperty}{\param{wxProperty *}{property}}
+
+Finds the appropriate validator and unloads the property from the controls, by calling
+wxPropertyListView::RetrieveProperty, wxPropertyValidator::OnClearControls and (if we're in
+detailed editing mdoe) wxPropertyValidator::OnClearDetailControls.
+
+\membersection{wxPropertyListView::GetPanel}\label{wxpropertylistviewgetpanel}
+
+\func{wxPanel *}{GetPanel}{\void}
+
+Returns the panel associated with the view.
+
+\membersection{wxPropertyListView::GetManagedWindow}\label{wxpropertylistviewgetmanagedwindow}
+
+\func{wxWindow *}{GetManagedWindow}{\void}
+
+Returns the managed window (a frame or dialog) associated with the view.
+
+\membersection{wxPropertyListView::GetWindowCancelButton}\label{wxpropertylistviewgetwindowcancelbutton}
+
+\func{wxButton *}{GetWindowCancelButton}{\void}
+
+Returns the window cancel button, if any.
+
+\membersection{wxPropertyListView::GetWindowCloseButton}\label{wxpropertylistviewgetwindowclosebutton}
+
+\func{wxButton *}{GetWindowCloseButton}{\void}
+
+Returns the window close or OK button, if any.
+
+\membersection{wxPropertyListView::GetWindowHelpButton}\label{wxpropertylistviewgetwindowhelpbutton}
+
+\func{wxButton *}{GetWindowHelpButton}{\void}
+
+Returns the window help button, if any.
+
+\membersection{wxPropertyListView::SetManagedWindow}\label{wxpropertylistviewsetmanagedwindow}
+
+\func{void}{SetManagedWindow}{\param{wxWindow *}{win}}
+
+Sets the managed window (a frame or dialog) associated with the view.
+
+\membersection{wxPropertyListView::UpdatePropertyDisplayInList}\label{wxpropertylistviewupdatepropdisplay}
+
+\func{Bool}{UpdatePropertyDisplayInList}{\param{wxProperty *}{property}}
+
+Updates the display for the given changed property.
+
+\membersection{wxPropertyListView::UpdatePropertyList}\label{wxpropertylistviewupdateproplist}
+
+\func{Bool}{UpdatePropertyList}{\param{Bool }{clearEditArea = TRUE}}
+
+Updates the whole property list display.
+
+
diff --git a/docs/latex/wx/propregv.tex b/docs/latex/wx/propregv.tex
new file mode 100644 (file)
index 0000000..97d77f0
--- /dev/null
@@ -0,0 +1,40 @@
+\section{\class{wxPropertyValidatorRegistry}}\label{wxpropertyvalidatorregistry}
+
+The {\bf wxPropertyValidatorRegistry} class is used for storing validators,
+indexed by the `role name' of the property, by which groups of property
+can be identified for the purpose of validation and editing.
+
+\membersection{wxPropertyValidatorRegistry::wxPropertyValidatorRegistry}
+
+\func{void}{wxPropertyValidatorRegistry}{\void}
+
+Constructor.
+
+\membersection{wxPropertyValidatorRegistry::\destruct{wxPropertyValidatorRegistry}}
+
+\func{void}{\destruct{wxPropertyValidatorRegistry}}{\void}
+
+Destructor.
+
+\membersection{wxPropertyValidatorRegistry::Clear}
+
+\func{void}{ClearRegistry}{\void}
+
+Clears the registry, deleting the validators.
+
+\membersection{wxPropertyValidatorRegistry::GetValidator}
+
+\func{wxPropertyValidator *}{GetValidator}{\param{wxString\& }{roleName}}
+
+Retrieve a validator by the property role name.
+
+\membersection{wxPropertyValidatorRegistry::RegisterValidator}\label{wxpropertyvalidatorregistervalidator}
+
+\func{void}{RegisterValidator}{\param{wxString\& }{roleName}, \param{wxPropertyValidator *}{validator}}
+
+Register a validator with the registry. {\it roleName} is a name indicating the
+role of the property, such as ``filename''. Later, when a validator is chosen for
+editing a property, this role name is matched against the class names of the property,
+if the property does not already have a validator explicitly associated with it.
+
+
diff --git a/docs/latex/wx/proprfva.tex b/docs/latex/wx/proprfva.tex
new file mode 100644 (file)
index 0000000..9f88b8a
--- /dev/null
@@ -0,0 +1,14 @@
+\section{\class{wxRealFormValidator}}\label{wxrealformvalidator}
+
+\overview{Validator classes}{proplistvalidatorclasses}
+
+This class validates a range of real values for form views. The associated panel item must be a wxText.
+
+\membersection{wxRealFormValidator::wxRealFormValidator}
+
+\func{void}{wxRealFormValidator}{\param{float }{min=0.0}, \param{float }{max=0.0},
+ \param{long}{ flags=0}}
+
+Constructor. Assigning zero to minimum and maximum values indicates that there is no range to check.
+
+
diff --git a/docs/latex/wx/proprlva.tex b/docs/latex/wx/proprlva.tex
new file mode 100644 (file)
index 0000000..bad236a
--- /dev/null
@@ -0,0 +1,14 @@
+\section{\class{wxRealListValidator}}\label{wxreallistvalidator}
+
+\overview{Validator classes}{proplistvalidatorclasses}
+
+This class validates a range of real values for property lists.
+
+\membersection{wxRealListValidator::wxreallistvalidator}
+
+\func{void}{wxRealListValidator}{\param{float }{min=0.0}, \param{float }{max=0.0},
+ \param{long}{ flags=wxPROP\_ALLOW\_TEXT\_EDITING}}
+
+Constructor. Assigning zero to minimum and maximum values indicates that there is no range to check.
+
+
diff --git a/docs/latex/wx/propsht.tex b/docs/latex/wx/propsht.tex
new file mode 100644 (file)
index 0000000..b5d4b28
--- /dev/null
@@ -0,0 +1,81 @@
+\section{\class{wxPropertySheet}}\label{wxpropertysheet}
+
+\overview{wxPropertySheet overview}{wxpropertysheetoverview}
+
+The {\bf wxPropertySheet} class is used for storing a number of
+wxProperty objects (essentially names and values).
+
+\membersection{wxPropertySheet::wxPropertySheet}
+
+\func{void}{wxPropertySheet}{\param{const wxString}{ name = ""}}
+
+Constructor. Sets property sheet's name to name if present.
+
+\membersection{wxPropertySheet::\destruct{wxPropertySheet}}
+
+\func{void}{\destruct{wxPropertySheet}}{\void}
+
+Destructor. Destroys all contained properties.
+
+\membersection{wxPropertySheet::AddProperty}\label{wxpropertysheetaddproperty}
+
+\func{void}{AddProperty}{\param{wxProperty *}{property}}
+
+Adds a property to the sheet.
+
+\membersection{wxPropertySheet::Clear}\label{wxpropertysheetclear}
+
+\func{void}{Clear}{\void}
+
+Clears all the properties from the sheet (deleting them).
+
+\membersection{wxPropertySheet::GetName}\label{wxpropertysheetgetname}
+
+\func{wxString}{GetName}{\void}
+
+Gets the sheet's name.
+
+\membersection{wxPropertySheet::GetProperty}\label{wxpropertysheetgetproperty}
+
+\func{wxProperty *}{GetProperty}{\param{wxString}{ name}}
+
+Gets a property by name.
+
+\membersection{wxPropertySheet::GetProperties}\label{wxpropertysheetgetproperties}
+
+\func{wxList\&}{GetProperties}{\void}
+
+Returns a reference to the internal list of properties.
+
+\membersection{wxPropertySheet::HasProperty}\label{wxpropertysheethasproperty}
+
+\func{bool}{HasProperty}{\param{wxString}{ propname}}
+
+Returns true if sheet contains property propname.
+
+\membersection{wxPropertySheet::RemoveProperty}\label{wxpropertysheetremoveproperty}
+
+\func{void}{RemoveProperty}{\param{wxString}{ propname}}
+
+Removes property propname from sheet, deleting it.
+
+\membersection{wxPropertySheet::SetName}\label{wxpropertysheetsetname}
+
+\func{void}{SetName}{\param{wxString}{ sheetname}}
+
+Set the sheet's name to sheetname
+
+\membersection{wxPropertySheet::SetProperty}\label{wxpropertysheetsetproperty}
+
+\func{bool}{SetProperty}{\param{wxString}{ propname}, \param{wxPropertyValue}{ value}}
+
+Sets property propname to value. Returns false if property is not a member of sheet.
+
+\membersection{wxPropertySheet::SetAllModified}
+
+\func{void}{SetAllModified}{\param{Bool}{ flag}}
+
+Sets the `modified' flag of each property value.
+
+
+
diff --git a/docs/latex/wx/propslv.tex b/docs/latex/wx/propslv.tex
new file mode 100644 (file)
index 0000000..557ec05
--- /dev/null
@@ -0,0 +1,14 @@
+\section{\class{wxStringListValidator}}\label{wxstringlistvalidator}
+
+\overview{Validator classes}{proplistvalidatorclasses}
+
+This class validates a string value, with an optional choice of possible values.
+
+\membersection{wxStringListValidator::wxStringListValidator}
+
+\func{void}{wxStringListValidator}{\param{wxStringList *}{list=NULL}, \param{long}{ flags=0}}
+
+Constructor. Supply a list of strings to indicate a choice, or no strings to allow the
+user to freely edit the string. The string list will be deleted when the validator is deleted.
+
+
diff --git a/docs/latex/wx/propstfv.tex b/docs/latex/wx/propstfv.tex
new file mode 100644 (file)
index 0000000..279a5b2
--- /dev/null
@@ -0,0 +1,17 @@
+\section{\class{wxStringFormValidator}}\label{wxstringformvalidator}
+
+\overview{Validator classes}{proplistvalidatorclasses}
+
+This class validates a string value for a form view, with an optional choice of possible values.
+The associated panel item must be a wxText, wxListBox or wxChoice. For wxListBox and wxChoice items,
+if the item is empty, the validator attempts to initialize the item from the strings in
+the validator. Note that this does not happen for XView wxChoice items since XView cannot reinitialize a wxChoice.
+\membersection{wxStringFormValidator::wxStringFormValidator}
+
+\func{void}{wxStringFormValidator}{\param{wxStringList *}{list=NULL}, \param{long}{ flags=0}}
+
+Constructor. Supply a list of strings to indicate a choice, or no strings to allow the
+user to freely edit the string. The string list will be deleted when the validator is deleted.
+
+
diff --git a/docs/latex/wx/propval.tex b/docs/latex/wx/propval.tex
new file mode 100644 (file)
index 0000000..6283a5a
--- /dev/null
@@ -0,0 +1,242 @@
+\section{\class{wxPropertyValue}}\label{wxpropertyvalue}
+
+The {\bf wxPropertyValue} class represents the value of a property,
+and is normally associated with a wxProperty object.
+
+A wxPropertyValue has one of the following types:
+
+\begin{itemize}\itemsep=0pt
+\item wxPropertyValueNull
+\item wxPropertyValueInteger
+\item wxPropertyValueReal
+\item wxPropertyValueBool
+\item wxPropertyValueString
+\item wxPropertyValueList
+\item wxPropertyValueIntegerPtr
+\item wxPropertyValueRealPtr
+\item wxPropertyValueBoolPtr
+\item wxPropertyValueStringPtr
+\end{itemize}
+
+\membersection{wxPropertyValue::wxPropertyValue}
+
+\func{void}{wxPropertyValue}{\void}
+
+Default constructor.
+
+\func{void}{wxPropertyValue}{\param{const wxPropertyValue\& }{copyFrom}}
+
+Copy constructor.
+
+\func{void}{wxPropertyValue}{\param{char *}{val}}
+
+Construction from a string value.
+
+\func{void}{wxPropertyValue}{\param{long}{ val}}
+
+Construction from an integer value. You may need to cast to (long) to
+avoid confusion with other constructors (such as the Bool constructor).
+
+\func{void}{wxPropertyValue}{\param{Bool}{ val}}
+
+Construction from a boolean value.
+
+\func{void}{wxPropertyValue}{\param{float}{ val}}
+
+Construction from a floating point value.
+
+\func{void}{wxPropertyValue}{\param{double}{ val}}
+
+Construction from a floating point value.
+
+\func{void}{wxPropertyValue}{\param{wxList *}{ val}}
+
+Construction from a list of wxPropertyValue objects. The
+list, but not each contained wxPropertyValue, will be deleted
+by the constructor. The wxPropertyValues will be assigned to
+this wxPropertyValue list. In other words, so do not delete wxList or
+its data after calling this constructor.
+
+\func{void}{wxPropertyValue}{\param{wxStringList *}{ val}}
+
+Construction from a list of strings. The list (including the strings
+contained in it) will be deleted by the constructor, so do not
+destroy {\it val} explicitly.
+
+\func{void}{wxPropertyValue}{\param{char **}{val}}
+
+Construction from a string pointer.
+
+\func{void}{wxPropertyValue}{\param{long *}{val}}
+
+Construction from an integer pointer.
+
+\func{void}{wxPropertyValue}{\param{Bool *}{val}}
+
+Construction from an boolean pointer.
+
+\func{void}{wxPropertyValue}{\param{float *}{val}}
+
+Construction from a floating point pointer.
+
+The last four constructors use pointers to various C++ types, and do not
+store the types themselves; this allows the values to stand in for actual
+data values defined elsewhere.
+
+\membersection{wxPropertyValue::\destruct{wxPropertyValue}}
+
+\func{void}{\destruct{wxPropertyValue}}{\void}
+
+Destructor.
+
+\membersection{wxPropertyValue::Append}
+
+\func{void}{Append}{\param{wxPropertyValue *}{expr}}
+
+Appends a property value to the list.
+
+\membersection{wxPropertyValue::BoolValue}
+
+\func{Bool}{BoolValue}{\void}
+
+Returns the boolean value.
+
+\membersection{wxPropertyValue::BoolValuePtr}
+
+\func{Bool *}{BoolValuePtr}{\void}
+
+Returns the pointer to the boolean value.
+
+\membersection{wxPropertyValue::ClearList}
+
+\func{void}{ClearList}{\void}
+
+Deletes the contents of the list.
+
+\membersection{wxPropertyValue::Delete}
+
+\func{void}{Delete}{\param{wxPropertyValue *}{expr}}
+
+Deletes {\it expr} from this list.
+
+\membersection{wxPropertyValue::GetFirst}
+
+\func{wxPropertyValue *}{GetFirst}{\void}
+
+Gets the first value in the list.
+
+\membersection{wxPropertyValue::GetLast}
+
+\func{wxPropertyValue *}{GetFirst}{\void}
+
+Gets the last value in the list.
+
+\membersection{wxPropertyValue::GetModified}
+
+\func{Bool}{GetModified}{\void}
+
+Returns TRUE if the value was modified since being created
+(or since SetModified was called).
+
+\membersection{wxPropertyValue::GetNext}
+
+\func{wxPropertyValue *}{GetNext}{\void}
+
+Gets the next value in the list (the one after `this').
+
+\membersection{wxPropertyValue::GetStringRepresentation}
+
+\func{wxString}{GetStringRepresentation}{\void}
+
+Gets a string representation of the value.
+
+\membersection{wxPropertyValue::IntegerValue}
+
+\func{long}{IntegerValue}{\void}
+
+Returns the integer value.
+
+\membersection{wxPropertyValue::Insert}
+
+\func{void}{Insert}{\param{wxPropertyValue *}{expr}}
+
+Inserts a property value at the front of a list.
+
+\membersection{wxPropertyValue::IntegerValuePtr}
+
+\func{long *}{IntegerValuePtr}{\void}
+
+Returns the pointer to the integer value.
+
+\membersection{wxPropertyValue::Nth}
+
+\func{wxPropertyValue *}{Nth}{\param{int}{ n}}
+
+Returns the nth value of a list expression (starting from zero).
+
+\membersection{wxPropertyValue::Number}
+
+\func{int}{Number}{\void}
+
+Returns the number of elements in a list expression.
+
+\membersection{wxPropertyValue::RealValue}
+
+\func{float}{RealValue}{\void}
+
+Returns the floating point value.
+
+\membersection{wxPropertyValue::RealValuePtr}
+
+\func{float *}{RealValuePtr}{\void}
+
+Returns the pointer to the floating point value.
+
+\membersection{wxPropertyValue::SetModified}
+
+\func{void}{SetModified}{\param{Bool}{ flag}}
+
+Sets the `modified' flag.
+
+\membersection{wxPropertyValue::StringValue}
+
+\func{char *}{StringValue}{\void}
+
+Returns the string value.
+
+\membersection{wxPropertyValue::StringValuePtr}
+
+\func{char **}{StringValuePtr}{\void}
+
+Returns the pointer to the string value.
+
+\membersection{wxPropertyValue::Type}
+
+\func{wxPropertyValueType}{Type}{\void}
+
+Returns the value type.
+
+\membersection{wxPropertyValue::operator $=$}
+
+\func{void}{operator $=$}{\param{const wxPropertyValue\& }{val}}
+
+\func{void}{operator $=$}{\param{const char *}{val}}
+
+\func{void}{operator $=$}{\param{const long }{val}}
+
+\func{void}{operator $=$}{\param{const Bool }{val}}
+
+\func{void}{operator $=$}{\param{const float }{val}}
+
+\func{void}{operator $=$}{\param{const char **}{val}}
+
+\func{void}{operator $=$}{\param{const long *}{val}}
+
+\func{void}{operator $=$}{\param{const Bool *}{val}}
+
+\func{void}{operator $=$}{\param{const float *}{val}}
+
+Assignment operators.
+
+
+
diff --git a/docs/latex/wx/propvald.tex b/docs/latex/wx/propvald.tex
new file mode 100644 (file)
index 0000000..13c39ca
--- /dev/null
@@ -0,0 +1,38 @@
+\section{\class{wxPropertyValidator}}\label{wxpropertyvalidator}
+
+\overview{wxPropertyValidator overview}{wxpropertyvalidatoroverview}
+
+The {\bf wxPropertyValidator} abstract class is the base class for deriving
+validators for properties.
+
+\membersection{wxPropertyValidator::wxPropertyValidator}
+
+\func{void}{wxPropertyValidator}{\param{long}{ flags = 0}}
+
+Constructor.
+
+\membersection{wxPropertyValidator::\destruct{wxPropertyValidator}}
+
+\func{void}{\destruct{wxPropertyValidator}}{\void}
+
+Destructor.
+
+\membersection{wxPropertyValidator::GetFlags}
+
+\func{long}{GetFlags}{\void}
+
+Returns the flags for the validator.
+
+\membersection{wxPropertyValidator::GetValidatorProperty}
+
+\func{wxProperty *}{GetValidatorProperty}{\void}
+
+Gets the property for the validator.
+
+\membersection{wxPropertyValidator::SetValidatorProperty}
+
+\func{void}{SetValidatorProperty}{\param{wxProperty *}{property}}
+
+Sets the property for the validator.
+
+
diff --git a/docs/latex/wx/propview.tex b/docs/latex/wx/propview.tex
new file mode 100644 (file)
index 0000000..5fd4691
--- /dev/null
@@ -0,0 +1,107 @@
+\section{\class{wxPropertyView}}\label{wxpropertyview}
+
+\overview{wxPropertyView overview}{wxpropertyviewoverview}
+
+The {\bf wxPropertyView} abstract class is the base class for views
+of property sheets, acting as intermediaries between properties and
+actual windows.
+
+\membersection{wxPropertyView::wxPropertyView}
+
+\func{void}{wxPropertyView}{\param{long}{ flags = wxPROP\_BUTTON\_DEFAULT}}
+
+Constructor.
+
+The {\it flags} argument can be a bit list of the following:
+
+\begin{itemize}\itemsep=0pt
+\item wxPROP\_BUTTON\_CLOSE
+\item wxPROP\_BUTTON\_OK
+\item wxPROP\_BUTTON\_CANCEL
+\item wxPROP\_BUTTON\_CHECK\_CROSS
+\item wxPROP\_BUTTON\_HELP
+\item wxPROP\_DYNAMIC\_VALUE\_FIELD
+\item wxPROP\_PULLDOWN
+\end{itemize}
+
+\membersection{wxPropertyView::\destruct{wxPropertyView}}
+
+\func{void}{\destruct{wxPropertyView}}{\void}
+
+Destructor.
+
+\membersection{wxPropertyView::AddRegistry}\label{wxpropertyviewaddregistry}
+
+\func{void}{AddRegistry}{\param{wxPropertyValidatorRegistry *}{registry}}
+
+Adds a registry (list of property validators) the view's list of registries, which is initially empty.
+
+\membersection{wxPropertyView::FindPropertyValidator}\label{wxpropertyviewfindpropertyvalidator}
+
+\func{wxPropertyValidator *}{FindPropertyValidator}{\param{wxProperty *}{property}}
+
+Finds the property validator that is most appropriate to this property.
+
+\membersection{wxPropertyView::GetPropertySheet}\label{wxpropertyviewgetpropertysheet}
+
+\func{wxPropertySheet *}{GetPropertySheet}{\void}
+
+Gets the property sheet for this view.
+
+\membersection{wxPropertyView::GetRegistryList}\label{wxpropertyviewgetregistrylist}
+
+\func{wxList\&}{GetRegistryList}{\void}
+
+Returns a reference to the list of property validator registries.
+
+\membersection{wxPropertyView::OnOk}\label{wxpropertyviewonok}
+
+\func{void}{OnOk}{\void}
+
+Virtual function that will be called when the OK button on the physical window is pressed (if it exists).
+
+\membersection{wxPropertyView::OnCancel}\label{wxpropertyviewoncancel}
+
+\func{void}{OnCancel}{\void}
+
+Virtual function that will be called when the Cancel button on the physical window is pressed (if it exists).
+
+\membersection{wxPropertyView::OnClose}\label{wxpropertyviewonclose}
+
+\func{Bool}{OnClose}{\void}
+
+Virtual function that will be called when the physical window is closed. The default implementation returns FALSE.
+
+\membersection{wxPropertyView::OnHelp}\label{wxpropertyviewonhelp}
+
+\func{void}{OnHelp}{\void}
+
+Virtual function that will be called when the Help button on the physical window is pressed (if it exists).
+
+\membersection{wxPropertyView::OnPropertyChanged}\label{wxpropertyviewonpropertychanged}
+
+\func{void}{OnPropertyChanged}{\param{wxProperty *}{property}}
+
+Virtual function called by a view or validator when a property's value changed. Validators
+must be written correctly for this to be called. You can override this function
+to respond immediately to property value changes.
+
+\membersection{wxPropertyView::OnUpdateView}\label{wxpropertyviewonupdateview}
+
+\func{Bool}{OnUpdateView}{\void}
+
+Called by the viewed object to update the view. The default implementation just returns
+FALSE.
+
+\membersection{wxPropertyView::SetPropertySheet}\label{wxpropertyviewsetpropertysheet}
+
+\func{void}{SetPropertySheet}{\param{wxPropertySheet *}{sheet}}
+
+Sets the property sheet for this view.
+
+\membersection{wxPropertyView::ShowView}\label{wxpropertyviewshowview}
+
+\func{void}{ShowView}{\param{wxPropertySheet *}{sheet}, \param{wxPanel *}{panel}}
+
+Associates this view with the given panel, and shows the view.
+