INDEX

Symbols

3D graphics, wxGLCanvas, 168-169

A

accelerators, 180-181

accessibility, 591

accessing screens with wxScreenDC, 139

accessors, wxDateTime, 388

Acme, 534

adapting dialogs for small devices, 254-255

ADC (Apple Developer Connection), 544

add-on libraries, 596-599

AddFile, 411

adding

help, creating custom dialogs, 251-253

icons

to GNOME desktop, 534

to KDE desktop, 534

source and includes, Bakefile, 568-569

addition, 390

AddRoot, 321

aesthetics, designing dialogs, 257

alignment, sizers, 191

alternatives

to dialogs, 257

to wxNotebook, 76

to wxSocket, 479

to wxSplitterWindow, 85

Anthemion Software, DialogBlocks. See DialogBlocks

AOL Communicator, 601

Apple Developer Connection (ADC), 544

application class, 16-17

application objects

creating with DialogBlocks, 584

initializing, 415

application paths, finding, 524-525

application resources, storing

finding application paths, 524-525

reducing data files, 523

standard locations, 524

application settings

editing, 531-532

storing, 529-530

application termination behavior, UI design guidelines, 539

applications

associating with icons, 274-275

cleaning up, 416

creating

with Bakefile. See Bakefile

with KDevelop, 562-563

with Makefiles, 564

with Microsoft Visual Studio. See Microsoft Visual Studio

with Xcode, 563

debugging with DialogBlocks, 584

Doodle. See Doodle

installing. See installing

running wxExecute, 525

arbitrary areas, filling, 159

architecture of wxWidgets, 8

internal organization, 12-13

wxCocoa, 10

wxGTK, 8

wxMac, 10

wxMGL, 12

wxMotif, 10

wxMSW, 8

wxOS2, 12

wxPalmOS, 12

wxWinCE, 10

wxX11, 9

arcs

circular arcs, 154

drawing, 153

areas, filling arbitrary areas, 159

arithmetic, 389-391

arrays, 381

array types, 379-380

macros, 379

sample code, 381-383

art, customizing, 288-290

assertion alert, 419

associating icons with applications, 274-275

AttachUnknownControl, 264

Audacity, 601

audio files, playing, 526

authoring help, 518-519

autoconf, Bakefile project types, 568

AVG Antivirus, 601

AWX, 598

B

backgrounds, erasing window backgrounds, 134-135

Bakefile, 595

adding source and includes, 568-569

bakefile_gen, 570

build options, 569-570

creating wxWidgets applications, 565-566

includes, 569-570

presets, 569-570

project types, 567

autoconf, 568

sample wxWidgets project, 566-567

targets, 568

templates, 569-570

bakefile_gen, 570

base window classes, 45-46

wxControl, 54

wxControlWithItems, 54

member functions, 54-55

wxWindow, 47

wxWindow member functions, 50-53

wxWindow styles, 47-49

BASIC, 593

BC++, 544, 550

compiling sample programs, 550

behavior of sockets with socket flags, 475-476

binary resource files, 259-260

bindings, 593-594

bitmap buttons, wxButton, 89-90

bitmap resources, packaging, 272

bitmaps, drawing, 157-159, 271

drawing on with wxMemoryDC, 138

BitWise, 601

Blit, 138, 148, 157-158

blocking, 473

sockets, 474

Bodde, Jorgen, 531

borders, sizers, 191

Borland C++, 544, 550

compiling sample programs, 550

Broadcast, 453

bugs, defensive programming, 418-419

build directory, wx-config, 571

build options

Bakefile, 569-570

wxWidgets, 546-547

button labels, wxButton, 87-88

buttons

bitmap buttons, 89-90

mouse input, 173-174

UI design guidelines, 538

Bzip, 599

C

C pointer conversions, wxString, 375-376

C string functions, 376-377

CalcScrolledPosition, 79

CalcUnscrolledPosition, 79

CanHandle, 262

CaptureMouse, 50

carets, 41

CFBundleDevelopmentRegion, 436

CFBundleIconFile, 536

CFBundleLocalizations, 436

CFBundleTypeIconFile, 536

changing. See modifying

character encodings, 433, 438-439

converting data, 439

help files, 442

outside of a temporary buffer, 441-442

wxCSConv, 440-441

wxEncodingConverter, 440

character sets, font encoding, 438

characters, wxString, 375

Chess Commander, 603

Chinook Developer Studio, 595

choice and selection dialogs, 218

wxColourDialog, 218-221

wxFontDialog, 221-224

wxMultiChoiceDialog, 225-226

wxSingleChoiceDialog, 224-225

choice control, 90-91

choosing

configurations, 572

development tools, 543

interface styles, document/view systems, 483

circular arcs, 154

classes

application class, 16-17

comparing MFC versus wxWidgets, 651-652, 654

deriving new classes, 243

document classes, document/view systems, 486-495

file classes

wxDir, 400-401

wxFFile, 397-398

wxFile, 397-398

wxFileName, 401-402

wxTempFile, 400

wxTextFile, 399

frame classes, 17-18

creating and using for document/view systems, 483-485

document/view systems, 483-485

GUI

writing your own controls, 317

wxGrid. See wxGrid

wxHtmlWindow. See wxHtmlWindow

wxListCtrl. See wxListCtrl

wxTaskBarIcon. See wxTaskBarIcon

wxTreeCtrl. See wxTreeCtrl

wxWizard. See wxWizard

image classes, 265

multimedia classes, 590

network-related classes, 590

ODBC classes, 589

renderer classes, 592

socket classes, 464

stream classes

file streams, 403-405

filter streams, 407

memory streams, 405

reading and writing data types, 405-406

socket streams. See socket streams

string streams, 405

zip streams, 407-408

view classes, document/view systems, 486-495

window classes

base classes. See base window classes

container windows, 45

control bars, 46

document/view systems, 495-497

FL (Frame Layout), 589

menus, 46

non-static controls, 45

OGL, 588

static controls, 46

top-level windows, 45

wxCalendarCtrl, 585

wxDatePickerCtrl, 586

wxEditableListBox, 587

wxFoldPanelBar, 587

wxGenericDirCtrl, 585

wxGIFAnimationCtrl, 587

wxLEDNumberCtrl, 586

wxSplashScreen, 588

wxStaticPicture, 586

wxStyledTextCtrl, 586

wxTipWindow, 586

wxGrid, 347-348

wxMimeTypesManager, 590

cleaning up applications, 416. See also memory management

Clear, 148

client areas, windows, 40

clients

connecting servers to, socket clients, 468-469

sockets, 465-466

clipboard, 293-294

data objects, 291-292

data source duties, 292

data target, data source duties, 292

paste, 303

close, 50

closing dialogs and frames, 414

Cn3D, 603

Cobalt, Palm OOS 6, 12

code listings

Code to Create an HTML About Box, 339-340

Deriving from wxTaskBarIcon, 354-355

Header File for PersonalRecordDialog, 627-629

HTML for the About Box Sample, 340-341

Implementation File for PersonalRecordDialog, 629-634

showing taskbar icons, 356-357

Simple Use of wxGrid, 346-347

Wizard Sample Code, 635-641

CodeBlocks, 595

coding controls and layouts, 244-246

color, windows, 42

color reduction, programming with wxImage, 284-285

colors, UI design guidelines, 539

combinations of sockets, 475

command lines, parsing, 521-523

communication, instances, 507

communities, wxWidgets, 6-7

comparing

dates, 389

MFC and wxWidgets, 643

classes, 651-652, 654

configurable control bars, 650

database access, 650

documents and views, 649

initializing applications, 644

macros, 651

message maps, 644-646

printing, 649

string handling and translation, 650

compilers, 543. See also development tools

compiling

cross-compilation, 543

DialogBlocks sample project, 579-581

sample programs

Borland C++, 550

GCC, 555

Microsoft Visual Studio, 548

Microsoft Visual C++, 549

MinGW, 553

MinGW with MSYS, 552

configurations

choosing, 572

Microsoft Visual Studio, 562

configuring

MinGW with MSYS, 551

wxWidgets, 546-547

Connect, wxSocketClient, 468

connecting sockets to servers, 467

socket addresses, 468

socket clients, 468-469

connection events, wxSocketServer, 472

constructors, wxDateTime, 388

container windows, 45, 72

wxNotebook, 72-74

alternatives to, 76

events, 75

member functions, 75-76

notebook theme management, 74

styles, 74

wxPanel, 72

wxScrolledWindow, 76-78

events, 78

member functions, 79-80

styles, 78

wxSplitterWindow, 81-82

alternatives to, 85

events, 83

member functions, 84

sizing issues, 84-85

styles, 83

context-sensitive help, 251, 520-521

contributed libraries, 557

control appearance, writing your own controls, 367-369, 371

control bars, 122

MFC versus wxWidgets, 650

windows, 46

wxMenuBar, 122-123

events, 123

member functions, 123-124

wxStatusBar, 128-129

member functions, 129-130

styles, 129

wxToolBar, 124-125

bitmap colors under Windows, 125

events, 126

member functions, 127-128

styles, 126

controls

coding, 244-246

non-static controls. See non-static controls

static controls. See static controls

writing your own controls, 359-360

addingDoGetBestSize, 362

control appearance, 367-369, 371

custom control declaration, 360-362

defining default event handlers, 364-365

defining event classes, 363

displaying information on the control, 363

handling input, 363-364

implementing resource handlers, 367

implementing validators, 365-367

converting

dialogs, resource files, 647

numbers, wxString, 377

coordinate systems, windows, 41

copying drawing objects, 415

Create method, 449

CreateButtonSizer, 203

CreateControls, 244

CreateMyRecord, 425

CreatePopupMenu, 358

CreateStatusBar, 60

cross-compilation, 543

Csomor, Stefan, 6

CURL, 479, 596

cursors

windows, 41

wxGrid member functions, 352

custom control declaration, writing your own controls, 360-362

custom drop targets, creating, 299-300

custom events, defining, 34-37

customizing art, 288-290

CVS, 7

Cygwin, 544

D

DAO (Data Access Objects), 650

data, designing dialogs, 256

Data Access Objects (DAO), 650

data files, reducing number of, 523-524

data formats, standard data formats, 292

data objects, 291-292

data source, responsibilities of, 292

data storage, designing, 243-244

data structures, helper data structures

wxLongLong, 392

wxObject, 391

wxPoint, 392

wxRealPoint, 392

wxRect, 392-393

wxRegion, 393-394

