{VERSION 6 0 "IBM INTEL NT" "6.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 1 12 255 0 0 1 2 1 2 2 1 2 0 0 0 1 }{CSTYLE "Hyperlink" -1 17 "Times" 1 12 0 128 128 1 2 2 1 2 2 2 0 0 0 1 }{CSTYLE "" -1 203 "Times" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 204 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 } {CSTYLE "" -1 205 "Arial Black" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 } {CSTYLE "" -1 206 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE " " -1 207 "Times" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 208 " Times" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 209 "Times" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 210 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 211 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 212 "Times" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 213 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 } {CSTYLE "" -1 214 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE " " -1 215 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 216 " Times" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 217 "Times" 1 12 0 0 0 1 1 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 218 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 219 "Times" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 220 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 221 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 } {CSTYLE "" -1 222 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE " " -1 223 "Times" 1 12 0 0 0 1 1 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 224 " Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 225 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 226 "Times" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 227 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 228 "Times" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 229 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 } {CSTYLE "" -1 230 "Times" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE " " -1 231 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 232 " Times" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 233 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 234 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 235 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 236 "Times" 1 12 0 0 0 1 1 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 237 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 } {CSTYLE "" -1 238 "Times" 1 12 0 0 0 1 1 1 2 2 2 2 0 0 0 1 }{CSTYLE " " -1 239 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 240 " Times" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 241 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 242 "Times" 1 12 0 0 0 1 1 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 243 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 244 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 245 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 } {CSTYLE "" -1 246 "Times" 1 12 0 0 0 1 1 1 2 2 2 2 0 0 0 1 }{CSTYLE " " -1 247 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 248 " Times" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 249 "Times" 1 12 0 0 0 1 1 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 250 "Times" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 251 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 252 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 253 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 } {CSTYLE "" -1 254 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE " " -1 255 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 256 " Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 257 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 258 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 259 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 260 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 261 "Times" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 } {CSTYLE "" -1 262 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE " " -1 263 "Times" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 264 " Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 265 "Times" 1 12 0 0 0 1 1 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 266 "Times" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 267 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 268 "Times" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 269 "Times" 1 12 0 0 0 1 1 1 2 2 2 2 0 0 0 1 } {CSTYLE "" -1 270 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE " " -1 271 "Times" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 272 " Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 273 "Times" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 274 "Times" 1 12 0 0 0 1 1 2 1 2 2 2 0 0 0 1 }{CSTYLE "" -1 275 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 276 "Times" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 277 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 } {CSTYLE "" -1 278 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE " " -1 279 "Times" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 280 " Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 281 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 282 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 283 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 284 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 285 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 } {CSTYLE "" -1 286 "Times" 1 12 0 0 0 1 1 1 2 2 2 2 0 0 0 1 }{CSTYLE " " -1 287 "Times" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 288 " Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 289 "Times" 1 12 0 0 0 1 1 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 290 "Times" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 291 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 292 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 293 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 } {CSTYLE "" -1 294 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE " " -1 295 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 296 " Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 297 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 298 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 299 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 300 "Times" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 301 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 } {CSTYLE "" -1 302 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE " " -1 303 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 304 " Times" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 305 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 306 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 307 "Times" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 308 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 309 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 } {CSTYLE "" -1 310 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE " " -1 311 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 312 " Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 313 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 314 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 315 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 316 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 317 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 } {CSTYLE "" -1 318 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE " " -1 319 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 320 " Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 321 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 322 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 323 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "" -1 324 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Heading 1" -1 3 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 2 2 2 2 1 0 0 1 }1 1 0 0 8 4 2 0 2 0 2 2 -1 1 }{PSTYLE "Heading 2" -1 4 1 {CSTYLE "" -1 -1 "T imes" 1 14 0 0 0 1 2 1 2 2 2 2 1 0 0 1 }1 1 0 0 8 2 2 0 2 0 2 2 -1 1 } {PSTYLE "Heading 3" -1 5 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 1 1 2 2 2 2 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Bullet Item" -1 15 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 3 3 2 0 2 0 2 2 -1 1 }{PSTYLE "Title" -1 18 1 {CSTYLE "" -1 -1 " Times" 1 18 0 0 0 1 2 1 1 2 2 2 1 0 0 1 }3 1 0 0 12 12 2 0 2 0 2 2 -1 1 }} {SECT 0 {EXCHG {PARA 18 "" 0 "" {TEXT -1 39 "Tutorial: Creating a Mapl et Application" }}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 26 "A First Maplet Application" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 56 "This Maplet applic ation displays a window with the text " }{TEXT 203 11 "Hello world" } {TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 69 "The top-level element of all Maplet applications must be the element " }{TEXT 204 6 "Maplet" } {TEXT -1 1 "." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "with(Maplets[Elements]):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "Maplets[Display]( Maplet( [\"Hello world\"] ) );" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 10 "When t he [" }{TEXT 205 1 "x" }{TEXT -1 124 "] (close icon) in the window cor ner is clicked, the Maplet application closes and control is returned \+ to the Maple session.\n" }{TEXT 206 5 "Note:" }{TEXT -1 43 " The close icon varies with window manager." }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 11 "NestedLists" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 43 "A Maplet app lication is defined by using a " }{TEXT 207 10 "box layout" }{TEXT -1 69 " structure. The box layout structure is based on the Maple concept of" }{TEXT 208 1 " " }{TEXT -1 28 "nested lists (list of lists)" } {TEXT 209 2 ". " }{TEXT -1 3 "In " }{TEXT 210 5 "Maple" }{TEXT -1 100 ", a list is an ordered sequence of comma-delimited expressions that i s enclosed in square brackets (" }{TEXT 211 3 "[ ]" }{TEXT -1 3 "). " }}{PARA 0 "" 0 "" {TEXT -1 12 "For example:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "List := [1,5,7];" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 2 "A " }{TEXT 212 12 "nested list " }{TEXT -1 114 "is an ordered se quence of expressions that is enclosed in square brackets, in which ea ch expression can be a list." }}{PARA 0 "" 0 "" {TEXT -1 12 "For examp le:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 49 "NestedList := [1, [2 ,3], [4, 5,6], 7, 8, [9,10]];" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 114 "When writing a Maplet application, text strings, user prompts, or tex t fields are defined as expressions in lists." }}{PARA 0 "" 0 "" {TEXT -1 137 "A Maplet application window definition includes the main list which contains the lists of text strings, user prompts, and othe r elements." }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 15 "Adding a Button " }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 20 "In this example, an " }{TEXT 213 2 "OK" }{TEXT -1 78 " button is included, which the user can click to close the Maplet application." }}{PARA 0 "" 0 "" {TEXT -1 35 "The \+ button is defined by using the " }{TEXT 214 6 "Button" }{TEXT -1 48 " \+ element. It contains two pieces of information:" }}{PARA 15 "" 0 "" {TEXT -1 37 "The text that appears on the button. " }}{PARA 15 "" 0 " " {TEXT -1 52 "The action that occurs when the button is clicked. " } }{PARA 0 "" 0 "" {TEXT -1 53 "In this example, the Maplet application \+ accesses the " }{TEXT 215 8 "Shutdown" }{TEXT -1 65 " action element w ithout any arguments when the button is clicked." }}{PARA 0 "" 0 "" {TEXT -1 7 "In the " }{TEXT 216 26 "A First Maplet Application" } {TEXT 217 1 " " }{TEXT -1 69 "example, the nested list is interpreted \+ as a window with a text box. " }}{PARA 0 "" 0 "" {TEXT -1 26 "To add a button, insert a " }{TEXT 218 6 "Button" }{TEXT -1 80 " element into \+ the nested list. In this Maplet application, the text is displayed" }} {PARA 0 "" 0 "" {TEXT -1 18 "beside the button." }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "with(Maplets[Elements]):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "maplet2a := Maplet( [\n" }{MPLTEXT 1 0 46 " [\"Hel lo world\", Button(\"OK\", Shutdown())]\n" }{MPLTEXT 1 0 5 "] ):\n" } {MPLTEXT 1 0 29 "Maplets[Display]( maplet2a );" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 146 " To specify that the button is located below the te xt (that is, in a second row), place the text and button in distinct l ists in the nested list. " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "with(Maplets[E lements]):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "maplet2b := M aplet( [\n" }{MPLTEXT 1 0 19 " \"Hello world\",\n" }{MPLTEXT 1 0 29 " Button(\"OK\", Shutdown())\n" }{MPLTEXT 1 0 5 "] ):\n" } {MPLTEXT 1 0 29 "Maplets[Display]( maplet2b );" }}}}{SECT 1 {PARA 3 " " 0 "" {TEXT -1 14 "Adding a Title" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 48 "In this example, a title is added to the window." }}{PARA 0 "" 0 " " {TEXT -1 7 "In the " }{TEXT 219 15 "Adding a Button" }{TEXT -1 86 " \+ Maplet application examples, the nested list is interpreted, by defaul t, as a window." }}{PARA 0 "" 0 "" {TEXT -1 82 "To specify options oth er than the default values, you must explicitly include the " }{TEXT 220 6 "Window" }{TEXT -1 10 " element. " }}{PARA 0 "" 0 "" {TEXT -1 61 "To specify a title for the window, wrap the nested list in a " } {TEXT 221 6 "Window" }{TEXT -1 10 " element. " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "with(Maplets[Elements]):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "maplet3 := Maplet( Window( 'title'= \"3rd\", [\n" }{MPLTEXT 1 0 19 " \"Hello world\",\n" }{MPLTEXT 1 0 29 " Button(\"OK\", Shu tdown())\n" }{MPLTEXT 1 0 7 "] ) ):\n" }{MPLTEXT 1 0 28 "Maplets[Displ ay]( maplet3 );" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 27 "Getting Inpu t from the User" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 67 "In this example , an input field is included. There are two buttons:" }}{PARA 15 "" 0 "" {TEXT 222 1 "O" }{TEXT 223 1 " " }{TEXT 224 1 "K" }{TEXT -1 86 ", w hich closes the Maplet application and returns the input text to the M aple session." }}{PARA 15 "" 0 "" {TEXT 225 5 "Clear" }{TEXT 226 0 "" }{TEXT -1 44 ", which resets the input field value to \"\".\n" }} {PARA 0 "" 0 "" {TEXT -1 10 "Insert an " }{TEXT 227 9 "TextField" } {TEXT 228 1 " " }{TEXT -1 235 "element in the Maplet application. The input field requires a reference so that its value can be returned. A ny element in a Maplet application can be given a unique identifier by placing a reference in the element index, for example, " }{TEXT 229 16 "TextField[TF1]()" }{TEXT 230 1 "." }}{PARA 0 "" 0 "" {TEXT -1 50 " To clear the input field when the user clicks the " }{TEXT 231 5 "Clea r" }{TEXT 232 0 "" }{TEXT -1 17 " button, use the " }{TEXT 233 10 "Set Option " }{TEXT -1 15 "action element." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "with(Maplets[Elements]):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "maplet4 := Maplet( Window( 'title'=\"4th\", [\n" }{MPLTEXT 1 0 24 " \"Enter something:\",\n" }{MPLTEXT 1 0 24 " TextField['TF1']() ,\n" }{MPLTEXT 1 0 78 " [Button(\"OK\", Shutdown(['TF1'])), Button( \"Clear\", SetOption('TF1' = \"\"))]\n" }{MPLTEXT 1 0 7 "] ) ):\n" } {MPLTEXT 1 0 28 "Maplets[Display]( maplet4 );" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 234 5 "Note:" }{TEXT -1 142 " The return value is a list cont aining the string corresponding to the value entered by the user. If \+ more than one reference is given in the " }{TEXT 235 8 "Shutdown" } {TEXT 236 1 " " }{TEXT -1 51 "action element, then a list of strings i s returned." }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 49 "Returning Output in the Maplet Application Window" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 197 "In this example, an output field displays the output of a call to the Maple engine. The Maplet application prompts the user for an inte grand and a variable of integration. When the user clicks the " } {TEXT 237 9 "Integrate" }{TEXT 238 1 " " }{TEXT -1 37 "button, the Map let application calls " }{TEXT 239 3 "int" }{TEXT 240 0 "" }{TEXT -1 230 " to calculate the integral and displays the anti-derivative in th e output box. When the Maplet application is closed, the value of the integrand, variable of integration, and the anti-derivative are retur ned to the Maple session." }{TEXT 241 0 "" }{TEXT 242 0 "" }{TEXT 243 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 17 "Tw o input fields " }{TEXT 244 3 "TF1" }{TEXT -1 5 " and " }{TEXT 245 4 " TF2 " }{TEXT -1 13 "are required." }}{PARA 0 "" 0 "" {TEXT -1 27 "The \+ output is placed in an " }{TEXT 246 7 "TextBox" }{TEXT -1 9 " element \+ " }{TEXT 247 3 "TB1" }{TEXT 248 0 "" }{TEXT -1 93 " of height 3 and wi dth 40. The user should not be allowed to edit the output: use the opt ion " }{TEXT 249 12 "not editable" }{TEXT 250 0 "" }{TEXT -1 1 "." }} {PARA 0 "" 0 "" {TEXT -1 12 "The element " }{TEXT 251 35 "Evaluate( TB 1 = 'int( TF1, TF2 )' )" }{TEXT -1 8 " calls " }{TEXT 252 3 "int" } {TEXT -1 23 " using the contents of " }{TEXT 253 3 "TF1" }{TEXT -1 5 " and " }{TEXT 254 3 "TF2" }{TEXT -1 35 ", and places the result in the box " }{TEXT 255 3 "TB1" }{TEXT -1 3 ". " }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "with(Maplets[Elements]):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "maplet5 := Maplet( Window( 'title'=\"5th\", [\n" }{MPLTEXT 1 0 41 " [\"Integrand: \", TextField['TF1']()],\n" }{MPLTEXT 1 0 56 " \+ [\"Variable of Integration: \", TextField['TF2'](3)],\n" }{MPLTEXT 1 0 50 " TextBox['TB1']('editable' = 'false', 3..40 ),\n" } {MPLTEXT 1 0 61 " [Button(\"Integrate\", Evaluate('TB1' = 'int(TF1, TF2)')),\n" }{MPLTEXT 1 0 52 " Button(\"OK\", Shutdown(['TF1', 'T F2', 'TB1'])),\n" }{MPLTEXT 1 0 45 " Button(\"Clear\", SetOption(' TF1' = \"\"))]\n" }{MPLTEXT 1 0 7 "] ) ):\n" }{MPLTEXT 1 0 28 "Maplets [Display]( maplet5 );" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 14 "Error \+ Handling" }}{EXCHG {PARA 0 "" 0 "" {TEXT 256 0 "" }{TEXT -1 22 "The pr evious example (" }{TEXT 257 7 "maplet5" }{TEXT -1 88 ") does not prov ide useful error messages. For example, omit a field when entering da ta." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 42 "Th e following Maplet application uses the " }{TEXT 258 3 "Get" }{TEXT -1 22 " routine found in the " }{TEXT 259 14 "Maplets[Tools]" }{TEXT -1 15 " package. The " }{TEXT 260 3 "Get" }{TEXT -1 80 " routine chec ks whether an argument parses and if it is of the appropriate type." } }{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 161 "In this example, an initial procedure is added to the Maplet application. The Maplet application evaluates the input value after it is checked for \+ errors in the " }{TEXT 261 5 "MyInt" }{TEXT -1 11 " procedure." }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 24 "with(Maplets[Elements]):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "MyInt := proc()\n" }{MPLTEXT 1 0 26 " lo cal integrand, var;\n" }{MPLTEXT 1 0 1 "\n" }{MPLTEXT 1 0 26 " use \+ Maplets[Tools] in\n" }{MPLTEXT 1 0 46 " integrand := Get( 'TF1' ::algebraic );\n" }{MPLTEXT 1 0 35 " var := Get( 'TF2'::name ); \n" }{MPLTEXT 1 0 13 " end use;\n" }{MPLTEXT 1 0 1 "\n" }{MPLTEXT 1 0 27 " int( integrand, var );\n" }{MPLTEXT 1 0 9 "end proc:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "maplet6 := Maplet( Window( ' title'=\"6th\", [\n" }{MPLTEXT 1 0 41 " [\"Integrand: \", TextField ['TF1']()],\n" }{MPLTEXT 1 0 56 " [\"Variable of Integration: \", T extField['TF2'](3)],\n" }{MPLTEXT 1 0 51 " TextBox['TB1']( 'editabl e' = 'false', 3..40 ),\n" }{MPLTEXT 1 0 56 " [Button( \"Integrate\" , Evaluate('TB1' = \"MyInt\" ) ),\n" }{MPLTEXT 1 0 55 " Button( \" OK\", Shutdown(['TF1', 'TF2', 'TB1'] ) ),\n" }{MPLTEXT 1 0 48 " Bu tton( \"Clear\", SetOption('TF1' = \"\" ) )]\n" }{MPLTEXT 1 0 7 "] ) ) :\n" }{MPLTEXT 1 0 28 "Maplets[Display]( maplet6 );" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 31 "Adding a Help Dialog and a Plot" }} {EXCHG {PARA 0 "" 0 "" {TEXT -1 49 "In this example, the Maplet applic ation contains:" }}{PARA 15 "" 0 "" {TEXT -1 39 "A button that display s a help dialog. " }}{PARA 15 "" 0 "" {TEXT -1 85 "A plot window with a slider that is used to indicate the right end point of the plot." } }{PARA 15 "" 0 "" {TEXT -1 117 "A vertical scroll bar that allows a us er to view buttons if the Maplet application is reduced on the display monitor." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 38 "The plot window is defined by using a " }{TEXT 262 7 "Plotter" } {TEXT 263 0 "" }{TEXT -1 57 " element. The plot is displayed when the \+ user clicks the " }{TEXT 264 0 "" }{TEXT 265 0 "" }{TEXT 266 0 "" } {TEXT 267 4 "Plot" }{TEXT -1 0 "" }{TEXT 268 0 "" }{TEXT -1 24 " butto n, which runs the " }{TEXT 269 0 "" }{TEXT 270 49 "Evaluate( PL1 = 'pl ot([TF1, TB1], TF2=0..SL1)' )" }{TEXT 271 1 " " }{TEXT -1 8 "element. " }}{PARA 0 "" 0 "" {TEXT -1 37 "The slider is implemented by using a \+ " }{TEXT 272 6 "Slider" }{TEXT 273 0 "" }{TEXT 274 0 "" }{TEXT -1 74 " element. The slider value varies from 1 to 20 with a default value of 5.\n" }{TEXT 275 13 "The RunDialog" }{TEXT 276 1 " " }{TEXT -1 36 "ac tion element, which refers to the " }{TEXT 277 14 "MessageDialog " } {TEXT -1 58 "element in the Maplet application, displays a help dialog ." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "with(Maplets[Elements]):" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 72 "maplet7 := Maplet( Window( ' title'=\"7th\", BoxColumn('vscroll'='always',\n" }{MPLTEXT 1 0 41 " \+ [\"Integrand: \", TextField['TF1']()],\n" }{MPLTEXT 1 0 56 " [\"Va riable of Integration: \", TextField['TF2'](3)],\n" }{MPLTEXT 1 0 51 " TextBox['TB1']( 'editable' = 'false', 3..40 ),\n" }{MPLTEXT 1 0 22 " Plotter['PL1'](),\n" }{MPLTEXT 1 0 147 " Slider['SL1']( 0.. 20, 5, 'showticks', 'majorticks'=5, 'minorticks'=1, 'visible'='false', Evaluate( 'PL1' = 'plot([TF1, TB1], TF2=0..SL1)' ) ),\n" }{MPLTEXT 1 0 102 " [Button(\"Integrate\", Action(Evaluate('TB1' = 'int(TF1, TF 2)'), SetOption('B1'(enabled)='true'))),\n" }{MPLTEXT 1 0 52 " But ton(\"OK\", Shutdown(['TF1', 'TF2', 'TB1'])),\n" }{MPLTEXT 1 0 219 " \+ Button(\"Clear\", Action(SetOption('TF1' = \"\"), SetOption('TF2' = \"\"), SetOption('TB1' = \"\"), SetOption('B1'(enabled)='false'), Set Option('SL1'('visible')='false'), Evaluate( 'PL1' = 'plot(undefined, x =0..SL1)' ))),\n" }{MPLTEXT 1 0 39 " Button(\"Help\", RunDialog('M D1')),\n" }{MPLTEXT 1 0 145 " Button['B1'](\"Plot\", 'enabled'='fa lse', Action( SetOption('SL1'('visible')='true'), Evaluate( 'PL1' = 'p lot([TF1, TB1], TF2=0..SL1)' ) ) )]\n" }{MPLTEXT 1 0 5 ") ),\n" } {MPLTEXT 1 0 122 " MessageDialog['MD1']( \"An expression which, be ing integrated, produces a given integral.\", 'type'='information' ) ) :\n" }{MPLTEXT 1 0 26 "Maplets[Display](maplet7);" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 14 "Other Elements" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 31 "There are many elements in the " }{TEXT 278 7 "Maplets" }{TEXT 279 0 "" }{TEXT -1 81 " package. A few of the most important are discu ssed in the following subsections." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "with(Maplets[Elements]):" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 20 "Win dow Body Elements" }}{SECT 1 {PARA 5 "" 0 "" {TEXT -1 6 "Button" }} {EXCHG {PARA 0 "" 0 "" {TEXT -1 123 "A button can be selected by the u ser which may in turn trigger an action. A button has a caption but n o value, unlike the " }{TEXT 280 12 "ToggleButton" }{TEXT -1 25 " whic h may take either a " }{TEXT 281 4 "true" }{TEXT -1 4 " or " }{TEXT 282 5 "false" }{TEXT -1 7 " value." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "Maplets[Display]( Maplet( [\n" }{MPLTEXT 1 0 29 " \+ Button(\"OK\", Shutdown())\n" }{MPLTEXT 1 0 6 "] ) );" }}}}{SECT 1 {PARA 5 "" 0 "" {TEXT -1 8 "CheckBox" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 20 "A check box takes a " }{TEXT 283 4 "true" }{TEXT -1 4 " or " } {TEXT 284 5 "false" }{TEXT -1 7 " value." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "Maplets[Display]( Maplet( [\n" }{MPLTEXT 1 0 44 " \+ [CheckBox['ChB1']( 'value' = 'true' )],\n" }{MPLTEXT 1 0 39 " [Butt on(\"OK\", Shutdown(['ChB1']))]\n" }{MPLTEXT 1 0 6 "] ) );" }}}}{SECT 1 {PARA 5 "" 0 "" {TEXT -1 8 "ComboBox" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 162 "A combo box is a list of strings from which the user can either choose an entry or type in a value. The default value of the \+ combination box is set by using the " }{TEXT 285 0 "" }{TEXT 286 18 "' value' = \"string\"" }{TEXT 287 0 "" }{TEXT -1 242 " option. Otherwise , it is the first string in the box. Once the user selects a string, t he value of the combination box is the most recently selected string. \+ This is useful where the list of objects cannot contain all possible \+ valid entries." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "Maplets[D isplay]( Maplet( [\n" }{MPLTEXT 1 0 98 " ComboBox['CoB1']( 'value' \+ = \"blue\", [\"red\", \"orange\", \"yellow\", \"green\", \"blue\", \"v iolet\"] ),\n" }{MPLTEXT 1 0 37 " Button(\"OK\", Shutdown(['CoB1']) )\n" }{MPLTEXT 1 0 6 "] ) );" }}}}{SECT 1 {PARA 5 "" 0 "" {TEXT -1 11 "DropDownBox" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 128 "A drop-down box i s a list of strings from which the user chooses. The default value of the combination box is set by using the " }{TEXT 288 0 "" }{TEXT 289 18 "'value' = \"string\"" }{TEXT 290 0 "" }{TEXT -1 183 " option. Othe rwise, it is the first string in the box. Once the user selects a stri ng, the value of the combination box is the most recently selected str ing. This is preferable to a " }{TEXT 291 8 "ComboBox" }{TEXT -1 52 " when the set of acceptable entries is well defined." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "Maplets[Display]( Maplet( [\n" }{MPLTEXT 1 0 49 " DropDownBox['DDB1']( 'value' = \"Victoria\", [\n" } {MPLTEXT 1 0 80 " \"Victoria\", \"Edmonton\", \"Regina\", \"Win nipeg\", \"Toronto\", \"Quebec City\",\n" }{MPLTEXT 1 0 79 " \" Fredericton\", \"Halifax\", \"Charlottetown\", \"St. John's\", \"White horse\",\n" }{MPLTEXT 1 0 37 " \"Yellowknife\", \"Iqaluit\"] ), \n" }{MPLTEXT 1 0 37 " Button(\"OK\", Shutdown(['DDB1']))\n" } {MPLTEXT 1 0 6 "] ) );" }}}}{SECT 1 {PARA 5 "" 0 "" {TEXT -1 5 "Label " }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 155 "The label may contain either \+ text or an image. The text cannot be selected or changed by the user. Within a layout, strings are automatically wrapped in " }{TEXT 292 5 "Label" }{TEXT -1 68 " elements, though if a non-standard font is to be used, an explicit " }{TEXT 293 5 "Label" }{TEXT -1 27 " element mu st be specified." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "Maplets [Display]( Maplet( [\n" }{MPLTEXT 1 0 21 " \"Standard text\",\n" } {MPLTEXT 1 0 72 " Label( \"Italicized text\", 'font' = Font( helvet ica, italic, 25 ) ),\n" }{MPLTEXT 1 0 29 " Button(\"OK\", Shutdown( ))\n" }{MPLTEXT 1 0 6 "] ) );" }}}}{SECT 1 {PARA 5 "" 0 "" {TEXT -1 7 "ListBox" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 255 "A list box allows the user to select zero or more entries from a list. To make multiple sel ections, the user must hold the [Ctrl] key while clicking the items in the list . The result from a list box is a comma separated list which may be split using the " }{TEXT 294 28 "Maplets[Tools][ListBoxSplit] " }{TEXT -1 10 " routine. " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "result := Maplets[Display]( Maplet( [\n" }{MPLTEXT 1 0 44 " Lis tBox['LB1']( 'value' = \"Victoria\", [\n" }{MPLTEXT 1 0 80 " \" Victoria\", \"Edmonton\", \"Regina\", \"Winnipeg\", \"Toronto\", \"Que bec City\",\n" }{MPLTEXT 1 0 79 " \"Fredericton\", \"Halifax\", \"Charlottetown\", \"St. John's\", \"Whitehorse\",\n" }{MPLTEXT 1 0 37 " \"Yellowknife\", \"Iqaluit\"] ),\n" }{MPLTEXT 1 0 36 " \+ Button(\"OK\", Shutdown(['LB1']))\n" }{MPLTEXT 1 0 7 "] ) ):\n" } {MPLTEXT 1 0 1 "\n" }{MPLTEXT 1 0 23 "if result <> NULL then\n" } {MPLTEXT 1 0 47 " Maplets[Tools][ListBoxSplit]( result[1] );\n" } {MPLTEXT 1 0 7 "end if;" }{TEXT -1 0 "" }}}}{SECT 1 {PARA 5 "" 0 "" {TEXT -1 13 "MathML Viewer" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 4 "The \+ " }{TEXT 295 12 "MathMLViewer" }{TEXT -1 139 " element displays MathML . While the default value may be a non-MathML expression, any subsequ ent assignments must be valid MathML strings." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "Maplets[Display]( Maplet( [\n" }{MPLTEXT 1 0 51 " \"Enter some expression to display in MathML:\",\n" }{MPLTEXT 1 0 24 " TextField['TF1'](),\n" }{MPLTEXT 1 0 54 " MathMLViewer['M MLV1']( 'value' = x^2 - 4*x + 3 ),\n" }{MPLTEXT 1 0 96 " [Button(\" Display\", Evaluate( 'MMLV1' = 'MathML[Export](TF1)' ) ), Button(\"OK \", Shutdown())]\n" }{MPLTEXT 1 0 6 "] ) );" }}}}{SECT 1 {PARA 5 "" 0 "" {TEXT -1 7 "Plotter" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 4 "The " } {TEXT 296 7 "Plotter" }{TEXT -1 45 " element displays either a 2-D or \+ a 3-D plot." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "Maplets[Disp lay]( Maplet( [\n" }{MPLTEXT 1 0 49 " \"Enter some expression to pl ot on x=0..10:\",\n" }{MPLTEXT 1 0 48 " TextField['TF1']( 'value' = x^2 - 4*x + 3),\n" }{MPLTEXT 1 0 64 " Plotter['PL1']( 'value' = pl ot( x^2 - 4*x + 3, x=0..10 ) ),\n" }{MPLTEXT 1 0 93 " [Button(\"Dis play\", Evaluate( 'PL1' = 'plot(TF1, x=0..10)' ) ), Button(\"OK\", Shu tdown())]\n" }{MPLTEXT 1 0 6 "] ) );" }}}}{SECT 1 {PARA 5 "" 0 "" {TEXT -1 11 "RadioButton" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 41 "Like a check box, a radio button takes a " }{TEXT 297 4 "true" }{TEXT -1 4 " or " }{TEXT 298 5 "false" }{TEXT -1 69 " value. If the radio button \+ is part of a button group (defined by a " }{TEXT 299 11 "ButtonGroup" }{TEXT 300 1 " " }{TEXT -1 53 "element), then at most one button can h ave the value " }{TEXT 301 4 "true" }{TEXT -1 1 "." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "Maplets[Display]( Maplet( [\n" }{MPLTEXT 1 0 102 " [RadioButton['RB1']( \"1st\", true, 'group' = BG1 ), RadioB utton['RB2']( \"2nd\", 'group' = 'BG1' )],\n" }{MPLTEXT 1 0 72 " [B utton(\"OK\", Shutdown(['RB1', 'RB2']))]], ButtonGroup['BG1']() ) );" }{TEXT -1 0 "" }}}}{SECT 1 {PARA 5 "" 0 "" {TEXT -1 6 "Slider" }} {EXCHG {PARA 0 "" 0 "" {TEXT -1 49 "A slider can take on integer value s. The option " }{TEXT 302 10 "majorticks" }{TEXT -1 58 " defines how often a numbered tick mark should occur, and " }{TEXT 303 10 "minorti cks" }{TEXT -1 63 " defines how often a smaller unnumbered tick mark s hould occur." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "Maplets[Dis play]( Maplet( [\n" }{MPLTEXT 1 0 26 " \"Select an integer:\",\n" } {MPLTEXT 1 0 78 " Slider['SL1']( 10, 0..20, 'majorticks'=10, 'minor ticks'=2, 'showticks' ),\n" }{MPLTEXT 1 0 36 " Button(\"OK\", Shutd own(['SL1']))\n" }{MPLTEXT 1 0 6 "] ) );" }}}}{SECT 1 {PARA 5 "" 0 "" {TEXT -1 5 "Table" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 70 "A table is us ed to display textual information in an organized format." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 56 "IL := [sin(x), cos(x), tan(x), sec( x), csc(x), cot(x)]:\n" }{MPLTEXT 1 0 1 "\n" }{MPLTEXT 1 0 28 "Maplets [Display]( Maplet( [\n" }{MPLTEXT 1 0 88 " Table( [\"integrand\", \+ \"integral\"], [seq( [i, int( i, x )], i = IL )], 'width'=400 ),\n" } {MPLTEXT 1 0 29 " Button(\"OK\", Shutdown())\n" }{MPLTEXT 1 0 6 "] \+ ) );" }}}}{SECT 1 {PARA 5 "" 0 "" {TEXT -1 8 "Text Box" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 69 "A text box produces a multiple line box f or input, output, or labels." }}{PARA 0 "" 0 "" {TEXT -1 107 "The cont ent of a text box can be selected, and a pop-up menu is displayed if t he text box is right-clicked." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "with(Maple ts[Elements]):\n" }{MPLTEXT 1 0 19 "maplet := Maplet([\n" }{MPLTEXT 1 0 67 " [\"Enter text: \", BoxCell(TextBox['IB1'](3..30), 'as_needed ')],\n" }{MPLTEXT 1 0 67 " [Button(\"OK\", Shutdown(['IB1'])), Butto n(\"Cancel\", Shutdown())]\n" }{MPLTEXT 1 0 4 "]):\n" }{MPLTEXT 1 0 25 "Maplets[Display](maplet);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 101 "A text box can be used to both display information to the user and to get information from the user. " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "with(Maplets[Elements]):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "Maplets[Display]( Maplet( [\n" }{MPLTEXT 1 0 50 " \"Enter an ex pression to integrate w.r.t. x:\",\n" }{MPLTEXT 1 0 47 " [TextBox[' TF1']('value' = x^2 - 4*x + 3)],\n" }{MPLTEXT 1 0 95 " [Button(\"In tegrate\", Evaluate( 'TF1' = 'int(TF1, x)' ) ), Button(\"OK\", Shutdow n(['TF1']))]\n" }{MPLTEXT 1 0 6 "] ) );" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 60 "To create a text box for output, set the editable option \+ to " }{TEXT 304 5 "false" }{TEXT -1 1 "." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "with(Maplets[Elements]):\n" }{MPLTEXT 1 0 19 "maplet := Maplet([\n" } {MPLTEXT 1 0 106 " [TextBox['IB1']('editable'='false', \"This text i s inside the TextBox. You cannot type in this box.\")],\n" }{MPLTEXT 1 0 67 " [Button(\"OK\", Shutdown(['IB1'])), Button(\"Cancel\", Shut down())]\n" }{MPLTEXT 1 0 4 "]):\n" }{MPLTEXT 1 0 25 "Maplets[Display] (maplet);" }}}}{SECT 1 {PARA 5 "" 0 "" {TEXT -1 10 "Text Field" }} {EXCHG {PARA 0 "" 0 "" {TEXT -1 275 "A text field produces a single li ne input or output field. A text field can be used to both display inf ormation to the user and to get information from the user. The conten t of a text field can be selected, and a pop-up menu is displayed if \+ the text field is right-clicked." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "with(Maplets[Elements]):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "Maplets[Display]( Maplet( [\n" }{MPLTEXT 1 0 50 " \"Enter an ex pression to integrate w.r.t. x:\",\n" }{MPLTEXT 1 0 48 " TextField[ 'TF1']( 'value' = x^2 - 4*x + 3),\n" }{MPLTEXT 1 0 95 " [Button(\"I ntegrate\", Evaluate( 'TF1' = 'int(TF1, x)' ) ), Button(\"OK\", Shutdo wn(['TF1']))]\n" }{MPLTEXT 1 0 6 "] ) );" }}}}{SECT 1 {PARA 5 "" 0 "" {TEXT -1 13 "Toggle Button" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 58 "Like a check box or radio button, a toggle button takes a " }{TEXT 305 4 " true" }{TEXT -1 4 " or " }{TEXT 306 5 "false" }{TEXT -1 9 " value. " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "Maplets[Display]( Maplet( [\n" }{MPLTEXT 1 0 72 " [ToggleButton['RB1']( \"1st\", true ), Tog gleButton['RB2']( \"2nd\" )],\n" }{MPLTEXT 1 0 47 " Button(\"OK\", \+ Shutdown(['RB1', 'RB2']))]) );" }}}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 15 "Dialog Elements" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 85 "Maplet appl ication dialog elements have a predefined layout. For a dialog, an aut hor " }{TEXT 307 6 "cannot" }{TEXT -1 206 " specify elements. This is \+ different from window elements, which can contain other elements, for \+ example, buttons and layout elements. In most cases, dialog elements h ave a value (with the exception of the " }{TEXT 308 14 "MessageDialog \+ " }{TEXT -1 86 "element) and the results can be used by the Maplet app lication for further processing." }}}{SECT 1 {PARA 5 "" 0 "" {TEXT -1 12 "Alert Dialog" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 77 "The alert dial og allows the user to respond to a caption either by selecting " } {TEXT 309 3 "OK " }{TEXT -1 3 "or " }{TEXT 310 6 "Cancel" }{TEXT -1 1 "." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "Maplets[Display]( Map let( AlertDialog(\n" }{MPLTEXT 1 0 47 " \"Assuming x > 0 leads to a contradiction\",\n" }{MPLTEXT 1 0 36 " 'onapprove' = Shutdown('tru e'),\n" }{MPLTEXT 1 0 34 " 'oncancel' = Shutdown(\"FAIL\")\n" } {MPLTEXT 1 0 6 ") ) );" }}}}{SECT 1 {PARA 5 "" 0 "" {TEXT -1 12 "Color Dialog" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 3 "The" }{TEXT 311 1 " " } {TEXT -1 12 "color dialog" }{TEXT 312 1 " " }{TEXT -1 80 "allows the u ser to select a color using either swatches or RGB and HSB palettes." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "Maplets[Display]( Maplet( ColorDialog['CD1'](\n" }{MPLTEXT 1 0 37 " 'onapprove' = Shutdown([ 'CD1']),\n" }{MPLTEXT 1 0 28 " 'oncancel' = Shutdown()\n" } {MPLTEXT 1 0 6 ") ) );" }}}}{SECT 1 {PARA 5 "" 0 "" {TEXT -1 14 "Confi rm Dialog" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 79 "The confirm dialog al lows the user to respond to a caption by selecting either " }{TEXT 313 3 "Yes" }{TEXT -1 2 ", " }{TEXT 314 2 "No" }{TEXT -1 5 ", or " } {TEXT 315 6 "Cancel" }{TEXT -1 1 "." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 66 "Maplets[Display]( Maplet(ConfirmDialog( 'question', \+ \"Is x > 0 ?\",\n" }{MPLTEXT 1 0 35 " 'onapprove' = Shutdown('true') ,\n" }{MPLTEXT 1 0 36 " 'ondecline' = Shutdown('false'),\n" } {MPLTEXT 1 0 33 " 'oncancel' = Shutdown(\"FAIL\")\n" }{MPLTEXT 1 0 6 ") ) );" }}}}{SECT 1 {PARA 5 "" 0 "" {TEXT -1 11 "File Dialog" }} {EXCHG {PARA 0 "" 0 "" {TEXT -1 49 "The file dialog allows the user to select a file." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "Maplets[ Display]( Maplet( FileDialog['FD1'](\n" }{MPLTEXT 1 0 36 " 'onapprov e' = Shutdown(['FD1']),\n" }{MPLTEXT 1 0 27 " 'oncancel' = Shutdown( )\n" }{MPLTEXT 1 0 6 ") ) );" }}}}{SECT 1 {PARA 5 "" 0 "" {TEXT -1 12 "Input Dialog" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 95 "The input dialog \+ allows the user to respond to a caption either by entering text and se lecting " }{TEXT 316 2 "OK" }{TEXT -1 18 ", or by selecting " }{TEXT 317 6 "Cancel" }{TEXT -1 1 "." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "Maplets[Display]( Maplet(\n" }{MPLTEXT 1 0 42 " InputDialog['I D1'](\"Enter an integer\",\n" }{MPLTEXT 1 0 37 " 'onapprove'=Shut down(['ID1']),\n" }{MPLTEXT 1 0 28 " 'oncancel'=Shutdown()\n" } {MPLTEXT 1 0 5 " )\n" }{MPLTEXT 1 0 4 ") );" }}}}{SECT 1 {PARA 5 "" 0 "" {TEXT -1 14 "Message Dialog" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 82 "The message dialog displays a caption which the user may dismiss b y selecting the " }{TEXT 318 2 "OK" }{TEXT -1 8 " button." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "Maplets[Display]( Maplet( MessageDi alog(\n" }{MPLTEXT 1 0 12 " warning,\n" }{MPLTEXT 1 0 39 " \"Contr adictory assumptions on `x`\",\n" }{MPLTEXT 1 0 31 " 'onapprove '=Shutdown()\n" }{MPLTEXT 1 0 6 ") ) );" }}}}{SECT 1 {PARA 5 "" 0 "" {TEXT -1 15 "Question Dialog" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 81 "Th e question dialog allows the user to respond to a question by selectin g either " }{TEXT 319 3 "Yes" }{TEXT -1 4 " or " }{TEXT 320 2 "No" } {TEXT -1 1 "." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 54 "Maplets[Di splay]( Maplet( QuestionDialog(\"Is x > 0?\",\n" }{MPLTEXT 1 0 33 " \+ 'onapprove'=Shutdown('true'),\n" }{MPLTEXT 1 0 33 " 'ondecline'=Shut down('false')\n" }{MPLTEXT 1 0 6 ") ) );" }}}}}{SECT 1 {PARA 4 "" 0 " " {TEXT -1 13 "Menu Elements" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 54 "A \+ menu bar can be inserted in a window. This menu bar" }{TEXT 321 1 " \+ " }{TEXT -1 87 "can contain any number of menus, each of which is made up of menu items and separators." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "with(Maplets[Elements]):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "Maplets[Display]( Maplet(\n" }{MPLTEXT 1 0 211 " Window('title' =\"Integration and Differentiation\", 'menubar'='MB1', [\"Enter an exp ression and select a command from the menu:\",[TextField['TF1']()], Bu tton(\"Exit\", Shutdown(\"Closed from button\", ['TF1']))]),\n" } {MPLTEXT 1 0 20 " MenuBar['MB1'](\n" }{MPLTEXT 1 0 80 " Menu (\"File\", MenuItem(\"Close\", Shutdown(\"Closed from menu\", ['TF1']) )),\n" }{MPLTEXT 1 0 25 " Menu(\"Commands\",\n" }{MPLTEXT 1 0 69 " MenuItem(\"Integrate\", Evaluate('TF1' = 'int(TF1, x)' ) ),\n" }{MPLTEXT 1 0 29 " MenuSeparator(),\n" }{MPLTEXT 1 0 72 " MenuItem(\"Differentiate\", Evaluate('TF1' = 'diff(T F1, x)'))\n" }{MPLTEXT 1 0 10 " )\n" }{MPLTEXT 1 0 6 " )\n" }{MPLTEXT 1 0 4 ") );" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 16 "Toolba r Elements" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 109 "A toolbar can be in serted in a window. This toolbar can contain any number of toolbar but tons and separators." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "Map lets[Display]( Maplet(\n" }{MPLTEXT 1 0 84 " Window('toolbar'='TB1' , [TextField['TF1'](), Button(\"OK\", Shutdown(['TF1']))]),\n" } {MPLTEXT 1 0 20 " ToolBar['TB1'](\n" }{MPLTEXT 1 0 70 " Tool BarButton(\"Integrate\", Evaluate('TF1' = 'int(TF1, x)') ),\n" } {MPLTEXT 1 0 28 " ToolBarSeparator(),\n" }{MPLTEXT 1 0 73 " \+ ToolBarButton(\"Differentiate\", Evaluate('TF1' = 'diff(TF1, x)')) \n" }{MPLTEXT 1 0 6 " )\n" }{MPLTEXT 1 0 4 ") );" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 16 "Command Elements" }}{EXCHG {PARA 0 "" 0 " " {TEXT -1 3 "An " }{TEXT 322 6 "Action" }{TEXT -1 125 " element may c ontain any number of command elements. When an action is performed, e ach command element is executed in order." }}}{SECT 1 {PARA 5 "" 0 "" {TEXT -1 12 "Close Window" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 15 "Close a window." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "with(Maplets[Elements]):\n" }{MPLTEXT 1 0 37 "maplet := Maplet('onstartup' = 'A1',\n" }{MPLTEXT 1 0 21 " Window['W1'](\"1\",\n" }{MPLTEXT 1 0 50 " [Button(\"Run \+ New Window\", RunWindow('W2')),\n" }{MPLTEXT 1 0 38 " Button(\"E xit\", Shutdown(\"1\"))]\n" }{MPLTEXT 1 0 6 " ),\n" }{MPLTEXT 1 0 21 " Window['W2'](\"2\",\n" }{MPLTEXT 1 0 55 " [Button(\"Close \+ This Window\", CloseWindow('W2')),\n" }{MPLTEXT 1 0 38 " Button( \"Exit\", Shutdown(\"2\"))]\n" }{MPLTEXT 1 0 6 " ),\n" }{MPLTEXT 1 0 33 " Action['A1'](RunWindow('W1'))\n" }{MPLTEXT 1 0 3 "):\n" } {MPLTEXT 1 0 25 "Maplets[Display](maplet);" }}}}{SECT 1 {PARA 5 "" 0 " " {TEXT -1 8 "Evaluate" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 28 "Evaluate a maple expression." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "Map lets[Display]( Maplet( [\n" }{MPLTEXT 1 0 60 " [\"Enter an expressio n\", TextField['TF1']('width' = 30)],\n" }{MPLTEXT 1 0 5 " [\n" } {MPLTEXT 1 0 33 " \"Differentiate w.r.t. x:\",\n" }{MPLTEXT 1 0 61 " Button(\"Calculate\", Evaluate('TF1' = 'diff(TF1, x)')),\n" }{MPLTEXT 1 0 38 " Button(\"OK\", Shutdown(['TF1']))\n" } {MPLTEXT 1 0 5 " ]\n" }{MPLTEXT 1 0 6 "] ) );" }}}}{SECT 1 {PARA 5 " " 0 "" {TEXT -1 9 "RunDialog" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 25 "Di splay a dialog element." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 " Maplets[Display]( Maplet(\n" }{MPLTEXT 1 0 12 " Window([\n" } {MPLTEXT 1 0 28 " [TextField['TF1']()],\n" }{MPLTEXT 1 0 8 " \+ [\n" }{MPLTEXT 1 0 68 " Button(\"Diff w.r.t. x\", Evaluate('T F1' = 'diff(TF1, x)')),\n" }{MPLTEXT 1 0 43 " Button(\"Help\", RunDialog('MD1')),\n" }{MPLTEXT 1 0 41 " Button(\"OK\", Shutd own(['TF1']))\n" }{MPLTEXT 1 0 8 " ]\n" }{MPLTEXT 1 0 7 " ]),\n " }{MPLTEXT 1 0 79 " MessageDialog['MD1'](\"See ?diff for help with \+ the differentiation command\")\n" }{MPLTEXT 1 0 4 ") );" }}}}{SECT 1 {PARA 5 "" 0 "" {TEXT -1 9 "RunWindow" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 25 "Display a window element." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "with(Maplets[Elements]):\n" }{MPLTEXT 1 0 37 "maplet := Maplet('onsta rtup' = 'A1',\n" }{MPLTEXT 1 0 62 " Window['W1']('title' = \"Select \+ Method\", 'layout' = 'BL0'),\n" }{MPLTEXT 1 0 21 " BoxLayout['BL0']( \n" }{MPLTEXT 1 0 17 " BoxColumn(\n" }{MPLTEXT 1 0 36 " B oxRow(\"Select a method\"),\n" }{MPLTEXT 1 0 17 " BoxRow(\n" } {MPLTEXT 1 0 56 " Button(\"Differentiation\", RunWindow('W2 ')),\n" }{MPLTEXT 1 0 51 " Button(\"Integration\", RunWindo w('W3'))\n" }{MPLTEXT 1 0 11 " )\n" }{MPLTEXT 1 0 8 " )\n " }{MPLTEXT 1 0 6 " ),\n" }{MPLTEXT 1 0 45 " Window['W2']('title'= \"Differentiation\", [\n" }{MPLTEXT 1 0 8 " [\n" }{MPLTEXT 1 0 33 " \"Enter an expression:\",\n" }{MPLTEXT 1 0 28 " T extField['TF1']()\n" }{MPLTEXT 1 0 9 " ],\n" }{MPLTEXT 1 0 8 " \+ [\n" }{MPLTEXT 1 0 86 " Button(\"Differentiate with respect to x\", Evaluate('TF1' = 'diff(TF1, x)')),\n" }{MPLTEXT 1 0 43 " \+ Button(\"Exit\", Shutdown(['TF1']))\n" }{MPLTEXT 1 0 8 " ]\n " }{MPLTEXT 1 0 7 " ]),\n" }{MPLTEXT 1 0 41 " Window['W3']('title' =\"Integration\", [\n" }{MPLTEXT 1 0 8 " [\n" }{MPLTEXT 1 0 32 " \+ \"Enter an integrand:\",\n" }{MPLTEXT 1 0 28 " TextFie ld['TF2']()\n" }{MPLTEXT 1 0 9 " ],\n" }{MPLTEXT 1 0 8 " [\n " }{MPLTEXT 1 0 81 " Button(\"Integrate with respect to x\", E valuate('TF2' = 'int(TF2, x)')),\n" }{MPLTEXT 1 0 43 " Button( \"Exit\", Shutdown(['TF2']))\n" }{MPLTEXT 1 0 8 " ]\n" }{MPLTEXT 1 0 7 " ]),\n" }{MPLTEXT 1 0 33 " Action['A1'](RunWindow('W1'))\n " }{MPLTEXT 1 0 3 "):\n" }{MPLTEXT 1 0 25 "Maplets[Display](maplet);" }}}}{SECT 1 {PARA 5 "" 0 "" {TEXT -1 9 "SetOption" }}{EXCHG {PARA 0 " " 0 "" {TEXT -1 43 "Set a Maplet application option to a value." }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "Maplets[Display]( Maplet( [ \n" }{MPLTEXT 1 0 23 " \"Enter some text:\",\n" }{MPLTEXT 1 0 24 " \+ TextField['B1'](20),\n" }{MPLTEXT 1 0 44 " TextField['B2'](20, 'edi table'='false'),\n" }{MPLTEXT 1 0 5 " [\n" }{MPLTEXT 1 0 75 " B utton(\"Clear 1st Field\", SetOption('target' = 'B1', 'value' = \"\")) ,\n" }{MPLTEXT 1 0 79 " Button(\"Copy to 2nd Field\", SetOption(' target' = 'B2', Argument('B1'))),\n" }{MPLTEXT 1 0 51 " Button(\" Return 2nd Field\", Shutdown(['B2']))\n" }{MPLTEXT 1 0 5 " ]\n" } {MPLTEXT 1 0 6 "] ) );" }}}}{SECT 1 {PARA 5 "" 0 "" {TEXT -1 8 "Shutdo wn" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 108 "Shut the Maplet application down, possibly returning a value or option values within the Maplet a pplication." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 55 "Maplets[Disp lay](Maplet([[Button(\"OK\", Shutdown())]]));" }}}}}{SECT 1 {PARA 4 " " 0 "" {TEXT -1 15 "Layout Elements" }}{SECT 1 {PARA 5 "" 0 "" {TEXT -1 10 "Box Layout" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 187 "A box layout arranges objects in columns or rows. Columns and rows can be nested . Alignment can be fixed in either the horizontal or vertical direction , but never both. A list within a " }{TEXT 323 6 "Window" }{TEXT -1 4 " or " }{TEXT 324 6 "Maplet" }{TEXT -1 39 " element is assumed to be a box layout." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "Maplets[D isplay]( Maplet(\n" }{MPLTEXT 1 0 97 " Window([\"A\", [[\"B\", \"C \"], \"D\", [[\"E\", \"F\", \"G\"], \"H\", \"I\"], \"J\"], Button(\"OK \", Shutdown())])\n" }{MPLTEXT 1 0 4 ") );" }}}}{SECT 1 {PARA 5 "" 0 " " {TEXT -1 11 "Grid Layout" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 83 "A gr id layout allows for a square grid with both vertical and horizontal a lignment." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "Maplets[Displa y]( Maplet(\n" }{MPLTEXT 1 0 91 " Window([GridLayout( [[\"A\", \"B \"], [\"C\", \"D\"], [\"E\", \"F\"]] ), Button(\"OK\", Shutdown())])\n " }{MPLTEXT 1 0 4 ") );" }}}}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 8 "See Also" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }{HYPERLNK 17 "Authoring Maplet Applications for MapleNet" 2 "Maplets/MapleNet" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "Maplets[Elements]" 2 "Maplets[Elements]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "Maplets Style Guide" 2 "examples,Maplet sStyleGuide" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "Overview of Maplet App lications" 2 "MapletsOverview" "" }{TEXT -1 0 "" }}}}}{MARK "0 0 0" 0 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }