-
Notifications
You must be signed in to change notification settings - Fork 9
Dialogs
InDesign has aside from scriptUI (which is available in all the extendscriptable[^1]) his own engine to create dialogs. The layouting just consists of columns and rows. What is nice about it is that there are type dedicated input fields. In the example below you will see a simple dialog that has a text input field and a integer input field. If you enter a String in the integer field InDesign will warn the user about his non integer value. There are also nice features for constraining the values. You even can set the steps a value gets increased when the user hits the up and down arrows. Keep in mind that they are blocking. Until the user hits okay, there is no other interaction with InDesign possible.

var diag = app.dialogs.add();
var column1 = diag.dialogColumns.add();
var txtlabel = column1.staticTexts.add({ staticLabel: "Text: " });
// http://yearbook.github.io/esdocs/#/InDesign/TextEditbox
var txt = column1.textEditboxes.add();
var column2 = diag.dialogColumns.add();
var numlabel = column2.staticTexts.add({ staticLabel: "Number: " });
// see http://yearbook.github.io/esdocs/#/InDesign/IntegerEditbox
var num = column2.integerEditboxes.add();
if (diag.show() == true) {
var numval = num.editValue;
var numvalastxt = num.editContents;
var txtval = txt.editContents;
diag.destroy();
$.writeln("numval is a " + numval.constructor.name);
$.writeln("numvalastxt is a " + numvalastxt.constructor.name);
$.writeln("txtval is a " + txtval.constructor.name);
}The following script creates a dialog with a radiobutton group.
/* global app, $*/
var diag = app.dialogs.add({
name: "my awesome dialog",
canCancel: true,
});
var col1 = diag.dialogColumns.add();
var radioGrp = col1.radiobuttonGroups.add();
var ctrl1 = radioGrp.radiobuttonControls.add({
staticLabel: "selection1",
checkedState: true,
});
var ctrl2 = radioGrp.radiobuttonControls.add({
staticLabel: "selection2",
});
if (diag.show() === true) {
if (ctrl1.checkedState === true) {
$.writeln("user selected item 1");
} else if (ctrl2.checkedState === true) {
$.writeln("user selected item 2");
}
diag.destroy();
}[^1]: Yes that sounds wired.
This wiki is mostly maintained by:
ff6347
Thanks to:
- JohnDarnell for fixing lots of typos.
- jsp for fixing lots of typos.
- ltfschoen for fixing typos.
- wridgers for adding more links.
- EugenTepin for several improvements.
- vamitul for improvements.
- abandonedbywolves for adding an example.
- Travis Weston
- Andy Dayton
Thanks to the students from my seminars for asking all those questions and making me start this wiki.
- adinaradke
- AnitaMei
- ce0311
- coerv
- felixharle
- FerdinandP
- Flave
- marche
- monkian
- natael
- OliverMatelowski
- PDXIII
- praktischend
- schlompf
- skaim
You are awesome.
- Arrays
- Classes
- Comments
- Conditionals
- Functions
- Inspect Properties
- Loops
- Objects
- Output And Interaction
- Recursive Functions
- Inspect Properties
- Variables And Operations
- Extended JavaScript Guide
- Bridge Talk
- Create And Read Files
- Executing Shell Commands
- ExtendScript Toolkit
- File
- Folder
- Includes JSX
- Object Watch
- Read CSV
- Read In JSON From File And DONT Eval
- Storing Data In A Target Engine
- Target an application
- XML
- Isolate Layers With the Shy Setting
- Layer Duration Change
- Render And System Call
- Rename Layers
- SourceText to Keyframes from Array
- SourceText
- System Call
- app
- Colorbrewer
- ColorGroups
- Colors And Swatches
- Delay And View
- Dialogs
- Documents
- Duplicate And Transform
- Event AfterSave
- Export IDML
- ExtendScript in InDesign Scripting DOM
- Fonts
- GeometricBounds and Coordinates
- Get named pageItems
- Graphic Lines
- Groups
- HSL Color Wheel
- Images
- Includes
- InsertionPoints
- Layers
- Line Feeds And Carrige Returns
- Locked PageItems
- loops vs everyItem
- Masterspreads
- Matrix
- Objectstyles
- Outlines Groups Alignment
- Pages And Margins
- Pathfinder
- Placeholder Text
- Rectangles Ovals Polygons
- RulerOrigin
- Scripting Labels
- Select words at insertionPoint
- Simple Find And Change Grep with FC Query
- Simple Find And Change Grep
- Simple Find And Change Text
- Spiro
- Styles
- Table Cells
- Text Analysis ID FC
- Text Analysis
- Text Find Locations
- Text
- Transformation Matricies
- TransparencySettings
- XML creation and import