wxSize, 394

wxVariant, 394-395

data target, responsibilities of, 292

data transfer, creating custom dialogs, 247-249

data types, reading and writing, 405-406

database access, MFC versus wxWidgets, 650

date arithmetic, 389-391

dates, 387

formatting for internationalization, 443

wxDateTime, 388

accessors, 388

constructors and modifiers, 388

date arithmetic, 389-391

date comparisons, 389

formatting dates, 389

getting current time, 389

deadlocks, synchronizing objects, 452

debug builds versus release builds, 546

Debug Project command, 584

debuggers, sending commands to, 527

debugging

applications, DialogBlocks, 584

error reporting, 419-423

wxMessageOutput versus wxLog, 423-424

release builds, 430-431

tips for, 429

release builds, 430-431

simplifying problems, 430

X11 errors, 429-430

declarations, custom control declarations, 360-362

DECLARE_EVENT_TABLE, 31

defensive programming, 418-419

deleting

dialogs, 414

frames, 414

window objects, 413-414

windows, 43-44

deriving

from wxDataObject, 301

new classes, 243

designing

data storage, 243-244

dialogs

aesthetics, 257

data and UI separation, 256

keyboard navigation, 255

layouts, 256-257

Destroy, 50, 413

detecting

errors, 416-418

memory leaks, 416-418

development tools

choosing, 543

on Linux and Mac OS X, 544-545

on Windows, 543-544

device contexts, 131-133

drawing functions, 148-150

drawing on windows

with wxClientDC, 133-134

with wxPaintDC, 135-138

erasing window backgrounds, 134-135

wxBufferedPaintDC, 136-138

wxMemoryDC, drawing on bitmaps, 138

wxMetafileDC, 138

wxPaintDC, drawing on windows, 135-138

wxPostScriptDC, 139-140

wxPrinterDC, 139-140

wxScreenDC, accessing screens, 139

device units, 132

devices, adapting dialogs for small devices, 254-255

DeviceToLogicalX, 150

DeviceToLogicalXRel, 150

DeviceToLogicalY, 150

DeviceToLogicalYRel, 150

dialog data exchange, MFC, 648-649

dialog units, 201-202

DialogBlocks, 545, 575-576, 595

creating

application objects, 584

dialogs, 582-583

frames, 584

creating new projects, 582

debugging applications, 584

installing

on Linux, 576-577

on Mac OS X, 577

on Windows, 576

interfaces, 577-578

sample project, 578-579

compiling, 579-581

upgrading, 577

DialogBlocks Personal Edition, 576

dialogs

adapting for small devices, 254-255

alternatives to, 257

choice and selection dialogs

wxColourDialog, 218-221

wxFontDialog, 221-224

wxMultiChoiceDialog, 225-226

wxSingleChoiceDialog, 224-225

closing and deleting, 414

converting with resource files, 647

creating with DialogBlocks, 582-583

creating custom dialogs, 241

adding help, 251-253

coding controls and layouts, 244-246

data transfer and validation, 247-249

deriving new classes, 243

designing data storage, 243-244

handling events, 249

handling UI updates, 250-251

invoking the dialog, 253

designing

aesthetics, 257

data and UI separation, 256

keyboard navigation, 255

layouts, 256-257

entry dialogs

wxFindReplaceDialog, 228-232

wxNumberEntryDialog, 227

wxPasswordEntryDialog, 227

wxTextEntryDialog, 227-228

file and directory dialogs

wxDirDialog, 216-218

wxFileDialog, 212-216

informative dialogs

wxBusyInfo, 210

wxMessageDialog, 205-207

wxProgressDialog, 208-209

wxShowTip, 210-212

invoking, 253

modeless dialogs, 414

printing dialogs

wxPageSetupDialog, 232-235

wxPrintDialog, 235-239

recreating with MFC, 647-648

Digital Mars C++, 544

directories, 548

build directory, wx-config, 571

disabling windows, 460

DisplayContents, 516

displaying information on controls, writing your own controls, 363

DisplaySection, 516

distributing message catalogs, 438

DLL, Microsoft Visual Studio, 548

DnDShape, 302, 309

DnDShapeDataObject, 302, 310

DnDWindow, 296

DoCreateResource, 262

Documancer, 604

document classes, defining for document/view systems, 486-495

document creation, document/view systems, 501

document manager, 649

document/view systems, 481

creating applications, 481-482

choosing interface styles, 483

creating and using frame classes, 483-485

defining document and view classes, 486-495

defining window classes, 495-497

explicit document creation, 501

file history, 500

printing and previewing, 500

standard identifiers, 500

wxDocManager, 497-499

wxDocTemplate, 497-499

documents

launching, 525-526

MFC versus wxWidgets, 649

DoDataExchange, 648

DoDragDrop, flags, 295

DoDragDrop function, 292

DoGetBestSize, 362

DoLog, 422

DoLogString, 422

Doodle, 482

choosing interface styles, 483

creating and using frame classes, 483-485

defining document and view classes, 486-495

DoodleApp, 498

DoodleCanvas, 493, 495

implementing, 496

DoodleCommand, 490

DoodleFrame, 484

DoodleSegment, 487

DoodleView, implementing, 493

DOODLE_ADD, 492, 497

DOODLE_CUT, 492

DoPrepareDC, 78

downloading wxWidgets, 545-546

Doxygen, 596

Dr. MinGW, 431

drag and drop, 311

data objects, 291-292

wxDragImage, 313-316

wxListCtrl, 312

wxTreeCtrl, 311-312

wxWidgets sample, 302-311

drag sources, implementing, 294-297

dragging, 298

drag sources, 295

DrawArc, 153

DrawBitmap, 157-158

DrawCircle, 148

DrawEllipse, 148

DrawEllipticArc, 148

DrawIcon, 158

drawing

bitmaps, 157-159, 271

lines, 152-155

on bitmaps with wxMemoryDC, 138

on windows

with wxClientDC, 133-134

with wxPaintDC, 135-138

shapes, 152-155

splines, 156

text, 150-152

with bitmaps, 271

drawing functions, device contexts, 148-150

drawing objects, creating and copying, 415

drawing tools, 140

wxBrush, 143-144

styles, 144

wxColour, 141

wxFont, 145-146

wxPalette, 147-148

wxPen, 142-143

DrawLines, 148, 154

DrawPoint, 148

DrawPolyPolygon, 155

DrawRotatedText, 149, 151

DrawSpline, 149, 156

DrawText, 150-152

drop targets

creating custom drop targets, 299-300

implementing, 297-298

standard drop targets, 298-299

dynamic event handlers, 30-31

dynamic layouts, 204

dynamic libraries, loading, 427

E

EarthVision, 604

editing application settings, 531-532

Eiffel, 594

Emacs, 544

embedded resource files, 259-260

embedded web browsers, 591

embedding windows in HTML pages, 342-344

Enable, 50

encoding fonts, 145

encodings, 438-439

converting data, 439

help files, 442

outside of a temporary buffer, 441-442

wxCSConv, 440-441

wxEncodingConverter, 440

EndDoc, 150

Endmodal, 414

EndPage, 150

Entry, wxThread, 449

entry dialogs, 227

wxFindReplaceDialog, 228-232

wxNumberEntryDialog, 227

wxPasswordEntryDialog, 227

wxTextEntryDialog, 227-228

EPM, 534, 596

erasing window backgrounds, 134-135

error notifications, socket status, 470-471

error reporting, 419-423

wxMessageOutput versus wxLog, 423-424

errors

detecting, 416-418

X11 errors, 429-430

Euphoria, 594

event classes

defining custom events, 34-37

writing your own controls, 363

event handlers, 18-19, 26-28

defining default event handler, writing your own controls, 364-365

dynamic event handlers, 30-31

example character event handler, 178

pluggable event handlers, 29-30

event handling

creating custom dialogs, 249

modifying, 510-511

event loops, 592

event tables, 18, 26-28

creating, 26

event.Skip(), 178

event-based sockets, 463

event-driven programming, 25

events

connection events, wxSocketServer, 472

processing, 613, 615

skipping, 29

socket events. See socket events

wxButton, 87, 90

wxCheckBox, 95

wxCheckListBox, 97

wxChoice, 91

wxComboBox, 93

wxDialog, 70

wxFrame, 59

wxGrid, 349

wxListBox, 97

wxListCtrl, 324

wxMenu, 118-120

wxMenuBar, 123

wxNotebook, 75

wxRadioBox, 100

wxRadioButton, 101

wxScrollBar, 102

wxScrolledWindow, 78

wxSlider, 107

wxSpinButton, 104

wxSpinCtrl, 105

wxSplitterWindow, 83

wxTaskBarIcon, 358

wxTextCtrl, 110

wxToggleButton, 112

wxToolBar, 126

wxTreeCtrl, 320

wxWindow, 49

wxWizard, 331

EVT_BUTTON, 27, 171

EVT_SIZE, 27

EVT_COMMAND_SCROLL, 102

EVT_SOCKET, 469

exceptions, 428

Execute, 508

extended HTML Help, 517-518

Extended wxHTML Help, 598

external conditions, waiting for threads, 450

extra styles

wxDialog, 70

wxWindow, 48

F

face names, fonts, 145

file and directory dialogs

wxDirDialog, 216-218

wxFileDialog, 212-216

file classes

wxDir, 400-401

wxFFile, 397-398

wxFile, 397-398

wxFileName, 401-402

wxTempFile, 400

wxTextFile, 399

file functions, 402-403

file history, document/view systems, 500

file receiving threads, socket streams, 478-479

file sending threads, socket streams, 477-478

file streams, 403-405

file systems, virtual file systems, 408-411

files

include files, 559

Info.plist file, 436

library files, 559

resource files

binary resource files, 259-260

converting dialogs, 647

embedded resource files, 259-260

foreign controls, 263-264

loading resources, 258-259

translating resources, 261

writing resource handlers, 262-263

XRC format, 261-262

system files, 559

updating wxWidgets files, 556

writing, 398

filling arbitrary areas, 159

filter streams, 407

FindFocus, 50

finding application paths, 524-525

FindWindow, 50

FinishedIdleTask, 459

Fit, 51

FL (Frame Layout), 589

flag.png, 443

flags

DoDragDrop, 295

mask flags, wxListItem, 325

socket flags. See socket flags

flicker, reducing, 512-513

FloodFill, 149, 159

font encoding, 438

font families, 145

fonts

encoding, 145

face names, 145

font families, identifiers, 145

