GUI thread update and event corrections.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5141 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
1999-12-29 17:16:55 +00:00
parent e12be2f7fb
commit 924ef85080
12 changed files with 889 additions and 629 deletions

579
configure vendored

File diff suppressed because it is too large Load Diff

View File

@@ -1493,7 +1493,7 @@ if test "$wxUSE_GTK" = 1; then
AM_PATH_GTK(1.2.1, WXGTK12=1, AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.2.1 or above?)) AM_PATH_GTK(1.2.1, WXGTK12=1, AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.2.1 or above?))
TOOLKIT_INCLUDE="$GTK_CFLAGS" TOOLKIT_INCLUDE="$GTK_CFLAGS"
GUI_TK_LIBRARY="$GTK_LIBS" GUI_TK_LIBRARY="$GTK_LIBS -lgthread"
TOOLKIT=GTK TOOLKIT=GTK
GUIOBJS="\$(GTK_GUIOBJS)" GUIOBJS="\$(GTK_GUIOBJS)"

View File

@@ -436,6 +436,10 @@ public:
// for implementation code only: is the operation allowed? // for implementation code only: is the operation allowed?
bool IsAllowed() const { return m_bAllow; } bool IsAllowed() const { return m_bAllow; }
// probably useless: CopyObject() is used for deferred event
// handling but wxNotifyEvent must be processed immediately
void CopyObject(wxObject& obj) const;
private: private:
bool m_bAllow; bool m_bAllow;

View File

