advertisement
![Menus. Adobe InCopy CS6 | Manualzz Menus. Adobe InCopy CS6 | Manualzz](http://s3.manualzz.com/store/data/053735944_1-9a07498f63a38018bc60cb3051c12045-360x466.png)
6
Menus
CS6
Chapter Update Status
Unchanged
InCopy scripting can add menu items, remove menu items, perform any menu command, and attach scripts to menu items.
This chapter shows how to work with InCopy menu scripting. The sample scripts in this chapter are presented in order of complexity, starting with very simple scripts and building toward more complex operations.
We assume that you have read Chapter 2, “Getting Started”
and know how to create, install, and run a script.
Understanding the menu model
The InCopy menu-scripting model is made up of a series of objects that correspond to the menus you see in the application’s user interface, including menus associated with panels as well as those displayed on the main menu bar. A menu object contains the following objects:
menuItems
— The menu options shown on a menu. This does not include submenus.
menuSeparators
— Lines used to separate menu options on a menu.
submenus
— Menu options that contain further menu choices.
menuElements — All menuItems , menuSeparators and submenus shown on a menu.
eventListeners — These respond to user (or script) actions related to a menu.
events
— The events
triggered by a menu.
Every menuItem
is connected to a menuAction
through the associatedMenuAction
property. The properties of the menuAction
define what happens when the menu item is chosen. In addition to the menuActions
defined by the user interface, InCopy scripters can create their own, scriptMenuActions
, which associate a script with a menu selection.
A menuAction or scriptMenuAction can be connected to zero, one, or more menuItems .
The following diagram shows how the different menu objects relate to each other:
68
Menus Understanding the menu model 69 application menuActions menuAction area checked enabled eventListeners id index label name events parent title scriptMenuActions scriptMenuAction same as menuAction eventListener eventListener
...
event event
...
To create a list (as a text file) of all visible menu actions, run the following script fragment (from the
GetMenuActions tutorial script): var myMenuActionNames = app.menuActions.everyItem().name;
//Open a new text file.
var myTextFile = File.saveDialog("Save Menu Action Names As", undefined);
//If the user clicked the Cancel button, the result is null.
if(myTextFile != null){
//Open the file with write access.
myTextFile.open("w"); for(var myCounter = 0; myCounter < myMenuActionNames.length; myCounter++){ myTextFile.writeln(myMenuActionNames[myCounter]);
} myTextFile.close();
}
To create a list (as a text file) of all available menus, run the following script fragment (for the complete script listing, refer to the GetMenuNames tutorial script). Note that these scripts can be very slow, as there are a large number of menu names in InCopy.
advertisement
Related manuals
advertisement
Table of contents
- 7 Introduction
- 7 How to use the scripts in this document
- 7 About the structure of the scripts
- 8 For more information
- 8 About InCopy
- 8 Relationships between InCopy and InDesign files
- 8 Stories
- 9 Page geometry
- 9 Metadata
- 9 The document model
- 10 User-interface differences
- 10 Design and architecture
- 11 Getting Started
- 11 Installing scripts
- 12 Running scripts
- 12 Using the scripts panel
- 12 JavaScript language details
- 13 Other JavaScript development options
- 13 Using the scripts in this document
- 14 Your first InCopy script
- 14 Walking through the script
- 15 Scripting terminology and the InCopy object model
- 15 Scripting terminology
- 18 Understanding the InDesign and InCopy object model
- 21 Measurements and positioning
- 22 Adding features to “Hello World
- 24 Scripting Features
- 24 Script preferences
- 25 Getting the current script
- 25 Script versioning
- 26 Targeting
- 26 Compilation
- 26 Interpretation
- 27 Using the doScript method
- 27 Sending parameters to doScript
- 27 Returning values from doScript
- 28 Running scripts at start-up
- 28 Session and main script execution
- 30 Text and Type
- 30 Entering and importing text
- 30 Stories and text frames
- 30 Adding text to a story
- 31 Replacing text
- 31 Inserting special characters
- 32 Placing text and setting text-import preferences
- 35 Exporting text and setting text-export preferences
- 39 Text objects
- 40 Selections
- 40 Moving and copying text
- 42 Text objects and iteration
- 43 Formatting text
- 43 Setting text defaults
- 45 Fonts
- 46 Applying a font
- 46 Changing text properties
- 47 Changing text color
- 48 Creating and applying styles
- 49 Deleting a style
- 49 Importing paragraph and character styles
- 50 Finding and changing text
- 50 Find/change preferences
- 51 Finding text
- 52 Finding and changing formatting
- 53 Using grep
- 55 Using glyph search
- 55 Tables
- 58 Autocorrect
- 59 Footnotes
- 60 User Interfaces
- 60 Dialog-box overview
- 61 Your first InCopy dialog box
- 62 Adding a user interface to “Hello World
- 63 Creating a more complex user interface
- 65 Working with ScriptUI
- 65 Creating a progress bar with ScriptUI
- 65 Creating a button-bar panel with ScriptUI
- 68 Menus
- 68 Understanding the menu model
- 70 Localization and menu names
- 71 Running a menu action from a script
- 71 Adding menus and menu items
- 72 Menus and events
- 73 Working with script menu actions
- 75 Events
- 75 Understanding the event scripting model
- 77 About event properties and event propagation
- 78 Working with eventListeners
- 80 A sample “afterNew” eventListener
- 82 Notes
- 82 Entering and importing a note
- 82 Adding a note to a story
- 82 Replacing text of a note
- 83 Converting between notes and text
- 83 Converting a note to text
- 83 Converting text to a note
- 83 Expanding and collapsing notes
- 83 Collapsing a note
- 83 Expanding a note
- 84 Removing a note
- 84 Navigating among notes
- 84 Going to the first note in a story
- 84 Going to the next note in a story
- 84 Going to the previous note in a story
- 85 Going to the last note in a story
- 86 Tracking Changes
- 86 Navigating tracked changes
- 87 Accepting and reject tracked changes
- 87 Information about tracked changes
- 88 Preferences for tracking changes
- 90 Assignments
- 90 Assignment object
- 90 Opening assignment files
- 90 Iterating through assignment properties
- 91 Assignment packages
- 91 An assignment story
- 91 Assigned-story object
- 91 Iterating through the assigned-story properties
- 93 Overview
- 93 The best approach to scripting XML in InCopy
- 94 Scripting XML Elements
- 94 Setting XML preferences
- 94 Setting XML import preferences
- 95 Importing XML
- 95 Creating an XML tag
- 96 Loading XML tags
- 96 Saving XML tags
- 96 Creating an XML element
- 96 Moving an XML element
- 97 Deleting an XML element
- 97 Duplicating an XML element
- 97 Removing items from the XML structure
- 97 Creating an XML comment
- 98 Creating an XML processing instruction
- 98 Working with XML attributes
- 99 Working with XML stories
- 99 Exporting XML
- 99 Adding XML elements to a story
- 100 Associating XML elements with text
- 102 Applying styles to XML elements
- 103 Working with XML tables