point size, 145

styles, 145

UI design guidelines, 539

underlines, 145

weight, 145

windows, 42

foreign controls, resource files, 263-264

formatting dates, 389

Forte Agent, 604

forums, 6

frame classes, 17-18

document/view systems, 483-485

frame constructors, 19-20

Frame Layout (FL), 589

frames

closing and deleting, 414

creating with DialogBlocks, 584

modeless frames, 414

Freeze, 513

functions

AddFile, 411

AddRoot, 321

Blit, 138, 148, 157-158

Broadcast, 453

C string functions, 376-377

Clear, 148

CreatePopupMenu, 358

Destroy, 413

device context drawing functions, 148-150

DeviceToLogicalX, 150

DeviceToLogicalXRel, 150

DeviceToLogicalY, 150

DeviceToLogicalYRel, 150

DisplayContents, 516

DisplaySection, 516

DoDataExchange, 648

DoDragDrop, 292

DoGetBestSize, 362

DrawArc, 153

DrawBitmap, 157-158

DrawCircle, 148

DrawEllipse, 148

DrawEllipticArc, 148

DrawLines, 148, 154

DrawPoint, 148

DrawPolyPolygon, 155

DrawRotatedText, 149, 151

DrawSpline, 149, 156

DrawText, 150-152

EndDoc, 150

EndPage, 150

Entry, wxThread, 449

Execute, 508

FinishedIdleTask, 459

FloodFill, 149

GetAdjustedBestSize, 362

GetAllFiles, 400

GetBrush, 149

GetClassDefaultAttributes, 368

GetCurrentPage, 332

GetDC, 164

GetDeviceOrigin, 150

GetFirst, 400

GetLogicalFunction, 149

GetMapMode, 150

GetNext, 400

GetNextToken, 378

GetPageAreaSizer, 332

GetPageInfo, 163

GetPageSize, 332

GetPageSizeMM, 164

GetPageSizePixels, 164

GetPartialTextExtents, 149

GetPixel, 149

GetPPIPrinter, 164

GetPPIScreen, 164

GetSize, 149

GetSizeMM, 149

GetTextBackground, 149

GetTextExtent, 149, 152

GetTextForeground, 149

GetUserScale, 150

HasInput, 528

HasPage, 164

Initialize, 162

IsPreview, 164

LoadTextResource, 410

Lock, 452

logging functions, 420-422

logical functions, 159-160

LogicalToDeviceX, 150

LogicalToDeviceXRel, 150

LogicalToDeviceY, 150

LogicalToDeviceYRel, 150

MacOpenFile, 506

member functions

wxButton, 87

wxCheckBox, 95

wxCheckListBox, 98

wxChoice, 91

wxComboBox, 93

wxControlWithItems, 54-55

wxDialog, 71

wxFrame, 60-61

wxGauge, 113

wxGrid, 350-353

wxHtmlWindow, 341-342

wxListBox, 98

wxListCtrl, 327-328

wxMDIChildFrame, 65

wxMDIParentFrame, 65

wxMenu, 120-122

wxMenuBar, 123-124

wxNotebook, 75-76

wxPanel, 72

wxRadioButton, 101

wxScrollBar, 103

wxScrolledWindow, 79-80

wxSlider, 107

wxSocketEvent, 469

wxSocketServer, 472

wxSpinButton, 104

wxSpinCtrl, 106

wxSplitterWindow, 84

wxStaticBitmap, 115

wxStaticBox, 116

wxStaticLine, 116

wxStaticText, 114

wxStatusBar, 129-130

wxTextCtrl, 110-111

wxToggleButton, 112

wxToolBar, 127-128

wxTreeCtrl, 321-322

wxWindow, 50-53

wxWizard, 332

menu functions, wxTaskBarIcon, 358

MyFrame, 338

new, 413

Notify, 457

Ok, 149

OnBeginDocument, 164

OnBeginPrinting, 164

OnChangeLanguage, 445-446

OnEndPrinting, 164

OnExecute, 508

OnGetItemAttr, 330

OnGetItemImage, 330

OnGetItemLabel, 330

OnInit, 409

OnInternalIdle, 460

OnPreparePrinting, 163

OnPrintPage, 164

OnRun, 428

OnSysRead, 403

OnSysWrite, 403

OnTerminate, 527

Pause, 450

Print, 161

printf, 376

ProcessEvent, event handling, 511

Resume, 450

RunWizard, 332

SelectLanguage, 444

Serialize, 649

SetAxisOrientation, 150

SetData, 292

SetDeviceOrigin, 150

SetItemData, 327

SetLogicalFunction, 149

SetMapMode, 150

SetPageSize, 332

SetTextBackground, 149

SetTextForeground, 149

SetupStrings, 445

SetUserScale, 150

ShellExecute, 526

Signal, 453-454

SortItems, 328

StartDoc, 150

StartPage, 150

TestDestroy, 450

TransferDataFromWindow, 648

TransferDataToWindow, 648

Traverse, 400

TryLock, 452

Unlock, 452

Validate, 366

Wait, 449

wxAND, 160

wxAND_INVERT, 160

wxAND_REVERSE, 160

of wxBitmap, 267

wxCLEAR, 160

wxCOPY, 160

wxCursor, 275

wxEQUIV, 160

wxFontSelectorCtrl, 363

wxIcons, 273

wxImage, 279-280

wxINVERT, 160

wxNAND, 160

wxNOR, 160

wxNO_OP, 160

wxOR, 160

wxOR_INVERT, 160

wxOR_REVERSE, 160

wxSET, 160

wxSRC_INVERT, 160

wxXOR, 160

G

GCC, 544, 553-554

compiling sample programs, 555

GDB, Emacs, 544

GetAdjustedBestSize, 362

GetAllFiles, 400

GetAlpha, 282

GetBrush, 149

GetClassDefaultAttributes, 368

GetCurrentPage, 332

GetDataHere, 308

GetDC, 164

GetDeviceOrigin, 150

GetFirst, 400

GetInternalRepresentation, 341

GetKeyCode, 176

GetLinesPerAction, 174

GetLogicalFunction, 149

GetMapMode, 150

GetNext, 400

GetNextToken, 378

GetPageAreaSizer, 332

GetPageInfo, 163

GetPageSize, 332

GetPageSizeMM, 164

GetPageSizePixels, 164

GetPartialTextExtents, 149

GetPixel, 147, 149

GetPPIPrinter, 164

GetPPIScreen, 164

GetPreferredFormat, 307

GetRGB, 147

GetScreenType, 254

GetSize, 132, 149

GetSizeMM, 132, 149

GetTextBackground, 149

GetTextExtent, 149, 152

GetTextForeground, 149

GetUserScale, 150

GetWheelDelta, 174

GetWheelRotation, 174

Gloger, Wolfram, 5

GNOME, adding icons to desktop, 534

graphics, scrolling graphics, 512

grids, 77, 317, 345-346, 348

classes, 347-348

code listings, 346-347

events, 349

member functions, 350-353

functions for creation, deletion, and data retrieval, 350

functions for presentation, 351

functions for selection and cursors, 352

functions for setting and getting wxGrid metrics, 351-352

miscellaneous functions, 353

GTK+

printing under Unix, 167-168

wxButton labels, 87

GTK-Qt, 596

GUI

writing your own controls, 317

wxGrid. See wxGrid

wxHtmlWindow. See wxHtmlWindow

wxListCtrl. See wxListCtrl

wxTaskBarIcon. See wxTaskBarIcon

wxTreeCtrl. See wxTreeCtrl

wxWizard. See wxWizard

GUI applications, event-driven programming, 25

GUI functions, threads, 448

guidelines, UI design guidelines, 537-539

H

handling

events, creating custom dialogs, 249

UI updates, creating custom dialogs, 250-251

Hardy, 5

HasAlpha, 282

HASH_T, 385

HasInput, 528

Haskell, 594

HasMoreTokens, 378

HasPage, 164

header files, modifying, 556

headers, 572-574

Help, buttons, 538

help, 515

adding, creating custom dialogs, 251-253

authoring, 518-519

context-sensitive help, 251, 520-521

help controllers, 514, 516

menu help, 521

MS HTML Help, 519

online help, 252, 519-520

context-sensitive help, 520-521

implementing, 513, 515

menu help, 521

tooltips, 520-521

tooltips, 251, 520-521

wxModalHelp, 517

help controllers, 513-516

help files, 442

Help Viewer, 510

HelpBlocks, 595

helper data structures

wxLongLong, 392

wxObject, 391

wxPoint, 392

wxRealPoint, 392

wxRect, 392-393

wxRegion, 393-394

wxSize, 394

wxVariant, 394-395

hierarchies, sizers, 189

Holzem, Markus, 5

HTML

authoring help, 518-519

embedding windows in HTML pages, 342-344

printing, 344-345

HTML about boxes

creating, 339-340

sample, 340-341

HTML Help, 514-515

extended HTML Help, 517-518

limitations of, 517

I

i18n. See internationalization, 433

icon bundles, 285-288

icons. See also wxTaskBarIcon

adding, 534

associating with applications, 274-275

Mac OS X, 536

UI design guidelines, 538

identifiers

document/view systems, 500

font families, 145

window identifiers, 31

IDEs, Microsoft Visual Studio. See Microsoft Visual Studio

idle time, windows, 42

idle time processing, 459-460

IFM (Interface Management System), 597

image classes, 265

image handlers, 280

image lists, 285-288

images

3D graphics, wxGLCanvas, 168-169

loading and saving, wxImage, 280-282

implementing

DoodleApp, 498

DoodleCanvas, 496

DoodleView, 493

drag sources, 294-297

drop targets, 297-298

online help, 513, 515

resource handlers, writing your own controls, 367

undo/redo, 501-503

validators, writing your own controls, 365-367

include files, 559

includes

adding to Bakefile, 568-569

Bakefile, 569-570

Info.plist file, 436

informative dialogs

wxBusyInfo, 210

wxMessageDialog, 205-207

wxProgressDialog, 208-209

wxShowTip, 210-212

Initialize, 162

initializing

application objects, 415

applications, MFC versus wxWidgets, 644

Inno Setup script, 533

input

handling, writing your own controls, 363-364

joysticks, 181-183

wxJoystick, 184

wxJoystick events, 183

wxJoystickEvent, 184

keyboards, 175, 177

accelerators, 180-181

example character event handler, 178

key code translation, 179

modifier key variations, 179-180

mouse input, 171-172

handling buttons and motion events, 173-174

