Contents

Preface

Audience
Other Resources
Related Documentation
File Names
Contacting Rational Technical Publications
Contacting Rational Technical Support

Basic Extensibility Concepts

Contents
Rational Rose Extensibility
The REI Model and Rose Extensibility
Rose Scripting
Rose Automation
Rose Add-In Manager
Default Properties and Property Sets
Rose Extensibility Type Libraries

Customizing Rational Rose Menus

Contents
Extending Rational Rose Menus
Customizing Rose Main Menus
Procedure
Adding Entries to a Rose Menu File
Syntax Rules for Rose Menu File Entries
Adding Scripts to a Rose Menu
Adding or Editing the Virtual Path for Scripts
Sample Rose Menu File
Customizing Rose Shortcut Menus
Benefits
Limitations
Key Terms and Concepts
Behind the Scenes of Shortcut Menus
How Rose Formats and Displays Shortcut Menu Items
Shortcut Menu Scenarios
Shortcut Menu Design Considerations
Procedure
Adding Menu Items to the Shortcut Menu
Working with Shortcut Menu Items
Working with the Shortcut Menu Item Collection
Editing Shortcut Menu Items
Changing the State of a Shortcut Menu Item
Sample Shortcut Menu Implementation Code
Sample Rose Script Shortcut Menu Code

Using the REI to Work with Rational Rose

Contents
Introduction
Getting the Rose Application Object
Using Rose Script
Using Rose Automation
Associating Files and URLs with Classes
Managing Default Properties
Adding a Property to a Set
How To
Example
Notes on the Example
Creating a New Property
How To
Example
Notes on the Example
Deleting Model Properties
Getting Model Properties
Setting Model Properties
Setting Model Properties Using OverrideProperty
Setting Model Properties Using InheritProperty
Creating a New Property Set
Cloning a Property Set
How To
Example
Notes on the Example
Deleting a Property Set
How To
Example
Notes on the Example
Getting and Setting the Current Property Set
How To
Example
Notes on the Example
Creating a User-Defined Property Type
How To
Example
Notes on the Example
Creating a New Tool
Placing Classes in Categories
Using Type Libraries for Rose Automation
How To
Example
Working with Controllable Units
Working with Rose Diagrams
Getting an Element from a Collection
Accessing Collection Elements by Count
Accessing Collection Elements by Unique ID
Accessing Collection Elements by Name

Using the Rational Rose Script Editor

Contents
The Rose Script Editor
The Script Editor Window
Opening a Script
Creating New Rose Scripts
Creating a New Script from Scratch
Creating a New Script from an Existing Script
Selecting a Font for the Script Editor
Moving the Insertion Point in a Script
Moving the Insertion Point with the Mouse
Moving the Insertion Point to a Specified Line in Your Script
Selecting Text
Selecting Text with the Mouse
Selecting Text with the Keyboard
Selecting an Entire Line
Deleting, Cutting, Copying, and Pasting Text
Deleting Text
Cutting a Selection
Copying a Selection
Pasting the Contents of the Clipboard into Your Script
Adding Comments to a Script
Adding a Full-Line Comment
Adding a Comment at the End of a Line of Code
Finding and Replacing Text
Finding Specified Text
Replacing Specified Text
Running, Pausing, and Stopping Your Script
Running Your Script
Pausing an Executing Script
Stopping an Executing Script
Tracing Script Execution
Stepping Through Your Script
Displaying the Calls Dialog Box
Setting and Removing Breakpoints
Starting Debugging Partway Through a Script
Continuing Debugging at a Line Outside the Current Subroutine
Debugging Selected Portions of Your Script
Removing a Single Breakpoint Manually
Removing All Breakpoints Manually
Working with Watch Variables
Adding Watch Variables
Selecting Variables on the Watch List
Deleting Watch Variables
Modifying the Value of Variables on the Watch Variable List
Compiling Your Script
Using Interscript Calls
Guidelines for Using a Script to Call Another Script
Debugging Interscript Calls
Working with the Dialog Editor
Inserting a Dialog Box into Your Script
Editing an Existing Dialog Box
Displaying and Adjusting the Grid
Changing Titles and Labels
Assigning Accelerator Keys
Capturing Standard Windows Dialog Boxes
Testing Your Dialog Boxes
Incorporating Dialog Boxes or Controls into Your Script
Selecting Controls
Selecting Dialog Boxes
Repositioning Items
Resizing Items
Adding Controls
Duplicating Controls
Adding Pictures to a Dialog Box
Pasting Items into Dialog Editor
Displaying the Information Dialog Boxes

Rational Rose Script Editor Shortcuts

Contents
General Shortcuts
Navigating Shortcuts
Editing Shortcuts
Debugging Shortcuts
File Menu Shortcuts
Edit Menu Shortcuts
Debugger Menu Shortcuts

Developing Add-Ins for Rational Rose

Contents
Introduction
Why Create Add-Ins?
Types of Add-Ins
What Is in an Add-In?
Main Menus
Shortcut Menu
Custom Specifications
Properties
Data Types
Stereotypes
Online Help
Context-sensitive Help
Registering for Events
Functionality
UNIX vs. Windows
Creating Portable Add-Ins
How to Develop Add-Ins
Customizing Main Menus
Customizing the Shortcut Menu
Creating Custom Specifications
Customizing Properties
Customizing Data Types
Customizing Stereotypes
Additional Online Help
Additional Context-sensitive Help
User Manuals
Registering for Events
Updating the Registry
Installing, Setting Up, and Uninstalling Your Add-In
Activating and Deactivating Add-Ins

Index