Chapter Summary

team bbl


Chapter 1: Introduction

What is wxWidgets, and why use it? A brief history; the wxWidgets community; the license; wxWidgets ports and architecture explained.

Chapter 2: Getting Started

A small wxWidgets sample: the application class; the main window; the event table; an outline of program flow.

Chapter 3: Event Handling

Event tables and handlers; how a button click is processed; skipping events; pluggable and dynamic event handlers; defining custom events; window identifiers.

Chapter 4: Window Basics

The main features of a window explained; a quick guide to the commonest window classes; base window classes such as wxWindow; top-level windows; container windows; non-static controls; static controls; menus; control bars.

Chapter 5: Drawing and Printing

Device context principles; the main device context classes described; buffered drawing; drawing tools; device context drawing functions; using the printing framework; 3D graphics with wxGLCanvas.

Chapter 6: Handling Input

Handling mouse and mouse wheel events; handling keyboard events; keycodes; modifier key variations; accelerators; handling joystick events.

Chapter 7: Window Layout Using Sizers

Layout basics; sizers introduced; common features of sizers; programming with sizers. Further layout issues: dialog units; platform-adaptive layouts; dynamic layouts.

Chapter 8: Using Standard Dialogs

Informative dialogs such as wxMessageBox and wxProgressDialog; file and directory dialogs such as wxFileDialog; choice and selection dialogs such as wxColourDialog and wxFontDialog; entry dialogs such as wxTextEnTRyDialog and wxFindReplaceDialog; printing dialogs: wxPageSetupDialog and wxPrintDialog.

Chapter 9: Writing Custom Dialogs

Steps in creating a custom dialog; an example: PersonalRecordDialog; deriving a new class; designing data storage; coding the controls and layout; data transfer and validation; handling events; handling UI updates; adding help; adapting dialogs for small devices; further considerations in dialog design; using wxWidgets resource files; loading resources; using binary and embedded resource files; translating resources; the XRC format; writing resource handlers; foreign controls.

Chapter 10: Programming with Images

Image classes in wxWidgets; programming with wxBitmap; programming with wxIcon; programming with wxCursor; programming with wxImage; image lists and icon bundles; customizing wxWidgets graphics with wxArtProvider.

Chapter 11: Clipboard and Drag and Drop

Data objects; data source duties; data target duties; using the clipboard; implementing drag and drop; implementing a drag source; implementing a drop target; using standard drop targets; creating a custom drop target; more on wxDataObject; drag and drop helpers in wxWidgets.

Chapter 12: Advanced Window Classes

wxtreeCtrl; wxListCtrl; wxWizard; wxHtmlWindow; wxGrid; wxTaskBarIcon; writing your own controls; the control declaration; defining a new event class; displaying information; handling input; defining default event handlers; implementing validators; implementing resource handlers; determining control appearance.

Chapter 13: Data Structure Classes

Why not STL? wxString; wxStringTokenizer; wxRegEx; wxArray; wxList; wxHashMap; wxDateTime; wxObject; wxLongLong; wxPoint and wxRealPoint; wxRect; wxRegion; wxSize; wxVariant.

Chapter 14: Files and Streams

wxFile and wxFFile; wxTextFile; wxTempFile; wxDir; wxFileName; file functions; file streams; memory and string streams; data streams; socket streams; filter streams; zip streams; virtual file systems.

Chapter 15: Memory Management, Debugging, and Error Checking

Creating and deleting window objects; creating and copying drawing objects; initializing your application object; cleaning up your application; detecting memory leaks and other errors; facilities for defensive programming; error reporting; providing run-time type information; using wxModule; loading dynamic libraries; exception handling; debugging tips.

Chapter 16: Writing International Applications

Introduction to internationalization; providing translations; using message catalogs; using wxLocale; character encodings and Unicode; converting data; help files; numbers and dates; other media; an example.

Chapter 17: Writing Multithreaded Applications

When to use threads, and when not to; using wxTHRead; tHRead creation; starting the thread; how to pause a thread or wait for an external condition; termination; synchronization objects; wxMutex; deadlocks; wxCriticalSection; wxCondition; wxSemaphore; the wxWidgets thread sample; alternatives to multithreading: wxTimer, idle time processing, and yielding.

Chapter 18: Programming with wxSocket

Socket classes and functionality overview; introduction to sockets and basic socket processing; connecting to a server; socket events; socket status and error notifications; sending and receiving socket data; creating a server; socket event recap; socket flags; blocking and non-blocking sockets in wxWidgets; how flags affect socket behavior; using wxSocket as a standard socket; using socket streams; alternatives to wxSocket.

Chapter 19: Working with Documents and Views

Document/view basics; choosing an interface style; creating and using frame classes; defining your document and view classes; defining your window classes; using wxDocManager and wxDocTemplate; other document/view capabilities; standard identifiers; printing and previewing; file history; explicit document creation; strategies for implementing undo/redo.

Chapter 20: Perfecting Your Application

Single instance versus multiple instances; modifying event handling; reducing flicker; using a help controller; extended wxWidgets HTML help; authoring help; other ways to provide help; parsing the command line; storing application resources; invoking other applications; launching documents; redirecting process input and output; managing application settings; application installation on Windows, Linux and Mac OS X; following UI design guidelines.

Appendix A: Installing wxWidgets

Downloading and unpacking wxWidgets; configuration/build options; WindowsMicrosoft Visual Studio and VC++ command-line; WindowsBorland C++; WindowsMinGW with and without MSYS; Unix/Linux and Mac OS XGCC; customizing setup.h; rebuilding after updating wxWidgets files; using contrib libraries.

Appendix B: Building Your Own wxWidgets Applications

WindowsMicrosoft Visual Studio; LinuxKDevelop; Mac OS XXcode; makefiles; cross-platform builds using Bakefile; wxWidgets symbols and headers; using wx-config.

Appendix C: Creating Applications with DialogBlocks

What is DialogBlocks? Installing and upgrading DialogBlocks; the DialogBlocks interface; the sample project; compiling the sample; creating a new project; creating a dialog; creating a frame; creating an application object; debugging your application.

Appendix D: Other Features in wxWidgets

Further window classes; ODBC classes; MIME types manager; network functionality; multimedia classes; embedded web browsers; accessibility; OLE automation; renderer classes; event loops.

Appendix E: Third-Party Tools for wxWidgets

Language bindings such as wxPython and wxPerl; tools such as wxDesigner, DialogBlocks and poEdit; add-on libraries such as wxMozilla, wxCURL, wxPropertyGrid.

Appendix F: wxWidgets Application Showcase

Descriptions of notable wxWidgets applications, such as AOL Communicator and Audacity.

Appendix G: Using the CD-ROM

Browsing the CD-ROM; the CD-ROM contents.

Appendix H: How wxWidgets Processes Events

An illustrated description of how event processing works.

Appendix I: Event Classes and Macros

A summary of the important event classes and macros.

Appendix J: Code Listings

Code listings for the PersonalRecordDialog and the wxWizard examples.

Appendix K: Porting from MFC

General observations; application initialization; message maps; converting dialogs and other resources; documents and views; printing; string handling and translation; database access; configurable control bars; equivalent functionality by macros and classes.

    team bbl



    Cross-Platform GUI Programming with wxWidgets
    Cross-Platform GUI Programming with wxWidgets
    ISBN: 0131473816
    EAN: 2147483647
    Year: 2005
    Pages: 262

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net