handling mouse wheel events, 174-175

redirecting, 527-529

windows, 42

InstallAnywhere, 596

installing

applications

on Linux, 533-534

on Mac OS X, 535-537

on Windows, 532-533

DialogBlocks

Linux, 576-577

Mac OS X, 577

Windows, 576

wxWidgets, 543

InstallShield, 596

instances

communication, 507

Mac OS, 506

single or multiple instances, 506-510

wxSingleInstanceChecker, 506, 509

Interface Management System (IFM), 597

interface styles, choosing for document/view systems, 483

interfaces, DialogBlocks, 577-578

internal organization, wxWidgets, 12-13

internationalization, 433-434

converting data, 439

help files, 442

outside of a temporary buffer, 441-442

wxCSConv, 440-441

wxEncodingConverter, 440

media, 443

numbers and dates, 443

samples, 444-446

translations, 434

message catalogs, 435-436

poEdit, 434

wxLocale, 437-438

Internet Explorer, 598

invariants, 451

invoking dialogs, 253

IPV4, 468

IPV6, 468

IsPreview, 164

J

Java, 3, 594

JavaScript, 593

joysticks, 181-183

wxJoystick, 184

wxJoystick events, 183

wxJoystickEvent, 184

K

Kay, Alan, 7

KDE, adding icons to desktop, 534

KDevelop, 544, 596

creating wxWidgets applications, 562-563

key code translation, 179

keybinder, 599

keyboard navigation, designing dialogs, 255

keyboards, 175, 177

accelerators, 180-181

example character event handler, 178

key code translation, 179

modifier key variations, 179-180

KEY_EQ_T, 385

KICAD, 604

Kirix Strata, 605

Koan Software, wxDao, 650

L

labels, button labels (wxButton), 87-88

language bindings, 593-594

launching documents, 525-526

layout

basics of layout, 187-188

dialog units, 201-202

dynamic layouts, 204

platform-adaptive layouts, 202-203

LayoutFrame, 85

LayoutMDIFrame, 85

layouts

coding, 244-246

designing dialogs, 256-257

leaks, detecting memory leaks, 416

LED, 586

libgnomeprint, 167

libgnomeprintui, 167

libraries

add-on libraries, 596-599

contributed libraries, 557

dynamic libraries, loading, 427

libgnomeprint, 167

libgnomeprintui, 167

LitWindow Library, 599

multi-libraries versus monolithic libraries, 546

shared libraries

Linux, 535

versus static libraries, 546

library files, 559

licenses, 7

lightweight processes. See threads

limitations of HTML Help, 517

lines, drawing, 152-155

Linux

development tools, 544-545

GCC, 553-554

compiling sample programs, 555

installing

applications, 533-534

DialogBlocks, 576-577

KDevelop. See KDevelop

shared libraries, 535

list controls

virtual list controls, 330

wxListCtrl. See wxListCtrl

LitWindow Library, 599

LoadFile, 273

loading

dynamic libraries, 427

images, wxImage, 280-282

resources, resource files, 258-259

LoadTextResource, 410

locations, storing application resources, 524

Lock, 452

logging, 422-423

wxLogChain, 423

wxMessageOutput versus wxLog, 423-424

logging functions, 420-422

logical functions, 158-160

logical units, 132

LogicalToDeviceX, 150

LogicalToDeviceXRel, 150

LogicalToDeviceY, 150

LogicalToDeviceYRel, 150

logs, creating, 422

Loki Setup, 596

Lua, 593

M

Mac OS, instances, 506

Mac OS X

Bakefile, 566

development tools, 544-545

GCC, 553-554

compiling sample programs, 555

icons, 536

installing

applications, 535-537

DialogBlocks, 577

StoryLines, 3

Xcode, 563

Macintosh, event-driven programming, 25

MacOpenFile, 506

macros

arrays, 379

comparing MFC versus wxWidgets, 651

defining custom events, 34-37

joystick event table macros, 183

keyboard event table macros, 176

mouse event table macros, 172

wxDYNLIB_FUNCTION, 427

Mahogany Mail, 605

Makefiles, creating wxWidgets applications, 564-565

makeinno.sh, 532

maketarball.sh, 537

manipulating wxImage data directly, 285

mapping modes, 132

mask flags, wxListItem, 325

MDI (Multiple Document Interface), 413

media, internationalization, 443

member functions

wxButton, 87

wxCheckBox, 95

wxCheckListBox, 98

wxChoice, 91

wxComboBox, 93

wxControlWithItems, 54-55

wxDialog, 71

wxFrame, 60-61

wxGauge, 113

wxGrid, 350-353

wxHtmlWindow, 341-342

wxListBox, 98

wxListCtrl, 327-328

wxMDIChildFrame, 65

wxMDIParentFrame, 65

wxMenu, 120-122

wxMenuBar, 123-124

wxNotebook, 75-76

wxPanel, 72

wxRadioButton, 101

wxScrollBar, 103

wxScrolledWindow, 79-80

wxSlider, 107

wxSocketEvent, 469

wxSocketServer, 472

wxSpinButton, 104

wxSpinCtrl, 106

wxSplitterWindow, 84

wxStaticBitmap, 115

wxStaticBox, 116

wxStaticLine, 116

wxStaticText, 114

wxStatusBar, 129-130

wxTextCtrl, 110-111

wxToggleButton, 112

wxToolBar, 127-128

wxTreeCtrl, 321-322

wxWindow, 50-53

wxWizard, 332

memory leaks, detecting, 416-418

memory management, 413

arrays, 381

cleaning up applications, 416

creating and copying drawing objects, 415

creating and deleting window objects, 413-414

debugging. See debugging

defensive programming, 418-419

detecting leaks and errors, 416-418

initializing application objects, 415

memory streams, 405

menu help, 521

menus

popup menus, 358

UI design guidelines, 538

windows, 46

wxMenu, 117-118

events, 118-120

member functions, 120-122

message catalogs, 433

distributing, 438

step-by-step guide, 435-436

message maps, MFC versus wxWidgets, 644-646

META tag, wxHtmlHelpController, 442

metafiles, creating with wxMetafileDC, 138

Metrowerks CodeWarrior, 10

MFC

dialog data exchange, 648-649

recreating dialogs, 647-648

versus wxWidgets, 643

classes, 651-652, 654

configurable control bars, 650

database access, 650

documents and views, 649

initializing applications, 644

macros, 651

message maps, 644-646

printing, 649

string handling and translation, 650

validation, 648-649

Microsoft Visual C++, compiling wxWidgets sample programs, 549

Microsoft Visual Studio, 544, 547-548, 595

compiling wxWidgets sample programs, 548

creating wxWidgets applications, 559-561

DLL, 548

multiple configurations, 562

troubleshooting, 561-562

Unicode, 548

Microsoft Word, 483

MinGW, 544, 552-553

compiling sample programs, 553

debugging release builds, 431

with MSYS, 551-552

compiling sample programs, 552

MinGW Developer Studio, 595

mini-frames, wxFrame, 63

mmwx, 598

Model-View-Controller (MVC), 481

modeless dialogs and frames, 414

modifier key variations, 179-180

modifiers, wxDateTime, 388

modifying

header files, 556

setup.h, 555

source files, 556

module systems, wxModule, 426

Mojoworld, 605

monolithic libraries versus multi-libraries, 546

motion events, mouse input, 173-174

mouse input, 171-172

handling buttons and motion events, 173-174

handling mouse wheel events, 174-175

mouse wheel events, mouse input, 174-175

Mozilla, 596

MS HTML Help, 519

MSYS with MinGW, 551-552

compiling sample programs, 552

multi-libraries versus monolithic libraries, 546

multi-line text controls, 108

multimedia classes, 590

Multiple Document Interface (MDI), 413

multiple instances, 506-510

multiplication, 390

multithreaded applications, 448

synchronizing objects, 451

deadlocks, 452

wxCondition, 453-456

wxCriticalSection, 453

wxMutex, 451-452

wxSemaphore, 456

wxThread, 448-449

multithreading, 447

mutexes, 452

deadlocks, 452

wxCriticalSection, 453

wxSemaphore, 456

mutual exclusion, 451

MVC (Model-View-Controller), 481

MyApp, 17

MyCanvas, 182

MyFrame, 17, 338

event handlers, 18-19

N

Navigate, 178

NDEBUG, 431

.NET, 594

network-related classes, 590

new, 413

New Project Wizard, DialogBlocks, 582

non-blocking sockets, 475

non-rectangular frames, wxFrame, 61-63

non-static controls, 45, 86

wxBitmapButton, 89-90

wxButton, 86

events, 87

labels, 87-88

member functions, 87

styles, 86

wxCheckBox, 93-94

events, 95

member functions, 95

styles, 94

wxCheckListBox, 95-96

events, 97

member functions, 98

styles, 97

wxChoice, 90-91

wxComboBox, 91-92

events, 93

member functions, 93

styles, 92

wxGauge, 112-113

wxListBox, 95-96

events, 97

member functions, 98

styles, 97

wxRadioBox, 98-99

events, 100

member functions, 100

styles, 99

wxRadioButton, 100-101

wxScrollBar, 101-102

events, 102

member functions, 103

styles, 102

wxSlider, 106

events, 107

member functions, 107

styles, 106

wxSpinButton, 103

events, 104

member functions, 104

styles, 104

wxSpinCtrl, 104-105

events, 105

member functions, 106

styles, 105

wxTextCtrl, 107-109

events, 110

member functions, 110-111

styles, 109

wxToggleButton, 111

events, 112

member functions, 112

styles, 112

notebook theme management, wxNotebook, 74

Notify, 457

NSIS (Nullsoft Scriptable Install System), 596

numbers

converting, wxString, 377

formatting for internationalization, 443

O

Object Graphics Library (OGL), 588

object-oriented programming and wxWidgets, 7

objects

application objects, initializing, 415

drawing objects. See drawing objects

synchronizing, 451

deadlocks, 452

wxCondition, 453-456

wxCriticalSection, 453

wxMutex, 451-452

wxSemaphore, 456

windows objects, 413-414

ODBC classes, 589

OGL (Object Graphics Library), 588

Ok, 149

OLE automation, wxAutomationObject, 591

OnAcceptConnection, 508

OnBeginDocument, 164

OnBeginPrinting, 164

OnChangeLanguage, 445-446

OnDraw, 78

OnEndPrinting, 164

OnExecute, 508

OnExit, 19

OnGetItemAttr, 330