@@ -3,347 +3,645 @@
<BODY BGCOLOR=#FFFFFF> <BODY BGCOLOR=#FFFFFF>
<A NAME="classref"></A><CENTER> <A NAME="classref"></A><CENTER>
<A HREF="wx.htm"><img align=center src="contents.gif" BORDER=0 ALT="Contents"></A> <A HREF="wx.htm"><img align=center src="up.gif" BORDER=0 ALT="Up"></A> <A HREF="wx33.htm#topic32"><img align=center src="back.gif" BORDER=0 ALT="Previous"></A> <A HREF="wx35.htm#wxactivateevent"><img align=center src="forward.gif" BORDER=0 ALT="Next"></A> </CENTER><HR> <A HREF="wxwin.htm"><img align=center src="contents.gif" BORDER=0 ALT="Contents"></A> <A HREF="wxwin.htm"><img align=center src="up.gif" BORDER=0 ALT="Up"></A> <A HREF="wxwin26.htm#debugstrategies"><img align=center src="back.gif" BORDER=0 ALT="Previous"></A> <A HREF="wxwin28.htm#wxacceleratorentry"><img align=center src="forward.gif" BORDER=0 ALT="Next"></A> </CENTER><HR>
<H2>Alphabetical class reference</H2> <H2>Alphabetical class reference</H2>
<A HREF="wx35.htm#wxactivateevent"><B>wxActivateEvent</B></A><BR> <A HREF="wxwin28.htm#wxacceleratorentry"><B>wxAcceleratorEntry</B></A><BR>
<A HREF="wx36.htm#wxapp"><B>wxApp</B></A><BR> <A HREF="wxwin29.htm#wxacceleratortable"><B>wxAcceleratorTable</B></A><BR>
<A HREF="wx37.htm#wxbutton"><B>wxButton</B></A><BR> <A HREF="wxwin30.htm#wxactivateevent"><B>wxActivateEvent</B></A><BR>
<A HREF="wx38.htm#wxbitmap"><B>wxBitmap</B></A><BR> <A HREF="wxwin31.htm#wxapp"><B>wxApp</B></A><BR>
<A HREF="wx39.htm#wxbitmaphandler"><B>wxBitmapHandler</B></A><BR> <A HREF="wxwin32.htm#wxarray"><B>wxArray</B></A><BR>
<A HREF="wx40.htm#wxbitmapbutton"><B>wxBitmapButton</B></A><BR> <A HREF="wxwin33.htm#wxarraystring"><B>wxArrayString</B></A><BR>
<A HREF="wx41.htm#wxbrush"><B>wxBrush</B></A><BR> <A HREF="wxwin34.htm#wxautomationobject"><B>wxAutomationObject</B></A><BR>
<A HREF="wx42.htm#wxbrushlist"><B>wxBrushList</B></A><BR> <A HREF="wxwin35.htm#wxbitmap"><B>wxBitmap</B></A><BR>
<A HREF="wx43.htm#wxcheckbox"><B>wxCheckBox</B></A><BR> <A HREF="wxwin36.htm#wxbitmaphandler"><B>wxBitmapHandler</B></A><BR>
<A HREF="wx44.htm#wxchoice"><B>wxChoice</B></A><BR> <A HREF="wxwin37.htm#wxbitmapbutton"><B>wxBitmapButton</B></A><BR>
<A HREF="wx45.htm#wxclassinfo"><B>wxClassInfo</B></A><BR> <A HREF="wxwin38.htm#wxbitmapdataobject"><B>wxBitmapDataObject</B></A><BR>
<A HREF="wx46.htm#wxclientdc"><B>wxClientDC</B></A><BR> <A HREF="wxwin39.htm#wxboolformvalidator"><B>wxBoolFormValidator</B></A><BR>
<A HREF="wx47.htm#wxclipboard"><B>wxClipboard</B></A><BR> <A HREF="wxwin40.htm#wxboollistvalidator"><B>wxBoolListValidator</B></A><BR>
<A HREF="wx48.htm#wxclipboardclient"><B>wxClipboardClient</B></A><BR> <A HREF="wxwin41.htm#wxboxsizer"><B>wxBoxSizer</B></A><BR>
<A HREF="wx49.htm#wxcloseevent"><B>wxCloseEvent</B></A><BR> <A HREF="wxwin42.htm#wxbrush"><B>wxBrush</B></A><BR>
<A HREF="wx50.htm#wxcolour"><B>wxColour</B></A><BR> <A HREF="wxwin43.htm#wxbrushlist"><B>wxBrushList</B></A><BR>
<A HREF="wx51.htm#wxcolourdata"><B>wxColourData</B></A><BR> <A HREF="wxwin44.htm#wxbusycursor"><B>wxBusyCursor</B></A><BR>
<A HREF="wx52.htm#wxcolourdatabase"><B>wxColourDatabase</B></A><BR> <A HREF="wxwin45.htm#wxbusyinfo"><B>wxBusyInfo</B></A><BR>
<A HREF="wx53.htm#wxcolourdialog"><B>wxColourDialog</B></A><BR> <A HREF="wxwin46.htm#wxbutton"><B>wxButton</B></A><BR>
<A HREF="wx54.htm#wxcombobox"><B>wxComboBox</B></A><BR> <A HREF="wxwin47.htm#wxbufferedinputstream"><B>wxBufferedInputStream</B></A><BR>
<A HREF="wx55.htm#wxcommand"><B>wxCommand</B></A><BR> <A HREF="wxwin48.htm#wxbufferedoutputstream"><B>wxBufferedOutputStream</B></A><BR>
<A HREF="wx56.htm#wxcommandevent"><B>wxCommandEvent</B></A><BR> <A HREF="wxwin49.htm#wxcalculatelayoutevent"><B>wxCalculateLayoutEvent</B></A><BR>
<A HREF="wx57.htm#wxcommandprocessor"><B>wxCommandProcessor</B></A><BR> <A HREF="wxwin50.htm#wxcheckbox"><B>wxCheckBox</B></A><BR>
<A HREF="wx58.htm#wxcondition"><B>wxCondition</B></A><BR> <A HREF="wxwin51.htm#wxchecklistbox"><B>wxCheckListBox</B></A><BR>
<A HREF="wx59.htm#wxcontrol"><B>wxControl</B></A><BR> <A HREF="wxwin52.htm#wxchoice"><B>wxChoice</B></A><BR>
<A HREF="wx60.htm#wxcursor"><B>wxCursor</B></A><BR> <A HREF="wxwin53.htm#wxclassinfo"><B>wxClassInfo</B></A><BR>
<A HREF="wx61.htm#wxdatabase"><B>wxDatabase</B></A><BR> <A HREF="wxwin54.htm#wxclientdc"><B>wxClientDC</B></A><BR>
<A HREF="wx62.htm#wxdate"><B>wxDate</B></A><BR> <A HREF="wxwin55.htm#wxclipboard"><B>wxClipboard</B></A><BR>
<A HREF="wx63.htm#wxdc"><B>wxDC</B></A><BR> <A HREF="wxwin56.htm#wxcloseevent"><B>wxCloseEvent</B></A><BR>
<A HREF="wx64.htm#wxddeclient"><B>wxDDEClient</B></A><BR> <A HREF="wxwin57.htm#wxcolour"><B>wxColour</B></A><BR>
<A HREF="wx65.htm#wxddeconnection"><B>wxDDEConnection</B></A><BR> <A HREF="wxwin58.htm#wxcolourdata"><B>wxColourData</B></A><BR>
<A HREF="wx66.htm#wxddeserver"><B>wxDDEServer</B></A><BR> <A HREF="wxwin59.htm#wxcolourdatabase"><B>wxColourDatabase</B></A><BR>
<A HREF="wx67.htm#wxdebugcontext"><B>wxDebugContext</B></A><BR> <A HREF="wxwin60.htm#wxcolourdialog"><B>wxColourDialog</B></A><BR>
<A HREF="wx68.htm#wxdebugstreambuf"><B>wxDebugStreamBuf</B></A><BR> <A HREF="wxwin61.htm#wxcombobox"><B>wxComboBox</B></A><BR>
<A HREF="wx69.htm#wxdialog"><B>wxDialog</B></A><BR> <A HREF="wxwin62.htm#wxcommand"><B>wxCommand</B></A><BR>
<A HREF="wx70.htm#wxdirdialog"><B>wxDirDialog</B></A><BR> <A HREF="wxwin63.htm#wxcommandevent"><B>wxCommandEvent</B></A><BR>
<A HREF="wx71.htm#wxdocument"><B>wxDocument</B></A><BR> <A HREF="wxwin64.htm#wxcommandprocessor"><B>wxCommandProcessor</B></A><BR>
<A HREF="wx72.htm#wxdocchildframe"><B>wxDocChildFrame</B></A><BR> <A HREF="wxwin65.htm#wxcondition"><B>wxCondition</B></A><BR>
<A HREF="wx73.htm#wxdocmanager"><B>wxDocManager</B></A><BR> <A HREF="wxwin66.htm#wxconfigbase"><B>wxConfigBase</B></A><BR>
<A HREF="wx74.htm#wxdocparentframe"><B>wxDocParentFrame</B></A><BR> <A HREF="wxwin67.htm#wxcontrol"><B>wxControl</B></A><BR>
<A HREF="wx75.htm#wxdoctemplate"><B>wxDocTemplate</B></A><BR> <A HREF="wxwin68.htm#wxcriticalsection"><B>wxCriticalSection</B></A><BR>
<A HREF="wx76.htm#wxdropfilesevent"><B>wxDropFilesEvent</B></A><BR> <A HREF="wxwin69.htm#wxcriticalsectionlocker"><B>wxCriticalSectionLocker</B></A><BR>
<A HREF="wx77.htm#wxeraseevent"><B>wxEraseEvent</B></A><BR> <A HREF="wxwin70.htm#wxcustomdataobject"><B>wxCustomDataObject</B></A><BR>
<A HREF="wx78.htm#wxevent"><B>wxEvent</B></A><BR> <A HREF="wxwin71.htm#wxcursor"><B>wxCursor</B></A><BR>
<A HREF="wx79.htm#wxevthandler"><B>wxEvtHandler</B></A><BR> <A HREF="wxwin72.htm#wxdatabase"><B>wxDatabase</B></A><BR>
<A HREF="wx80.htm#wxexpr"><B>wxExpr</B></A><BR> <A HREF="wxwin73.htm#wxdataformat"><B>wxDataFormat</B></A><BR>
<A HREF="wx81.htm#wxexprdatabase"><B>wxExprDatabase</B></A><BR> <A HREF="wxwin74.htm#wxdataobject"><B>wxDataObject</B></A><BR>
<A HREF="wx82.htm#wxfile"><B>wxFile</B></A><BR> <A HREF="wxwin75.htm#wxdataobjectcomposite"><B>wxDataObjectComposite</B></A><BR>
<A HREF="wx83.htm#wxfiledialog"><B>wxFileDialog</B></A><BR> <A HREF="wxwin76.htm#wxdataobjectsimple"><B>wxDataObjectSimple</B></A><BR>
<A HREF="wx84.htm#wxfilehistory"><B>wxFileHistory</B></A><BR> <A HREF="wxwin77.htm#wxdatainputstream"><B>wxDataInputStream</B></A><BR>
<A HREF="wx85.htm#wxfocusevent"><B>wxFocusEvent</B></A><BR> <A HREF="wxwin78.htm#wxdataoutputstream"><B>wxDataOutputStream</B></A><BR>
<A HREF="wx86.htm#wxfont"><B>wxFont</B></A><BR> <A HREF="wxwin79.htm#wxdate"><B>wxDate</B></A><BR>
<A HREF="wx87.htm#wxfontdata"><B>wxFontData</B></A><BR> <A HREF="wxwin80.htm#wxdc"><B>wxDC</B></A><BR>
<A HREF="wx88.htm#wxfontdialog"><B>wxFontDialog</B></A><BR> <A HREF="wxwin81.htm#wxddeclient"><B>wxDDEClient</B></A><BR>
<A HREF="wx89.htm#wxfontlist"><B>wxFontList</B></A><BR> <A HREF="wxwin82.htm#wxddeconnection"><B>wxDDEConnection</B></A><BR>
<A HREF="wx90.htm#wxframe"><B>wxFrame</B></A><BR> <A HREF="wxwin83.htm#wxddeserver"><B>wxDDEServer</B></A><BR>
<A HREF="wx91.htm#wxgauge"><B>wxGauge</B></A><BR> <A HREF="wxwin84.htm#wxdebugcontext"><B>wxDebugContext</B></A><BR>
<A HREF="wx92.htm#wxgdiobject"><B>wxGDIObject</B></A><BR> <A HREF="wxwin85.htm#wxdebugstreambuf"><B>wxDebugStreamBuf</B></A><BR>
<A HREF="wx93.htm#wxgrid"><B>wxGrid</B></A><BR> <A HREF="wxwin86.htm#wxdialog"><B>wxDialog</B></A><BR>
<A HREF="wx94.htm#wxhashtable"><B>wxHashTable</B></A><BR> <A HREF="wxwin87.htm#wxdir"><B>wxDir</B></A><BR>
<A HREF="wx95.htm#wxhelpcontrollerbase"><B>wxHelpControllerBase</B></A><BR> <A HREF="wxwin88.htm#wxdirdialog"><B>wxDirDialog</B></A><BR>
<A HREF="wx96.htm#wxidleevent"><B>wxIdleEvent</B></A><BR> <A HREF="wxwin89.htm#wxdocchildframe"><B>wxDocChildFrame</B></A><BR>
<A HREF="wx97.htm#wxicon"><B>wxIcon</B></A><BR> <A HREF="wxwin90.htm#wxdocmanager"><B>wxDocManager</B></A><BR>
<A HREF="wx98.htm#wximagelist"><B>wxImageList</B></A><BR> <A HREF="wxwin91.htm#wxdocmdichildframe"><B>wxDocMDIChildFrame</B></A><BR>
<A HREF="wx99.htm#wxindividuallayoutconstraint"><B>wxIndividualLayoutConstraint</B></A><BR> <A HREF="wxwin92.htm#wxdocmdiparentframe"><B>wxDocMDIParentFrame</B></A><BR>
<A HREF="wx100.htm#wxinitdialogevent"><B>wxInitDialogEvent</B></A><BR> <A HREF="wxwin93.htm#wxdocparentframe"><B>wxDocParentFrame</B></A><BR>
<A HREF="wx101.htm#wxjoystick"><B>wxJoystick</B></A><BR> <A HREF="wxwin94.htm#wxdoctemplate"><B>wxDocTemplate</B></A><BR>
<A HREF="wx102.htm#wxjoystickevent"><B>wxJoystickEvent</B></A><BR> <A HREF="wxwin95.htm#wxdocument"><B>wxDocument</B></A><BR>
<A HREF="wx103.htm#wxkeyevent"><B>wxKeyEvent</B></A><BR> <A HREF="wxwin96.htm#wxdropfilesevent"><B>wxDropFilesEvent</B></A><BR>
<A HREF="wx104.htm#wxlayoutconstraints"><B>wxLayoutConstraints</B></A><BR> <A HREF="wxwin97.htm#wxdropsource"><B>wxDropSource</B></A><BR>
<A HREF="wx105.htm#wxlist"><B>wxList</B></A><BR> <A HREF="wxwin98.htm#wxdroptarget"><B>wxDropTarget</B></A><BR>
<A HREF="wx106.htm#wxlistbox"><B>wxListBox</B></A><BR> <A HREF="wxwin99.htm#wxeraseevent"><B>wxEraseEvent</B></A><BR>
<A HREF="wx107.htm#wxlistctrl"><B>wxListCtrl</B></A><BR> <A HREF="wxwin100.htm#wxevent"><B>wxEvent</B></A><BR>
<A HREF="wx108.htm#wxlistevent"><B>wxListEvent</B></A><BR> <A HREF="wxwin101.htm#wxevthandler"><B>wxEvtHandler</B></A><BR>
<A HREF="wx109.htm#wxmask"><B>wxMask</B></A><BR> <A HREF="wxwin102.htm#wxexpr"><B>wxExpr</B></A><BR>
<A HREF="wx110.htm#wxmdichildframe"><B>wxMDIChildFrame</B></A><BR> <A HREF="wxwin103.htm#wxexprdatabase"><B>wxExprDatabase</B></A><BR>
<A HREF="wx111.htm#wxmdiclientwindow"><B>wxMDIClientWindow</B></A><BR> <A HREF="wxwin104.htm#wxfile"><B>wxFile</B></A><BR>
<A HREF="wx112.htm#wxmdiparentframe"><B>wxMDIParentFrame</B></A><BR> <A HREF="wxwin105.htm#wxffile"><B>wxFFile</B></A><BR>
<A HREF="wx113.htm#wxmenu"><B>wxMenu</B></A><BR> <A HREF="wxwin106.htm#wxfiledataobject"><B>wxFileDataObject</B></A><BR>
<A HREF="wx114.htm#wxmenubar"><B>wxMenuBar</B></A><BR> <A HREF="wxwin107.htm#wxfiledialog"><B>wxFileDialog</B></A><BR>
<A HREF="wx115.htm#wxmenuitem"><B>wxMenuItem</B></A><BR> <A HREF="wxwin108.htm#wxfiledroptarget"><B>wxFileDropTarget</B></A><BR>
<A HREF="wx116.htm#wxmenuevent"><B>wxMenuEvent</B></A><BR> <A HREF="wxwin109.htm#wxfilehistory"><B>wxFileHistory</B></A><BR>
<A HREF="wx117.htm#wxmemorydc"><B>wxMemoryDC</B></A><BR> <A HREF="wxwin110.htm#wxfileinputstream"><B>wxFileInputStream</B></A><BR>
<A HREF="wx118.htm#wxmessagedialog"><B>wxMessageDialog</B></A><BR> <A HREF="wxwin111.htm#wxfileoutputstream"><B>wxFileOutputStream</B></A><BR>
<A HREF="wx119.htm#wxmetafile"><B>wxMetaFile</B></A><BR> <A HREF="wxwin112.htm#topic393"><B>wxFileStream</B></A><BR>
<A HREF="wx120.htm#wxmetafiledc"><B>wxMetaFileDC</B></A><BR> <A HREF="wxwin113.htm#wxffileinputstream"><B>wxFFileInputStream</B></A><BR>
<A HREF="wx121.htm#wxminiframe"><B>wxMiniFrame</B></A><BR> <A HREF="wxwin114.htm#wxffileoutputstream"><B>wxFFileOutputStream</B></A><BR>
<A HREF="wx122.htm#wxmodule"><B>wxModule</B></A><BR> <A HREF="wxwin115.htm#topic401"><B>wxFFileStream</B></A><BR>
<A HREF="wx123.htm#wxmouseevent"><B>wxMouseEvent</B></A><BR> <A HREF="wxwin116.htm#wxfilenamelistvalidator"><B>wxFilenameListValidator</B></A><BR>
<A HREF="wx124.htm#wxmoveevent"><B>wxMoveEvent</B></A><BR> <A HREF="wxwin117.htm#wxfilesystem"><B>wxFileSystem</B></A><BR>
<A HREF="wx125.htm#wxmultiplechoicedialog"><B>wxMultipleChoiceDialog</B></A><BR> <A HREF="wxwin118.htm#wxfilesystemhandler"><B>wxFileSystemHandler</B></A><BR>
<A HREF="wx126.htm#wxmutex"><B>wxMutex</B></A><BR> <A HREF="wxwin119.htm#wxfiletype"><B>wxFileType</B></A><BR>
<A HREF="wx127.htm#wxnode"><B>wxNode</B></A><BR> <A HREF="wxwin120.htm#wxfilterinputstream"><B>wxFilterInputStream</B></A><BR>
<A HREF="wx128.htm#wxobject"><B>wxObject</B></A><BR> <A HREF="wxwin121.htm#wxfilteroutputstream"><B>wxFilterOutputStream</B></A><BR>
<A HREF="wx129.htm#wxobjectrefdata"><B>wxObjectRefData</B></A><BR> <A HREF="wxwin122.htm#wxfocusevent"><B>wxFocusEvent</B></A><BR>
<A HREF="wx130.htm#wxpagesetupdata"><B>wxPageSetupData</B></A><BR> <A HREF="wxwin123.htm#wxfont"><B>wxFont</B></A><BR>
<A HREF="wx131.htm#wxpagesetupdialog"><B>wxPageSetupDialog</B></A><BR> <A HREF="wxwin124.htm#wxfontdata"><B>wxFontData</B></A><BR>
<A HREF="wx132.htm#wxpaintdc"><B>wxPaintDC</B></A><BR> <A HREF="wxwin125.htm#wxfontdialog"><B>wxFontDialog</B></A><BR>
<A HREF="wx133.htm#wxpaintevent"><B>wxPaintEvent</B></A><BR> <A HREF="wxwin126.htm#wxfontenumerator"><B>wxFontEnumerator</B></A><BR>
<A HREF="wx134.htm#wxpalette"><B>wxPalette</B></A><BR> <A HREF="wxwin127.htm#wxfontlist"><B>wxFontList</B></A><BR>
<A HREF="wx135.htm#wxpanel"><B>wxPanel</B></A><BR> <A HREF="wxwin128.htm#wxfontmapper"><B>wxFontMapper</B></A><BR>
<A HREF="wx136.htm#wxpaneltabview"><B>wxPanelTabView</B></A><BR> <A HREF="wxwin129.htm#wxframe"><B>wxFrame</B></A><BR>
<A HREF="wx137.htm#wxpathlist"><B>wxPathList</B></A><BR> <A HREF="wxwin130.htm#wxfsfile"><B>wxFSFile</B></A><BR>
<A HREF="wx138.htm#wxpen"><B>wxPen</B></A><BR> <A HREF="wxwin131.htm#wxftp"><B>wxFTP</B></A><BR>
<A HREF="wx139.htm#wxpenlist"><B>wxPenList</B></A><BR> <A HREF="wxwin132.htm#wxgauge"><B>wxGauge</B></A><BR>
<A HREF="wx140.htm#wxpoint"><B>wxPoint</B></A><BR> <A HREF="wxwin133.htm#wxgdiobject"><B>wxGDIObject</B></A><BR>
<A HREF="wx141.htm#wxpreviewcanvas"><B>wxPreviewCanvas</B></A><BR> <A HREF="wxwin134.htm#wxgenericvalidator"><B>wxGenericValidator</B></A><BR>
<A HREF="wx142.htm#wxpreviewcontrolbar"><B>wxPreviewControlBar</B></A><BR> <A HREF="wxwin135.htm#wxgrid"><B>wxGrid</B></A><BR>
<A HREF="wx143.htm#wxpreviewframe"><B>wxPreviewFrame</B></A><BR> <A HREF="wxwin136.htm#wxhashtable"><B>wxHashTable</B></A><BR>
<A HREF="wx144.htm#wxprintdata"><B>wxPrintData</B></A><BR> <A HREF="wxwin137.htm#wxhelpcontroller"><B>wxHelpController</B></A><BR>
<A HREF="wx145.htm#wxprintdialog"><B>wxPrintDialog</B></A><BR> <A HREF="wxwin138.htm#wxhtmlcell"><B>wxHtmlCell</B></A><BR>
<A HREF="wx146.htm#wxprinter"><B>wxPrinter</B></A><BR> <A HREF="wxwin139.htm#wxhtmlcolourcell"><B>wxHtmlColourCell</B></A><BR>
<A HREF="wx147.htm#wxprinterdc"><B>wxPrinterDC</B></A><BR> <A HREF="wxwin140.htm#wxhtmlcontainercell"><B>wxHtmlContainerCell</B></A><BR>
<A HREF="wx148.htm#wxprintout"><B>wxPrintout</B></A><BR> <A HREF="wxwin141.htm#wxhtmldcrenderer"><B>wxHtmlDCRenderer</B></A><BR>
<A HREF="wx149.htm#wxprintpreview"><B>wxPrintPreview</B></A><BR> <A HREF="wxwin142.htm#wxhtmleasyprinting"><B>wxHtmlEasyPrinting</B></A><BR>
<A HREF="wx150.htm#wxpostscriptdc"><B>wxPostScriptDC</B></A><BR> <A HREF="wxwin143.htm#wxhtmlfilter"><B>wxHtmlFilter</B></A><BR>
<A HREF="wx151.htm#wxquerycol"><B>wxQueryCol</B></A><BR> <A HREF="wxwin144.htm#wxhtmlhelpcontroller"><B>wxHtmlHelpController</B></A><BR>
<A HREF="wx152.htm#wxqueryfield"><B>wxQueryField</B></A><BR> <A HREF="wxwin145.htm#wxhtmlhelpdata"><B>wxHtmlHelpData</B></A><BR>
<A HREF="wx153.htm#wxradiobox"><B>wxRadioBox</B></A><BR> <A HREF="wxwin146.htm#wxhtmlhelpframe"><B>wxHtmlHelpFrame</B></A><BR>
<A HREF="wx154.htm#wxradiobutton"><B>wxRadioButton</B></A><BR> <A HREF="wxwin147.htm#wxhtmllinkinfo"><B>wxHtmlLinkInfo</B></A><BR>
<A HREF="wx155.htm#wxrealpoint"><B>wxRealPoint</B></A><BR> <A HREF="wxwin148.htm#wxhtmlparser"><B>wxHtmlParser</B></A><BR>
<A HREF="wx156.htm#wxrect"><B>wxRect</B></A><BR> <A HREF="wxwin149.htm#wxhtmlprintout"><B>wxHtmlPrintout</B></A><BR>
<A HREF="wx157.htm#wxrecordset"><B>wxRecordSet</B></A><BR> <A HREF="wxwin150.htm#wxhtmltag"><B>wxHtmlTag</B></A><BR>
<A HREF="wx158.htm#wxregion"><B>wxRegion</B></A><BR> <A HREF="wxwin151.htm#wxhtmltaghandler"><B>wxHtmlTagHandler</B></A><BR>
<A HREF="wx159.htm#wxscreendc"><B>wxScreenDC</B></A><BR> <A HREF="wxwin152.htm#wxhtmltagsmodule"><B>wxHtmlTagsModule</B></A><BR>
<A HREF="wx160.htm#wxscrollbar"><B>wxScrollBar</B></A><BR> <A HREF="wxwin153.htm#wxhtmlwidgetcell"><B>wxHtmlWidgetCell</B></A><BR>
<A HREF="wx161.htm#wxscrollevent"><B>wxScrollEvent</B></A><BR> <A HREF="wxwin154.htm#wxhtmlwindow"><B>wxHtmlWindow</B></A><BR>
<A HREF="wx162.htm#wxscrolledwindow"><B>wxScrolledWindow</B></A><BR> <A HREF="wxwin155.htm#wxhtmlwinparser"><B>wxHtmlWinParser</B></A><BR>
<A HREF="wx163.htm#wxsinglechoicedialog"><B>wxSingleChoiceDialog</B></A><BR> <A HREF="wxwin156.htm#wxhtmlwintaghandler"><B>wxHtmlWinTagHandler</B></A><BR>
<A HREF="wx164.htm#wxsize"><B>wxSize</B></A><BR> <A HREF="wxwin157.htm#wxhttp"><B>wxHTTP</B></A><BR>
<A HREF="wx165.htm#wxsizeevent"><B>wxSizeEvent</B></A><BR> <A HREF="wxwin158.htm#wxidleevent"><B>wxIdleEvent</B></A><BR>
<A HREF="wx166.htm#wxslider"><B>wxSlider</B></A><BR> <A HREF="wxwin159.htm#wxicon"><B>wxIcon</B></A><BR>
<A HREF="wx167.htm#wxspinbutton"><B>wxSpinButton</B></A><BR> <A HREF="wxwin160.htm#wximage"><B>wxImage</B></A><BR>
<A HREF="wx168.htm#wxsplitterwindow"><B>wxSplitterWindow</B></A><BR> <A HREF="wxwin161.htm#wximagehandler"><B>wxImageHandler</B></A><BR>
<A HREF="wx169.htm#wxstaticbitmap"><B>wxStaticBitmap</B></A><BR> <A HREF="wxwin162.htm#wximagelist"><B>wxImageList</B></A><BR>
<A HREF="wx170.htm#wxstaticbox"><B>wxStaticBox</B></A><BR> <A HREF="wxwin163.htm#wxindividuallayoutconstraint"><B>wxIndividualLayoutConstraint</B></A><BR>
<A HREF="wx171.htm#wxstatictext"><B>wxStaticText</B></A><BR> <A HREF="wxwin164.htm#wxinitdialogevent"><B>wxInitDialogEvent</B></A><BR>
<A HREF="wx172.htm#wxstatusbar"><B>wxStatusBar</B></A><BR> <A HREF="wxwin165.htm#wxinputstream"><B>wxInputStream</B></A><BR>
<A HREF="wx173.htm#wxstring"><B>wxString</B></A><BR> <A HREF="wxwin166.htm#wxintegerformvalidator"><B>wxIntegerFormValidator</B></A><BR>
<A HREF="wx174.htm#wxstringlist"><B>wxStringList</B></A><BR> <A HREF="wxwin167.htm#wxintegerlistvalidator"><B>wxIntegerListValidator</B></A><BR>
<A HREF="wx175.htm#wxsyscolourchangedevent"><B>wxSysColourChangedEvent</B></A><BR> <A HREF="wxwin168.htm#wxipv4address"><B>wxIPV4address</B></A><BR>
<A HREF="wx176.htm#wxsystemsettings"><B>wxSystemSettings</B></A><BR> <A HREF="wxwin169.htm#wxjoystick"><B>wxJoystick</B></A><BR>
<A HREF="wx177.htm#wxtabbeddialog"><B>wxTabbedDialog</B></A><BR> <A HREF="wxwin170.htm#wxjoystickevent"><B>wxJoystickEvent</B></A><BR>
<A HREF="wx178.htm#wxtabbedpanel"><B>wxTabbedPanel</B></A><BR> <A HREF="wxwin171.htm#wxkeyevent"><B>wxKeyEvent</B></A><BR>
<A HREF="wx179.htm#wxtabcontrol"><B>wxTabControl</B></A><BR> <A HREF="wxwin172.htm#wxlayoutalgorithm"><B>wxLayoutAlgorithm</B></A><BR>
<A HREF="wx180.htm#wxtabview"><B>wxTabView</B></A><BR> <A HREF="wxwin173.htm#wxlayoutconstraints"><B>wxLayoutConstraints</B></A><BR>
<A HREF="wx181.htm#wxtabctrl"><B>wxTabCtrl</B></A><BR> <A HREF="wxwin174.htm#wxlist"><B>wxList</B></A><BR>
<A HREF="wx182.htm#wxtabevent"><B>wxTabEvent</B></A><BR> <A HREF="wxwin175.htm#wxlistbox"><B>wxListBox</B></A><BR>
<A HREF="wx183.htm#wxtaskbaricon"><B>wxTaskBarIcon</B></A><BR> <A HREF="wxwin176.htm#wxlistctrl"><B>wxListCtrl</B></A><BR>
<A HREF="wx184.htm#wxtextctrl"><B>wxTextCtrl</B></A><BR> <A HREF="wxwin177.htm#wxlistevent"><B>wxListEvent</B></A><BR>
<A HREF="wx185.htm#wxtextentrydialog"><B>wxTextEntryDialog</B></A><BR> <A HREF="wxwin178.htm#wxlistofstringslistvalidator"><B>wxListOfStringsListValidator</B></A><BR>
<A HREF="wx186.htm#wxtextvalidator"><B>wxTextValidator</B></A><BR> <A HREF="wxwin179.htm#wxlocale"><B>wxLocale</B></A><BR>
<A HREF="wx187.htm#wxthread"><B>wxThread</B></A><BR> <A HREF="wxwin180.htm#wxlog"><B>wxLog</B></A><BR>
<A HREF="wx188.htm#wxtime"><B>wxTime</B></A><BR> <A HREF="wxwin181.htm#wxlonglong"><B>wxLongLong</B></A><BR>
<A HREF="wx189.htm#wxtimer"><B>wxTimer</B></A><BR> <A HREF="wxwin182.htm#wxmask"><B>wxMask</B></A><BR>
<A HREF="wx190.htm#wxtoolbarbase"><B>wxToolBarBase</B></A><BR> <A HREF="wxwin183.htm#wxmdichildframe"><B>wxMDIChildFrame</B></A><BR>
<A HREF="wx191.htm#wxtoolbar95"><B>wxToolBar95</B></A><BR> <A HREF="wxwin184.htm#wxmdiclientwindow"><B>wxMDIClientWindow</B></A><BR>
<A HREF="wx192.htm#wxtoolbarmsw"><B>wxToolBarMSW</B></A><BR> <A HREF="wxwin185.htm#wxmdiparentframe"><B>wxMDIParentFrame</B></A><BR>
<A HREF="wx193.htm#wxtoolbarsimple"><B>wxToolBarSimple</B></A><BR> <A HREF="wxwin186.htm#wxmemorydc"><B>wxMemoryDC</B></A><BR>
<A HREF="wx194.htm#wxtreectrl"><B>wxTreeCtrl</B></A><BR> <A HREF="wxwin187.htm#wxmeminputstream"><B>wxMemoryInputStream</B></A><BR>
<A HREF="wx195.htm#wxtreeevent"><B>wxTreeEvent</B></A><BR> <A HREF="wxwin188.htm#wxmemoutputstream"><B>wxMemoryOutputStream</B></A><BR>
<A HREF="wx196.htm#wxupdateiterator"><B>wxUpdateIterator</B></A><BR> <A HREF="wxwin189.htm#wxmenu"><B>wxMenu</B></A><BR>
<A HREF="wx197.htm#wxupdateuievent"><B>wxUpdateUIEvent</B></A><BR> <A HREF="wxwin190.htm#wxmenubar"><B>wxMenuBar</B></A><BR>
<A HREF="wx198.htm#wxvalidator"><B>wxValidator</B></A><BR> <A HREF="wxwin191.htm#wxmenuitem"><B>wxMenuItem</B></A><BR>
<A HREF="wx199.htm#wxview"><B>wxView</B></A><BR> <A HREF="wxwin192.htm#wxmenuevent"><B>wxMenuEvent</B></A><BR>
<A HREF="wx200.htm#wxwave"><B>wxWave</B></A><BR> <A HREF="wxwin193.htm#wxmessagedialog"><B>wxMessageDialog</B></A><BR>
<A HREF="wx201.htm#wxwindow"><B>wxWindow</B></A><BR> <A HREF="wxwin194.htm#wxmetafile"><B>wxMetafile</B></A><BR>
<A HREF="wx202.htm#wxwindowdc"><B>wxWindowDC</B></A><BR> <A HREF="wxwin195.htm#wxmetafiledc"><B>wxMetafileDC</B></A><BR>
<A HREF="wx203.htm#wxwinhelpcontroller"><B>wxWinHelpController</B></A><BR> <A HREF="wxwin196.htm#wxmimetypesmanager"><B>wxMimeTypesManager</B></A><BR>
<A HREF="wxwin197.htm#wxminiframe"><B>wxMiniFrame</B></A><BR>
<A HREF="wxwin198.htm#wxmodule"><B>wxModule</B></A><BR>
<A HREF="wxwin199.htm#wxmouseevent"><B>wxMouseEvent</B></A><BR>
<A HREF="wxwin200.htm#wxmoveevent"><B>wxMoveEvent</B></A><BR>
<A HREF="wxwin201.htm#wxmultiplechoicedialog"><B>wxMultipleChoiceDialog</B></A><BR>
<A HREF="wxwin202.htm#wxmutex"><B>wxMutex</B></A><BR>
<A HREF="wxwin203.htm#wxmutexlocker"><B>wxMutexLocker</B></A><BR>
<A HREF="wxwin204.htm#wxnotebooksizer"><B>wxNotebookSizer</B></A><BR>
<A HREF="wxwin205.htm#wxnode"><B>wxNodeBase</B></A><BR>
<A HREF="wxwin206.htm#wxnotebook"><B>wxNotebook</B></A><BR>
<A HREF="wxwin207.htm#wxnotebookevent"><B>wxNotebookEvent</B></A><BR>
<A HREF="wxwin208.htm#wxnotifyevent"><B>wxNotifyEvent</B></A><BR>
<A HREF="wxwin209.htm#wxobject"><B>wxObject</B></A><BR>
<A HREF="wxwin210.htm#wxobjectrefdata"><B>wxObjectRefData</B></A><BR>
<A HREF="wxwin211.htm#wxoutputstream"><B>wxOutputStream</B></A><BR>
<A HREF="wxwin212.htm#wxcountingoutputstream"><B>wxCountOutputStream</B></A><BR>
<A HREF="wxwin213.htm#wxpagesetupdialogdata"><B>wxPageSetupDialogData</B></A><BR>
<A HREF="wxwin214.htm#wxpagesetupdialog"><B>wxPageSetupDialog</B></A><BR>
<A HREF="wxwin215.htm#wxpaintdc"><B>wxPaintDC</B></A><BR>
<A HREF="wxwin216.htm#wxpaintevent"><B>wxPaintEvent</B></A><BR>
<A HREF="wxwin217.htm#wxpalette"><B>wxPalette</B></A><BR>
<A HREF="wxwin218.htm#wxpanel"><B>wxPanel</B></A><BR>
<A HREF="wxwin219.htm#wxpaneltabview"><B>wxPanelTabView</B></A><BR>
<A HREF="wxwin220.htm#wxpathlist"><B>wxPathList</B></A><BR>
<A HREF="wxwin221.htm#wxpen"><B>wxPen</B></A><BR>
<A HREF="wxwin222.htm#wxpenlist"><B>wxPenList</B></A><BR>
<A HREF="wxwin223.htm#wxpoint"><B>wxPoint</B></A><BR>
<A HREF="wxwin224.htm#wxpostscriptdc"><B>wxPostScriptDC</B></A><BR>
<A HREF="wxwin225.htm#wxpreviewcanvas"><B>wxPreviewCanvas</B></A><BR>
<A HREF="wxwin226.htm#wxpreviewcontrolbar"><B>wxPreviewControlBar</B></A><BR>
<A HREF="wxwin227.htm#wxpreviewframe"><B>wxPreviewFrame</B></A><BR>
<A HREF="wxwin228.htm#wxprintdata"><B>wxPrintData</B></A><BR>
<A HREF="wxwin229.htm#wxprintdialog"><B>wxPrintDialog</B></A><BR>
<A HREF="wxwin230.htm#wxprintdialogdata"><B>wxPrintDialogData</B></A><BR>
<A HREF="wxwin231.htm#wxprinter"><B>wxPrinter</B></A><BR>
<A HREF="wxwin232.htm#wxprinterdc"><B>wxPrinterDC</B></A><BR>
<A HREF="wxwin233.htm#wxprintout"><B>wxPrintout</B></A><BR>
<A HREF="wxwin234.htm#wxprintpreview"><B>wxPrintPreview</B></A><BR>
<A HREF="wxwin235.htm#wxprivatedroptarget"><B>wxPrivateDropTarget</B></A><BR>
<A HREF="wxwin236.htm#wxprocess"><B>wxProcess</B></A><BR>
<A HREF="wxwin237.htm#wxprogressdialog"><B>wxProgressDialog</B></A><BR>
<A HREF="wxwin238.htm#wxprocessevent"><B>wxProcessEvent</B></A><BR>
<A HREF="wxwin239.htm#wxproperty"><B>wxProperty</B></A><BR>
<A HREF="wxwin240.htm#wxpropertyformdialog"><B>wxPropertyFormDialog</B></A><BR>
<A HREF="wxwin241.htm#wxpropertyformframe"><B>wxPropertyFormFrame</B></A><BR>
<A HREF="wxwin242.htm#wxpropertyformpanel"><B>wxPropertyFormPanel</B></A><BR>
<A HREF="wxwin243.htm#wxpropertyformvalidator"><B>wxPropertyFormValidator</B></A><BR>
<A HREF="wxwin244.htm#wxpropertyformview"><B>wxPropertyFormView</B></A><BR>
<A HREF="wxwin245.htm#wxpropertylistdialog"><B>wxPropertyListDialog</B></A><BR>
<A HREF="wxwin246.htm#wxpropertylistframe"><B>wxPropertyListFrame</B></A><BR>
<A HREF="wxwin247.htm#wxpropertylistpanel"><B>wxPropertyListPanel</B></A><BR>
<A HREF="wxwin248.htm#wxpropertylistvalidator"><B>wxPropertyListValidator</B></A><BR>
<A HREF="wxwin249.htm#wxpropertylistview"><B>wxPropertyListView</B></A><BR>
<A HREF="wxwin250.htm#wxpropertysheet"><B>wxPropertySheet</B></A><BR>
<A HREF="wxwin251.htm#wxpropertyvalidator"><B>wxPropertyValidator</B></A><BR>
<A HREF="wxwin252.htm#wxpropertyvalidatorregistry"><B>wxPropertyValidatorRegistry</B></A><BR>
<A HREF="wxwin253.htm#wxpropertyvalue"><B>wxPropertyValue</B></A><BR>
<A HREF="wxwin254.htm#wxpropertyview"><B>wxPropertyView</B></A><BR>
<A HREF="wxwin255.htm#wxprotocol"><B>wxProtocol</B></A><BR>
<A HREF="wxwin256.htm#wxquerycol"><B>wxQueryCol</B></A><BR>
<A HREF="wxwin257.htm#wxqueryfield"><B>wxQueryField</B></A><BR>
<A HREF="wxwin258.htm#wxquerylayoutinfoevent"><B>wxQueryLayoutInfoEvent</B></A><BR>
<A HREF="wxwin259.htm#wxradiobox"><B>wxRadioBox</B></A><BR>
<A HREF="wxwin260.htm#wxradiobutton"><B>wxRadioButton</B></A><BR>
<A HREF="wxwin261.htm#wxrealformvalidator"><B>wxRealFormValidator</B></A><BR>
<A HREF="wxwin262.htm#wxreallistvalidator"><B>wxRealListValidator</B></A><BR>
<A HREF="wxwin263.htm#wxrealpoint"><B>wxRealPoint</B></A><BR>
<A HREF="wxwin264.htm#wxrect"><B>wxRect</B></A><BR>
<A HREF="wxwin265.htm#wxrecordset"><B>wxRecordSet</B></A><BR>
<A HREF="wxwin266.htm#wxregion"><B>wxRegion</B></A><BR>
<A HREF="wxwin267.htm#wxregioniterator"><B>wxRegionIterator</B></A><BR>
<A HREF="wxwin268.htm#wxsashevent"><B>wxSashEvent</B></A><BR>
<A HREF="wxwin269.htm#wxsashlayoutwindow"><B>wxSashLayoutWindow</B></A><BR>
<A HREF="wxwin270.htm#wxsashwindow"><B>wxSashWindow</B></A><BR>
<A HREF="wxwin271.htm#wxstaticboxsizer"><B>wxStaticBoxSizer</B></A><BR>
<A HREF="wxwin272.htm#wxscreendc"><B>wxScreenDC</B></A><BR>
<A HREF="wxwin273.htm#wxscrollbar"><B>wxScrollBar</B></A><BR>
<A HREF="wxwin274.htm#wxscrollwinevent"><B>wxScrollWinEvent</B></A><BR>
<A HREF="wxwin275.htm#wxscrollevent"><B>wxScrollEvent</B></A><BR>
<A HREF="wxwin276.htm#wxscrolledwindow"><B>wxScrolledWindow</B></A><BR>
<A HREF="wxwin277.htm#wxsinglechoicedialog"><B>wxSingleChoiceDialog</B></A><BR>
<A HREF="wxwin278.htm#wxsize"><B>wxSize</B></A><BR>
<A HREF="wxwin279.htm#wxsizeevent"><B>wxSizeEvent</B></A><BR>
<A HREF="wxwin280.htm#wxsizer"><B>wxSizer</B></A><BR>
<A HREF="wxwin281.htm#wxslider"><B>wxSlider</B></A><BR>
<A HREF="wxwin282.htm#wxsockaddress"><B>wxSockAddress</B></A><BR>
<A HREF="wxwin283.htm#wxsocketbase"><B>wxSocketBase</B></A><BR>
<A HREF="wxwin284.htm#wxsocketclient"><B>wxSocketClient</B></A><BR>
<A HREF="wxwin285.htm#wxsocketevent"><B>wxSocketEvent</B></A><BR>
<A HREF="wxwin286.htm#wxsocketserver"><B>wxSocketServer</B></A><BR>
<A HREF="wxwin287.htm#wxsplitterevent"><B>wxSplitterEvent</B></A><BR>
<A HREF="wxwin288.htm#wxsocketinputstream"><B>wxSocketInputStream</B></A><BR>
<A HREF="wxwin289.htm#wxsocketoutputstream"><B>wxSocketOutputStream</B></A><BR>
<A HREF="wxwin290.htm#wxspinbutton"><B>wxSpinButton</B></A><BR>
<A HREF="wxwin291.htm#wxsplitterwindow"><B>wxSplitterWindow</B></A><BR>
<A HREF="wxwin292.htm#wxstaticbitmap"><B>wxStaticBitmap</B></A><BR>
<A HREF="wxwin293.htm#wxstaticbox"><B>wxStaticBox</B></A><BR>
<A HREF="wxwin294.htm#wxstaticline"><B>wxStaticLine</B></A><BR>
<A HREF="wxwin295.htm#wxstatictext"><B>wxStaticText</B></A><BR>
<A HREF="wxwin296.htm#wxstatusbar"><B>wxStatusBar</B></A><BR>
<A HREF="wxwin297.htm#wxstreambase"><B>wxStreamBase</B></A><BR>
<A HREF="wxwin298.htm#wxstreambuffer"><B>wxStreamBuffer</B></A><BR>
<A HREF="wxwin299.htm#wxstring"><B>wxString</B></A><BR>
<A HREF="wxwin300.htm#wxstringformvalidator"><B>wxStringFormValidator</B></A><BR>
<A HREF="wxwin301.htm#wxstringlist"><B>wxStringList</B></A><BR>
<A HREF="wxwin302.htm#wxstringlistvalidator"><B>wxStringListValidator</B></A><BR>
<A HREF="wxwin303.htm#wxstringtokenizer"><B>wxStringTokenizer</B></A><BR>
<A HREF="wxwin304.htm#wxsyscolourchangedevent"><B>wxSysColourChangedEvent</B></A><BR>
<A HREF="wxwin305.htm#wxsystemsettings"><B>wxSystemSettings</B></A><BR>
<A HREF="wxwin306.htm#wxtabbeddialog"><B>wxTabbedDialog</B></A><BR>
<A HREF="wxwin307.htm#wxtabbedpanel"><B>wxTabbedPanel</B></A><BR>
<A HREF="wxwin308.htm#wxtabcontrol"><B>wxTabControl</B></A><BR>
<A HREF="wxwin309.htm#wxtabview"><B>wxTabView</B></A><BR>
<A HREF="wxwin310.htm#wxtabctrl"><B>wxTabCtrl</B></A><BR>
<A HREF="wxwin311.htm#wxtabevent"><B>wxTabEvent</B></A><BR>
<A HREF="wxwin312.htm#wxtaskbaricon"><B>wxTaskBarIcon</B></A><BR>
<A HREF="wxwin313.htm#wxtcpclient"><B>wxTCPClient</B></A><BR>
<A HREF="wxwin314.htm#wxtcpconnection"><B>wxTCPConnection</B></A><BR>
<A HREF="wxwin315.htm#wxtcpserver"><B>wxTCPServer</B></A><BR>
<A HREF="wxwin316.htm#wxtempfile"><B>wxTempFile</B></A><BR>
<A HREF="wxwin317.htm#wxtextctrl"><B>wxTextCtrl</B></A><BR>
<A HREF="wxwin318.htm#wxtextdataobject"><B>wxTextDataObject</B></A><BR>
<A HREF="wxwin319.htm#wxtextinputstream"><B>wxTextInputStream</B></A><BR>
<A HREF="wxwin320.htm#wxtextoutputstream"><B>wxTextOutputStream</B></A><BR>
<A HREF="wxwin321.htm#wxtextentrydialog"><B>wxTextEntryDialog</B></A><BR>
<A HREF="wxwin322.htm#wxtextdroptarget"><B>wxTextDropTarget</B></A><BR>
<A HREF="wxwin323.htm#wxtextvalidator"><B>wxTextValidator</B></A><BR>
<A HREF="wxwin324.htm#wxtextfile"><B>wxTextFile</B></A><BR>
<A HREF="wxwin325.htm#wxthread"><B>wxThread</B></A><BR>
<A HREF="wxwin326.htm#wxtime"><B>wxTime</B></A><BR>
<A HREF="wxwin327.htm#wxtimer"><B>wxTimer</B></A><BR>
<A HREF="wxwin328.htm#wxstopwatch"><B>wxStopWatch</B></A><BR>
<A HREF="wxwin329.htm#wxtipprovider"><B>wxTipProvider</B></A><BR>
<A HREF="wxwin330.htm#wxtoolbar"><B>wxToolBar</B></A><BR>
<A HREF="wxwin331.htm#wxtreectrl"><B>wxTreeCtrl</B></A><BR>
<A HREF="wxwin332.htm#wxtreeitemdata"><B>wxTreeItemData</B></A><BR>
<A HREF="wxwin333.htm#wxtreeevent"><B>wxTreeEvent</B></A><BR>
<A HREF="wxwin334.htm#wxupdateuievent"><B>wxUpdateUIEvent</B></A><BR>
<A HREF="wxwin335.htm#wxurl"><B>wxURL</B></A><BR>
<A HREF="wxwin336.htm#wxvalidator"><B>wxValidator</B></A><BR>
<A HREF="wxwin337.htm#wxvariant"><B>wxVariant</B></A><BR>
<A HREF="wxwin338.htm#wxvariantdata"><B>wxVariantData</B></A><BR>
<A HREF="wxwin339.htm#wxview"><B>wxView</B></A><BR>
<A HREF="wxwin340.htm#wxwave"><B>wxWave</B></A><BR>
<A HREF="wxwin341.htm#wxwindow"><B>wxWindow</B></A><BR>
<A HREF="wxwin342.htm#wxwindowdc"><B>wxWindowDC</B></A><BR>
<A HREF="wxwin343.htm#wxzipinputstream"><B>wxZipInputStream</B></A><BR>
<A HREF="wxwin344.htm#wxzlibinputstream"><B>wxZlibInputStream</B></A><BR>
<A HREF="wxwin345.htm#wxzliboutputstream"><B>wxZlibOutputStream</B></A><BR>
</BODY></HTML> </BODY></HTML>

