Adobe 65007312 Programming Guide - Page 83

Using dialog boxes, Displaying predefined dialog boxes

Page 83 highlights

CHAPTER 5: Creating a User Interface for Your Plug-in Using dialog boxes 83 To create the containment hierarchy, use the view factory to create a container, and within that call, use it to create the child containers and controls: viewFactory:group_box { ...initial property settings... viewFactory:row {-- a row of controls within the box ...initial property settings... viewFactory:static_text { -- a text label, contained in the row ...initial property settings... viewFactory:button { -- a button that responds to a click, contained in the row ...initial property settings... ... Control nodes have properties that define a tooltip for the node, control the visibility, and affect the size, displayed font, and enabled state. Additional properties apply to controls of specific types; for instance, a pop-up menu has an items property, which contains a table of the selectable menu items to display. Each item is in turn a table containing a title (displayed string) and value (the value returned when the item is selected): viewFactory:popup_menu { title = "myPopup", items = { -- the menu items { title = "First item", value = 1 }, { title = "Second item", value = 2 }, }, value = LrView.bind( "myPopup_value" ), -- the control value size = 'small' }, X The types of containers and controls and their view properties are listed and described in "User interface elements" on page 84. X Certain properties describe node layout; that is, the sizing and placement of each node with respect to its container and sibling nodes. You can set layout values individually, or use LrView functions to set spacing and margin values for an entire node tree. The layout properties and functions are described in "Determining layout" on page 107. X Display strings in all containers and controls (generally specified in the title property) can be localized to different languages by using the LOC function to specify the string value; for details, see Chapter 7, "Using ZStrings for Localization." Using dialog boxes The LrDialogs namespace provides functions that you can use to display simple messages in predefined dialog boxes, or to define a completely customized dialog box. All dialog boxes are modal, meaning that when the dialog is invoked, no other actions can be taken in the Lightroom UI until the dialog is dismissed. Displaying predefined dialog boxes The predefined dialog boxes display: X Messages Message dialogs display your text message to the user. They have a single OK button that dismisses the dialog; you can specify the button text. One version has a "Don't show again" checkbox, so that the user can prevent this message from being displayed next time the same situation occurs.

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204

C
HAPTER
5: Creating a User Interface for Your Plug-in
Using dialog boxes
83
To create the containment hierarchy, use the view factory to create a container, and within that call, use it
to create the child containers and controls:
viewFactory:group_box {
...
initial property settings
...
viewFactory:row {-- a row of controls within the box
...
initial property settings
...
viewFactory:static_text { -- a text label, contained in the row
...
initial property settings
...
viewFactory:button { -- a button that responds to a click, contained in the row
...
initial property settings
...
...
Control nodes have properties that define a tooltip for the node, control the visibility, and affect the size,
displayed font, and enabled state. Additional properties apply to controls of specific types; for instance, a
pop-up menu has an
items
property, which contains a table of the selectable menu items to display. Each
item is in turn a table containing a
title
(displayed string) and
value
(the value returned when the item is
selected):
viewFactory:popup_menu {
title = "myPopup",
items = { -- the menu items
{ title = "First item", value = 1 },
{ title = "Second item", value = 2 },
},
value = LrView.bind( "myPopup_value" ), -- the control value
size = 'small'
},
X
The types of containers and controls and their view properties are listed and described in
“User
interface elements” on page 84
.
X
Certain properties describe node layout; that is, the sizing and placement of each node with respect to
its container and sibling nodes. You can set layout values individually, or use
LrView
functions to set
spacing and margin values for an entire node tree. The layout properties and functions are described
in
“Determining layout” on page 107
.
X
Display strings in all containers and controls (generally specified in the
title
property) can be
localized to different languages by using the
LOC
function to specify the string value; for details, see
Chapter 7, “Using ZStrings for Localization
.”
Using dialog boxes
The
LrDialogs
namespace provides functions that you can use to display simple messages in predefined
dialog boxes, or to define a completely customized dialog box. All dialog boxes are modal, meaning that
when the dialog is invoked, no other actions can be taken in the Lightroom UI until the dialog is dismissed.
Displaying predefined dialog boxes
The predefined dialog boxes display:
X
Messages
Message dialogs display your text message to the user. They have a single OK button that dismisses
the dialog; you can specify the button text. One version has a "Don’t show again" checkbox, so that the
user can prevent this message from being displayed next time the same situation occurs.