OnGetItemImage, 330

OnGetItemLabel, 330

OnInit, 16, 409, 415

OnInternalIdle, 460

online help, 252, 519-520

implementing, 513, 515

menu help, 521

OnPaint, 134

OnPaint handler, 174

OnPreparePrinting, 163

OnPrintPage, 164

OnRun, 428

OnSize event handler, 187

OnSysRead, 403

OnSysWrite, 403

OnTerminate, 527

output, redirecting, 527-529

P

packaging bitmap resources, 272

painting

smooth painting and scrolling, 136

windows, 41

palettes, wxPalette, 147

ParseFormat, 389

parsing

command lines, 521-523

dates, 389

paste, clipboard, 303

Pause, 450

pausing threads, 450

Perl, 593

PersonalRecordDialog, 242

adding help, 251-253

coding controls and layouts, 244-246

data transfer and validation, 247-249

deriving new classes, 243

designing data storage, 243-244

handling events, 249

handling UI updates, 250-251

invoking the dialog, 253

PersonalRecordDialog

header file for, 627-629

implementation file for, 629-634

pgAdmin III, 605

platform symbols, 573

platform-adaptive layouts, 202-203

playing audio files, 526

pluggable event handlers, 29-30

poEdit, 595

point size, 145

popup menus, 358

POSIX regular expressions, 379

presets, Bakefile, 569-570

previewing

document/view systems, 500

printing, 165-167

Print, 161

PrintClasses, 417

printf, 376

wxString, numbers and dates for internationalization, 443

printing

document/view systems, 500

HTML, 344-345

MFC versus wxWidgets, 649

previewing, 165-167

scaling, 165-167

under Unix with GTK+, 167-168

wxPostScriptDC, 139-140

wxPrinterDC, 139-140

printing dialogs, 232

wxPageSetupDialog, 232-235

wxPrintDialog, 235-239

printing framework, 161-162

wxPrintout, 163-164

priority, specifying threads, 450

process input, redirecting, 527-529

processApp, 529

ProcessEvent, 613, 615

event handling, 511

processing events, 613, 615

program flow, 23

programming

with sizers, 192-193

wxBoxSizer, 193-196

wxFlexGridSizer, 198-200

wxGridBagSizer, 200-201

wxGridSizer, 197-198

wxStaticBoxSizer, 196-197

with wxBitmap, 267

creating a wxBitmap, 268-269

drawing with bitmaps, 271

packaging bitmap resources, 272

setting wxMask, 269-270

XPM format, 270-271

with wxCursor, 275

creating wxCursor, 276-278

wxCursor, 278

wxSetCursorEvent, 278-279

with wxIcon, 272-274

associating icons with applications, 274-275

creating wxIcon, 273

with wxImage, 279-280

color reduction, 284-285

loading and saving images, 280-282

manipulating data directly, 285

transformations, 284

transparency, 282-283

project types, Bakefile, 567

autoconf, 568

projects, creating new projects with DialogBlocks, 582

PushEventHandler, 30

R

RAD (Rapid Application Development) tool, 575

wxHatch, 595

radio buttons, 100

RC files, 647

reading

data types, 405-406

socket data, 471

recreating dialogs, MFC, 647-648

redirecting process input and output, 527-529

reducing

data files, 523-524

flicker, 512-513

Reference tab, DialogBlocks, 578

refresh speed, 512

Register buttons, 344

RegisterProcess, 529

release builds

versus debug builds, 546

debugging, 430-431

ReleaseCapture, 181

ReleaseMouse, 50

renderer classes, 592

resource files, 257

binary resource files, 259-260

converting dialogs, 647

embedded resource files, 259-260

foreign controls, 263-264

loading resources, 258-259

translating resources, 261

writing resource handlers, 262-263

XRC format, 261-262

resource handlers

implementing, writing your own controls, 367

writing, 262-263

resources

loading in resource files, 258-259

translating, 261

Resume, 450

Roebling, Robert, 6

RPM, 534

RTTI (run-time type information), 424-426

Ruby, 594

running applications, wxExecute, 525

RunWizard, 332

S

SashHitTest, 279

saving images, wxImage, 280-282

scaling for printing, 165-167

Scintilla, 586

SciTech, Inc., 5

screens, accessing with wxScreenDC, 139

scrollbars, windows, 41

scrolling without wxScrolledWindow, 80-81

scrolling graphics, 512

selectLanguage, 444

SelectObject, 138

sending commands to debuggers, 527

serialization, 649

Serialize function, 649

servers

connecting sockets to, 467

socket addresses, 468

socket servers, creating, 472

sockets, 466-467

SetAxisOrientation, 131, 150

SetCap, 143

SetCapture, 181

SetCheckpoint, 417

SetData, 292, 309

SetDefaultStyle, 108

SetDeviceOrigin, 131, 150

SetItemData, 327

SetLogicalFunction, 149

SetMapMode, 150

SetMask, 325

SetPageSize, 332

SetScrollbar, 80

SetScrollRate, 77

SetSizeHints, 192

SetState, 326

SetTextBackground, 149

SetTextForeground, 149

settings. See application settings

SetToolTip, 251

setup.h

changes on Windows, 556

modifying, 555

SetupStrings, 445

SetUserScale, 132, 150

ShapeDump, 309

shapes, drawing, 152-155

shared libraries

Linux, 535

versus static libraries, 546

ShellExecute, 526

ShowHelp, 518

showing

taskbar icons, 356-357

wizards, 331

ShowModal, 414

Shrink, 381

Signal, 453-454

SILO, 607

single instances, 506-510

sizers, 188-189

alignment, 191

borders, 191

dialog units, 201-202

dynamic layouts, 204

features of, 190-192

flags, 194

hierarchies, 189

platform-adaptive layouts, 202-203

programming with, 192-193

wxBoxSizer, 193-196

wxFlexGridSizer, 198-200

wxGridBagSizer, 200-201

wxGridSizer, 197-198

wxStaticBoxSizer, 196-197

stretch factor, 192

sizing

issues with wxSplitterWindow, 84-85

windows, 42

Skip, 29, 179

skipping events, 29

Slavik, Vaclav, 5, 434, 565

Smalltalk, 7

Smartphone, 10

socket addresses, connecting to servers, 468

socket API, 463

socket classes, 464

socket clients, connecting to servers, 468-469

socket data, 471

reading, 471

writing, 472

socket events, 469-470, 473

socket flags, 473-475

behavior of sockets, 475-476

socket status, 470-471

socket streams, 406, 476-477

file receiving threads, 478-479

file sending threads, 477-478

sockets, 463-464

blocking, 474

clients, 465-466

combinations of, 475

connecting to servers, 467

socket addresses, 468

socket clients, 468-469

error codes, 471

event-based sockets, 463

non-blocking, 475

servers, 466-467

creating, 472

SortItems, 328

source files, modifying, 556

sources, adding to Bakefile, 568-569

spell-check, 598

Spencer, Henry, 379

splines, drawing, 156

SQLite, 598

stack size, specifying, 450

standard data formats, 292

standard drop targets, 298-299

standard identifiers, document/view systems, 500

Standard Template Library (STL), 373

StartDoc, 150

starting threads, 450

StartPage, 150

state styles, wxListItem, 326

states, setting for wxListItem, 326

static controls, 112

windows, 46

wxStaticBitmap, 114-115

member functions, 115

wxStaticBox, 116

wxStaticLine, 115

member functions, 116

styles, 115

wxStaticText, 113-114

static libraries versus shared libraries, 546

STL (Standard Template Library), 373

stock button identifiers, 88

stock cursor identifiers, 276

storing

application resources

finding application paths, 524-525

reducing data files, 523

standard locations, 524

application settings, 529-530

StoryLines, 2, 4-5

Mac OS X, 3

Windows, 2

streams, 403

file streams, 403-405

filter streams, 407

memory streams, 405

reading and writing data types, 405-406

socket streams. See socket streams

string streams, 405

zip streams, 407-408

stretch factor, sizers, 192

string litereals, wxString, 375

string streams, 405

strings, 374

MFC versus wxWidgets, 650

wxArray, 379, 381

array types, 379-380

wxArrayString, 380

wxRegEx, 379

wxString, 374

C pointer conversions, 375-376

characters, 375

converting to and from numbers, 377

standard C string functions, 376-377

string literals, 375

wxStringTokenizer, 378

styles

fonts, 145

state styles, wxListItem, 326

windows, 44

wxBrush, 144

wxButton, 86, 90

wxCheckBox, 94

wxCheckListBox, 97

wxComboBox, 92

wxDialog, 69-70

wxFrame, 58-59

wxGauge, 113

wxHtmlWindow, 341

wxListBox, 97

wxListCtrl, 323

wxMDIChildFrame, 65

wxMDIParentFrame, 64

wxNotebook, 74

wxPanel, 72

wxPen, 142

wxRadioBox, 99

wxRadioButton, 101

wxScrollBar, 102

wxScrolledWindow, 78

wxSlider, 106

wxSpinButton, 104

wxSpinCtrl, 105

wxSplitterWindow, 83

wxStaticLine, 115

wxStaticText, 114

wxStatusBar, 129

wxTextCtrl, 109

wxToolBar, 126

wxTreeCtrl, 319-320

wxWindow, 47-49

wxWizard, 331

subtraction, 390

Support page, DialogBlocks, 578

symbols, 572-574

synchronizing objects, 451

deadlocks, 452

wxCondition, 453-456

wxCriticalSection, 453

wxMutex, 451-452

wxSemaphore, 456

system files, 559

T

tables

Flags for CreateButtonSizer, 203

Joystick Event Table Macros, 183

Keyboard Event Table Macros, 176

Modifier Keys under Windows, Unix, and Mac OS X, 180

Mouse Event Table Macros, 172

Sizer flags, 194

wxGrid. See wxGrid

targets, Bakefile, 568

taskbar icons, showing. See wxTaskBarIcon

templates, Bakefile, 569-570

terminating

applications, UI design guidelines, 539

threads, 451

TestDestroy, 450

text, drawing, 150-152

text controls, multi-line text controls, 108

Thaw, 513

third-party tools, 594-596

threads. See also multithreaded applications

creating, 449-450

deciding when to use, 447-448

file receiving threads, socket streams, 478-479

file sending threads, socket streams, 477-478

GUI functions, 448

pausing, 450

sample wxWidgets thread, 457

starting, 450

terminating, 451

waiting for external conditions, 450

time, 387

wxDateTime, 388-389

