Ksišżki informatyczne

Strona główna
Bestsellery
Pomoc
Regulamin
Odbiór osobisty
Kontakt
Koszyk
» Informatyka
» Informatyka po angielsku





Znak akceptacji PayPal
Ksiazki - Informatyczne .pl » informatyka » informatyka

Cross-Platform GUI Programming with WxWidgets

 Cross-Platform GUI Programming with WxWidgetsWydawnictwo: prentice hall
Autor: K. Hock
Liczba stron: 792
Oprawa: miękka
ISBN: 978-0-13-147381-2
Czas dostawy: 4 - 6 tygodni (na zamówienie)
Nasza cena: 188,00 zł  


Opis Cross-Platform GUI Programming with WxWidgets:

Unlike other cross-platform GUI toolkits (Tcl/Tk, Qt, AWT) wxWidgets
supports the native look-and-feel of the local OS. And unlike Qt, wxWidgets is
truly Open Source. It also works with virtually every standard C++ compiler.
It is a perfect solution for organizations interested in porting Windows
applications to Linux and other platforms. And with Mac OS X and Linux
gaining marketshare daily, many organizations -- including Xerox, Advanced
Micro Devices, AOL, Lockheed Martin, NASA--have adopted wxWidgets in
order to support Windows, Linux, OS X, and Unix for their applications. See
http://www.wxwidgets.org/
And wxWidgets is HOT. Mitch Kapor's OSAF is using wxWidgets for its
Chandler PIM. Bram Cohen uses wxWidgets for BitTorrent. Borland has
added enormous credibility to wxWidgets by incorporating it into its newest
C++ IDE: C++ BuilderX. wxWidgets is Borland's cross-platform
development solution.

The authoritative guide to developing cross-platform C++ GUI applications using the hot wxWidgets toolkit -- from its creator!
° As Mac OS X and Linux gain share, wxWidgets is emerging as the best crossplatform
GUI toolkit.
° Better than MFC - the creator of wxWidgets shows readers how to build C++
applications that support Windows, Linux and Mac OS X - prior GUI programming
experience is not required.
° Foreword from Mitch Kapor (founder of Lotus Development, OSAF). Incredible
support from wxWidgets community!


Spis treści Cross-Platform GUI Programming with WxWidgets:

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.