]> git.saurik.com Git - wxWidgets.git/commitdiff
moving forward
authorStefan Csomor <csomor@advancedconcepts.ch>
Sun, 24 Feb 2008 18:01:09 +0000 (18:01 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Sun, 24 Feb 2008 18:01:09 +0000 (18:01 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52050 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/doxygen/overviews/unixprinting.h
docs/doxygen/overviews/validator.h

index c520e0b73be196f82fe2d9a93104af2e3acd0c44..634a8b3d199657ade191c176a2e29f695c5a394d 100644 (file)
@@ -20,6 +20,7 @@
  number of application could offer WYSIWYG under Unix. Equally,
  wxWidgets offered its own printing implementation using PostScript
  which never really matched the screen display.
+
  Starting with version 2.8.X, the GNOME project provides printing
  support through the libgnomeprint and libgnomeprintui libraries
  by which especially the font problem is mostly solved. Beginning
@@ -33,6 +34,7 @@
  Note that the application will not require the GNOME print libraries
  to be installed in order to run (there will be no dependency on
  these libraries).
+
  In version GTK+ 2.10, support for printing has been added to GTK+
  itself. Beginning with version wxWidgets 2.9.X, the GTK+ port of
  wxWidgets can make use of this feature
index e7e13e16509f3277cb01beba1947f66a716a5834..88f09e28145fa09a1bbeb0aedd7f13125a2d6c98 100644 (file)
 
  Classes: #wxValidator, #wxTextValidator,
  #wxGenericValidator
+
  The aim of the validator concept is to make dialogs very much easier to write.
  A validator is an object that can be plugged into a control (such as a wxTextCtrl), and
  mediates between C++ data and the control, transferring the data in either direction
  and validating it. It also is able to intercept events generated
  by the control, providing filtering behaviour without the need to derive a new control class.
+
  You can use a stock validator, such as #wxTextValidator (which does text
  control data transfer, validation and filtering) and
  #wxGenericValidator (which does data transfer for a range of controls);
  or you can write your own.
- @b Example
+
+ @section example Example
+
  Here is an example of wxTextValidator usage.
 
  @code
 
  In this example, the text validator object provides the following functionality:
 
-
-  It transfers the value of g_data.m_string (a wxString variable) to the wxTextCtrl when
+ @li It transfers the value of g_data.m_string (a wxString variable) to the wxTextCtrl when
  the dialog is initialised.
-  It transfers the wxTextCtrl data back to this variable when the dialog is dismissed.
-  It filters input characters so that only alphabetic characters are allowed.
-
+ @li It transfers the wxTextCtrl data back to this variable when the dialog is dismissed.
+ @li It filters input characters so that only alphabetic characters are allowed.
 
  The validation and filtering of input is accomplished in two ways. When a character is input,
  wxTextValidator checks the character against the allowed filter flag (wxFILTER_ALPHA in this case). If
  The second type of validation is performed when the dialog is about to be dismissed, so if
  the default string contained invalid characters already, a dialog box is shown giving the
  error, and the dialog is not dismissed.
- @b Anatomy of a validator
+
+ @section anatomy Anatomy of a validator
+
  A programmer creating a new validator class should provide the following functionality.
+
  A validator constructor is responsible for allowing the programmer to specify the kind
  of validation required, and perhaps a pointer to a C++ variable that is used for storing the
  data for the control. If such a variable address is not supplied by the user, then
  the validator should store the data internally.
+
  The wxValidator::Validate member function should return
  @true if the data in the control (not the C++ variable) is valid. It should also show
  an appropriate message if data was not valid.
+
  The wxValidator::TransferToWindow member function should
  transfer the data from the validator or associated C++ variable to the control.
+
  The wxValidator::TransferFromWindow member function should
  transfer the data from the control to the validator or associated C++ variable.
+
  There should be a copy constructor, and a wxValidator::Clone function
  which returns a copy of the validator object. This is important because validators
  are passed by reference to window constructors, and must therefore be cloned internally.
+
  You can optionally define event handlers for the validator, to implement filtering. These handlers
  will capture events before the control itself does.
  For an example implementation, see the valtext.h and valtext.cpp files in the wxWidgets library.
- @b How validators interact with dialogs
+
+ @section dialogs How validators interact with dialogs
+
  For validators to work correctly, validator functions must be called at the right times during
  dialog initialisation and dismissal.
+
  When a wxDialog::Show is called (for a modeless dialog)
  or wxDialog::ShowModal is called (for a modal dialog),
  the function wxWindow::InitDialog is automatically called.
@@ -77,7 +90,7 @@
  function for each. Thus, data is transferred from C++ variables to the dialog
  just as the dialog is being shown.
 
- If you are using a window or panel instead of a dialog, you will need to
@note If you are using a window or panel instead of a dialog, you will need to
  call wxWindow::InitDialog explicitly before showing the
  window.
 
  call wxWindow::TransferDataFromWindow and
  return if this failed. It is then safe to end the dialog by calling EndModal (if modal)
  or Show (if modeless).
+
  In fact, wxDialog contains a default command event handler for the wxID_OK button. It goes like
  this:
 
 
  So if using validators and a normal OK button, you may not even need to write any
  code for handling dialog dismissal.
+
  If you load your dialog from a resource file, you will need to iterate through the controls
  setting validators, since validators can't be specified in a dialog resource.