Cross-Platform GUI Programming with wxWidgets
Home > Computing and Information Technology > Operating systems > Open source and other operating systems > Cross-Platform GUI Programming with wxWidgets
Cross-Platform GUI Programming with wxWidgets

Cross-Platform GUI Programming with wxWidgets

|
     0     
5
4
3
2
1




Out of Stock


Notify me when this book is in stock
About the Book

"This book is the best way for beginning developers to learn wxWidgets programming in C++. It is a must-have for programmers thinking of using wxWidgets and those already using it." –Mitch Kapor, founder of Lotus Software and the Open Source Applications Foundation Build advanced cross-platform applications that support native look-and-feel on Windows, Linux, Unix, Mac OS X, and even Pocket PC Master wxWidgets from start to finish–even if you've never built GUI applications before Leverage advanced wxWidgets capabilities: networking, multithreading, streaming, and more CD-ROM: library of development tools, source code, and sample applications Foreword by Mitch Kapor, founder, Lotus Development and Open Source Application Foundation wxWidgets is an easy-to-use, open source C++ API for writing GUI applications that run on Windows, Linux, Unix, Mac OS X, and even Pocket PC–supporting each platform's native look and feel with virtually no additional coding. Now, its creator and two leading developers teach you all you need to know to write robust cross-platform software with wxWidgets. This book covers everything from dialog boxes to drag-and-drop, from networking to multithreading. It includes all the tools and code you need to get great results, fast. From AMD to AOL, Lockheed Martin to Xerox, world-class developers are using wxWidgets to save money, increase efficiency, and reach new markets. With this book, you can, too. wxWidgets quickstart: event/input handling, window layouts, drawing, printing, dialogs, and more Working with window classes, from simple to advanced Memory management, debugging, error checking, internationalization, and other advanced topics Includes extensive code samples for Windows, Linux (GTK+), and Mac OS X About the CD-ROM The CD-ROM contains all of the source code from the book; wxWidgets distributions for Windows, Linux, Unix, Mac OS X, and other platforms; the wxWidgets reference guide; and development tools including the OpenWatcom C++ compiler, the poEdit translation helper, and the DialogBlocks user interface builder. © Copyright Pearson Education. All rights reserved.