View File

@@ -177,6 +177,20 @@ void wxCommandEvent::CopyObject(wxObject& obj_d) const
obj->m_clientObject = m_clientObject; obj->m_clientObject = m_clientObject;
obj->m_extraLong = m_extraLong; obj->m_extraLong = m_extraLong;
obj->m_commandInt = m_commandInt; obj->m_commandInt = m_commandInt;
obj->m_commandString = m_commandString;
}
/*
* Notify events
*/
void wxNotifyEvent::CopyObject(wxObject& obj_d) const
{
wxNotifyEvent *obj = (wxNotifyEvent *)&obj_d;
wxEvent::CopyObject(obj_d);
if (!m_bAllow) obj->Veto();
} }
/* /*
@@ -380,6 +394,10 @@ void wxKeyEvent::CopyObject(wxObject& obj_d) const
wxKeyEvent *obj = (wxKeyEvent *)&obj_d; wxKeyEvent *obj = (wxKeyEvent *)&obj_d;
wxEvent::CopyObject(obj_d); wxEvent::CopyObject(obj_d);
obj->m_x = m_x;
obj->m_y = m_y;
obj->m_keyCode = m_keyCode;
obj->m_shiftDown = m_shiftDown; obj->m_shiftDown = m_shiftDown;
obj->m_controlDown = m_controlDown; obj->m_controlDown = m_controlDown;
obj->m_metaDown = m_metaDown; obj->m_metaDown = m_metaDown;
@@ -685,11 +703,18 @@ bool wxEvtHandler::ProcessEvent(wxEvent& event)
// An event handler can be enabled or disabled // An event handler can be enabled or disabled
if ( GetEvtHandlerEnabled() ) if ( GetEvtHandlerEnabled() )
{ {
#if wxUSE_THREADS
#if 0
/*
What is this? When using GUI threads, a non main
threads can send an event and process it itself.
This breaks GTK's GUI threads, so please explain.
*/
// Check whether we are in a child thread. // Check whether we are in a child thread.
if ( !wxThread::IsMain() ) if ( !wxThread::IsMain() )
return ProcessThreadEvent(event); return ProcessThreadEvent(event);
#endif // wxUSE_THREADS #endif
// Handle per-instance dynamic event tables first // Handle per-instance dynamic event tables first
if ( m_dynamicEvents && SearchDynamicEventTable(event) ) if ( m_dynamicEvents && SearchDynamicEventTable(event) )