timers, wxTimer, 457-459

ToasterBox, 597

toolkit symbols, 573

tools

development tools. See development tools

drawing tools. See drawing tools

RAD tool, 575

third-party tools, 594-596

tooltips, help, 251, 520-521

top-level windows, 41, 45, 55

wxDialog, 66-69

member functions, 71

styles, 69-70

wxFrame, 55-57

member functions, 60-61

mini-frames, 63

non-rectangular frames, 61-63

styles, 58-59

wxMDIChildFrame, 65

member functions, 65

styles, 65

wxMDIParentFrame, 63-64

member functions, 65

styles, 64

wxPopupWindow, 71

Tortoise CVS, 607

Transcribe!, 607

TransferDataFromWindow, 247, 648

TransferDataToWindow, 247, 648

transferring, wxString, 440

transformations, programming with wxImage, 284

translating resources, 261

translations, 433-434

message catalogs, 435-436

MFC versus wxWidgets, 650

poEdit, 434

wxLocale, 437-438

transparency, programming with wxImage, 282-283

Traverse, 400

tree controls. See wxTreeCtrl

troubleshooting Microsoft Visual Studio, 561-562

TryLock, 452

U

UDP, 463

UI design guidelines, 537

application termination behavior, 539

colors, 539

fonts, 539

icons, 538

menus, 538

standard buttons, 538

UI separation, designing dialogs, 256

UI updates

handling, creating custom dialogs, 250-251

windows, 42

unary minus, 390

underlines, fonts, 145

undo/redo, implementing, 501-503

Unicode

convTo, 440

Microsoft Visual Studio, 548

string literals, 375

wxCSConv, 440

Unicode debug build, 548

Unicode-versus non-Unicode, 546

Unix

Bakefile, 566

GCC, 553-554

compiling sample programs, 555

printing with GTK+, 167-168

Unlock, 452

unpacking wxWidgets, 545-546

UnregisterProcess, 529

update region, 41

UpdateBackingFromWindow, 316

updates, UI updates, 43

updating wxWidgets files, 556

upgrading DialogBlocks, 577

useMask, 158

V

Validate, 366

validation

creating custom dialogs, 247-249

MFC, 648-649

validators, 532

implementing, writing your own controls, 365-367

wxFontSelectorValidator, 365

VideoLAN client (VLC), 607

view classes, defining for document/view systems, 486-495

views, MFC versus wxWidgets, 649

virtual file systems, 408-411

virtual list controls, 330

Visual Studio. See Microsoft Visual Studio

VLC (VideoLAN client), 607

VMware, 596

VTK, 597

W

Wait, 449

WaitOnConnect, wxSocketClient, 468

web browsers, embedded web browsers, 591

weight, fonts, 145

window classes

base classes. See base window classes

container windows, 45

control bars, 46

document/view systems, 495-497

FL (Frame Layout), 589

menus, 46

non-static controls, 45

OGL, 588

static controls, 46

top-level windows, 45

wxCalendarCtrl, 585

wxDatePickerCtrl, 586

wxEditableListBox, 587

wxFoldPanelBar, 587

wxGenericDirCtrl, 585

wxGIFAnimationCtrl, 587

wxLEDNumberCtrl, 586

wxSplashScreen, 588

wxStaticPicture, 586

wxStyledTextCtrl, 586

wxTipWindow, 586

window identifiers, 31-32

window objects, creating and deleting, 413-414

window variant, 42

windows, 39

Bakefile, 566

bitmap colors, 125

Borland C++, compiling sample programs, 550

carets, 41

changes to setup.h, 556

client areas, 40

color, 42

concept of, 40

container windows. See container windows

control bars

MFC versus wxWidgets, 650

windows, 46

wxMenuBar, 122-124

wxStatusBar, 128-130

wxToolBar, 124-128

coordinate systems, 41

creating, 43-44

cursors, 41

deleting, 43-44

development tools, 543-544

disabling, 460

drawing on, with wxPaintDC, 135-138

embedding in HTML pages, 342-344

erasing backgrounds, 134-135

fonts, 42

idle time processing, 42

input, 42

installing DialogBlocks, 576

installing applications, 532-533

Microsoft Visual C++, compiling wxWidgets sample programs, 549

Microsoft Visual Studio. See Microsoft Visual Studio

MinGW, 552-553

compiling sample programs, 553

with MSYS, 551-552

non-client areas, 40

non-static controls. See non-static controls

painting, 41

scrollbars, 41

sizing, 42

static controls. See static controls

StoryLines, 2

styles, 44

top-level windows, 41

top-level windows. See top-level windows

UI updates, 42

wizards

New Project Wizard, DialogBlocks, 582

showing, 331

wxWizard, 331

events, 331

examples, 332-338

member functions, 332

Writer’s Cafe, 607

writing

data types, 405-406

files, 398

resource handlers, 262-263

socket data, 472

writing your own controls, 359-360

adding DoGetBestSize, 362

control appearance, 367-369, 371

custom control declaration, 360-362

defining default event handlers, 364-365

defining event classes, 363

displaying information on the control, 363

handling input, 363-364

implementing resource handlers, 367

implementing validators, 365-367

wx-config, 571-572

build directory, 571

wx-dev, 6-7

wx-users, 6-7

wx.NET, 594

wx4j, 594

wxAccessible, 591

wxActivateEvent, 617

wxAND, 160

wxAND_INVERT, 160

wxAND_REVERSE, 160

wxANIHandler, 281

wxApp, 16-17

wxArchiveClassFactory, 407

wxArchiveEntry, 407

wxArray, 379, 381

array types, 379-380

sample code, 381-383

wxArrayString, 380

wxArt2D, 598

wxArtProvider, 288-290

wxASSERT, 418

wxAutomationObject, 591

wxBaseArray, 381

wxBasic, 593

wxBetterDialog, 599

wxBitmap, 265, 417

creating, 268-269

palettes, 147

programming, 267

creating a wxBitmap, 268-269

drawing with bitmaps, 271

packaging bitmap resources, 272

setting wxMask, 269-270

XPM format, 270-271

wxBitmapButton, non-static controls, 89-90

wxBitmapType, 266

wxBITMAP_TYPE_ANI, 267

wxBITMAP_TYPE_ANY, 267

wxBITMAP_TYPE_BMP, 266

wxBITMAP_TYPE_BMP_RESOURCE, 266

wxBITMAP_TYPE_CUR, 266

wxBITMAP_TYPE_CUR_RESOURCE, 266

wxBITMAP_TYPE_GIF, 266

wxBITMAP_TYPE_ICO, 266

wxBITMAP_TYPE_ICON_RESOURCE, 267

wxBITMAP_TYPE_ICO_RESOURCE, 266

wxBITMAP_TYPE_IFF, 267

wxBITMAP_TYPE_JPEG, 266

wxBITMAP_TYPE_MACCURSOR, 267

wxBITMAP_TYPE_MACCURSOR_RESOURCE, 267

wxBITMAP_TYPE_PCX, 266

wxBITMAP_TYPE_PICT, 266

wxBITMAP_TYPE_PICT_RESOURCE, 267

wxBITMAP_TYPE_PNG, 266

wxBITMAP_TYPE_TIF, 266

wxBITMAP_TYPE_XBM, 266

wxBITMAP_TYPE_XPM, 266

wxBITMAP_TYPE_XPM_DATA, 266

wxBLACK, 141

wxBLUE, 141

wxBMPHandler, 280

wxBoxSizer, 193-196

wxBrush, 143-144, 417

styles, 144

wxBufferedDC, 132, 134

wxBufferedPaintDC, 133, 136-138

wxBUFFER_CLIENT_AREA, 138

wxBUFFER_VIRTUAL_AREA, 138

wxBusyInfo, 210

wxButton, 27, 171

non-static controls, 86

events, 87

labels, 87-88

member functions, 87

styles, 86

wxBZipStream, 599

wxCalendarCtrl, 585

wxCaret, 41

wxCharBuffer, 441

wxCHECK, 418

wxCheckBox, non-static controls, 93-94

events, 95

member functions, 95

styles, 94

wxCheckboxPage, 334

wxCheckListBox, non-static controls, 95-96

events, 97

member functions, 98

styles, 97

wxCHMHelpController, 513, 516

wxChoice, non-static controls, 90-91

wxChoicebook, 76, 531

wxCLEAR, 160

wxClientDC, 132

drawing on windows, 133-134

wxClipboardLocker, 293

wxCLIP_CHILDREN, 512

wxCloseEvent, 619

wxCmdLineParser, 521

wxCocoa, 10

wxColor, 141

wxColour, 141

wxColourDialog, 218-221

wxComboBox, non-static controls, 91-92

events, 93

member functions, 93

styles, 92

wxCommandEvent, 27, 87, 617

wxCommandEventHandler, 31

wxConcatFiles, 402

wxCondition, synchronizing objects, 453

example, 453-456

wxConfig, 530

wxContextMenuEvent, 620

wxControl, base window classes, 54

wxControlWithItems, base window classes, 54

member functions, 54-55

wxConvCurrent, 441

wxCONVERT_SUBSTITUTE, 440

wxCopy, 158-160

wxCopyFile, 402

wxCrashReport, 599

wxCreateDynamicObject, 425

wxCriticalSection, synchronizing objects, 453

wxCRP, 595

wxCSConv, 440-441

wxCTB, 598

wxCURHandler, 281

wxCURL, 597

wxCurlDAV, 597

wxCursor, 41, 265, 278

creating, 276-278

programming with, 275

creating wxCursor, 276-278

wxCursor, 278

wxSetCursorEvent, 278-279

wxCURSOR_ARROW, 276

wxCURSOR_ARROWWAIT, 277

wxCURSOR_BLANK, 276

wxCURSOR_BULLSEYE, 276

wxCURSOR_CROSS, 276

wxCURSOR_IBEAM, 276

wxCURSOR_LEFT_BUTTON, 276

wxCURSOR_MAGNIFIER, 276

wxCURSOR_MIDDLE_BUTTON, 276

wxCURSOR_NO_ENTRY, 276

wxCURSOR_PAINT_BRUSH, 276

wxCURSOR_PENCIL, 276

wxCURSOR_RIGHT_ARROW, 276

wxCURSOR_RIGHT_BUTTON, 277

wxCURSOR_SIZENS, 277

wxCURSOR_SIZENWSE, 277

wxCURSOR_SIZEWE, 277

wxCURSOR_SIZING, 277

