~brian-sidebotham/wxwidgets-cmake/wxpython-2.9.4

« back to all changes in this revision

Viewing changes to docs/doxygen/overviews/roughguide.h

  • Committer: Brian Sidebotham
  • Date: 2013-08-03 14:30:08 UTC
  • Revision ID: brian.sidebotham@gmail.com-20130803143008-c7806tkych1tp6fc
Initial import into Bazaar

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/////////////////////////////////////////////////////////////////////////////
 
2
// Name:        roughguide.h
 
3
// Purpose:     topic overview
 
4
// Author:      wxWidgets team
 
5
// RCS-ID:      $Id: roughguide.h 64940 2010-07-13 13:29:13Z VZ $
 
6
// Licence:     wxWindows licence
 
7
/////////////////////////////////////////////////////////////////////////////
 
8
 
 
9
/**
 
10
 
 
11
@page overview_roughguide A Quick Guide to Writing Applications
 
12
 
 
13
To set a wxWidgets application going, you will need to derive a wxApp class and
 
14
override wxApp::OnInit.
 
15
 
 
16
An application must have a top-level wxFrame or wxDialog window. Each frame may
 
17
contain one or more instances of classes such as wxPanel, wxSplitterWindow or
 
18
other windows and controls.
 
19
 
 
20
A frame can have a wxMenuBar, a wxToolBar, a wxStatusBar, and a wxIcon for when
 
21
the frame is iconized.
 
22
 
 
23
A wxPanel is used to place controls (classes derived from wxControl) which are
 
24
used for user interaction. Examples of controls are wxButton, wxCheckBox,
 
25
wxChoice, wxListBox, wxRadioBox, and wxSlider.
 
26
 
 
27
Instances of wxDialog can also be used for controls and they have the advantage
 
28
of not requiring a separate frame.
 
29
 
 
30
Instead of creating a dialog box and populating it with items, it is possible
 
31
to choose one of the convenient common dialog classes, such as wxMessageDialog
 
32
and wxFileDialog.
 
33
 
 
34
You never draw directly onto a window - you use a <em>device context</em> (DC).
 
35
wxDC is the base for wxClientDC, wxPaintDC, wxMemoryDC, wxPostScriptDC,
 
36
wxMemoryDC, wxMetafileDC and wxPrinterDC. If your drawing functions have wxDC
 
37
as a parameter, you can pass any of these DCs to the function, and thus use the
 
38
same code to draw to several different devices. You can draw using the member
 
39
functions of wxDC, such as wxDC::DrawLine and wxDC::DrawText. Control colour on
 
40
a window (wxColour) with brushes (wxBrush) and pens (wxPen).
 
41
 
 
42
To intercept events, you add a DECLARE_EVENT_TABLE macro to the window class
 
43
declaration, and put a BEGIN_EVENT_TABLE ... END_EVENT_TABLE block in the
 
44
implementation file. Between these macros, you add event macros which map the
 
45
event (such as a mouse click) to a member function. These might override
 
46
predefined event handlers such as for wxKeyEvent and wxMouseEvent.
 
47
 
 
48
Most modern applications will have an on-line, hypertext help system; for this,
 
49
you need wxHelp and the wxHelpController class to control wxHelp.
 
50
 
 
51
GUI applications aren't all graphical wizardry. List and hash table needs are
 
52
catered for by wxList and wxHashMap. You will undoubtedly need some
 
53
platform-independent @ref group_funcmacro_file, and you may find it handy to
 
54
maintain and search a list of paths using wxPathList. There's many
 
55
@ref group_funcmacro_misc of operating system methods and other functions.
 
56
 
 
57
@see
 
58
 
 
59
@li @ref group_class
 
60
 
 
61
*/
 
62