Search the Amulet manual by keyword, or browse
the table of contents below.
TABLE OF CONTENTS
1. Amulet V3.0 Overview
- 1.1 Introduction
- 1.2 Amulet Email Addresses
- 1.3 Using Amulet in Products: Copyright and Licensing
- 1.4 How to Retrieve and Install Amulet
- 1.4.1 The Amulet Manual
- 1.4.2 Retrieving the Amulet source code distribution
- 1.4.2.1 Retrieving the source distribution via FTP
- 1.4.2.2 Retrieving the source distribution via WWW
- 1.4.3 Installing Amulet on a PC
- 1.4.3.1 Unpacking amulet.tar.gz
- 1.4.3.2 Windows Environment Variables
- 1.4.3.3 Building the Library, Sample Applications and Test Programs with Visual C++
- 1.4.3.4 Building Your Own Applications
- 1.4.3.5 Using console.cpp to Simulate a Terminal Window
- 1.4.3.6 Building Windows Applications for Release
- 1.4.4 Installing Amulet on a Unix Workstation
- 1.4.4.1 Unpacking amulet.tar.Z
- 1.4.4.2 Setting your Environment Variables
- 1.4.4.3 Building the Library, Sample Applications and Test Programs
- 1.4.4.4 Writing and Compiling New Programs Using Amulet
- 1.4.4.5 Building Unix Applications for Release
- 1.4.5 Installing Amulet on a Macintosh
- 1.4.5.1 Unpacking amulet.sea.hqx
- 1.4.5.2 Macintosh Environment Variables
- 1.4.5.3 Processor Support: PowerPC and 68K
- 1.4.5.4 Building the Amulet library
- 1.4.5.5 Compiling the Amulet Test Programs and Sample Applications
- 1.4.5.6 Writing and Compiling New Programs Using Amulet
- 1.4.5.7 Compiling Programs for Release
- 1.5 Test Programs and Sample Applications
- 1.6 Amulet Makefiles
- 1.6.1 Makefile Variables
- 1.6.2 Conditional Compilation Symbols
- 1.6.3 Command Line make Options
- 1.6.4 Xlib Pathnames
- 1.7 Preparing Amulet Applications for Release
- 1.8 Amulet Header Files
- 1.8.1 Basic header files
- 1.8.2 Advanced header files
- 1.8.3 Standard Header File Macros
- 1.9 Amulet Naming Conventions
- 1.10 Parts of Amulet
- 1.11 Changes since Version 2
- 1.12 Formal, Legal Language
2. Amulet Tutorial
- 2.1 Setting Up
- 2.1.1 Install Amulet in your Environment
- 2.1.2 Copy the Tutorial Starter Program
- 2.2 The Prototype-Instance System
- 2.2.1 Objects and Slots
- 2.2.2 Dynamic Typing
- 2.2.3 Inheritance
- 2.2.4 Instances
- 2.2.5 Prototypes
- 2.2.6 Default Values
- 2.2.7 Destroying Objects
- 2.2.8 Unnamed Objects
- 2.3 Graphical Objects
- 2.3.1 Lines, Rectangles, and Circles
- 2.3.2 Groups
- 2.3.3 Am_Group
- 2.3.4 Am_Map
- 2.3.5 Windows
- 2.4 Constraints
- 2.4.1 Formulas
- 2.4.2 Declaring and Defining Formulas
- 2.4.3 An Example of Constraints
- 2.4.4 Values and constraints in slots
- 2.4.5 Constraints in Groups
- 2.4.6 Common Formula Shortcuts
- 2.5 Interactors
- 2.5.1 Kinds of Interactors
- 2.5.2 The Am_One_Shot_Interactor
- 2.5.3 The Am_Move_Grow_Interactor
- 2.5.4 A Feedback Object with the Am_Move_Grow_Interactor
- 2.5.5 Command Objects
- 2.5.6 The Am_Main_Event_Loop
- 2.6 Widgets
- 2.7 Debugging
- 2.7.1 The Inspector
- 2.7.2 Tracing Interactors
- 2.8 To Learn More
3. ORE Object and Constraint System
- 3.1 Introduction
- 3.2 Version
- 3.3 Include Files
- 3.4 Objects and Slots
- 3.4.1 Get, Peek, Set and Add
- 3.4.2 Slot Keys
- 3.4.3 Value Types
- 3.4.4 The Basic Types
- 3.4.5 Bools
- 3.4.6 The Am_String Class
- 3.4.7 No Type, Zero Type, and Error Types
- 3.4.8 Using Wrapper Types
- 3.4.8.1 Standard Wrapper Methods
- 3.4.9 Storing Methods in Slots
- 3.4.10 Flag parameters to Get and Set
- 3.4.11 Using Am_Value
- 3.4.12 Advanced features of the Am_Value_Type
- 3.5 Inheritance: Creating Objects
- 3.6 Destroying Objects
- 3.7 Parts
- 3.7.1 Parts Can Have Names
- 3.7.2 How Parts Behave With Regard To Create and Copy
- 3.7.3 Other Operations on Parts
- 3.8 Formulas
- 3.8.1 Formula Functions
- 3.8.1.1 Defining Formulas without Macros
- 3.8.1.2 Formulas Returning Multiple Types
- 3.8.2 Using Slots in a Formula without Creating Dependencies
- 3.8.3 Putting Formulas into Slots
- 3.8.4 Slot Setting and Inheritance of Formulas
- 3.8.5 Calling a Formula Procedure From Within Another Formula
- 3.9 Lists
- 3.9.1 Current pointer in Lists
- 3.9.2 Adding items to lists
- 3.9.3 Other operations on Lists
- 3.10 Iterators
- 3.10.1 Reading Iterator Contents
- 3.10.2 Types of Iterators
- 3.10.3 The Order of Iterator Items
- 3.11 Connecting C++ Types
- 3.11.1 Type Support
- 3.11.2 Pointer Wrappers
- 3.11.3 Enum Wrappers
- 3.11.3.1 Enumerated Types
- 3.11.3.2 Bit Fields and Longs
- 3.11.4 Writing a Wrapper Using Amulet's Wrapper Macros
- 3.11.4.1 Creating the Wrapper Data Layer
- 3.11.4.2 Printing and Editing Values
- 3.11.4.3 Using The Wrapper Data Layer
- 3.11.4.4 Creating The Wrapper Outer Layer
- 3.12 Saving and Loading Objects from Files
- 3.12.1 Simple Interface For Storing and Loading Objects
- 3.12.2 Types of Data to Store
- 3.12.3 General Mechanism
- 3.13 Errors
- 3.14 Advanced Features of the Object System
- 3.14.1 Destructive Modification of Wrapper Values
- 3.14.2 The Am_Web Constraint
- 3.14.2.1 The Validation Procedure
- 3.14.2.2 The Create and Initialization Procedures
- 3.14.2.3 Installing Into a Slot
- 3.14.3 Using Am_Object_Advanced
- 3.14.4 Controlling Slot Inheritance
- 3.14.5 Controlling Formula Inheritance
- 3.14.6 Writing and Incorporating Demon Procedures
- 3.14.6.1 Object Level Demons
- 3.14.6.2 Slot Level Demons
- 3.14.6.3 Modifying the Demon Set and Activating Slot Demons
- 3.14.6.4 The Demon Queue
- 3.14.6.5 How to Allocate Demon Bits and the Eager Demon
4. Opal Graphics System
- 4.1 Overview
- 4.1.1 Include Files
- 4.2 The Opal Layer of Amulet
- 4.3 Basic Concepts
- 4.3.1 Windows, Objects, and Groups
- 4.3.2 The ``Hello World'' Example
- 4.3.3 Initialization and Cleanup
- 4.3.4 The Main Event Loop
- 4.3.5 Am_Do_Events
- 4.4 Slots Common to All Graphical Objects
- 4.4.1 Left, Top, Width, and Height
- 4.4.2 Am_VISIBLE
- 4.4.3 Line Style and Filling Style
- 4.4.4 Am_HIT_THRESHOLD and Am_PRETEND_TO_BE_LEAF
- 4.5 Specific Graphical Objects
- 4.5.1 Am_Rectangle
- 4.5.2 Am_Line
- 4.5.3 Am_Arrow_Line
- 4.5.4 Am_Arc
- 4.5.5 Am_Roundtangle
- 4.6.6 Am_Polygon
- 4.6.6.1 The Am_Point_List Class
- 4.6.6.2 Using Point Lists with Am_Polygon
- 4.6.7 Am_Text
- 4.6.7.1 Am_String in Am_Text objects
- 4.6.7.2 Fonts
- 4.6.7.3 Japanese Text Input and Output
- 4.6.7.4 Functions on Text and Fonts
- 4.6.7.5 Editing Text
- 4.6.8 Am_Bitmap
- 4.6.8.1 Loading Am_Image_Arrays From a File
- 4.6.8.2 Using Images with Am_Bitmap
- 4.7 Styles
- 4.7.1 Predefined Styles
- 4.7.2 Creating Simple Line and Fill Styles
- 4.7.2.1 Thick Lines
- 4.7.2.2 Halftone Stipples
- 4.7.2.3 Clone_With_New_Color
- 4.7.3 Customizing Line and Fill Style Properties
- 4.7.3.1 Color Parameter
- 4.7.3.2 Thickness Parameter
- 4.7.3.3 Cap_Flag Style Parameter
- 4.7.3.4 Join_Flag Style Parameter
- 4.7.3.5 Dash Style Parameters
- 4.7.3.6 Fill Style Parameters
- 4.7.3.7 Stipple Parameters
- 4.7.4 Getting Style Properties
- 4.8 Groups
- 4.8.1 Adding and Removing Graphical Objects
- 4.8.2 Layout
- 4.8.2.1 Vertical and Horizontal Layout
- 4.8.2.2 Custom Layout Procedures
- 4.8.3 Am_Resize_Parts_Group
- 4.8.4 Am_Fade_Group
- 4.8.5 Am_Flip_Book_Group
- 4.9 Maps
- 4.10 Methods on all Graphical Objects
- 4.10.1 Reordering Objects
- 4.10.2 Finding Objects from their Location
- 4.10.3 Beeping
- 4.10.4 Filenames
- 4.10.5 Translate Coordinates
- 4.11 Windows
- 4.11.1 Slots of Am_Window
- 4.11.2 Cursors
- 4.11.3 Destroying windows
- 4.12 Am_Screen
- 4.13 Predefined formula constraints
5. Interactors and Command Objects for Handling Input
- 5.1 Include Files
- 5.2 Overview of Interactors and Commands
- 5.3 Standard Operation
- 5.3.1 Designing Behaviors
- 5.3.2 General Interactor Operation
- 5.3.3 Parameters
- 5.3.3.1 Events
- 5.3.3.2 Graphical Objects
- 5.3.3.3 Active
- 5.3.3.4 Am_Inter_Location
- 5.3.4 Top Level Interactor
- 5.3.5 Specific Interactors
- 5.3.5.1 Am_Choice_Interactor
- 5.3.5.2 Am_One_Shot_Interactor
- 5.3.5.3 Am_Move_Grow_Interactor
- 5.3.5.4 Am_New_Points_Interactor
- 5.3.5.5 Am_Text_Edit_Interactor
- 5.3.5.6 Am_Gesture_Interactor
- 5.4 Advanced Features
- 5.4.1 Output Slots of Interactors
- 5.4.2 Priority Levels
- 5.4.3 Multiple Windows
- 5.4.4 Running_Where
- 5.4.5 Starting, Stopping and Aborting Interactors
- 5.4.6 Support for Popping-up Windows and Modal Windows
- 5.4.7 Enabling and Disabling Interactors
- 5.5 Customizing Interactor Objects
- 5.5.1 Adding Behaviors to Interactors
- 5.5.1.1 Available slots of Am_Choice_Interactor and Am_One_Shot_Interactor
- 5.5.1.2 Available slots of Am_Move_Grow_Interactors
- 5.5.1.3 Available slots of Am_New_Point_Interactors
- 5.5.1.4 Available slots of Am_Text_Interactors
- 5.5.1.5 Available slots of Am_Gesture_Interactors
- 5.5.2 Modifying the Behavior of the Built-in Interactors
- 5.5.3 Entirely New Interactors
- 5.6 Command Objects
- 5.6.1 Implementation_Parent hierarchy
- 5.6.2 Undo
- 5.6.2.1 Enabling and Disabling Undoing of Individual Commands
- 5.6.2.2 Using the standard Undo Mechanisms
- 5.6.2.3 The Selective Undo Mechanism
- 5.6.2.4 Building your own Undo Mechanisms
- 5.7 Debugging
6. Animation
- 6.1 Include Files
- 6.2 Introduction
- 6.3 Am_Time
- 6.4 General Interface
- 6.5 Starting and Stopping Animations
- 6.6 Turning On and Off Animations
- 6.7 Parameters of all Animators
- 6.8 Types of Animations
- 6.8.1 Am_Animator
- 6.8.2 Am_Style_Animator
- 6.8.3 Am_Visible_Animator
- 6.8.3.1 Fading out
- 6.8.3.2 Fly Offscreen
- 6.8.3.3 Shrinking
- 6.8.4 Am_Fly_Apart_Animator
- 6.8.5 Am_Blink_Animator
- 6.8.6 Am_Through_List_Animator
- 6.8.7 Am_Point_List_Animator
- 6.8.8 Am_Stepping_Animator
- 6.8.9 Am_Exaggerated_Animator
- 6.9 Interruptible Animations
- 6.10 Commands on Completion of Animations
- 6.11 The Timing Function
- 6.12 Creating a Simple Timer
- 6.13 Debugging Animations
- 6.14 Creating a New Animator
7. Widgets
- 7.1 Introduction
- 7.1.1 Current Widgets
- 7.1.2 Customization
- 7.1.3 Using Widget Objects
- 7.1.4 Application Interface
- 7.1.4.1 Accessing and Setting Widget Values
- 7.1.4.2 Commands in Widgets
- 7.1.4.3 Undoing Widgets
- 7.2 The Standard Widget Objects
- 7.2.1 Slots Common to All Widgets
- 7.2.2 Widget Looks
- 7.2.3 Border_Rectangle
- 7.2.4 Buttons and Menus
- 7.2.4.1 Item Lists and Labels of Commands
- 7.2.4.2 Commands in Buttons and Menus
- 7.2.4.3 Accelerators for Commands
- 7.2.4.4 Am_Menu_Line_Command
- 7.2.4.5 Am_Button
- 7.2.4.6 Am_Button_Panel
- 7.2.4.7 Am_Radio_Button_Panel
- 7.2.4.8 Am_Checkbox_Panel
- 7.2.4.9 Am_Menu
- 7.2.4.10 Am_Menu_Bar
- 7.2.4.11 Am_Option_Button
- 7.2.4.12 Am_Pop_Up_Menu_Interactor
- 7.2.5 Scroll Bars
- 7.2.5.1 Integers versus Floats
- 7.2.5.2 Commands in Scroll Bars
- 7.2.5.3 Horizontal and vertical scroll bars
- 7.2.5.4 Am_Vertical_Up_Down_Counter
- 7.2.5.5 Am_Scrolling_Group
- 7.2.6 Text Input Widgets
- 7.2.6.1 Text Check Legal Method
- 7.2.6.2 Command in the Text Input Widget
- 7.2.6.3 Am_Number_Input_Widget
- 7.2.6.4 Tabbing from Widget to Widget
- 7.2.7 Am_Selection_Widget
- 7.2.7.1 Application Interface for Am_Selection_Widget
- 7.2.7.2 User Interface to Am_Selection_Widget
- 7.2.7.3 Highlighting one Handle of a Am_Selection_Widget
- 7.2.7.4 Multiple Am_Selection_Widgets
- 7.2.7.5 Drag and Drop
- 7.3 Dialog boxes
- 7.3.1 Support functions for Dialog Boxes
- 7.3.2 Slots of dialog boxes
- 7.3.3 Am_Text_Input_Dialog slots
- 7.4 Supplied Command Objects
- 7.4.1 Graphics Clipboard
- 7.4.2 Commands for Open and Save
- 7.4.3 Cycle_Value_Command
- 7.4.4 Commands to help with Gestures
- 7.4.5 Am_Graphics_Set_Property_Command
- 7.5 Starting, Stopping and Aborting Widgets
8. The Gilt Interface Builder
- 8.1 Acknowledgments
- 8.2 Introduction
- 8.3 User Interface
- 8.3.1 What can be created
- 8.3.2 Style and Font Properties
- 8.3.3 Other Object Properties
- 8.3.4 Commands in the Menus
- 8.4 Using the Objects with an Application
- 8.4.1 The ``Generate C++'' dialog box
- 8.4.2 Slot and Object Names
- 8.4.3 Creating the Dialog Box or Group
- 8.4.4 Setting and Accessing the Values of Widgets
- 8.4.5 Editing the Generated C++ and Header Files
9. Gem: Amulet Low-Level Graphics Routines
- 9.1 Introduction
- 9.2 Include Files
- 9.3 Drawonables
- 9.3.1 Creating Drawonables
- 9.3.2 Modifying and Querying Drawonables
- 9.4 Drawing
- 9.4.1 General drawonable operations
- 9.4.2 Size Calculation for Images and Text
- 9.4.3 Clipping Operations
- 9.4.4 Regions
- 9.4.5 Drawing Functions
- 9.5 Event Handling
- 9.5.1 Am_Input_Event_Handlers
- 9.5.2 Input Events
- 9.5.2.1 Multiple Click Events
- 9.5.3 Main Loop
- 9.6 Hints for Using Gem Directly
10. Debugging and the Inspector
- 10.1 Introduction
- 10.2 Include Files
- 10.3 Inspector
- 10.3.1 Invoking the Inspector
- 10.3.1.1 Changing the Keys
- 10.3.2 Overview of Inspector User Interface and Menus
- 10.3.3 Viewing and Editing Slot Values
- 10.4 Accessing Debugging Functions Procedurally
- 10.5 Functions useful in the C++ Debugger
- 10.6 Hints on Debugging
11. Summary of Exported Objects and Slots
- 11.1 Am_Style
- 11.1.1 Constructors and Creators
- 11.1.2 Style Accessors
- 11.1.3 Color styles
- 11.1.4 Thick and dashed line styles
- 11.1.5 Stippled styles
- 11.1.6 Am_No_Style
- 11.2 Am_Font
- 11.2.1 Constructors and Accessors
- 11.2.2 Predefined Fonts
- 11.3 Am_Cursor
- 11.3.1 Constructors and Accessors
- 11.3.2 Predefined Cursor
- 11.4 Am_Time
- 11.5 Predefined formula constraints
- 11.6 Opal Graphical Objects
- 11.6.1 Am_Graphical_Object
- 11.6.2 Am_Line
- 11.6.3 Am_Arrow_Line
- 11.6.4 Am_Rectangle
- 11.6.5 Am_Arc
- 11.6.6 Am_Roundtangle
- 11.6.7 Am_Polygon
- 11.6.8 Am_Text
- 11.6.9 Am_Bitmap
- 11.6.10 Am_Group
- 11.6.10.1 Am_Resize_Parts_Group
- 11.6.10.2 Am_Fade_Group
- 11.6.10.3 Am_Flip_Book_Group
- 11.6.11 Am_Map
- 11.6.12 Am_Window
- 11.7 Interactors
- 11.7.1 Am_Interactor
- 11.7.2 Am_Choice_Interactor and Am_One_Shot_Interactor
- 11.7.3 Am_Move_Grow_Interactor
- 11.7.4 Am_New_Points_Interactor
- 11.7.5 Am_Text_Edit_Interactor
- 11.7.6 Am_Gesture_Interactor
- 11.8 Widget objects
- 11.8.1 Am_Border_Rectangle
- 11.8.2 Am_Button
- 11.8.3 Am_Button_Panel
- 11.8.4 Am_Radio_Button_Panel: Am_Button_Panel
- 11.8.5 Am_Checkbox_Panel: Am_Button_Panel
- 11.8.6 Am_Menu: Am_Button_Panel
- 11.8.7 Am_Menu_Bar: Am_Menu
- 11.8.8 Am_Option_Button
- 11.8.9 Am_Pop_Up_Menu_Interactor
- 11.8.10 Am_Vertical_Scroll_Bar
- 11.8.11 Am_Vertical_Up_Down_Counter
- 11.8.12 Am_Scrolling_Group
- 11.8.13 Am_Text_Input_Widget and Am_Password_Input_Widget
- 11.8.14 Am_Number_Input_Widget
- 11.8.15 Am_Tab_To_Next_Widget_Interactor
- 11.8.16 Am_Selection_Widget
- 11.8.17 Am_Text_Input_Dialog
- 11.8.18 Am_Choice_Dialog
- 11.8.19 Am_Alert_Dialog
- 11.9 Command Objects
- 11.9.1 Am_Command
- 11.9.2 Am_Menu_Line_Command
- 11.9.3 Am_Selection_Widget_Select_All_Command
- 11.9.4 Am_Graphics_Set_Property_Command
- 11.9.5 Am_Graphics_Clear_Command
- 11.9.6 Am_Graphics_Clear_All_Command
- 11.9.7 Am_Graphics_Cut_Command
- 11.9.8 Am_Graphics_Copy_Command
- 11.9.9 Am_Graphics_Paste_Command
- 11.9.10 Am_Graphics_Duplicate_Command
- 11.9.11 Am_Graphics_Group_Command
- 11.9.12 Am_Graphics_Ungroup_Command
- 11.9.13 Am_Undo_Command
- 11.9.14 Am_Redo_Command
- 11.9.15 Am_Graphics_To_Top_Command
- 11.9.16 Am_Graphics_To_Bottom_Command
- 11.9.17 Am_Show_Undo_Dialog_Box_Command
- 11.9.18 Am_Quit_No_Ask_Command
- 11.10 Undo objects
- 11.10.1 Am_Undo_Handler
- 11.10.2 Am_Single_Undo_Object
- 11.10.3 Am_Multiple_Undo_Object
- 11.10.4 Am_Undo_Dialog_Box
12. Index
Last Modified: 01:25pm EDT, August 13, 1997