reklama - zainteresowany?

Mastering Perl/Tk. Graphical User Interfaces in Perl - Helion

Mastering Perl/Tk. Graphical User Interfaces in Perl
ebook
Autor: Stephen Lidie, Nancy Walsh
ISBN: 978-05-965-5196-4
stron: 770, Format: ebook
Data wydania: 2002-01-25
Księgarnia: Helion

Cena książki: 143,65 zł (poprzednio: 167,03 zł)
Oszczędzasz: 14% (-23,38 zł)

Dodaj do koszyka Mastering Perl/Tk. Graphical User Interfaces in Perl

Tagi: Perl - Programowanie | Perl/CGI - Programowanie

Perl/Tk is the marriage of the Tk graphical toolkit with Perl, the powerful programming language used primarily for system administration, web programming, and database manipulation. With Perl/Tk, you can build Perl programs with an attractive, intuitive GUI interface with all the power of Perl behind it.Mastering Perl/Tk is the "bible" of Perl/Tk: It's not only a great book for getting started, but the best reference for learning the techniques of experienced Perl/Tk programmers. The first half of the book contains the basics on how to use Perl/Tk, and then branches out into advanced applications with a series of extensive program examples. The result is a book accessible for novices, and invaluable for experienced programmers ready to learn the next step in the elegant and effective use of Perl/Tk. The book includes:

  • An introduction to each of the basic Perl/Tk widgets and geometry managers
  • A dissection of the MainLoop, including how to use callbacks and bindings effectively
  • Coverage of the Tix widgets, an extended set of widgets that are a part of the standard Perl/Tk distribution
  • Working with images in Perl/Tk, including bitmaps, pixmaps, photos, and how to compose a compound image type
  • How to create custom mega-widgets in Perl/Tk, both composite and derived
  • Handling interprocess communication with Perl/Tk, both with standard Unix utilities (pipes and sockets) and with the send command designed for direct communication between Tk applications
  • Developing your own Tk widget in the C language
  • Examples of web applications written with Perl/Tk and the LWP library
The book also includes appendices on installing Perl/Tk, a complete quick-reference for each standard widget, and listings of all the extended examples in the book.Nancy Walsh is the author of Learning Perl/Tk, and Steve Lidie wrote the Perl/Tk Pocket Reference as well as a series of Perl/Tk articles in The Perl Journal. Together, they have written Mastering Perl/Tk to be the definitive guide to Perl/Tk.

Dodaj do koszyka Mastering Perl/Tk. Graphical User Interfaces in Perl

 

Osoby które kupowały "Mastering Perl/Tk. Graphical User Interfaces in Perl", wybierały także:

  • Perl. Mistrzostwo w programowaniu
  • Wielkie umysÅ‚y programowania. Jak myÅ›lÄ… i pracujÄ… twórcy najważniejszych jÄ™zyków
  • Learning Perl. Making Easy Things Easy and Hard Things Possible. 7th Edition
  • 100 sposobów na Perl
  • Mastering Perl. 2nd Edition

Dodaj do koszyka Mastering Perl/Tk. Graphical User Interfaces in Perl

Spis treści