Table of Contents:
Foreword by Mitch Kapor. Preface. Acknowledgments. About the Authors. 1. Introduction.     What Is wxWidgets?     Why Use wxWidgets?     A Brief History of wxWidgets     The wxWidgets Community     wxWidgets and Object-Oriented Programming     License Considerations     The wxWidgets Architecture       wxMSW       wxGTK       wxX11       wxMotif       wxMac       wxCocoa       wxWinCE       wxPalmOS       wxOS2       wxMGL       Internal Organization     Summary 2. Getting Started.     A Small wxWidgets Sample     The Application Class     The Frame Class     The Event Handlers     The Frame Constructor     The Whole Program     Compiling and Running the Program     Program Flow     Summary 3. Event Handling.     Event-Driven Programming     Event Tables and Handlers     Skipping Events     Pluggable Event Handlers     Dynamic Event Handlers     Window Identifiers     Defining Custom Events     Summary 4. Window Basics.     Anatomy of a Window       The Concept of a Window       Client and Non-Client Areas       Scrollbars       Caret and Cursor       Top-Level Windows       Coordinate System       Painting       Color and Font       Window Variant       Sizing       Input       Idle Time Processing and UI Updates       Window Creation and Deletion       Window Styles     A Quick Guide to the Window Classes       Base Window Classes       Top-Level Windows       Container Windows       Non-Static Controls       Static Controls       Menus       Control Bars     Base Window Classes       wxWindow       wxControl     Top-Level Windows       wxFrame       wxMDIParentFrame       wxMDIChildFrame       wxDialog       wxPopupWindow     Container Windows       wxPanel       wxNotebook       wxScrolledWindow       wxSplitterWindow     Non-Static Controls       wxButton       wxButton Labels       wxBitmapButton       wxChoice       wxComboBox       wxCheckBox       wxListBox and wxCheckListBox       wxRadioBox       wxRadioButton       wxScrollBar       wxSpinButton       wxSpinCtrl       wxSlider       wxTextCtrl       wxToggleButton     Static Controls       wxGauge       wxStaticText       wxStaticBitmap       wxStaticLine       wxStaticBox     Menus       wxMenu     Control Bars       wxMenuBar       wxToolBar       wxStatusBar     Summary 5. Drawing and Printing.     Understanding Device Contexts       Available Device Contexts       Drawing on Windows with wxClientDC       Erasing Window Backgrounds       Drawing on Windows with wxPaintDC       Drawing on Bitmaps with wxMemoryDC       Creating Metafiles with wxMetafileDC       Accessing the Screen with wxScreenDC       Printing with wxPrinterDC and wxPostScriptDC     Drawing Tools       wxColour       wxPen       wxBrush       wxFont       wxPalette     Device Context Drawing Functions       Drawing Text       Drawing Lines and Shapes       Drawing Splines       Drawing Bitmaps       Filling Arbitrary Areas       Logical Functions     Using the Printing Framework       More on wxPrintout       Scaling for Printing and Previewing       Printing under Unix with GTK+     3D Graphics with wxGLCanvas     Summary 6. Handling Input.     Mouse Input       Handling Button and Motion Events       Handling Mouse Wheel Events     Handling Keyboard Events       An Example Character Event Handler       Key Code Translation       Modifier Key Variations       Accelerators     Handling Joystick Events       wxJoystick Events       wxJoystickEvent Member Functions       wxJoystick Member Functions     Summary 7. Window Layout Using Sizers.     Layout Basics     Sizers       Common Features of Sizers     Programming with Sizers       Programming with wxBoxSizer       Programming with wxStaticBoxSizer       Programming with wxGridSizer       Programming with wxFlexGridSizer       Programming with wxGridBagSizer     Further Layout Issues       Dialog Units       Platform-Adaptive Layouts       Dynamic Layouts     Summary 8. Using Standard Dialogs.     Informative Dialogs       wxMessageDialog       wxProgressDialog       wxProgressDialog Example       wxBusyInfo       wxShowTip     File and Directory Dialogs       wxFileDialog       wxDirDialog     Choice and Selection Dialogs       wxColourDialog       wxFontDialog       wxSingleChoiceDialog       wxMultiChoiceDialog     Entry Dialogs       wxNumberEntryDialog       wxTextEntryDialog and wxPasswordEntryDialog       wxFindReplaceDialog     Printing Dialogs       wxPageSetupDialog       wxPrintDialog     Summary 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       The Complete Class       Invoking the Dialog     Adapting Dialogs for Small Devices     Further Considerations in Dialog Design       Keyboard Navigation       Data and UI Separation       Layout       Aesthetics       Alternatives to Dialogs     Using wxWidgets Resource Files       Loading Resources       Using Binary and Embedded Resource Files       Translating Resources       The XRC Format       Writing Resource Handlers       Foreign Controls     Summary 10. Programming with Images.     Image Classes in wxWidgets     Programming with wxBitmap       Creating a wxBitmap       Setting a wxMask       The XPM Format       Drawing with Bitmaps       Packaging Bitmap Resources     Programming with wxIcon       Creating a wxIcon       Using wxIcon       Associating an Icon with an Application     Programming with wxCursor       Creating a wxCursor       Using wxCursor       Using wxSetCursorEvent     Programming with wxImage       Loading and Saving Images       Transparency       Transformations       Color Reduction       Manipulating wxImage Data Directly     Image Lists and Icon Bundles     Customizing Art in wxWidgets     Summary 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     Summary 12. Advanced Window Classes.     wxTreeCtrl       wxTreeCtrl Styles       wxTreeCtrl Events       wxTreeCtrl Member Functions     wxListCtrl       wxListCtrl Styles       wxListCtrl Events       wxListItem       wxListCtrl Member Functions       Using wxListCtrl       Virtual List Controls     wxWizard       wxWizard Events       wxWizard Member Functions       wxWizard Example     wxHtmlWindow       wxHtmlWindow Styles       wxHtmlWindow Member Functions       Embedding Windows in HTML Pages       HTML Printing     wxGrid       The wxGrid System of Classes       wxGrid Events       wxGrid Member Functions     wxTaskBarIcon       wxTaskBarIcon Events       wxTaskBarIcon Member Functions     Writing Your Own Controls       The Custom Control Declaration       Adding DoGetBestSize       Defining a New Event Class       Displaying Information on the Control       Handling Input       Defining Default Event Handlers       Implementing Validators       Implementing Resource Handlers       Determining Control Appearance       A More Complex Example: wxThumbnailCtrl     Summary 13. Data Structure Classes.     Why Not STL?     Strings       Using wxString       wxString, Characters, and String Literals       Basic wxString to C Pointer Conversions       Standard C String Functions       Converting to and from Numbers       wxStringTokenizer       wxRegEx     wxArray       Array Types       wxArrayString       Array Construction, Destruction, and Memory Management       Array Sample Code     wxList and wxNode     wxHashMap     Storing and Processing Dates and Times       wxDateTime       wxDateTime Constructors and Modifiers       wxDateTime Accessors       Getting the Current Time       Parsing and Formatting Dates       Date Comparisons       Date Arithmetic     Helper Data Structures       wxObject       wxLongLong       wxPoint and wxRealPoint       wxRect       wxRegion       wxSize       wxVariant     Summary 14. Files and Streams.     File Classes and Functions       wxFile and wxFFile       wxTextFile       wxTempFile       wxDir       wxFileName       File Functions     Stream Classes       File Streams       Memory and String Streams       Reading and Writing Data Types       Socket Streams       Filter Streams       Zip Streams       Virtual File Systems     Summary 15. Memory Management, Debugging, and Error Checking.     Memory Management Basics       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       wxMessageOutput Versus wxLog     Providing Run-Time Type Information     Using wxModule     Loading Dynamic Libraries     Exception Handling     Debugging Tips       Debugging X11 Errors       Simplify the Problem       Debugging a Release Build     Summary 16. Writing International Applications.     Introduction to Internationalization     Providing Translations       poEdit       Step-by-Step Guide to Using Message Catalogs       Using wxLocale     Character Encodings and Unicode       Converting Data       wxEncodingConverter       wxCSConv (wxMBConv)       Converting Outside of a Temporary Buffer       Help Files     Numbers and Dates     Other Media     A Simple Sample     Summary 17. Writing Multithreaded Applications.     When to Use Threads, and When Not To     Using wxThread       Creation       Specifying Stack Size       Specifying Priority       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       Using wxTimer       Idle Time Processing       Yielding     Summary 18. Programming with wxSocket.     Socket Classes and Functionality Overview     Introduction to Sockets and Basic Socket Processing       The Client       The Server       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       File Sending Thread       File Receiving Thread     Alternatives to wxSocket     Summary 19. Working with Documents and Views.     Document/View Basics       Step 1: Choose an Interface Style       Step 2: Create and Use Frame Classes       Step 3: Define Your Document and View Classes       Step 4: Define Your Window Classes       Step 5: Use wxDocManager and wxDocTemplate     Other Document/View Capabilities       Standard Identifiers       Printing and Previewing       File History       Explicit Document Creation     Strategies for Implementing Undo/Redo     Summary 20. Perfecting Your Application.     Single Instance or Multiple Instances?     Modifying Event Handling     Reducing Flicker     Implementing Online Help       Using a Help Controller       Extended wxWidgets HTML Help       Authoring Help       Other Ways to Provide Help       Context-Sensitive Help and Tooltips       Menu Help     Parsing the Command Line     Storing Application Resources       Reducing the Number of Data Files       Finding the Application Path     Invoking Other Applications       Running an Application       Launching Documents       Redirecting Process Input and Output     Managing Application Settings       Storing Settings       Editing Settings     Application Installation       Installation on Windows       Installation on Linux       Installation on Mac OS X     Following UI Design Guidelines       Standard Buttons       Menus       Icons       Fonts and Colors       Application Termination Behavior       Further Reading     Summary Appendix A. Installing wxWidgets. Appendix B. Building Your Own wxWidgets Applications. Appendix C. Creating Applications with DialogBlocks. Appendix D. Other Features in wxWidgets. Appendix E. Third-Party Tools for wxWidgets. Appendix F. wxWidgets Application Showcase. Appendix G. Using the CD-ROM. Appendix H. How wxWidgets Processes Events. Appendix I. Event Classes and Macros. Appendix J. Code Listings. Appendix K. Porting from MFC. Glossary. Index.


Best Sellers


Product Details
  • ISBN-13: 9780131473812
  • Publisher: Pearson Education (US)
  • Publisher Imprint: Prentice Hall
  • Height: 100 mm
  • No of Pages: 744
  • Spine Width: 100 mm
  • Width: 100 mm
  • ISBN-10: 0131473816
  • Publisher Date: 04 Aug 2005
  • Binding: SF
  • Language: English
  • Returnable: N
  • Weight: 100 gr


Similar Products

Add Photo
Add Photo

Customer Reviews

REVIEWS      0     
Click Here To Be The First to Review this Product
Cross-Platform GUI Programming with wxWidgets
Pearson Education (US) -
Cross-Platform GUI Programming with wxWidgets
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

Cross-Platform GUI Programming with wxWidgets

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept

    New Arrivals

    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!