wxCURSOR_WAIT, 277

wxCURSOR_WATCH, 277

wxCYAN, 141

wxDao, 650

wxDataFormat, 301

wxDataInputStream, 405-406

wxDataObject, 291-292, 300-301

deriving from, 301

drag and drop sample, 302-311

wxDataObjectComposite, 301

wxDataObjectSimple, 301

wxDataOutputStream, 405-406

wxDatePickerCtrl, 586

wxDateSpan, 389

wxDateTime, 387-388

accessors, 388

constructors and modifiers, 388

date arithmetic, 389-391

date comparisons, 389

formatting dates, 389

getting current time, 389

wxDC, 131

wxDebugContext, 417

wxDebugReport, 431

wxDesigner, 594

wxDev-CPP, 595

wxDF_BITMAP, 292

wxDF_FILENAME, 292

wxDF_INVALID, 292

wxDF_METAFILE, 292

wxDF_TEXT, 292

wxDialog, top-level windows, 66-69

member functions, 71

styles, 69-70

wxDialUpManager, 590

wxDir, 400-401

wxDirDialog, 216-218

wxDirExists, 402

wxDIR_DIRS, 400

wxDIR_DOTDOT, 400

wxDIR_FILES, 400

wxDIR_HIDDEN, 400

wxDocChildFrame, 483

wxDockIt, 650

wxDocManager, 500, 649

document/view systems, 497-499

wxDocParentFrame, 483

wxDocTemplate, document/view systems, 497-499

wxDragCancel, 296

wxDragCopy, 296

wxDragError, 296

wxDragImage, 313-316

wxDragLink, 296

wxDragMove, 296

wxDragNone, 296

wxDragResult, 297

wxDrag_AllowMove, 295

wxDrag_CopyOnly, 295

wxDrag_DefaultMove, 295

wxDropSource, 292, 294

wxDropTarget, 297-298

wxDynamicCast, 50, 425

wxDynamicLibrary, 427

wxDYNLIB_FUNCTION, 427

wxEditableListBox, 587

wxEiffel, 594

wxEmail, 590

wxEncodingConverter, 440

wxEncodingCoverter, 439

wxEQUIV, 160

wxEraseEvent, 134-135, 620

wxEuphoria, 594

wxEvent, 620

wxEventLoop, 592

wxEvtHandler, 29

wxEVT_CLOSE_WINDOW, 414

wxEVT_DELETE, 44

wxEVT_IDLE, 42

wxEVT_KILL_FOCUS, 42

wxEVT_SET_FOCUS, 42

wxExecute, 525, 527

wxFAIL, 418

wxFFile, 397-398

wxFile, 397-398

wxFileConfig, 529

wxFileDialog, 212-216

wxFileDropTarget, 298

wxFileExists, 402

wxFileInputStream, 403-405

wxFileModificationTime, 402

wxFileName, 401-402, 523

wxFileNameFromPath, 402

wxFileOutputStream, 403-405

wxFileSystem, 409

wxFileSystemHandler, 409

wxFILE_SEP_PATH, 403

wxFilterInputStream, 407

wxFilterOutputStream, 407

wxFindAppPath, 524

wxFindReplaceDialog, 228-232

wxFIXED_MINSIZE, 84

wxFlexGridSizer, 198-200

wxFocusEvent, 620

wxFoldPanelBar, 587

wxFont, 145-146

wxFontDialog, 221-224

wxFontSelectorCtrl, 35, 359, 363

wxFontSelectorValidator, 365

wxFopen, 402

wxFputc, 402

wxFrame, top-level windows, 55-57

member functions, 60-61

mini-frames, 63

non-rectangular frames, 61-63

styles, 58-59

wxFSFile, 409

wxFTP, 479, 590

wxFULL_REPAINT_ON_RESIZE, 136, 512

wxGauge, non-static controls, 112-113

wxGenericDirCtrl, 585

wxGenericDragImage, 315

wxGenericValidator, 248

wxGetCwd, 402

wxGetDiskSpace, 402

wxGIFAnimationCtrl, 587

wxGIFHandler, 280

wxGlade, 595

wxGLCanvas, 168-169

wxGREEN, 141

wxGrid, 77, 317, 345-346, 348

classes, 347-348

code listings, 346-347

events, 349

member functions, 350-353

functions for creation, deletion, and data retrieval, 350

functions for presentation, 351

functions for selection and cursors, 352

functions for setting and getting wxGrid metrics, 351-352

miscellaneous functions, 353

wxGridBagSizer, 200-201

wxGridCellAttr, 348

wxGridCellCoords, 349

wxGridCellCoordsArray, 349

wxGridCellEditor, 348

wxGridCellRenderer, 348

wxGridEditorCreatedEvent, 348

wxGridEvent, 348

wxGridRangeSelectEvent, 348

wxGridSizeEvent, 348

wxGridSizer, 197-198

wxGridTableBase, 346, 348

wxGTK, 8

wxHashMap, 385-387

wxHaskell, 594

wxHatch, 595

wxHelpController, 516

wxHelpControllerHelpProvider, 521

wxHSCROLL, 41

wxHTML Help, 598

wxHtmlContainerCell, 341

wxHtmlEasyPrinting, 139, 649

wxHtmlHelpController, 442, 513, 516

wxHtmlHelpControllerEx, 517

wxHtmlHelpWindowEx, 517

wxHtmlPrintout, 649

wxHtmlWindow, 317, 338, 408-409

embedding windows in HTML pages, 342-344

member functions, 341-342

printing, 344-345

styles, 341

wxHtmlWindows, HTML for about boxes, 340-341

wxHTTP, 479, 590

wxHTTPServer, 599

wxHyperLink, 599

wxHyperlinkCtrl, 598

wxICOHandler, 281

wxIcon, 265

creating, 273

programming with, 272-274

associating icons with applications, 274-275

creating wxIcon, 273

wxIconBundle, 288

wxID_ABORT, 34

wxID_ABOUT, 32

wxID_ANY, 31-32

wxID_APPLY, 33

wxID_BACKWARD, 33

wxID_BOLD, 34

wxID_CANCEL, 33

wxID_CLEAR, 33

wxID_CLOSE, 32

wxID_CONTEXT_HELP, 34

wxID_COPY, 33

wxID_CUT, 33

wxID_DEFAULT, 33

wxID_DELETE, 33

wxID_DOWN, 34

wxID_DUPLICATE, 33

wxID_EXIT, 32

wxID_FIND, 33

wxID_FORWARD, 33

WXID_HELP, 32

wxID_HELP_COMMANDS, 32

wxID_HELP_CONTENTS, 32

wxID_HELP_CONTEXT, 33

wxID_HELP_PROCEDURES, 32

wxID_HIGHEST, 32

wxID_HOME, 34

wxID_IGNORE, 34

wxID_INDENT, 34

wxID_INDEX, 34

wxID_ITALIC, 34

wxID_JUSTIFY_CENTER, 34

wxID_JUSTIFY_FILL, 34

wxID_JUSTIFY_LEFT, 34

wxID_JUSTIFY_RIGHT, 34

wxID_LOWEST, 32

wxID_MORE, 33

wxID_NEW, 32

wxID_NO, 33

wxID_NOTOALL, 34

wxID_OK, 31, 33

wxID_OPEN, 32

wxID_PASTE, 33

wxID_PREVIEW, 32

wxID_PRINT, 32

wxID_PRINT_SETUP, 32

wxID_PROPERTIES, 33

wxID_REDO, 32

wxID_REFRESH, 34

wxID_REPLACE, 33

wxID_REPLACE_ALL, 33

wxID_RESET, 33

wxID_RETRY, 34

wxID_REVERT, 32

wxID_REVERT_TO_SAVED, 34

wxID_SAVE, 32

wxID_SAVEAS, 32

wxID_SELECTALL, 33

wxID_SETUP, 33

wxID_STATIC, 33

wxID_STOP, 34

wxID_UNDELETE, 34

wxID_UNDERLINE, 34

wxID_UNDO, 32

wxID_UNINDENT, 34

wxID_VIEW_DETAILS, 33

wxID_VIEW_LARGEICONS, 33

wxID_VIEW_LIST, 33

wxID_VIEW_SORTDATE, 33

wxID_VIEW_SORTNAME, 33

wxID_VIEW_SORTSIZE, 33

wxID_VIEW_SORTTYPE, 33

wxID_YES, 33

wxID_YESTOALL, 34

wxID_ZOOM_100, 34

wxID_ZOOM_FIT, 34

wxID_ZOOM_IN, 34

wxID_ZOOM_OUT, 34

wxIdleEvent, 620

wxID_ANY, 43

wxID_CANCEL, 414

wxID_COPY, 511

wxID_PREVIEW, 500

wxID_PRINT, 500

wxIE, 591, 598

wxIFFHandler, 281

wxIFM, 597

wxImage, 265

programming with, 279-280

color reduction, 284-285

loading and saving images, 280-282

manipulating data directly, 285

transformations, 284

transparency, 282-283

wxImageList, 285-288

wxImprola, 598

wxIndustrialControls, 596

wxIniConfig, 530

wxInitDialogEvent, 620

wxInternetFSHandler, 411

wxINVERT, 159-160

wxIPV4address, 468, 590

wxIPV6address, 468

wxIsAbsolutePath, 403

wxJavaScript, 593

wxJoystick, 181, 184

wxJoystickEvent, 183-184

wxJPEGHandler, 280

wxKeyEvent, 176, 620

wxLaunchFile, 526

wxLayoutAlgorithm, 85

wxLCDWindow, 598

wxLEDNumberCtrl, 586

wxLIGHT_GREY, 141

wxList, 383-385

wxListbook, 76, 531

wxListBox, non-static controls, 95-96

events, 97

member functions, 98

styles, 97

wxListCtrl, 76, 285, 287, 312, 317, 322-323, 328-329

events, 324

member functions, 327-328

styles, 323

wxListCtrlCompare, 328

wxListCtrlEx, 599

wxListItem, 325-326

wxLocal, 434

wxLocale, 437-438

wxLog, 421-422

versus wxMessageOutput, 423-424

wxLogDebug, 419, 421

wxLogError, 419-420

wxLogFatalError, 420

wxLogGui, 422

wxLogMessage, 420-421, 424

wxLogNull, 420, 423

wxLogStatus, 420

wxLogStderr, 422

wxLogStream, 422

wxLogSysError, 421

wxLogTrace, 421

wxLogVerbose, 420

wxLogWarning, 420