Mastering Perl/Tk. Graphical User Interfaces in Perl eBook -- spis treści

  • Mastering Perl/Tk
    • SPECIAL OFFER: Upgrade this ebook with OReilly
    • A Note Regarding Supplemental Files
    • Preface
      • History of This Book
      • What You Should Already Know
      • Whats in This Book
      • Reading Order
      • Typographical Conventions
      • We'd Like to Hear from You
      • Acknowledgments
        • Steve
        • Nancy
    • 1. Hello, Perl/Tk
      • 1.1. Perl/Tk Concepts
      • 1.2. Some Perl/Tk History
        • 1.2.1. The X Window System and Xlib
        • 1.2.2. The Coming of Tcl/Tk
        • 1.2.3. The Evolution of Perl/Tk
        • 1.2.4. Perl/Tk Meets Win32
      • 1.3. Getting Started with Perl/Tk
        • 1.3.1. Do You Need To Install Anything?
        • 1.3.2. Creating Widgets
        • 1.3.3. Specifying Options
        • 1.3.4. Toplevel, MainWindow, and Frame Widgets
        • 1.3.5. Displaying a Widget
        • 1.3.6. The Event Loop
      • 1.4. Hello World Example
        • 1.4.1. exit Versus destroy
      • 1.5. Unsolicited Advice
        • 1.5.1. Programming Style
        • 1.5.2. Naming Conventions for Widget Types
        • 1.5.3. Designing Your Windows
      • 1.6. Debugging and PrototypingPerl/Tk Programs
    • 2. Geometry Management
      • 2.1. The pack Geometry Manager
        • 2.1.1. Options for pack
        • 2.1.2. Positioning Widgets
        • 2.1.3. Allocation Rectangles
        • 2.1.4. Filling the Allocation Rectangle
        • 2.1.5. Expanding the Allocation Rectangle
        • 2.1.6. Anchoring a Widget in Its Allocation Rectangle
        • 2.1.7. Widget Order in the Window
        • 2.1.8. Padding the Size of the Widget
          • 2.1.8.1. Valid screen distances
        • 2.1.9. Displaying in a Parent Other Than Your Own
        • 2.1.10. Methods Associated with pack
          • 2.1.10.1. Unpacking a widget
          • 2.1.10.2. Retrieving pack information
          • 2.1.10.3. Disabling and enabling automatic resizing
          • 2.1.10.4. Listing widgets
        • 2.1.11. Demo Programs for pack
      • 2.2. The grid Geometry Manager
        • 2.2.1. Special Characters
          • 2.2.1.1. Spanning columns
          • 2.2.1.2. Empty cells
        • 2.2.2. grid Options
        • 2.2.3. Specifying Rows and Columns Explicitly
        • 2.2.4. Spanning Rows and Columns Explicitly
        • 2.2.5. Forcing a Widget to Fill a Cell
        • 2.2.6. Padding the Widget
        • 2.2.7. Specifying a Different Parent
        • 2.2.8. Configuring Columns and Rows
          • 2.2.8.1. Weight
          • 2.2.8.2. Minimum cell size
          • 2.2.8.3. Padding
          • 2.2.8.4. Bounding box
        • 2.2.9. Removing a Widget
        • 2.2.10. Getting Information
        • 2.2.11. Widget Location
          • 2.2.11.1. Propagation
        • 2.2.12. How Many Columns and Rows?
        • 2.2.13. gridSlaves
      • 2.3. The place Geometry Manager
        • 2.3.1. place Options
        • 2.3.2. Absolute Coordinates
        • 2.3.3. Relative Coordinates
        • 2.3.4. Anchoring the Widget
        • 2.3.5. Width and Height
        • 2.3.6. Border Options
        • 2.3.7. Methods Associated with place
          • 2.3.7.1. Removing the widget
          • 2.3.7.2. Place information
          • 2.3.7.3. Place slaves
      • 2.4. The form Geometry Manager
        • 2.4.1. Options for form
        • 2.4.2. Attachments
          • 2.4.2.1. Attaching to the grid
          • 2.4.2.2. Widget-to-widget attachments
          • 2.4.2.3. Attaching to nothing
        • 2.4.3. Springs
        • 2.4.4. form Methods
          • 2.4.4.1. Changing the grid size
          • 2.4.4.2. Removing a widget from a container
          • 2.4.4.3. Options info for form
          • 2.4.4.4. What's managed by form?
          • 2.4.4.5. Circular dependency check
      • 2.5. Geometry Management Summary
    • 3. Fonts
      • 3.1. Experimenting with Fonts
      • 3.2. Dissecting a Font
      • 3.3. Using Fonts
        • 3.3.1. System Fonts
      • 3.4. Using Fonts Dynamically
      • 3.5. Font Manipulation Methods
        • 3.5.1. One Last Example
    • 4. Button, Checkbutton, and Radiobutton Widgets
      • 4.1. Creating Button Widgets
      • 4.2. Standard Options for Each Button Type
      • 4.3. Table of Options for Button-Type Widgets
      • 4.4. Displaying Text on Buttons
      • 4.5. Displaying an Image or Bitmap
        • 4.5.1. Images with Checkbuttons and Radiobuttons
      • 4.6. Checkbutton and Radiobutton Indicator Status
      • 4.7. On and Off Values for a Checkbutton
      • 4.8. Radiobutton Values
      • 4.9. The -command Option
      • 4.10. Disabling a Button
      • 4.11. Text Manipulation
      • 4.12. Altering the Button's Style
      • 4.13. Changing the Size of a Button
      • 4.14. Adding a Keyboard Mapping
      • 4.15. Color Options
      • 4.16. Indicator Colors
      • 4.17. Hiding the Indicator
      • 4.18. Focus Options
      • 4.19. Altering the Highlight Rectangle
      • 4.20. Configuring a Button
      • 4.21. Flashing the Button
      • 4.22. Invoking the Button
      • 4.23. Turning a Checkbutton/Radiobutton On and Off
    • 5. Label and Entry Widgets
      • 5.1. The Label Widget
        • 5.1.1. Creating a Label
        • 5.1.2. Label Options
        • 5.1.3. How a Label Differs from Other Widgets
        • 5.1.4. Relief
        • 5.1.5. Status Message Example
        • 5.1.6. Container Frames
        • 5.1.7. Label Configuration
      • 5.2. The Entry Widget
        • 5.2.1. Creating the Entry Widget
        • 5.2.2. Entry Options
        • 5.2.3. Assigning the Entry's Contents to a Variable
        • 5.2.4. Relief
        • 5.2.5. Entry Indexes
        • 5.2.6. Text Selection Options
        • 5.2.7. The Insert Cursor
        • 5.2.8. Password Entries
        • 5.2.9. Entry Widget Validation
        • 5.2.10. Using a Scrollbar
        • 5.2.11. Configuring an Entry Widget
        • 5.2.12. Deleting Text
        • 5.2.13. Getting the Contents of an Entry Widget
        • 5.2.14. Moving the Insertion Cursor
        • 5.2.15. Getting a Numeric Index Value
        • 5.2.16. Inserting Text
        • 5.2.17. Scanning Text
        • 5.2.18. Working with the Selection
        • 5.2.19. Changing the View in the Entry Widget
      • 5.3. The Perl/Tk LabEntry Mega-Widget
    • 6. The Scrollbar Widget
      • 6.1. Defining Scrollbar Parts
      • 6.2. The Scrolled Method
        • 6.2.1. Configuring the Scrollbar(s) Created with Scrolled
      • 6.3. The Scrollbar Widget
        • 6.3.1. Creating a Scrollbar Widget
        • 6.3.2. Scrollbar Options
        • 6.3.3. Scrollbar Colors
        • 6.3.4. Scrollbar Style
        • 6.3.5. Scrollbar Orientation
        • 6.3.6. Using the Arrows and the Slider
        • 6.3.7. Assigning a Callback
        • 6.3.8. How the Scrollbar Communicates with Other Widgets
        • 6.3.9. Scrollbar Configuration
        • 6.3.10. Defining What We Can See
        • 6.3.11. Getting the Current View
        • 6.3.12. Activating Elements in a Scrollbar
        • 6.3.13. Calculating Change from Pixels
        • 6.3.14. Locating a Point in the Trough
        • 6.3.15. Identifying Elements
      • 6.4. Examples
        • 6.4.1. Entry Widget
        • 6.4.2. Listbox, Text, and Canvas Widgets
        • 6.4.3. One Scrollbar, Multiple Widgets
    • 7. The Listbox Widget
      • 7.1. Creating and Filling a Listbox
      • 7.2. Listbox Options
      • 7.3. Selection Modes
        • 7.3.1. Operating System Differences
      • 7.4. Colors
      • 7.5. Listbox Style
        • 7.5.1. Style of Selected Items
        • 7.5.2. Special Listbox Resizing
      • 7.6. Configuring a Listbox
      • 7.7. Inserting Items
      • 7.8. Deleting Items
      • 7.9. Retrieving Elements
      • 7.10. Selection Methods
        • 7.10.1. Selecting Items
        • 7.10.2. Unselecting Items
        • 7.10.3. Testing for Selection
        • 7.10.4. Anchoring the Selection
      • 7.11. Moving to a Specific Index
      • 7.12. Translating Indexes
      • 7.13. Counting Items
      • 7.14. Active Versus Selected
      • 7.15. Bounding Box
      • 7.16. Finding an Index by y Coordinate
      • 7.17. Scrolling Methods
      • 7.18. Listbox Virtual Events
      • 7.19. Listbox Example
    • 8. The Text, TextUndo,and ROText Widgets
      • 8.1. Creating and Using a Text Widget
      • 8.2. Text Widget Options
        • 8.2.1. Fonts
        • 8.2.2. Widget Size
        • 8.2.3. Widget Style
        • 8.2.4. Line Spacing
        • 8.2.5. Tab Stops
      • 8.3. A Short Break for a Simple Example
      • 8.4. Text Indexes
        • 8.4.1. Base Index Values
        • 8.4.2. Index Modifiers
        • 8.4.3. Text Index Examples
      • 8.5. Text Tags
        • 8.5.1. Tag Options
        • 8.5.2. A Simple Tag Example
        • 8.5.3. Selections in a Text Widget Using the "sel" Tag
        • 8.5.4. Configuring and Creating Tags
        • 8.5.5. Adding a Tag to Existing Text
        • 8.5.6. Using bind with Tags
          • 8.5.6.1. The Perl/Tk Text widget extended bindings
        • 8.5.7. Deleting All Instances of a Tag
        • 8.5.8. Removing a Tag from the Text
        • 8.5.9. Raising and Lowering Tags
        • 8.5.10. Getting Tag Names
        • 8.5.11. Determining Where a Tag Applies
      • 8.6. Inserting Text
        • 8.6.1. Inserting Lines Using print and printf
      • 8.7. Deleting Text
      • 8.8. Retrieving Text
      • 8.9. Translating Index Values
      • 8.10. Comparing Index Values
      • 8.11. Showing an Index
      • 8.12. Getting the Size of a Character
      • 8.13. Getting Line Information
      • 8.14. Searching the Contents of a Text Widget
      • 8.15. Scrolling
      • 8.16. Marks
        • 8.16.1. Setting and Getting the Gravity
        • 8.16.2. Determining Mark Names
        • 8.16.3. Creating and Deleting Marks
      • 8.17. Embedding Widgets
        • 8.17.1. windowCreate, windowCget, and windowConfigure
      • 8.18. Internal Debug Flag
        • 8.18.1. Scanning
      • 8.19. The Perl/Tk Text Widget Extended Methods
      • 8.20. The TextUndo Widget
        • 8.20.1. TextUndo Virtual Events
      • 8.21. The ROText Widget
    • 9. The Canvas Widget
      • 9.1. Creating a Canvas
      • 9.2. The Canvas Coordinate System
      • 9.3. The Scrollable Region
      • 9.4. Using bind with a Canvas
      • 9.5. Canvas Options
        • 9.5.1. Common Canvas Dash, Stipple, and Tile Options
        • 9.5.2. Additional Scrolling Options
        • 9.5.3. Canvas Widget Option List
      • 9.6. Creating Items in a Canvas
        • 9.6.1. The Arc Item
        • 9.6.2. The Bitmap Item
        • 9.6.3. The Image Item
        • 9.6.4. The Line Item
        • 9.6.5. The Oval Item
        • 9.6.6. The Polygon Item
        • 9.6.7. The Rectangle Item
        • 9.6.8. The Text Item
          • 9.6.8.1. Text item indexes
          • 9.6.8.2. Deleting characters
          • 9.6.8.3. Positioning the cursor
          • 9.6.8.4. Index information
          • 9.6.8.5. Adding text
          • 9.6.8.6. Selecting text
        • 9.6.9. The Widget Item
        • 9.6.10. The Grid Item
        • 9.6.11. The Group Item
      • 9.7. Configuring the Canvas Widget
      • 9.8. Configuring Items in the Canvas Widget
      • 9.9. Tags
        • 9.9.1. Binding Items Using Tags
        • 9.9.2. Finding Tags
        • 9.9.3. Getting Tags from a Specific Item
      • 9.10. Retrieving Bounding Box Coordinates
      • 9.11. Translating Coordinates
      • 9.12. Moving Items Around
      • 9.13. Changing the Display List
      • 9.14. Deleting Items
      • 9.15. Deleting Tags
      • 9.16. Determining Item Type
      • 9.17. Setting Keyboard Focus
      • 9.18. Rendering the Canvas as PostScript
      • 9.19. Scaling the Canvas
      • 9.20. Scanning
        • 9.20.1. Scrolling Methods
      • 9.21. A Drawing Program Example
    • 10. The Scale Widget
      • 10.1. Creating a Scale
      • 10.2. Assigning a Callback
      • 10.3. Orientation
      • 10.4. Minimum and Maximum Values
      • 10.5. Displayed Versus Stored Value
      • 10.6. Adding a Label
      • 10.7. Displaying Value Increments
      • 10.8. Changing the Size of the Scale
      • 10.9. Options You'll Probably Never Need
      • 10.10. Configuring a Scale
      • 10.11. Getting the Value of a Scale
      • 10.12. Setting the Value of a Scale
      • 10.13. Determining Coordinates
      • 10.14. Identifying Parts of a Scale
    • 11. Frame, MainWindow,and Toplevel Widgets
      • 11.1. Creating a Frame
      • 11.2. Creating a Toplevel Widget
      • 11.3. Options
        • 11.3.1. Frame-Specific Options
        • 11.3.2. Toplevel-Specific Options
        • 11.3.3. Viewing a Frame
        • 11.3.4. Adding a Label to a Frame
        • 11.3.5. Frames Aren't Interactive
        • 11.3.6. Colormap Complications
        • 11.3.7. The Magical Class Option
      • 11.4. Frame Methods
      • 11.5. Toplevel Methods
        • 11.5.1. Sizing a Toplevel
        • 11.5.2. Maximum Size
        • 11.5.3. Minimum Size
        • 11.5.4. Limiting Resizing
        • 11.5.5. Using a Size Aspect
        • 11.5.6. Setting the Title
        • 11.5.7. Showing the Toplevel
        • 11.5.8. Withdrawing the Toplevel
        • 11.5.9. Iconifying the Toplevel
        • 11.5.10. Specifying the Icon Bitmap
        • 11.5.11. Specifying the Icon Mask
        • 11.5.12. Setting the Name of the Icon
        • 11.5.13. Setting the Icon Position
        • 11.5.14. Using a Window Instead of an Icon
        • 11.5.15. Determining the State
        • 11.5.16. Assigning a Client Name
        • 11.5.17. Window Properties
        • 11.5.18. The Colormap Property
        • 11.5.19. The Command Property
        • 11.5.20. The Focus Model
        • 11.5.21. Getting a Widget's Window ID
        • 11.5.22. The Application Grid
        • 11.5.23. Being the Leader
        • 11.5.24. Removing Decorations
        • 11.5.25. Who Placed the Window?
        • 11.5.26. Who Sized It?
        • 11.5.27. Transient Windows
      • 11.6. Creating Multiple MainWindows
      • 11.7. Putting Two MainWindows to Work
    • 12. The Menu System
      • 12.1. Menu System Components
        • 12.1.1. Menus and Menu Items
        • 12.1.2. Menu Indexes
        • 12.1.3. Manipulating Menus
        • 12.1.4. Manipulating Menu Items
        • 12.1.5. Menubars
        • 12.1.6. Menu Options
      • 12.2. Menubars and Pulldown Menus
        • 12.2.1. Menubars the Clunky, Casual, Old-Fashioned Way
        • 12.2.2. Menubars the Slick, Sophisticated, New-Fashioned Way
      • 12.3. The Win32 System Menu Item
      • 12.4. Classical Menubars
        • 12.4.1. Menubutton Options
        • 12.4.2. Button-Only Options
      • 12.5. Popup Menus
        • 12.5.1. The post and Post Methods
        • 12.5.2. The Popup Method
          • 12.5.2.1. Popup examples
      • 12.6. Option Menus
        • 12.6.1. Tk::Optionmenu
        • 12.6.2. A Native Option Menu
      • 12.7. Menu Virtual Events
      • 12.8. Pie Menus
        • 12.8.1. Fitts' Law
    • 13. Miscellaneous Perl/Tk Methods
      • 13.1. Managing Widgets with configure and cget
        • 13.1.1. The configure Method
        • 13.1.2. The cget Method
      • 13.2. Building a Family Tree
        • 13.2.1. Widget's Children
        • 13.2.2. Name of a Widget
        • 13.2.3. Parent of a Widget
        • 13.2.4. The Widget's Toplevel
        • 13.2.5. Widget's Manager
        • 13.2.6. The Widget's class
      • 13.3. Widget's ID
        • 13.3.1. Widget's PathName From Its X11 ID
      • 13.4. Color-Related Methods
        • 13.4.1. Is the Colormap Full?
        • 13.4.2. Cell Count
        • 13.4.3. Color Depth
        • 13.4.4. Translate to RGB Value
        • 13.4.5. Setting Colors
        • 13.4.6. Predefined Color Scheme
      • 13.5. The Application's Name
      • 13.6. Widget Existence
      • 13.7. Is the Widget Mapped?
      • 13.8. Converting Screen Distances
      • 13.9. Size of Widget
        • 13.9.1. Widget's Geometry
        • 13.9.2. Requested Height
        • 13.9.3. Requested Width
        • 13.9.4. Actual Width
        • 13.9.5. Actual Height
      • 13.10. Widget Position
        • 13.10.1. Position Relative to the Root Window
        • 13.10.2. Coordinates Relative to the Parent
        • 13.10.3. Coordinates Relative to the Root Window
        • 13.10.4. Virtual Desktop Coordinates
        • 13.10.5. Cursor Coordinates Relative to the Desktop
      • 13.11. Screen Information
        • 13.11.1. Screen Name
        • 13.11.2. Screen Height and Width
        • 13.11.3. Cell Count
        • 13.11.4. Screen Depth
        • 13.11.5. Color Type
        • 13.11.6. Server Type
        • 13.11.7. Is the Widget Viewable?
      • 13.12. Atom Methods
      • 13.13. Ringing a Bell
      • 13.14. Clipboard and Selection Methods
        • 13.14.1. Clipboard Methods
        • 13.14.2. Selection Methods
          • 13.14.2.1. Clearing the selection
          • 13.14.2.2. Getting the selection
          • 13.14.2.3. Assigning a callback
          • 13.14.2.4. Determining the owner
          • 13.14.2.5. Setting the owner
        • 13.14.3. Exporting the Selection to the Outside World
      • 13.15. Destroying a Widget
      • 13.16. Focus Methods
        • 13.16.1. Keyboard Traversal
          • 13.16.1.1. Tabbing between widgets
          • 13.16.1.2. Default widget bindings
          • 13.16.1.3. Menu Traversal
      • 13.17. Grab Methods
      • 13.18. Marking a Widget Busy and Unbusy
      • 13.19. Widget Mapping and Layering
      • 13.20. Interapplication Communication
      • 13.21. Waiting for Events to Happen
        • 13.21.1. File Events
      • 13.22. Time Delays
      • 13.23. Parsing Command-Line Options
      • 13.24. Really Miscellaneous Methods
    • 14. Creating Custom Widgets in Pure Perl/Tk
      • 14.1. A Mega-Widget Quick-Start
      • 14.2. The Perl/Tk Class Hierarchy
      • 14.3. Mega-Widget Implementation Details
        • 14.3.1. Tk::Widget::new, the Real Perl/Tk Widget Constructor
        • 14.3.2. Subroutine ClassInit
        • 14.3.3. Subroutine CreateArgs
        • 14.3.4. Subroutine SetBindtags
        • 14.3.5. Subroutine Populate
        • 14.3.6. Subroutine ConfigSpecs
          • 14.3.6.1. ConfigSpecs Examples
        • 14.3.7. Subroutine Delegates
        • 14.3.8. Other Useful Methods
          • 14.3.8.1. Subroutine Advertise
          • 14.3.8.2. Subroutine Callback
          • 14.3.8.3. Subroutine Component
          • 14.3.8.4. Subroutine Descendants
          • 14.3.8.5. Subroutine Subwidget
          • 14.3.8.6. Subroutine Walk
        • 14.3.9. Mega-Widget Instance Variables
      • 14.4. Composite Mega-Widgets
        • 14.4.1. Tk::Thermometer
      • 14.5. Derived Mega-Widgets
        • 14.5.1. Tk::NavListbox
        • 14.5.2. Tk::CanvasPlot
        • 14.5.3. Tk::LCD
      • 14.6. Packaging a Mega-Widget for Public Distribution
        • 14.6.1. Packaging for CPAN
        • 14.6.2. Packaging for PPM
    • 15. Anatomy of the MainLoop
      • 15.1. Creating a Callback
        • 15.1.1. Callbacks and Closures
      • 15.2. Binding to Events
        • 15.2.1. Event Descriptor Syntax
          • 15.2.1.1. Event descriptor modifiers
          • 15.2.1.2. Event descriptor types
        • 15.2.2. The Event Structure
          • 15.2.2.1. The exporter tag :variables
          • 15.2.2.2. Event information methods
        • 15.2.3. Widget Class Bindings
        • 15.2.4. Widget Instance Bindings
        • 15.2.5. Binding to a MouseWheel Event
        • 15.2.6. Canvas Bindings
      • 15.3. The bindtags Command
        • 15.3.1. How Might We Use bindtags?
        • 15.3.2. bindDumpDump Lots of Binding Information
      • 15.4. Executing Nonblocking System Commands
        • 15.4.1. fileevent Syntax
        • 15.4.2. Tk::ExecuteCommand
        • 15.4.3. An MPG Playertkmpg123
      • 15.5. Tracing Perl/Tk Variables
        • 15.5.1. Tie::Watch
      • 15.6. Nonblocking Wait Activities
        • 15.6.1. Tk::waitVariableX
      • 15.7. Splash Screens
        • 15.7.1. Tk::Splashscreen
      • 15.8. Synthesizing Virtual Events
      • 15.9. Coexisting with Other GUI Main Loops
        • 15.9.1. Embedding OpenGL in a Perl/Tk Window
        • 15.9.2. Flying the Enterprise
    • 16. User Customization
      • 16.1. Using the Command Line
        • 16.1.1. Colors, Fonts, and Titles
        • 16.1.2. Initial MainWindow Placement
        • 16.1.3. Choosing a Display
        • 16.1.4. Option Database Lookups
        • 16.1.5. Synchronizing Window Messages
      • 16.2. Using the Option Database
        • 16.2.1. Manipulating Resources with option* Methods
        • 16.2.2. Manipulating Resources with Tk::CmdLine Subroutines
    • 17. Images and Animations
      • 17.1. An Overview of Perl/Tk Image Types
      • 17.2. Methods Common to All Image Types
      • 17.3. Bitmap Primitives
      • 17.4. DefineBitmap
      • 17.5. The Bitmap Image Type
        • 17.5.1. Cool Tricks with an Empty Bitmap
          • 17.5.1.1. An invisible cursor
          • 17.5.1.2. Filling a transparent Canvas item
      • 17.6. The Pixmap Image Type
      • 17.7. The Photo Image Type
        • 17.7.1. Creating a Color Palette with the put Method
        • 17.7.2. Using put to Create a Progress Bar with a 3D Look
        • 17.7.3. Capturing a Window with Tk::WinPhoto
          • 17.7.3.1. What you see is not always what you get
        • 17.7.4. Tk::Thumbnail
      • 17.8. The Compound Image Type
      • 17.9. Tk::Animation
      • 17.10. tknekoAnimating the Neko on a Canvas
      • 17.11. Tile and Transparent Images
      • 17.12. Miscellaneous Image Methods
      • 17.13. Simple Photo Rotations
    • 18. A Tk Interface Extension Tour
      • 18.1. Display Items
      • 18.2. Item Styles
        • 18.2.1. Item Style Methods
      • 18.3. The TList Widget
        • 18.3.1. TList Indexes and Methods
      • 18.4. The HList Family of Widgets
        • 18.4.1. Using Indicators with HList
        • 18.4.2. HList Methods
        • 18.4.3. The Tree Widget
        • 18.4.4. Tree Methods
        • 18.4.5. The DirTree Widget
        • 18.4.6. Adding a Directory
      • 18.5. Tix Images
    • 19. Interprocess Communicationwith Pipes and Sockets
      • 19.1. Handling Unsolicited Media Changes
        • 19.1.1. The Media Change Client, mediachangec
        • 19.1.2. The Media Change Server, mediachanged
      • 19.2. IPADM Design Considerations
      • 19.3. The Perl/Tk IPADM Client, ipadm
        • 19.3.1. Creating the Hypertext User Interface
        • 19.3.2. The Subnet Widget Edits a Subnet Description
        • 19.3.3. Starting the IPADM Helper Task
        • 19.3.4. fileevent Keeps ipadm Happy
      • 19.4. The IPADM Helper, ipadmh
      • 19.5. The IPADM Daemon, ipadmd
        • 19.5.1. The Forking Server
        • 19.5.2. IPADM Message Handling
        • 19.5.3. Locking an SDB File
        • 19.5.4. Updating the DHCP and DNS Configuration Files
        • 19.5.5. What About Security?
      • 19.6. Polling Win32 Sockets
    • 20. IPC with send
      • 20.1. Security and Inter-Language Considerations
        • 20.1.1. Application Names
        • 20.1.2. Tk::Receive
      • 20.2. Computing with Parallel Message Passing
        • 20.2.1. The Message Passing Protocol
        • 20.2.2. Tcl/Tk Slave Processor Code
        • 20.2.3. Tcl/Tk Master Processor Code
      • 20.3. TclRobots
        • 20.3.1. TclRobots.pm, the Perl Interface to TclRobots
          • 20.3.1.1. Tk::Receive handles tclrobots to Perl communications
          • 20.3.1.2. The RCP API handles Perl to tclrobots communications
        • 20.3.2. Robot Control Programs
    • 21. C Widget Internals
      • 21.1. The Tk::Square Widget
        • 21.1.1. Tcl/Tk Example
        • 21.1.2. Overview of the Perl/Tk Distribution
        • 21.1.3. Layout of a Typical C Widget
          • 21.1.3.1. Tk::Square instance structure
          • 21.1.3.2. Tk::Square configuration specifications
          • 21.1.3.3. Tk::Square instance constructor
          • 21.1.3.4. Tk::Square method processors
          • 21.1.3.5. Tk::Square option configurator
          • 21.1.3.6. Tk::Square event handler
          • 21.1.3.7. Tk::Square drawing handler
          • 21.1.3.8. Tk::Square destructor
      • 21.2. Interfacing tkSquare.c with Perl/Tk
        • 21.2.1. Makefile.PL
        • 21.2.2. Square.xs
        • 21.2.3. Square.pm
        • 21.2.4. pTk/Makefile.PL
      • 21.3. Building and Testing Tk::Square
        • 21.3.1. t/square_demo.t
      • 21.4. How Not to Port Tk::Square
    • 22. Perl/Tk and the Web
      • 22.1. Library for WWW Access in Perl
        • 22.1.1. LWP::Simple, the Easiest Way to the Web
        • 22.1.2. Fetching Web Content with LWP::UserAgent
        • 22.1.3. lwp-request and fileevent Rule
        • 22.1.4. The Recipe for Displaying Web Images
        • 22.1.5. Win32 Considerations
          • 22.1.5.1. fork and local Win32 sockets
          • 22.1.5.2. fork and LWP::UserAgent
          • 22.1.5.3. Win32::Process and shared memory
        • 22.1.6. Tidying an Ugly Mess
      • 22.2. The PerlPlus Browser Plug-in
        • 22.2.1. Embedding Perl/Tk in Other Windows
        • 22.2.2. Embedded Versus Full-Screen Mode
        • 22.2.3. How You Can Contribute to the PerlPlus Plug-in Project
    • 23. Plethora of pTk Potpourri
      • 23.1. pTk Special Variables and Exporter Symbols
        • 23.1.1. Global Variables
        • 23.1.2. Symbols Exported by Default
        • 23.1.3. Optionally Exported Symbols
        • 23.1.4. Exporter Tags
      • 23.2. Manipulating the Cursor
        • 23.2.1. Creating Your Own Custom Cursor Shape
      • 23.3. Dialog Boxes
        • 23.3.1. The Dialog Widget
        • 23.3.2. The messageBox Method
        • 23.3.3. The DialogBox Widget
        • 23.3.4. Using ErrorDialog
        • 23.3.5. chooseColor Dialog
        • 23.3.6. getOpenFile and getSaveFile Dialogs
      • 23.4. The Adjuster Widget
      • 23.5. The Balloon Widget
      • 23.6. The BrowseEntry Widget
      • 23.7. The LabFrame Widget
        • 23.7.1. LabFrame Options
      • 23.8. The NoteBook Widget
        • 23.8.1. Creating Pages
        • 23.8.2. WordCount Example Using a NoteBook
        • 23.8.3. NoteBook Limitations
      • 23.9. The Pane Widget
        • 23.9.1. Pane Options
      • 23.10. The ProgressBar Widget
        • 23.10.1. ProgressBar Options
      • 23.11. Widgets Not in the Perl/Tk Distribution
    • A. Installing Perl/Tk
      • A.1. Installing Perl/Tk for Unix
      • A.2. Installing Perl/Tk for Win32
    • B. Options and Default Valuesfor Each Widget
      • B.1. Adjuster
      • B.2. Balloon
      • B.3. Bitmap
      • B.4. BrowseEntry
      • B.5. Button
      • B.6. Canvas
      • B.7. Checkbutton
      • B.8. ColorEditor
      • B.9. Dialog
      • B.10. DirTree
      • B.11. Entry
      • B.12. ErrorDialog
      • B.13. FileSelect
      • B.14. Frame
      • B.15. HList
      • B.16. Label
      • B.17. LabEntry
      • B.18. LabFrame
      • B.19. Listbox
      • B.20. MainWindow
      • B.21. Menu
      • B.22. Menubutton
      • B.23. Message
      • B.24. NoteBook
      • B.25. Optionmenu
      • B.26. Pane
      • B.27. Photo
      • B.28. ProgressBar
      • B.29. Radiobutton
      • B.30. ROText
      • B.31. Scale
      • B.32. Scrollbar
      • B.33. Table
      • B.34. Text
      • B.35. TextUndo
      • B.36. Tiler
      • B.37. TList
      • B.38. Toplevel
      • B.39. Tree
    • C. Complete Program Listings
      • C.1. Tk::CollapsableFrame
      • C.2. Tk::MacCopy
      • C.3. Tk::ExecuteCommand
      • C.4. Proc::Killfam
      • C.5. tkmpg123
      • C.6. Tk::Trace
      • C.7. tkhp16c
      • C.8. Tk::MacProgressBar
      • C.9. TclRobots.pm
      • C.10. Robot Control Program complex.ptr
      • C.11. clock-bezier.ppl
      • C.12. tkhanoi.ppl
    • Index
    • About the Authors
    • Colophon
    • SPECIAL OFFER: Upgrade this ebook with OReilly

Dodaj do koszyka Mastering Perl/Tk. Graphical User Interfaces in Perl

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2024 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.