X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fe604ccddcf5696a751892ad70dbc822be239c95..cec5ffc46da1cf66cb3e61567006a8c0f4b84f81:/docs/latex/wx/tguide.tex?ds=sidebyside diff --git a/docs/latex/wx/tguide.tex b/docs/latex/wx/tguide.tex index a4c4394351..c78f52a345 100644 --- a/docs/latex/wx/tguide.tex +++ b/docs/latex/wx/tguide.tex @@ -1,13 +1,13 @@ -\section{Writing a wxWindows application: a rough guide}\label{roughguide} +\section{Writing a wxWidgets application: a rough guide}\label{roughguide} -To set a wxWindows application going, you'll need to derive a \helpref{wxApp}{wxapp} class and +To set a wxWidgets application going, you will need to derive a \helpref{wxApp}{wxapp} class and override \helpref{wxApp::OnInit}{wxapponinit}. -An application must have a top-level \helpref{wxFrame}{wxframe} window (returned by \helpref{wxApp::OnInit}{wxapponinit}), -each frame containing one or more instances of \helpref{wxPanel}{wxpanel}, \helpref{wxSplitterWindow}{wxsplitterwindow}\rtfsp +An application must have a top-level \helpref{wxFrame}{wxframe} or \helpref{wxDialog}{wxdialog} window. +Each frame may contain one or more instances of classes such as \helpref{wxPanel}{wxpanel}, \helpref{wxSplitterWindow}{wxsplitterwindow}\rtfsp or other windows and controls. -A frame can have a \helpref{wxMenuBar}{wxmenubar}, a status line, and a \helpref{wxIcon}{wxicon} for +A frame can have a \helpref{wxMenuBar}{wxmenubar}, a \helpref{wxToolBar}{wxtoolbar}, a status line, and a \helpref{wxIcon}{wxicon} for when the frame is iconized. A \helpref{wxPanel}{wxpanel} is used to place controls (classes derived from \helpref{wxControl}{wxcontrol}) @@ -15,16 +15,16 @@ which are used for user interaction. Examples of controls are \helpref{wxButton} \rtfsp\helpref{wxCheckBox}{wxcheckbox}, \helpref{wxChoice}{wxchoice}, \helpref{wxListBox}{wxlistbox}, \rtfsp\helpref{wxRadioBox}{wxradiobox}, \helpref{wxSlider}{wxslider}. -Instances of \helpref{wxDialog}{wxdialog} can also be used for panels, items and they have +Instances of \helpref{wxDialog}{wxdialog} can also be used for controls and they have the advantage of not requiring a separate frame. Instead of creating a dialog box and populating it with items, it is possible to choose one of the convenient common dialog classes, such as \helpref{wxMessageDialog}{wxmessagedialog}\rtfsp and \helpref{wxFileDialog}{wxfiledialog}. -You never draw directly onto a window --- you use a {\it device context} (DC). \helpref{wxDC}{wxdc} is +You never draw directly onto a window - you use a {\it device context} (DC). \helpref{wxDC}{wxdc} is the base for \helpref{wxClientDC}{wxclientdc}, \helpref{wxPaintDC}{wxpaintdc}, \helpref{wxMemoryDC}{wxmemorydc}, \helpref{wxPostScriptDC}{wxpostscriptdc}, -\rtfsp\helpref{wxMemoryDC}{wxmemorydc}, \helpref{wxMetaFileDC}{wxmetafiledc} and \helpref{wxPrinterDC}{wxprinterdc}. +\rtfsp\helpref{wxMemoryDC}{wxmemorydc}, \helpref{wxMetafileDC}{wxmetafiledc} and \helpref{wxPrinterDC}{wxprinterdc}. If your drawing functions have {\bf wxDC} as a parameter, you can pass any of these DCs to the function, and thus use the same code to draw to several different devices. You can draw using the member functions of {\bf wxDC}, such as \helpref{wxDC::DrawLine}{wxdcdrawline}\rtfsp @@ -34,23 +34,18 @@ brushes (\helpref{wxBrush}{wxbrush}) and pens (\helpref{wxPen}{wxpen}). To intercept events, you add a DECLARE\_EVENT\_TABLE macro to the window class declaration, and put a BEGIN\_EVENT\_TABLE ... END\_EVENT\_TABLE block in the implementation file. Between these macros, you add event macros which map the event (such as a mouse click) to a member function. -These might override predefined event handlers such as \helpref{wxWindow::OnChar}{wxwindowonchar} and -\rtfsp\helpref{wxWindow::OnMouseEvent}{wxwindowonmouseevent}. +These might override predefined event handlers such as for \helpref{wxKeyEvent}{wxkeyevent} and +\rtfsp\helpref{wxMouseEvent}{wxmouseevent}. Most modern applications will have an on-line, hypertext help system; for this, you -need wxHelp and the \helpref{wxHelpControllerBase}{wxhelpcontrollerbase} class to control -wxHelp. To add sparkle, you might use the wxToolBar class (documented separately) -which makes heavy use of the \helpref{wxBitmap}{wxbitmap}. +need wxHelp and the \helpref{wxHelpController}{wxhelpcontroller} class to control +wxHelp. GUI applications aren't all graphical wizardry. List and hash table needs are -catered for by \helpref{wxList}{wxlist}, \helpref{wxStringList}{wxstringlist} and \helpref{wxHashTable}{wxhashtable}. +catered for by \helpref{wxList}{wxlist} and \helpref{wxHashMap}{wxhashmap}. You will undoubtedly need some platform-independent \helpref{file functions}{filefunctions}, and you may find it handy to maintain and search a list of paths using \helpref{wxPathList}{wxpathlist}. There's a \helpref{miscellany}{miscellany} of operating system and other functions. -If you have several communicating applications, you can try out the DDE-like functions, by -using the three classes \helpref{wxDDEClient}{wxddeclient}, \helpref{wxDDEServer}{wxddeserver} and -\rtfsp\helpref{wxDDEConnection}{wxddeconnection}. These use DDE under Windows, and a simulation using -sockets under UNIX. - +See also \helpref{Classes by Category}{classesbycat} for a list of classes.