wxLogWindow, 422

wxLongLong, 392

wxLua, 593

wxMac, 10

wxMask, 265

setting, 269-270

wxMathPlot, 597

wxMBConv, 440-441

wxMDIChildFrame, 63

top-level windows, 65

wxMDIParentFrame, top-level windows, 63-64

member functions, 65

styles, 64

wxMediaCtrl, 590

wxMemoryDC, 133, 158

drawing on bitmaps, 138

wxMemoryFSHandler, 411

wxMemoryInputStream, 405

wxMemoryOutputStream, 405

wxMenu, 117-118

events, 118-120

member functions, 120-122

wxMenuBar, control bars, 122-123

events, 123

member functions, 123-124

wxMenuEvent, 621

wxMessageBox, 207

wxMessageDialog, 205-207, 414

wxMessageOutput versus wxLog, 423-424

wxMessageOutputDebug, 423

wxMetafileDC, 133

creating metafiles, 138

wxMGL, 12

wxMimeTypesManager, 525, 590

wxMkdir, 403

wxMM_LOMETRIC, 132

wxMM_METRIC, 132

wxMM_POINTS, 132

wxMM_TEXT, 132

wxMM_TWIPS, 132

wxModalHelp, 517

wxModule, 426

wxMotif, 10

wxMouseEvent, 171, 621

wxMoveEvent, 622

wxMozilla, 591, 596

wxMSW, 8

wxMultiChoiceDialog, 225-226

wxMutex, 451-452

wxMutexLocker, 451

wxMUTEX_DEAD_LOCK, 452

wxNAND, 160

wxNode, 383-385

wxNodeBase, 383

wxNOR, 160

wxNotebook, 285, 531

container windows, 72-74

alternatives to, 76

events, 75

member functions, 75-76

notebook theme management, 74

styles, 74

wxNotebookEvent, 622

wxNO_BORDER, 47

wxNO_OP, 160

wxNullBitmap, 138

wxNullColor, 141

wxNullPalette, 148

wxNumberEntryDialog, 227

wxObjArray, 380-381

sample code, 381-383

wxObject, 391

wxODBC, 589

wxOR, 160

wxOR_INVERT, 160

wxOR_REVERSE, 160

wxOS2, 12

wxOTL, 598

wxPageSetupDialog, 232-235

wxPaintDC, 133

drawing on windows, 135-138

wxPaintEvent, 134-135, 622

wxPalette, 147-148, 285

wxPalmOS, 12

wxPanel, container windows, 72

wxPassThrough, 423

wxPasswordEntryDialog, 227

wxPathOnly, 403

wxPCXHandler, 280

wxPen, 142-143

styles, 142

wxPerl, 593

wxPlaySound, 526

wxPlaySoundFile, 526

wxPNGHandler, 280

wxPNMHandler, 280

wxPoint, 392

wxPopupWindow, top-level windows, 71

wxPostEvent, 448, 457

wxPostScriptDC, 132, 139-140

wxPrintData, 140

wxPrintDialog, 235-239

wxPrintDialogData, 161

wxPrinter, 161

wxPrinterDC, 133, 139-140

wxPrintout, 161, 163-164, 649

wxPrintPreview, 162

wxProcess, 527

wxProgressDialog, 208-209

wxPropertyGrid, 597

wxPropertySheetDialog, 531

wxPython, 593

wxQueryLayoutInfoEvent, 85

wxRadioBox, non-static controls, 98-99

events, 100

member functions, 100

styles, 99

wxRadioboxPage, 335

wxRadioButton, non-static controls, 100-101

wxRarInputStream, 599

wxRB_GROUP, 100

wxrc commands, 260

wxRealPoint, 392

wxRect, 392-393

wxRED, 141

wxRegConfig, 530

wxRegEx, 379

wxRegion, 393-394

wxRegionIterator, 393

wxRemoveFile, 403

wxRenameFile, 403

wxRendererNative, 592

wxReportWriter, 598

wxResizeableControl, 597

wxRmdir, 403

wxRuby, 594

wxSafeYield, 460

wxSashLayoutWindow, 85

wxSashWindow, 85

wxScreenDC, 133

accessing screens, 139

wxScrollBar, non-static controls, 101-102

events, 102

member functions, 103

styles, 102

wxScrolledWindow, 136

container windows, 76-78

events, 78

member functions, 79-80

styles, 78

wxSemaphore, synchronizing objects, 456

wxSEMA_OVERFLOW, 456

wxSET, 160

wxSetCursorEvent, 278-279

wxSetWorkingDirectory, 403

wxSheet, 599

wxShowTip, 210-212, 519

wxSingleChoiceDialog, 224-225

wxSingleInstanceChecker, 506, 509

wxSize, 394

wxSizeEvent, 624

wxSizer, 188

wxSlider, non-static controls, 106

events, 107

member functions, 107

styles, 106

wxSMTP, 597

wxSockAddress, 468

wxSocket, 476

alternatives to, 479

as a standard socket, 476

wxSocketBase, 464, 471

wxSocketClient, 464, 468

wxSocketEvent, 464, 469-470

member functions, 469

wxSocketInputStream, 406, 464

wxSocketOutputStream, 406, 464

wxSocketServer, 464, 472

connection events, 472

wxSOCKET_BLOCK, 473-474

wxSOCKET_NONE, 473

wxSOCKET_NOWAIT, 473

wxSOCKET_WAITALL, 473-475

wxSortedArray, 380

wxSortedArrayString, 380

wxSound, 590

wxSpellChecker, 598

wxSpinButton, non-static controls, 103-104

wxSpinCtrl, non-static controls, 104-105

events, 105

member functions, 106

styles, 105

wxSpinEvent, 624

wxSplashScreen, 588

wxSplitterEvent, 624

wxSplitterWindow, container windows, 81-82

alternatives to, 85

events, 83

member functions, 84

sizing issues, 84-85

styles, 83

wxSPL_LIVE_UPDATE, 81

wxSQLite, 598

wxSRC_INVERT, 160

wxSscanf, 402

wxStatic Text, static controls, 113-114

wxStaticBitmap, static controls, 114-115

wxStaticBox, static controls, 116

wxStaticBoxSizer, 196-197

wxStaticLine, static controls, 115

member functions, 116

styles, 115

wxStaticPicture, 586

wxStatusBar, control bars, 128-129

member functions, 129-130

styles, 129

wxStEdit, 598

wxStopWatch, 458

wxStreamBase, 403

wxStreamMerger, 599

wxStreamToTextRedirector, 422

wxString, 374, 405, 440-442

C pointer conversions, 375-376

characters, 375

converting to and from numbers, 377

standard C string functions, 376-377

string literals, 375

transferring, 440

wxArrayString, 380

wxStringInputStream, 405

wxStringOutputStream, 405

wxStringTokenizer, 378

wxStyledTextCtrl, 586

wxSUNKEN_BORDER, 47

wxSysColourChangeEvent, 624

wxSystemSettings, 141

wxTaskBarIcon, 317, 354

deriving from, 354-355

events, 358

member functions, 358

showing taskbar icons, 356-357

wxTempFile, 400

wxTextCtrl, 294, 364, 511

non-static controls, 107-109

events, 110

member functions, 110-111

styles, 109

wxTextEntryDialog, 227-228

wxTextFile, 399

wxTextInputStream, 405

wxTextOutputStream, 405-406

wxTextValidator, 248

wxTheColourDatabase, 141

wxThePenList, 143

wxThread, 448-449, 555

creating threads, 449-450

pausing threads, 450

starting threads, 450

terminating, 451

wxThumbnailCtrl, 369, 371

wxTIFFHandler, 281

wxTimer, 457-459

wxTimerEvent, 457

wxTimeSpan, 389

wxTipProvider, 519

wxTipWindow, 586

wxToggleButton, non-static controls, 111-112

wxToolBar, control bars, 124-125

bitmap colors under Windows, 125

events, 126

member functions, 127-128

styles, 126

wxTRANSPARENT, 150

wxTreeCtrl, 285, 287, 311-312, 317-319, 531

events, 320

member functions, 321-322

styles, 319-320

wxTreeEvent, 320

wxTreeItemData, 317

wxTreeItemId, 317

wxTreeMultiCtrl, 531, 597

wxULongLong, 392

wxUpdateUIEvent, 624

wxURI, 590

wxURL, 590

wxUSE_DEBUG_NEW_ALWAYS, 416

wxValidationPage, 336

wxValidator, 648

wxVariant, 394-395

wxViewHTMLFile, 526

wxVirtualDirTreeCtrl, 597

wxVisualAttributes, 368

wxVisualSetup, 595

wxVSCROLL, 41

wxVTK, 597

wxWebKitCtrl, 591

wxWHITE, 141

wxWidgets, 1

architecture of, 8

internal organization, 12-13

wxCocoa, 10

wxGTK, 8

wxMac, 10

wxMGL, 12

wxMotif, 10

wxMSW, 8

wxOS2, 12

wxPalmOS, 12

wxWinCE, 10

wxX11, 9

communities, 6-7

history of, 5-6

versus MFC, 643

classes, 651-652, 654

configurable control bars, 650

database access, 650

documents and views, 649

initializing applications, 644

macros, 651

message maps, 644-646

printing, 649

string handling and translation, 650

and object-oriented programming, 7

reasons for using, 2-5

sample, 15, 20, 22

wxWinCE, 10

wxWinceHelpController, 513

wxWindow, 40, 44

base window classes, 47

wxWindow member functions, 50-53

wxWindow styles, 47-49

events, 49

wxWindowCreateEvent, 625

wxWindowDC, 133

wxWindowDestroyEvent, 625

wxWindows License, 7

wxWinHelpController, 513

wxWinWiz, 595

wxWizard, 317, 331

events, 331

examples, 332-338

member functions, 332

sample code, 635-641

styles, 331

wxWizardPage, 331

wxX11, 9

wxXOR, 160

wxXPMHandler, 281

wxYield, 460, 475

wxZipInputStream, 407

wxZipOutputSTream, 408

wxZlibInputStream, 407

wxZlibOutputStream, 407

X

X11 errors, 429-430

xCHM, 608

Xcode, creating wxWidgets applications, 563-564

XPM, programming with wxBitmap, 270-271

XRC files, 647

implementing resource handlers, writing your own controls, 367

XRC format, resource files, 261-262

XRCed, 595

Y

yielding, 460

Z

Zeitlin, Vadim, 5

zip streams, 407-408

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.188.211.106