View File

@@ -109,8 +109,18 @@ bool wxYield()
void wxWakeUpIdle() void wxWakeUpIdle()
{ {
#if wxUSE_THREADS
if (!wxThread::IsMain())
gdk_threads_enter();
#endif
if (g_isIdle) if (g_isIdle)
wxapp_install_idle_handler(); wxapp_install_idle_handler();
#if wxUSE_THREADS
if (!wxThread::IsMain())
gdk_threads_leave();
#endif
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@@ -121,12 +131,10 @@ gint wxapp_idle_callback( gpointer WXUNUSED(data) )
{ {
if (!wxTheApp) return TRUE; if (!wxTheApp) return TRUE;
#if (GTK_MINOR_VERSION > 0) // when getting called from GDK's time-out handler
/* when getting called from GDK's idle handler we // we are no longer within GDK's grab on the GUI
are no longer within GDK's grab on the GUI // thread so we must lock it here ourselves
thread so we must lock it here ourselves */ gdk_threads_enter();
GDK_THREADS_ENTER ();
#endif
/* sent idle event to all who request them */ /* sent idle event to all who request them */
while (wxTheApp->ProcessIdle()) { } while (wxTheApp->ProcessIdle()) { }
@@ -143,10 +151,8 @@ gint wxapp_idle_callback( gpointer WXUNUSED(data) )
emptied */ emptied */
g_isIdle = TRUE; g_isIdle = TRUE;
#if (GTK_MINOR_VERSION > 0) // release lock again
/* release lock again */ gdk_threads_leave();
GDK_THREADS_LEAVE ();
#endif
return TRUE; return TRUE;
} }
@@ -161,19 +167,9 @@ void wxapp_install_idle_handler()
to the main thread (and processing these in to the main thread (and processing these in
idle time). */ idle time). */
#if wxUSE_THREADS
if (!wxThread::IsMain())
GDK_THREADS_ENTER ();
#endif
wxTheApp->m_idleTag = gtk_idle_add( wxapp_idle_callback, (gpointer) NULL ); wxTheApp->m_idleTag = gtk_idle_add( wxapp_idle_callback, (gpointer) NULL );
g_isIdle = FALSE; g_isIdle = FALSE;
#if wxUSE_THREADS
if (!wxThread::IsMain())
GDK_THREADS_LEAVE ();
#endif
} }
#if wxUSE_THREADS #if wxUSE_THREADS
@@ -182,7 +178,7 @@ void wxapp_install_thread_wakeup()
{ {
if (wxTheApp->m_wakeUpTimerTag) return; if (wxTheApp->m_wakeUpTimerTag) return;
wxTheApp->m_wakeUpTimerTag = gtk_timeout_add( 100, wxapp_wakeup_timerout_callback, (gpointer) NULL ); wxTheApp->m_wakeUpTimerTag = gtk_timeout_add( 50, wxapp_wakeup_timerout_callback, (gpointer) NULL );
} }
void wxapp_uninstall_thread_wakeup() void wxapp_uninstall_thread_wakeup()
@@ -195,14 +191,13 @@ void wxapp_uninstall_thread_wakeup()
gint wxapp_wakeup_timerout_callback( gpointer WXUNUSED(data) ) gint wxapp_wakeup_timerout_callback( gpointer WXUNUSED(data) )
{ {
wxapp_uninstall_thread_wakeup();
#if (GTK_MINOR_VERSION > 0)
// when getting called from GDK's time-out handler // when getting called from GDK's time-out handler
// we are no longer within GDK's grab on the GUI // we are no longer within GDK's grab on the GUI
// thread so we must lock it here ourselves // thread so we must lock it here ourselves
GDK_THREADS_ENTER ();
#endif gdk_threads_enter();
wxapp_uninstall_thread_wakeup();
// unblock other threads wishing to do some GUI things // unblock other threads wishing to do some GUI things
wxMutexGuiLeave(); wxMutexGuiLeave();
@@ -213,13 +208,11 @@ gint wxapp_wakeup_timerout_callback( gpointer WXUNUSED(data) )
// block other thread again // block other thread again
wxMutexGuiEnter(); wxMutexGuiEnter();
#if (GTK_MINOR_VERSION > 0)
// release lock again
GDK_THREADS_LEAVE ();
#endif
wxapp_install_thread_wakeup(); wxapp_install_thread_wakeup();
// release lock again
gdk_threads_leave();
return TRUE; return TRUE;
} }
@@ -560,6 +553,10 @@ void wxApp::CleanUp()
int wxEntry( int argc, char *argv[] ) int wxEntry( int argc, char *argv[] )
{ {
#if wxUSE_THREADS
g_thread_init(NULL);
#endif
gtk_set_locale(); gtk_set_locale();
#if wxUSE_WCHAR_T #if wxUSE_WCHAR_T
@@ -568,12 +565,17 @@ int wxEntry( int argc, char *argv[] )
if (!wxOKlibc()) wxConvCurrent = (wxMBConv*) NULL; if (!wxOKlibc()) wxConvCurrent = (wxMBConv*) NULL;
#endif #endif
gdk_threads_enter();
gtk_init( &argc, &argv ); gtk_init( &argc, &argv );
wxSetDetectableAutoRepeat( TRUE ); wxSetDetectableAutoRepeat( TRUE );
if (!wxApp::Initialize()) if (!wxApp::Initialize())
{
gdk_threads_leave();
return -1; return -1;
}
if (!wxTheApp) if (!wxTheApp)
{ {
@@ -593,7 +595,8 @@ int wxEntry( int argc, char *argv[] )
#if wxUSE_UNICODE #if wxUSE_UNICODE
wxTheApp->argv = new wxChar*[argc+1]; wxTheApp->argv = new wxChar*[argc+1];
int mb_argc = 0; int mb_argc = 0;
while (mb_argc < argc) { while (mb_argc < argc)
{
wxTheApp->argv[mb_argc] = wxStrdup(wxConvLibc.cMB2WX(argv[mb_argc])); wxTheApp->argv[mb_argc] = wxStrdup(wxConvLibc.cMB2WX(argv[mb_argc]));
mb_argc++; mb_argc++;
} }
@@ -668,6 +671,8 @@ int wxEntry( int argc, char *argv[] )
wxApp::CleanUp(); wxApp::CleanUp();
gdk_threads_leave();
return retValue; return retValue;
} }

View File

@@ -15,51 +15,6 @@
#include "wx/timer.h" #include "wx/timer.h"
#include "gtk/gtk.h" #include "gtk/gtk.h"
/*
#include "glib.h"
*/
//-----------------------------------------------------------------------------
// global functions
//-----------------------------------------------------------------------------
/*
static GTimer *g_timer = (GTimer*) NULL;
void wxStartTimer()
{
if (g_timer)
{
g_timer_rest( g_timer );
}
else
{
g_timer = g_timer_new();
g_timer_start( g_timer );
}
}
long wxGetElapsedTime( bool resetTimer )
{
gulong res = 0;
if (g_timer)
{
g_timer_elapsed( g_timer, &res );
if (resetTimer) g_timer_reset( g_timer );
}
return res;
}
bool wxGetLocalTime( long *timeZone, int *dstObserved )
{
}
long wxGetCurrentTime()
{
}
*/
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxTimer // wxTimer
@@ -71,19 +26,15 @@ static gint timeout_callback( gpointer data )
{ {
wxTimer *timer = (wxTimer*)data; wxTimer *timer = (wxTimer*)data;
#if (GTK_MINOR_VERSION > 0)
/* when getting called from GDK's timer handler we /* when getting called from GDK's timer handler we
are no longer within GDK's grab on the GUI are no longer within GDK's grab on the GUI
thread so we must lock it here ourselves */ thread so we must lock it here ourselves */
GDK_THREADS_ENTER (); gdk_threads_enter();
#endif
timer->Notify(); timer->Notify();
#if (GTK_MINOR_VERSION > 0)
/* release lock again */ /* release lock again */
GDK_THREADS_LEAVE (); gdk_threads_leave();
#endif
if ( timer->IsOneShot() ) if ( timer->IsOneShot() )
return FALSE; return FALSE;

View File

@@ -109,8 +109,18 @@ bool wxYield()
void wxWakeUpIdle() void wxWakeUpIdle()
{ {
#if wxUSE_THREADS
if (!wxThread::IsMain())
gdk_threads_enter();
#endif
if (g_isIdle) if (g_isIdle)
wxapp_install_idle_handler(); wxapp_install_idle_handler();
#if wxUSE_THREADS
if (!wxThread::IsMain())
gdk_threads_leave();
#endif
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@@ -121,12 +131,10 @@ gint wxapp_idle_callback( gpointer WXUNUSED(data) )
{ {
if (!wxTheApp) return TRUE; if (!wxTheApp) return TRUE;
#if (GTK_MINOR_VERSION > 0) // when getting called from GDK's time-out handler
/* when getting called from GDK's idle handler we // we are no longer within GDK's grab on the GUI
are no longer within GDK's grab on the GUI // thread so we must lock it here ourselves
thread so we must lock it here ourselves */ gdk_threads_enter();
GDK_THREADS_ENTER ();
#endif
/* sent idle event to all who request them */ /* sent idle event to all who request them */
while (wxTheApp->ProcessIdle()) { } while (wxTheApp->ProcessIdle()) { }
@@ -143,10 +151,8 @@ gint wxapp_idle_callback( gpointer WXUNUSED(data) )
emptied */ emptied */
g_isIdle = TRUE; g_isIdle = TRUE;
#if (GTK_MINOR_VERSION > 0) // release lock again
/* release lock again */ gdk_threads_leave();
GDK_THREADS_LEAVE ();
#endif
return TRUE; return TRUE;
} }
@@ -161,19 +167,9 @@ void wxapp_install_idle_handler()
to the main thread (and processing these in to the main thread (and processing these in
idle time). */ idle time). */
#if wxUSE_THREADS
if (!wxThread::IsMain())
GDK_THREADS_ENTER ();
#endif
wxTheApp->m_idleTag = gtk_idle_add( wxapp_idle_callback, (gpointer) NULL ); wxTheApp->m_idleTag = gtk_idle_add( wxapp_idle_callback, (gpointer) NULL );
g_isIdle = FALSE; g_isIdle = FALSE;
#if wxUSE_THREADS
if (!wxThread::IsMain())
GDK_THREADS_LEAVE ();
#endif
} }
#if wxUSE_THREADS #if wxUSE_THREADS
@@ -182,7 +178,7 @@ void wxapp_install_thread_wakeup()
{ {
if (wxTheApp->m_wakeUpTimerTag) return; if (wxTheApp->m_wakeUpTimerTag) return;
wxTheApp->m_wakeUpTimerTag = gtk_timeout_add( 100, wxapp_wakeup_timerout_callback, (gpointer) NULL ); wxTheApp->m_wakeUpTimerTag = gtk_timeout_add( 50, wxapp_wakeup_timerout_callback, (gpointer) NULL );
} }
void wxapp_uninstall_thread_wakeup() void wxapp_uninstall_thread_wakeup()
@@ -195,14 +191,13 @@ void wxapp_uninstall_thread_wakeup()
gint wxapp_wakeup_timerout_callback( gpointer WXUNUSED(data) ) gint wxapp_wakeup_timerout_callback( gpointer WXUNUSED(data) )
{ {
wxapp_uninstall_thread_wakeup();
#if (GTK_MINOR_VERSION > 0)
// when getting called from GDK's time-out handler // when getting called from GDK's time-out handler
// we are no longer within GDK's grab on the GUI // we are no longer within GDK's grab on the GUI
// thread so we must lock it here ourselves // thread so we must lock it here ourselves
GDK_THREADS_ENTER ();
#endif gdk_threads_enter();
wxapp_uninstall_thread_wakeup();
// unblock other threads wishing to do some GUI things // unblock other threads wishing to do some GUI things
wxMutexGuiLeave(); wxMutexGuiLeave();
@@ -213,13 +208,11 @@ gint wxapp_wakeup_timerout_callback( gpointer WXUNUSED(data) )
// block other thread again // block other thread again
wxMutexGuiEnter(); wxMutexGuiEnter();
#if (GTK_MINOR_VERSION > 0)
// release lock again
GDK_THREADS_LEAVE ();
#endif
wxapp_install_thread_wakeup(); wxapp_install_thread_wakeup();
// release lock again
gdk_threads_leave();
return TRUE; return TRUE;
} }
@@ -560,6 +553,10 @@ void wxApp::CleanUp()
int wxEntry( int argc, char *argv[] ) int wxEntry( int argc, char *argv[] )
{ {
#if wxUSE_THREADS
g_thread_init(NULL);
#endif
gtk_set_locale(); gtk_set_locale();
#if wxUSE_WCHAR_T #if wxUSE_WCHAR_T
@@ -568,12 +565,17 @@ int wxEntry( int argc, char *argv[] )
if (!wxOKlibc()) wxConvCurrent = (wxMBConv*) NULL; if (!wxOKlibc()) wxConvCurrent = (wxMBConv*) NULL;
#endif #endif
gdk_threads_enter();
gtk_init( &argc, &argv ); gtk_init( &argc, &argv );
wxSetDetectableAutoRepeat( TRUE ); wxSetDetectableAutoRepeat( TRUE );
if (!wxApp::Initialize()) if (!wxApp::Initialize())
{
gdk_threads_leave();
return -1; return -1;
}
if (!wxTheApp) if (!wxTheApp)
{ {
@@ -593,7 +595,8 @@ int wxEntry( int argc, char *argv[] )
#if wxUSE_UNICODE #if wxUSE_UNICODE
wxTheApp->argv = new wxChar*[argc+1]; wxTheApp->argv = new wxChar*[argc+1];
int mb_argc = 0; int mb_argc = 0;
while (mb_argc < argc) { while (mb_argc < argc)
{
wxTheApp->argv[mb_argc] = wxStrdup(wxConvLibc.cMB2WX(argv[mb_argc])); wxTheApp->argv[mb_argc] = wxStrdup(wxConvLibc.cMB2WX(argv[mb_argc]));
mb_argc++; mb_argc++;
} }
@@ -668,6 +671,8 @@ int wxEntry( int argc, char *argv[] )
wxApp::CleanUp(); wxApp::CleanUp();
gdk_threads_leave();
return retValue; return retValue;
} }

View File

@@ -15,51 +15,6 @@
#include "wx/timer.h" #include "wx/timer.h"
#include "gtk/gtk.h" #include "gtk/gtk.h"
/*
#include "glib.h"
*/
//-----------------------------------------------------------------------------
// global functions
//-----------------------------------------------------------------------------
/*
static GTimer *g_timer = (GTimer*) NULL;
void wxStartTimer()
{
if (g_timer)
{
g_timer_rest( g_timer );
}
else
{
g_timer = g_timer_new();
g_timer_start( g_timer );
}
}
long wxGetElapsedTime( bool resetTimer )
{
gulong res = 0;
if (g_timer)
{
g_timer_elapsed( g_timer, &res );
if (resetTimer) g_timer_reset( g_timer );
}
return res;
}
bool wxGetLocalTime( long *timeZone, int *dstObserved )
{
}
long wxGetCurrentTime()
{
}
*/
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxTimer // wxTimer
@@ -71,19 +26,15 @@ static gint timeout_callback( gpointer data )
{ {
wxTimer *timer = (wxTimer*)data; wxTimer *timer = (wxTimer*)data;
#if (GTK_MINOR_VERSION > 0)
/* when getting called from GDK's timer handler we /* when getting called from GDK's timer handler we
are no longer within GDK's grab on the GUI are no longer within GDK's grab on the GUI
thread so we must lock it here ourselves */ thread so we must lock it here ourselves */
GDK_THREADS_ENTER (); gdk_threads_enter();
#endif
timer->Notify(); timer->Notify();
#if (GTK_MINOR_VERSION > 0)
/* release lock again */ /* release lock again */
GDK_THREADS_LEAVE (); gdk_threads_leave();
#endif
if ( timer->IsOneShot() ) if ( timer->IsOneShot() )
return FALSE; return FALSE;