home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / x / volume19 / wkshTree / part02 < prev    next >
Text File  |  1993-04-28  |  47KB  |  2,059 lines

  1. Newsgroups: comp.sources.x
  2. From: Eric_Wallengren@univel.com (Eric Wallengren)
  3. Subject: v19i071:  wkshTree - Windowing Korn Shell Widget Tree. Examples of wksh widgets., Part02/02
  4. Message-ID: <1993Apr4.001406.1272@sparky.imd.sterling.com>
  5. X-Md4-Signature: 488020cb97e6c1d41529510b27eadd6f
  6. Date: Sun, 4 Apr 1993 00:14:06 GMT
  7. Approved: chris@sparky.imd.sterling.com
  8.  
  9. Submitted-by: Eric_Wallengren@univel.com (Eric Wallengren)
  10. Posting-number: Volume 19, Issue 71
  11. Archive-name: wkshTree/part02
  12. Environment: X11. wksh
  13.  
  14.  
  15. #!/bin/sh
  16. # This is part 02 of a multipart archive
  17. # ============= Stub ==============
  18. if test -f 'Stub' -a X"$1" != X"-c"; then
  19.     echo 'x - skipping Stub (File already exists)'
  20. else
  21. echo 'x - extracting Stub (Text)'
  22. sed 's/^X//' << 'SHAR_EOF' > 'Stub' &&
  23. Stub()
  24. {
  25. X    cmw POPUP transient transientShell $PANE \\\n
  26. X        title:"Stub"
  27. X
  28. X    cmw RT rubberTile rubberTile $POPUP \\\n
  29. X        orientation:vertical
  30. X
  31. X    cmw CAPTION caption caption $RT \\\n
  32. X        label:"Stub:" \\\n
  33. X        font:OlDefaultBoldFont \\\n
  34. X        position:top \\\n
  35. X        alignment:left    
  36. X
  37. X    cmw STUB stub stub $CAPTION \\\n
  38. X        width:100 \\\n
  39. X        traversalOn:true \\\n
  40. X        shadowThickness:10 \\\n
  41. X        height:25
  42. X
  43. X    cmw OK Ok flatButtons $RT \\\n
  44. X        gravity:center \\\n
  45. X        weight:0 \\\n
  46. X        numItems:1 \\\n
  47. X        numItemFields:1 \\\n
  48. X        itemFields:'{label}' \\\n
  49. X        items:'{Ok}'
  50. X
  51. X    sv $OK selectProc:"PopdownCB $POPUP"
  52. X
  53. X    orh $POPUP "Stub Source" -f `pwd`/Stub
  54. X
  55. X    pu $POPUP GrabNone
  56. }
  57. SHAR_EOF
  58. chmod 0644 Stub ||
  59. echo 'restore of Stub failed'
  60. Wc_c="`wc -c < 'Stub'`"
  61. test 637 -eq "$Wc_c" ||
  62.     echo 'Stub: original size 637, current size' "$Wc_c"
  63. fi
  64. # ============= Text ==============
  65. if test -f 'Text' -a X"$1" != X"-c"; then
  66.     echo 'x - skipping Text (File already exists)'
  67. else
  68. echo 'x - extracting Text (Text)'
  69. sed 's/^X//' << 'SHAR_EOF' > 'Text' &&
  70. Text()
  71. {
  72. X    cps POPUP popupWindowShell popupWindowShell $PANE \\\n
  73. X        title:"WkshTree: Text"
  74. X    
  75. X    acb $POPUP popdownCallback "DestroyCB $POPUP"
  76. X
  77. X    cmw CAPTION caption caption $POPUP_UCA \\\n
  78. X        label:"Text:" \\\n
  79. X        font:OlDefaultBoldFont \\\n
  80. X        position:top \\\n
  81. X        alignment:left
  82. X
  83. X    cmw TEXT text text $CAPTION \\\n
  84. X        width:200 \\\n
  85. X        height:100
  86. X
  87. X    cmw OK Ok $TYPEBUTTON $POPUP_LCA
  88. X
  89. X    orh $POPUP "Text Source" -f `pwd`/Text
  90. X
  91. X    pu $POPUP GrabNone
  92. SHAR_EOF
  93. chmod 0644 Text ||
  94. echo 'restore of Text failed'
  95. Wc_c="`wc -c < 'Text'`"
  96. test 438 -eq "$Wc_c" ||
  97.     echo 'Text: original size 438, current size' "$Wc_c"
  98. fi
  99. # ============= Textedit ==============
  100. if test -f 'Textedit' -a X"$1" != X"-c"; then
  101.     echo 'x - skipping Textedit (File already exists)'
  102. else
  103. echo 'x - extracting Textedit (Text)'
  104. sed 's/^X//' << 'SHAR_EOF' > 'Textedit' &&
  105. Textedit()
  106. {
  107. X    cps POPUP popupWindowShell popupWindowShell $PANE \\\n
  108. X        title:"WkshTree: TextEdit" 
  109. X
  110. X    acb $POPUP popdownCallback "dw $POPUP"
  111. X
  112. X    cmw CAPTION caption caption $POPUP_UCA \\\n
  113. X        label:"TextEdit" \\\n
  114. X        font:OlDefaultBoldFont \\\n
  115. X        position:top \\\n
  116. X        alignment:left
  117. X
  118. X    cmw TEXTEDIT textEdit textEdit $CAPTION \\\n
  119. X        source:"The TextEdit widget displays multi-line text. It can wrap on white space" \\\n
  120. X        width:200 \\\n
  121. X        height:100
  122. X
  123. X    cmw OK Ok flatButtons $POPUP_LCA \\\n
  124. X        numItems:1 \\\n
  125. X        numItemFields:1 \\\n
  126. X        itemFields:'{label}' \\\n
  127. X        items:'{Ok}' 
  128. X
  129. X    sv $OK selectProc:"PopdownCB $POPUP"
  130. X
  131. X    orh $POPUP "TextEdit Source" -f `pwd`/Textedit
  132. X
  133. X    pu $POPUP GrabNone 
  134. }
  135. SHAR_EOF
  136. chmod 0644 Textedit ||
  137. echo 'restore of Textedit failed'
  138. Wc_c="`wc -c < 'Textedit'`"
  139. test 680 -eq "$Wc_c" ||
  140.     echo 'Textedit: original size 680, current size' "$Wc_c"
  141. fi
  142. # ============= Textfield ==============
  143. if test -f 'Textfield' -a X"$1" != X"-c"; then
  144.     echo 'x - skipping Textfield (File already exists)'
  145. else
  146. echo 'x - extracting Textfield (Text)'
  147. sed 's/^X//' << 'SHAR_EOF' > 'Textfield' &&
  148. Textfield()
  149. {
  150. X    cps POPUP popupWindowShell popupWindowShell $PANE \\\n
  151. X        title:"WkshTree: TextField" 
  152. X        
  153. X    acb $POPUP popdownCallback "dw $POPUP"
  154. X
  155. X    cmw CAPTION caption caption $POPUP_UCA \\\n
  156. X        label:"TextField:" \\\n
  157. X        font:OlDefaultBoldFont \\\n
  158. X        position:left
  159. X
  160. X    cmw TEXT textField textField $CAPTION \\\n
  161. X        string:"initial string" \\\n
  162. X        charsVisible:15
  163. X
  164. X    cmw OK Ok flatButtons $POPUP_LCA \\\n
  165. X        numItems:1 \\\n
  166. X        numItemFields:1 \\\n
  167. X        itemFields:'{label}' \\\n
  168. X        items:'{Ok}' 
  169. X
  170. X    sv $OK selectProc:"PopdownCB $POPUP"
  171. X    
  172. X    orh $POPUP "TextField Source" -f `pwd`/Textfield
  173. X
  174. X    pu $POPUP GrabNone
  175. }
  176. SHAR_EOF
  177. chmod 0644 Textfield ||
  178. echo 'restore of Textfield failed'
  179. Wc_c="`wc -c < 'Textfield'`"
  180. test 595 -eq "$Wc_c" ||
  181.     echo 'Textfield: original size 595, current size' "$Wc_c"
  182. fi
  183. # ============= wkshTree ==============
  184. if test -f 'wkshTree' -a X"$1" != X"-c"; then
  185.     echo 'x - skipping wkshTree (File already exists)'
  186. else
  187. echo 'x - extracting wkshTree (Text)'
  188. sed 's/^X//' << 'SHAR_EOF' > 'wkshTree' &&
  189. #! /usr/X/bin/wksh -openlook
  190. X
  191. # wkshTree -          Eric Wallengren Univel 1993, extracted from 
  192. #             widgetTree from USL written by Betty Dall.
  193. #
  194. # A Windowing Korn Shell application used to display all widgets 
  195. # known by wksh and some resources for each of those widgets.
  196. #
  197. # Thanks to Steve Pendergrast and Betty Dall for their
  198. # help in putting this application together.
  199. #
  200. # Most widgets in wkshTree are created by creating a popupWindowShell
  201. # and defining the type of widget created as a child of the 
  202. # popupWindowShell. They follow the following basic outline:
  203. #
  204. #    createWidget WIDGET name widget PARENT \
  205. #        resource:value \
  206. #        resource:value
  207. #
  208. #    help PARENT title -f filename
  209. #    popup popupWindowShell    
  210. #
  211. # where
  212. #
  213. #    createWidget    - createManagedWidget - cmw
  214. #              createPopupShell    - cps
  215. #
  216. #    WIDGET        - name referenced by the shell
  217. #
  218. #    name        - unique name which can be referenced by
  219. #               some resources
  220. #
  221. #    widget        - the widget known to wksh
  222. #
  223. #    PARENT        - the parent widget 
  224. #
  225. #    resource    - the resource to be set
  226. #
  227. #    value        - the value to be applied to the resource
  228. #
  229. #    help        - OlRegisterHelp      - orh
  230. #
  231. #    PARENT        - parent to which attach help, in most cases
  232. #              here, the popupWindowShell
  233. #
  234. #    title        - title to print on help window
  235. #
  236. #    -f filename    - file to include for help, in this example
  237. #              all of the individual widgets would have to 
  238. #              be broken down into individual components
  239. X
  240. # Load widgets unknown to wksh
  241. widload category
  242. widload stub
  243. widload text
  244. X
  245. # Popdown callback. Popdown widget named in arg
  246. PopdownCB()
  247. {
  248. X    pd $1
  249. }
  250. X
  251. # Destroy callback. Destroy widget named in arg
  252. DestroyCB()
  253. {
  254. X    dw $1
  255. }
  256. X
  257. # Usefull for debugging. At needed point in app, make this a callback.
  258. Debug()
  259. {
  260. X    widlist >envfile
  261. X    for i in `widlist -h`
  262. X    do
  263. X        widlist -R $i >>envfile
  264. X    done
  265. }
  266. X
  267. # Create menuShell from button pressed by user
  268. MenuShell()
  269. {
  270. X    cps POPUP "WkshTree:Menu" popupWindowShell $PANE \
  271. X        maxHeight:100 maxWidth:200
  272. X
  273. X    acb $POPUP popdownCallback "PopdownCB $POPUP"
  274. X
  275. X    cps MENUSHELLPOP "Menu" menuShell $POPUP_UCA \
  276. X        pushpin:out
  277. X    cmw TMP ca controlArea $MENUSHELLPOP_MP \
  278. X        layoutType:fixedcols measure:1
  279. X
  280. X    cmw SAVE Save... oblongButton $TMP \
  281. X        buttonType:$BUTTON
  282. X    cmw OPEN Open... oblongButton $TMP \
  283. X        buttonType:$BUTTON
  284. X    cmw PROP Properties... oblongButton $TMP \
  285. X        buttonType:$BUTTON
  286. X    cmw EXIT Exit... oblongButton $TMP \
  287. X        buttonType:$BUTTON
  288. X
  289. X    cmw STRING text staticText $POPUP_UCA \
  290. X        string:"MenuShell: Press MenuButton for menu"
  291. X
  292. X    cmw OK Ok flatButtons $POPUP_LCA \
  293. X        numItems:1 \
  294. X        numItemFields:1 \
  295. X        itemFields:'{label}' \
  296. X        items:'{Ok}' 
  297. X
  298. X    orh $POPUP "MenuShell Source" -f `pwd`/MenuShell
  299. X
  300. X    pu $POPUP GrabNone
  301. }
  302. X
  303. # Create modalShell from button selected by user
  304. Modalshell()
  305. {
  306. X    cps POPUP modalshell modalShell $PANE \
  307. X        emanateWidget:$PANE 
  308. X
  309. X    acb $POPUP popdownCallback "pd $POPUP"
  310. X
  311. X    cmw TEXT staticText staticText $POPUP \
  312. X        string:"Error: ModalShell displays modal messages" \
  313. X        gravity:center
  314. X
  315. X    cmw OK Ok flatButtons $POPUP \
  316. X        numItems:1 \
  317. X        numItemFields:1 \
  318. X        itemFields:'{label}' \
  319. X        items:'{Ok}' 
  320. X
  321. X    sv $OK selectProc:"PopdownCB $POPUP"
  322. X
  323. X    orh $POPUP "ModalShell Source" -f `pwd`/Modalshell
  324. X
  325. X    pu $POPUP GrabExclusive
  326. }
  327. X
  328. # Create noticeShell from button selected by user
  329. NoticeShell()
  330. {
  331. X    cps NOTICE notice noticeShell $PANE \
  332. X        title:"Information Dialog" \
  333. X        noticeType:information \
  334. X        emanateWidget:$PANE
  335. X
  336. X    acb $NOTICE popdownCallback "dw $NOTICE"
  337. X
  338. X    sv $NOTICE_TA string:"Information: NoticeShell displays messages" 
  339. X
  340. X    cmw OK Ok flatButtons $NOTICE_CA \
  341. X        numItems:1 \
  342. X        numItemFields:2 \
  343. X        itemFields:'{label}' \
  344. X        items:'{Ok}'
  345. X
  346. X    orh $NOTICE "NoticeShell Source" -f `pwd`/Noticeshell
  347. X
  348. X    pu $NOTICE GrabExclusive
  349. X    
  350. }
  351. X
  352. # PopupMenuShell not fully implemented with this release but
  353. # provided as part of the wkshTree anyway
  354. PopupMenuShell()
  355. {
  356. X    cps POP PopupMenu popupWindowShell $PANE 
  357. X
  358. X    acb $POP popdownCallback "dw $POP"
  359. X
  360. X    cmw POPCAP PopupMenu caption $POP_UCA \
  361. X        font:OlDefaultBoldFont \
  362. X        label:"PopupMenu:"
  363. X    cmw TEXT text staticText $POPCAP \
  364. X        string:"Press MenuButton for menu"
  365. X
  366. X    cps PMS PopupMenu popupMenuShell $POP \
  367. X        ancestorSensitive:true \
  368. X        title:"PopupMenu" 
  369. X
  370. X    cmw SAVE Save... oblongButton $PMS \
  371. X        buttonType:$BUTTON
  372. X    cmw OPEN Open... oblongButton $PMS \
  373. X        buttonType:$BUTTON
  374. X    cmw PROP Properties... oblongButton $PMS \
  375. X        buttonType:$BUTTON
  376. X    cmw EXIT Exit oblongButton $PMS \
  377. X        buttonType:$BUTTON \
  378. X        select:"pd $PMS"
  379. X    cmw OK Ok flatButtons $POP_LCA \
  380. X        numItems:1 \
  381. X        numItemFields:2 \
  382. X        itemFields:'{label}' \
  383. X        items:'{Ok}'
  384. X
  385. X    orh $POP "PopupMenuShell Source" -f `pwd`/Popupmenushell
  386. X
  387. X    pu $POP GrabNone
  388. }
  389. X
  390. # PopupWindowShell
  391. PopupWindowShell()
  392. {
  393. X    cps POP PopupWindowShell popupWindowShell $PANE \
  394. X        title:"PopupWindowShell"  \
  395. X        apply:" " \
  396. X        reset:" " \
  397. X        resetFactory:" " \
  398. X        setDefaults:" "
  399. X
  400. X    acb $POP popdownCallback "dw $POP"
  401. X
  402. X    cmw CAP1 caption caption $POP_UCA \
  403. X        label:"Bell:"
  404. X
  405. X    cmw CAP1BUT buttons flatButtons $CAP1 \
  406. X        buttonType:rectbtn exclusives:true \
  407. X        numItems:2 itemFields:'{label}' \
  408. X        items:'{On}, {Off}'
  409. X        
  410. X    cmw CAP2 size caption $POP_UCA \
  411. X        label:"Point Size:"
  412. X
  413. X    cmw CAP2BUT buttons flatButtons $CAP2 \
  414. X        buttonType:rectbtn exclusives:true \
  415. X        numItems:7 itemFields:'{label}' \
  416. X        items:'{6}, {8}, {10}, {12}, {14}, {18}, {24}'
  417. X
  418. X    cmw FOOT footer footer $POP_FP \
  419. X        leftFoot:"Left" rightFoot:"Right"
  420. X
  421. X    orh $POP "PopupWindowShell Source" -f `pwd`/Popupwindowshell
  422. X
  423. X    pu $POP GrabNone
  424. }
  425. X
  426. # BulletinBoard
  427. BulletinBoard()
  428. {
  429. X    cps TRANSHELL transient transientShell $PANE \
  430. X        title:"WkshTree: BulletinBoard"
  431. X
  432. X    cmw CAP1 caption caption $TRANSHELL \
  433. X        font:OlDefaultBoldFont \
  434. X        label:"BulletinBoard:" \
  435. X        position:top \
  436. X        alignment:left
  437. X
  438. X    cmw BBOARD bulletinBoard bulletinBoard $CAP1 \
  439. X        width:200 \
  440. X        height:150 \
  441. X        borderWidth:1
  442. X
  443. X    cmw ONE 0x0 staticText $BBOARD \
  444. X        string:"(0,0)"
  445. X
  446. X    cmw TWO 100x100 staticText $BBOARD \
  447. X        string:"(150,100)" \
  448. X        x:100 y:100
  449. X
  450. X    cmw THREE 80x0 staticText $BBOARD \
  451. X        string:"(80,0)" \
  452. X        x:80 y:0
  453. X
  454. X    cmw OK OK flatButtons $BBOARD \
  455. X        x:90 y:130 \
  456. X        numItems:1 \
  457. X        itemFields:'{label}' \
  458. X        items:'{OK}' 
  459. X
  460. X    sv $OK selectProc:"PopdownCB $TRANSHELL"
  461. X    
  462. X    orh $TRANSHELL "BulletinBoard Source" -f `pwd`/Bulletinboard
  463. X
  464. X    pu $TRANSHELL GrabNone
  465. }
  466. X
  467. # Create caption widget
  468. Caption()
  469. {
  470. X    cmw POPCAPTION popupWidget popupWindowShell $PANE \
  471. X        title:"Caption" 
  472. X
  473. X    acb $POPCAPTION popdownCallback "dw $POPCAPTION"
  474. X
  475. X    cmw CAP1 leftcaption caption $POPCAPTION_UCA \
  476. X        label:"Position Left:" \
  477. X        font:OlDefaultBoldFont \
  478. X        position:left \
  479. X        borderWidth:0
  480. X
  481. X    cmw CAP2 rightcaption caption $CAP1 \
  482. X        label:":Position Right" \
  483. X        font:OlDefaultBoldFont \
  484. X        position:right \
  485. X        borderWidth:1
  486. X
  487. X    cmw CAP3 topcaption caption $CAP2 \
  488. X        label:"Position Top:" \
  489. X        font:OlDefaultBoldFont \
  490. X        position:top \
  491. X        borderWidth:1
  492. X
  493. X    cmw CAP4 topcaption caption $CAP3 \
  494. X        label:"Position Bottom:" \
  495. X        font:OlDefaultBoldFont \
  496. X        position:bottom \
  497. X        borderWidth:1
  498. X
  499. X    cmw ABV abbrevmenu abbrevMenuButton $CAP4 
  500. X
  501. X    
  502. X    cmw MENUITEMS menuitems flatButtons $ABV_MP \
  503. X        numItems:3 \
  504. X        itemFields:'{label}' \
  505. X        items:'{Open...}, {Save...}, {Exit}'
  506. X
  507. X    cmw OK Ok flatButtons $POPCAPTION_LCA \
  508. X        numItems:1 \
  509. X        itemFields:'{label}' \
  510. X        items:'{Ok}' 
  511. X
  512. X    orh $POPCAPTION "Caption Source" -f `pwd`/Caption
  513. X
  514. X    pu $POPCAPTION GrabNone 
  515. }
  516. X
  517. #Create Category widget
  518. Category()
  519. {
  520. X    PAGE1_ITEMS="{Red}, {Orange}, {Yellow}, {Green}, {Blue},
  521. X             {Indigo}, {Violet}"
  522. X
  523. X    PAGE2_ITEMS="{Apples}, {Oranges}, {Banannas}, {Grapes},
  524. X             {Watermellon}"
  525. X
  526. X    PAGE3_ITEMS="{Lions}, {Tigers}, {Bears}, {Elephants},
  527. X             {Zebras}, {Monkeys}, {Hippos}, {Deer}, 
  528. X             {Duck Billed Platypus}"
  529. X
  530. X    cps POPUP popup popupWindowShell $PANE \
  531. X        title:"WkshTree: Category"
  532. X
  533. X    cmw CATEGORY category category $POPUP_UCA \
  534. X        categoryLabel:"Category:" \
  535. X        leftFoot:"LeftFoot" \
  536. X        rightFoot:"RightFoot" \
  537. X        showFooter:true
  538. X
  539. X    cmw COLORS colors flatButtons $CATEGORY \
  540. X        pageLabel:"Colors" \
  541. X        layoutType:fixedcols \
  542. X        exclusives:true \
  543. X        buttonType:rectBtn \
  544. X        numItems:7 \
  545. X        numItemFields:1 \
  546. X        itemFields:'{label}' \
  547. X        items:"$PAGE1_ITEMS" 
  548. X
  549. X    cmw FRUITS fruits flatButtons $CATEGORY \
  550. X        pageLabel:"Fruits" \
  551. X        layoutType:fixedcols \
  552. X        exclusives:true \
  553. X        buttonType:rectBtn \
  554. X        numItems:5 \
  555. X        numItemFields:1 \
  556. X        itemFields:'{label}' \
  557. X        items:"$PAGE2_ITEMS"
  558. X    
  559. X    cmw ANIMALS animals flatButtons $CATEGORY \
  560. X        pageLabel:"Animals" \
  561. X        layoutType:fixedcols \
  562. X        exclusives:true \
  563. X        buttonType:rectBtn \
  564. X        numItems:9 \
  565. X        numItemFields:1 \
  566. X        itemFields:'{label}' \
  567. X        items:"$PAGE3_ITEMS" 
  568. X
  569. X    cmw OK Ok flatButtons $POPUP_LCA \
  570. X        numItems:1 \
  571. X        numItemFields:1 \
  572. X        itemFields:'{label}' \
  573. X        items:'{Ok}'
  574. X
  575. X    orh $POPUP "Catogory Source" -f `pwd`/Category
  576. X
  577. X    pu $POPUP GrabNone
  578. }
  579. X
  580. # Create controlArea
  581. ControlArea()
  582. {
  583. X    THEFRUIT="{Apples}, {Oranges}, {Banannas}, {Grapes},
  584. X          {Watermelon}, {Kiwi}"
  585. X
  586. X    THECOLOR="{Red}, {Orange}, {Yellow}, {Green}, {Blue},
  587. X          {Indigo}, {Violet}, {Black}"
  588. X    
  589. X    THEANIMAL="{Lions}, {Tigers}, {Bears}, {Elephants}, 
  590. X           {Zebras}, {Monkeys}, {Hippos}, {Deer},
  591. X           {Duck Billed Platypus}"
  592. X
  593. X    cps POPCONTROLA transientShell transientShell $PANE \
  594. X        title:"WkshTree: ControlArea"
  595. X
  596. X    cmw CAPTION caption caption $POPCONTROLA \
  597. X        label:"ControlArea:" \
  598. X        font:OlDefaultBoldFont \
  599. X        position:top \
  600. X        alignment:left
  601. X
  602. X    cmw CONTROLAREA controlarea controlArea $CAPTION \
  603. X        alignCaptions:true \
  604. X        layoutType:fixedcols \
  605. X        center:true \
  606. X        hSpace:10 
  607. X
  608. X    cmw FRUITS caption caption $CONTROLAREA \
  609. X        label:"Fruits:" 
  610. X
  611. X    cmw FRUITBUTTONS fruitbuttons flatButtons $FRUITS \
  612. X        layoutType:fixedcols \
  613. X        buttonType:rectBtn \
  614. X        exclusives:true \
  615. X        measure:3 \
  616. X        numItems:6 \
  617. X        itemFields:'{label}' \
  618. X        items:"$THEFRUIT" 
  619. X
  620. X    cmw COLORS caption caption $CONTROLAREA \
  621. X        label:"Colors:"
  622. X
  623. X    cmw COLORBUTTONS colorButtons flatButtons $COLORS \
  624. X        layoutType:fixedcols \
  625. X        buttonType:rectBtn \
  626. X        exclusives:true \
  627. X        measure:4 \
  628. X        numItems:8 \
  629. X        itemFields:'{label}' \
  630. X        items:"$THECOLOR" 
  631. X
  632. X    cmw ANIMALS caption caption $CONTROLAREA \
  633. X        label:"Animals:"
  634. X    
  635. X    cmw ANIMALBUTTONS animalButtons flatButtons $ANIMALS \
  636. X        layoutType:fixedcols \
  637. X        buttonType:rectBtn \
  638. X        exclusives:true \
  639. X        measure:3 \
  640. X        numItems:9 \
  641. X        itemFields:'{label}' \
  642. X        items:"$THEANIMAL" 
  643. X
  644. X    cmw OK Ok flatButtons $CONTROLAREA \
  645. X        numItems:1 \
  646. X        itemFields:'{label}' \
  647. X        items:'{Ok}'
  648. X                
  649. X    sv $OK selectProc:"PopdownCB $POPCONTROLA"
  650. X
  651. X    orh $POPCONTROLA "ControlArea Source" -f `pwd`/Controlarea
  652. X
  653. X    pu $POPCONTROLA GrabNone
  654. }
  655. X    
  656. # Create exclusives widget
  657. Exclusives()
  658. {
  659. X    cps POPEXCLUSIVES exclusives popupWindowShell $PANE \
  660. X        title:"Exclusives"
  661. X
  662. X    acb $POPEXCLUSIVES popdownCallback "dw $POPEXCLUSIVES"
  663. X
  664. X    cmw CAPTION caption caption $POPEXCLUSIVES_UCA \
  665. X        label:"Exclusives:" \
  666. X        font:OlDefaultFont
  667. X
  668. X    cmw EXCLUSIVES exclusives exclusives $CAPTION
  669. X
  670. X    cmw ON On rectButton $EXCLUSIVES 
  671. X
  672. X    cmw OFF Off rectButton $EXCLUSIVES 
  673. X
  674. X    cmw OK Ok oblongButton $POPEXCLUSIVES_LCA \
  675. X        buttonType:$BUTTON \
  676. X        select:"pd $POPEXCLUSIVES"
  677. X
  678. X    orh $POPEXCLUSIVES "Exclusives Source" -f `pwd`/Exclusives
  679. X
  680. X    pu $POPEXCLUSIVES GrabNone
  681. }
  682. X
  683. # Create form widget
  684. Form()
  685. {
  686. X    cps POPFORM transientShell transientShell $PANE \
  687. X        title:"WkshTree: Form" 
  688. X
  689. X    cmw CAPTION caption caption $POPFORM \
  690. X        label:"Form:" \
  691. X        position:top \
  692. X        alignment:left 
  693. X
  694. X    cmw FORM form form $CAPTION \
  695. X        width:150 \
  696. X        height:150 \
  697. X        shadowThickness:0
  698. X
  699. X    cmw ATTACHLEFT AttachLeft staticText $FORM \
  700. X        string:"Attach Left" \
  701. X        yOffset:50
  702. X
  703. X    cmw ATTACHTOP AttachTop staticText $FORM \
  704. X        string:"Attach Top" \
  705. X        xRefName:AttachLeft \
  706. X        xAddWidth:true
  707. X
  708. X    cmw ATTACHRIGHT AttachRight staticText $FORM \
  709. X        string:"Attach Right" \
  710. X        xAttachRight:true \
  711. X        xAddWidth:true \
  712. X        xVaryOffset:true \
  713. X        yOffset:50 \
  714. X        xRefName:AttachTop
  715. X
  716. X    cmw OK Ok oblongButton $FORM \
  717. X        buttonType:$BUTTON \
  718. X        yAttachBottom:true \
  719. X        yRefName:AttachTop \
  720. X        yAddHeight:true \
  721. X        yVaryOffset:true \
  722. X        xOffset:85
  723. X
  724. X    sv $OK select:"PopdownCB $POPFORM"
  725. X
  726. X    orh $POPFORM "Form Source" -f `pwd`/Form
  727. X
  728. X    pu $POPFORM GrabNone
  729. }
  730. X
  731. # Create scrollingList widget
  732. ScrollingList()
  733. {
  734. X    THECOLOR="Red Green Blue Orange Purple Pink Black White"
  735. X
  736. X    cps POPUP scrollinglist popupWindowShell $PANE \
  737. X        title:"WkshTree: ScrollingList" 
  738. X
  739. X    acb $POPUP popdownCallback "dw $POPUP"
  740. X
  741. X    cmw CAPTION caption caption $POPUP_UCA \
  742. X        label:"Scrolling List:" 
  743. X
  744. X    cmw SLIST scrollingList scrollingList $CAPTION \
  745. X        viewHeight:3 
  746. X
  747. X    sladd $SLIST $THECOLOR
  748. X
  749. X    cmw OK Ok flatButtons $POPUP_LCA \
  750. X        numItems:1 \
  751. X        numItemFields:1 \
  752. X        itemFields:'{label}' \
  753. X        items:'{Ok}'
  754. X
  755. X    orh $POPUP "ScrollingList Source" -f `pwd`/Scrollinglist
  756. X
  757. X    pu $POPUP GrabNone
  758. }
  759. X
  760. # Create nonexclusives widget
  761. Nonexclusives()
  762. {
  763. X    cps NONEXCPOPUP Nonexclusives popupWindowShell $PANE \
  764. X        title:"FlatNonexclusives" 
  765. X
  766. X    acb $NONEXCPOPUP popdownCallback "dw $NONEXCPOPUP"
  767. X
  768. X    cmw CAPTION caption caption $NONEXCPOPUP_UCA \
  769. X        label:"Nonexclusives"
  770. X
  771. X    cmw NEXC nonexclusives nonexclusives $CAPTION
  772. X
  773. X    cmw RED Red rectButton $NEXC 
  774. X
  775. X    cmw GREEN Green rectButton $NEXC 
  776. X
  777. X    cmw BLUE Blue rectButton $NEXC
  778. X
  779. X    cmw OK Ok oblongButton $NONEXCPOPUP_LCA \
  780. X        buttonType:$BUTTON
  781. X
  782. X    orh $NONEXCPOPUP "Nonexclusives Source" -f `pwd`/Nonexclusives
  783. X
  784. X    pu $NONEXCPOPUP GrabNone
  785. }
  786. X
  787. # Create panes widget
  788. Panes()
  789. {
  790. X    cps POPUP transientShell transientShell $PANE \
  791. X        title:"WkshTree: Panes" 
  792. X
  793. X    cmw CAPTION caption caption $POPUP \
  794. X        label:"Panes:" \
  795. X        font:OlDefaultBoldFont \
  796. X        position:top \
  797. X        alignment:left
  798. X
  799. X    cmw PANES panes panes $CAPTION 
  800. X
  801. X    cmw PANE_0 pane_0 $TYPEBUTTON $PANES \
  802. X        buttonType:$BUTTON \
  803. X        weight:0
  804. X
  805. X    cmw PANE_1 pane_1 $TYPEBUTTON $PANES \
  806. X        buttonType:$BUTTON \
  807. X        weight:1 \
  808. X        refName:"pane_0" \
  809. X        refPosition:bottom 
  810. X
  811. X    cmw PANE_2 pane_2 $TYPEBUTTON $PANES \
  812. X        buttonType:$BUTTON \
  813. X        weight:2 \
  814. X        refName:"pane_1" \
  815. X        refPosition:right
  816. X
  817. X    cmw PANE_3 pane_3 $TYPEBUTTON $PANES \
  818. X        buttonType:$BUTTON \
  819. X        weight:2 \
  820. X        refName:"pane_2" \
  821. X        refPosition:bottom
  822. X
  823. X    cmw OK Ok flatButtons $PANES \
  824. X        numItems:1 \
  825. X        numItemFields:1 \
  826. X        itemFields:'{label}' \
  827. X        items:'{Ok}' \
  828. X        gravity:center
  829. X
  830. X    acb $PANE_0 select "ButtonCB $PANE_0"
  831. X    acb $PANE_1 select "ButtonCB $PANE_1"
  832. X    acb $PANE_2 select "ButtonCB $PANE_2"
  833. X    acb $PANE_3 select "ButtonCB $PANE_3"
  834. X
  835. X    sv $OK selectProc:"PopdownCB $POPUP"
  836. X
  837. X    orh $POPUP "Panes Source" -f `pwd`/Panes
  838. X
  839. X    pu $POPUP GrabNone
  840. }
  841. X
  842. # This is the callback used to reset buttons when running in motif mode
  843. ButtonCB()
  844. {
  845. X    sv $1 set:false
  846. }
  847. X
  848. # Create rubberTile widget
  849. Rubbertile()
  850. {
  851. X    cps POPUP transientShell transientShell $PANE \
  852. X        title:"WkshTree: RubberTile" \
  853. X        sensitive:true
  854. X
  855. X    cmw CAPTION caption caption $POPUP \
  856. X        label:"RubberTile:" \
  857. X        font:OlDefaultBoldFont \
  858. X        position:top \
  859. X        alignment:left
  860. X
  861. X    cmw RUBBERTILE rubberTile rubberTile $CAPTION \
  862. X        orientation:vertical
  863. X
  864. X    cmw WEIGHT_0 weight_0 $TYPEBUTTON $RUBBERTILE \
  865. X        buttonType:$BUTTON \
  866. X        weight:0
  867. X
  868. X    cmw WEIGHT_1 weight_1 $TYPEBUTTON $RUBBERTILE \
  869. X        buttonType:$BUTTON \
  870. X        weight:1
  871. X
  872. X    cmw WEIGHT_2 weight_2 $TYPEBUTTON $RUBBERTILE \
  873. X        buttonType:$BUTTON \
  874. X        weight:2
  875. X
  876. X    cmw RUBBERTILE2 rubberTile2 rubberTile $RUBBERTILE \
  877. X        weight:0 \
  878. X        orientation:horizontal \
  879. X        shadowThickness:0
  880. X    
  881. X    cmw OK Ok flatButtons $RUBBERTILE2 \
  882. X        numItems:1 \
  883. X        numItemFields:1 \
  884. X        itemFields:'{label}' \
  885. X        items:'{Ok}' \
  886. X        weight:0
  887. X
  888. X    acb $WEIGHT_0 select "ButtonCB $WEIGHT_0"
  889. X    acb $WEIGHT_1 select "ButtonCB $WEIGHT_1"
  890. X    acb $WEIGHT_2 select "ButtonCB $WEIGHT_2"
  891. X
  892. X    sv $OK selectProc:"PopdownCB $POPUP"
  893. X
  894. X    orh $POPUP "RubberTile Source" -f `pwd`/Rubbertile
  895. X
  896. X    pu $POPUP GrabNone
  897. }
  898. X
  899. # Create footerPanel widget
  900. Footerpanel()
  901. {
  902. X    cps FOOTERPOPUP Footerpanel transientShell $PANE \
  903. X        title:"WkshTree: FooterPanel" 
  904. X
  905. X    cmw FOOTERPANEL footerpanel footerPanel $FOOTERPOPUP
  906. X
  907. X    cmw OK Ok flatButtons $FOOTERPANEL \
  908. X        gravity:center \
  909. X        numItems:1 \
  910. X        numItemFields:1 \
  911. X        itemFields:'{label}' \
  912. X        items:'{Ok}' 
  913. X
  914. X    sv $OK selectProc:"PopdownCB $FOOTERPOPUP"
  915. X
  916. X    cmw FOOTER footer footer $FOOTERPANEL \
  917. X        leftFoot:"Left Message" \
  918. X        rightFoot:"Right Message"
  919. X
  920. X    orh $FOOTERPOPUP "FooterPanel Source" -f `pwd`/Footerpanel
  921. X
  922. X    pu $FOOTERPOPUP GrabNone
  923. }
  924. X
  925. # This is used to describe how help is put together
  926. Help()
  927. {
  928. X    cps POPUP help popupWindowShell $PANE \
  929. X        title:"WkshTree: Help"
  930. X
  931. X    acb $POPUP popdownCallback "dw $POPUP"
  932. X
  933. X    cmw CAPTION caption caption $POPUP_UCA \
  934. X        font:OlDefaultBoldFont \
  935. X        label:"Help:" 
  936. X
  937. X    cmw TEXT statictext staticText $CAPTION \
  938. X        string:"The Help Widget is not explicitly created and manipulated by an application. The OlRegisterHelp function is used in an application to register a help file, a help string, or a help function that is displayed when the user presses the Hel key (F1).  The Help widget is a shell that contains a magnifying glass to indicate the context, and a TextEdit widget to display the help message. \n\nPosition the curser here and press F1 for help." \
  939. X        alignment:left \
  940. X        width:350 \
  941. X        recomputeSize:false
  942. X
  943. X    cmw OK Ok flatButtons $POPUP_LCA \
  944. X        numItems:1 \
  945. X        numItemFields:1 \
  946. X        itemFields:'{label}' \
  947. X        items:'{Ok}' 
  948. X        
  949. X    orh $POPUP "Help Source" -f `pwd`/Help
  950. X
  951. X    pu $POPUP GrabNone
  952. }
  953. X
  954. # Create flatButtons widget
  955. Flatbuttons()
  956. {
  957. X    LOWER_ITEMS="{Ok}, {Apply}, {Reset}, {Cancel},  {Help}"
  958. X    ONOFF_ITEMS="{On}, {Off}"
  959. X    COLOR_ITEMS="{Red}, {Green}, {Blue}"
  960. X    PERMISSION_ITEMS="{Read}, {Write}, {Execute}"
  961. X
  962. X    MENU_BUTTON_ITEMS="{Flat Menu Button}"
  963. X    MENU_ITEMS="{Menu Item 1}, {Menu Item 2}, {Menu Item 3}"
  964. X    SUB_MENU_ITEMS="{Menu Item 1}"
  965. X
  966. X    cmw POPUP popupWindowShell popupWindowShell $PANE \
  967. X        title:"WkshTree: Flatbuttons"
  968. X
  969. X    acb $POPUP popdownCallback "dw $POPUP"
  970. X
  971. X    cmw BELL bell caption $POPUP_UCA \
  972. X        label:"Bell:"
  973. X
  974. X    cmw ONOFF onoff flatButtons $BELL \
  975. X        buttonType:rectBtn \
  976. X        exclusives:true \
  977. X        numItems:2 \
  978. X        numItemFields:1 \
  979. X        itemFields:'{label}' \
  980. X        items:"$ONOFF_ITEMS"
  981. X
  982. X    cmw COLOR color caption $POPUP_UCA \
  983. X        label:"Color:"
  984. X
  985. X    cmw SIZE size flatButtons $COLOR \
  986. X        buttonType:rectBtn \
  987. X        numItems:3 \
  988. X        numItemFields:1 \
  989. X        itemFields:'{label}' \
  990. X        items:"$COLOR_ITEMS"
  991. X
  992. X    cmw PERMISSION permission caption $POPUP_UCA \
  993. X        label:"Permissions:"
  994. X
  995. X    cmw PERMISSIONS permissions flatButtons $PERMISSION \
  996. X        buttonType:checkbox \
  997. X        numItems:3 \
  998. X        numItemFields:1 \
  999. X        itemFields:'{label}' \
  1000. X        items:"$PERMISSION_ITEMS"
  1001. X
  1002. X    cmw MENU_BUTTON menu_button caption $POPUP_UCA \
  1003. X        label:"Flat Menu Button:"
  1004. X
  1005. X    cmw MENU_BUTTON_ITEM menu_button_item menuButton $MENU_BUTTON \
  1006. X        buttonType:$BUTTON \
  1007. X        label:"Flat Menu Button"
  1008. X
  1009. X    cmw CA controlarea controlArea $MENU_BUTTON_ITEM_MP \
  1010. X        layoutType:fixedcols measure:1
  1011. X
  1012. X    cmw MENU_ITEM menu_items flatButtons $CA \
  1013. X        layoutType:fixedcols \
  1014. X        measure:1 \
  1015. X        numItems:3 \
  1016. X        numItemFields:1 \
  1017. X        itemFields:'{label}' \
  1018. X        items:"$MENU_ITEMS"
  1019. X
  1020. X    cmw OK Ok flatButtons $POPUP_LCA \
  1021. X        numItems:5 \
  1022. X        numItemFields:1 \
  1023. X        itemFields:'{label}' \
  1024. X        items:"$LOWER_ITEMS"
  1025. X
  1026. X    orh $POPUP "FlatButtons Source" -f `pwd`/Flatbuttons
  1027. X
  1028. X    pu $POPUP GrabNone
  1029. }
  1030. X
  1031. # Create flatList widget
  1032. Flatlist()
  1033. {
  1034. X    COLOR_ITEMS="{Red}, {Green}, {Blue}, {Orange}, {Purple},
  1035. X             {Pink}, {Black}, {White}"
  1036. X
  1037. X    cps POPUP popup popupWindowShell $PANE \
  1038. X        title:"WkshTree: FlatList"
  1039. X
  1040. X    cmw CAPTION caption caption $POPUP_UCA \
  1041. X        label:"Flat List:"
  1042. X
  1043. X    cmw SW sw scrolledWindow $CAPTION \
  1044. X        forceVerticalSB:true
  1045. X
  1046. X    cmw FLIST flist flatList $SW \
  1047. X        exclusives:true \
  1048. X        viewHeight:4 \
  1049. X        numItems:8 \
  1050. X        numItemFields:1 \
  1051. X        itemFields:'{label}' \
  1052. X        items:"$COLOR_ITEMS"
  1053. X
  1054. X    cmw OK Ok flatButtons $POPUP_LCA \
  1055. X        numItems:1 \
  1056. X        numItemFields:1 \
  1057. X        itemFields:'{label}' \
  1058. X        items:'{Ok}'
  1059. X
  1060. X    orh $POPUP "FlatList Source" -f `pwd`/Flatlist
  1061. X
  1062. X    pu $POPUP GrabNone
  1063. }
  1064. X
  1065. # Create scrollwdWindow widget
  1066. Scrolledwindow()
  1067. {
  1068. X    cps POPUP popupWindowShell popupWindowShell $PANE \
  1069. X        title:"WkshTree: ScrolledWindow"
  1070. X
  1071. X    acb $POPUP popdownCallback "dw $POPUP"
  1072. X
  1073. X    cmw CAPTION caption caption $POPUP_UCA \
  1074. X        label:"Scrolled Window:" \
  1075. X        font:OlDefaultBoldFont \
  1076. X        position:top \
  1077. X        alignment:left
  1078. X
  1079. X    cmw SCROLLEDWINDOW scrolledwindow scrolledWindow $CAPTION \
  1080. X        recomputeWidth:false \
  1081. X        recomputeHeight:false \
  1082. X        forceHorizontalSB:true \
  1083. X        forceVerticalSB:true 
  1084. X
  1085. X    cmw TEXT textedit textEdit $SCROLLEDWINDOW \
  1086. X        source:"The TextEdit widget displays multi-line text." \
  1087. X        width:200 \
  1088. X        height:200 
  1089. X
  1090. X    cmw OK Ok flatButtons $POPUP_LCA \
  1091. X        numItems:1 \
  1092. X        numItemFields:1 \
  1093. X        itemFields:'{label}' \
  1094. X        items:'{Ok}' 
  1095. X        
  1096. X    sv $OK selectProc:"PopdownCB $POPUP" 
  1097. X
  1098. X    orh $POPUP "ScrolledWindow Source" -f `pwd`/Scrolledwindow
  1099. X
  1100. X    pu $POPUP GrabNone
  1101. }
  1102. X
  1103. # CReate abbreviatedButton widget
  1104. Abbrevbutton()
  1105. {
  1106. X    MENUITEMS="{Restart}, {Cancel}, {Abort}"
  1107. X
  1108. X    cps POPUP popupWindowShell popupWindowShell $PANE \
  1109. X        title:"WkshClass: AbbreviatedMenuButton"
  1110. X
  1111. X    acb $POPUP popdownCallback "pd $POPUP"
  1112. X
  1113. X    cps WINDOW popup popupWindowShell $POPUP \
  1114. X        title:"AbbreviatedButton Window"
  1115. X
  1116. X    cmw CAPTION caption caption $POPUP_UCA \
  1117. X        label:"AbbreviatedButton (Window):" \
  1118. X        font:OlDefaultBoldFont
  1119. X
  1120. X    cmw ABW abbreviatedButton abbreviatedButton $CAPTION \
  1121. X        buttonType:windowBtn \
  1122. X        popupWidget:$WINDOW
  1123. X
  1124. X    cps MENU menu popupMenuShell $POPUP 
  1125. X
  1126. X    cmw BUTTONS buttons flatButtons $MENU \
  1127. X        numItems:3 \
  1128. X        numItemFields:1 \
  1129. X        itemFields:'{label}' \
  1130. X        items:"${MENUITEMS}" 
  1131. X
  1132. X    cmw CAPTION2 caption caption $POPUP_UCA \
  1133. X        label:"AbbreviatedButton (Menu):" \
  1134. X        font:OlDefaultBoldFont
  1135. X
  1136. X    cmw ABWC abbreviatedButton abbreviatedButton $CAPTION2 \
  1137. X        popupWidget:$MENU
  1138. X        
  1139. X    cmw OK Ok flatButtons $POPUP_LCA \
  1140. X        numItems:1 \
  1141. X        numItemFields:1 \
  1142. X        itemFields:'{label}' \
  1143. X        items:'{Ok}' 
  1144. X
  1145. X    sv $OK selectProc:"PopdownCB $POPUP"    
  1146. X
  1147. X    orh $POPUP "AbbreviatedButton Source" -f `pwd`/Abbrevbutton
  1148. X
  1149. X    pu $POPUP GrabNone
  1150. }
  1151. X
  1152. # Create abbreviatedMenuButton widget
  1153. AbbrevMenuButton()
  1154. {
  1155. X    cps POPUP popupWindowShell popupWindowShell $PANE \
  1156. X        title:"AbbreviatedMenuButton"
  1157. X
  1158. X    acb $POPUP popdownCallback "dw $POPUP"
  1159. X
  1160. X    cmw CAPTION caption caption $POPUP_UCA \
  1161. X        label:"AbbreviatedMenuButton:" \
  1162. X        font:OlDefaultBoldFont
  1163. X
  1164. X    cmw ABBREV abbrevMenuButton abbrevMenuButton $CAPTION 
  1165. X        
  1166. X    cmw OPEN Open... oblongButton $ABBREV_MP \
  1167. X        buttonType:$BUTTON
  1168. X
  1169. X    cmw SAVE Save... oblongButton $ABBREV_MP \
  1170. X        buttonType:$BUTTON
  1171. X
  1172. X    cmw EXIT Exit oblongButton $ABBREV_MP \
  1173. X        buttonType:$BUTTON
  1174. X
  1175. X    cmw OK Ok oblongButton $POPUP_LCA \
  1176. X        buttonType:$BUTTON
  1177. X
  1178. X    orh $POPUP "AbbreviatedMenuButton Source" -f `pwd`/Abbrevmenubutton
  1179. X
  1180. X    pu $POPUP GrabNone
  1181. }
  1182. X
  1183. # Create checkBox widget
  1184. Checkbox()
  1185. {
  1186. X    cps POPUP popupWindowShell popupWindowShell $PANE \
  1187. X        title:"Checkbox"
  1188. X
  1189. X    acb $POPUP popdownCallback "dw $POPUP"
  1190. X
  1191. X    cmw CHECKBOX checkbox checkBox $POPUP_UCA \
  1192. X        label:"Checkbox:" \
  1193. X        font:OlDefaultBoldFont \
  1194. X        set:true
  1195. X
  1196. X    cmw OK Ok flatButtons $POPUP_LCA \
  1197. X        numItems:1 \
  1198. X        numItemFields:1 \
  1199. X        itemFields:'{label}' \
  1200. X        items:'{Ok}' 
  1201. X
  1202. X    orh $POPUP "CheckBox Source" -f `pwd`/Checkbox
  1203. X
  1204. X    pu $POPUP GrabNone
  1205. }
  1206. X
  1207. # Create flatCheckBox widget
  1208. Flatcheckbox()
  1209. {
  1210. X    RWXITEMS="{Read}, {Write}, {Execute}"
  1211. X
  1212. X    cps POPUP popupWindowShell popupWindowShell $PANE \
  1213. X        title:"FlatCheckBox"
  1214. X
  1215. X    acb $POPUP popdownCallback "dw $POPUP"
  1216. X
  1217. X    cmw CAPTION caption caption $POPUP_UCA \
  1218. X        label:"FlatCheckBox:"
  1219. X
  1220. X    cmw FLATCBOX perrmission flatCheckBox $CAPTION \
  1221. X        numItems:3 \
  1222. X        numItemFields:1 \
  1223. X        itemFields:'{label}' \
  1224. X        items:"$RWXITEMS" 
  1225. X
  1226. X    cmw OK Ok flatButtons $POPUP_LCA \
  1227. X        numItems:1 \
  1228. X        numItemFields:1 \
  1229. X        itemFields:'{label}' \
  1230. X        items:'{Ok}' 
  1231. X
  1232. X    orh $POPUP "FlatCheckBox Source" -f `pwd`/Flatcheckbox
  1233. X
  1234. X    pu $POPUP GrabNone
  1235. }
  1236. X            
  1237. # Create flatExclusives widget
  1238. Flatexclusives()
  1239. {
  1240. X    ONOFFITEMS="{On}, {Off}"
  1241. X
  1242. X    cps POPUP popupWindowShell popupWindowShell $PANE \
  1243. X        title:"FlatExclusives"
  1244. X
  1245. X    acb $POPUP popdownCallback "dw $POPUP"
  1246. X
  1247. X    cmw EXCLUSIVE exclusive caption $POPUP_UCA \
  1248. X        label:"FlatExclusive:"
  1249. X
  1250. X    cmw ONOFF onoff flatExclusives $EXCLUSIVE \
  1251. X        numItems:2 \
  1252. X        numItemFields:1 \
  1253. X        itemFields:'{label}' \
  1254. X        items:"$ONOFFITEMS" 
  1255. X
  1256. X    cmw OK Ok flatButtons $POPUP_LCA \
  1257. X        numItems:1 \
  1258. X        numItemFields:1 \
  1259. X        itemFields:'{label}' \
  1260. X        items:'{Ok}' 
  1261. X
  1262. X    orh $POPUP "FlatExclusives Source" -f `pwd`/Flatexclusives
  1263. X
  1264. X    pu $POPUP GrabNone
  1265. }
  1266. X
  1267. # Create flatNonexclusives widget
  1268. Flatnonexclusives()
  1269. {
  1270. X    RWXITEMS="{Read}, {Write}, {Execute}"
  1271. X
  1272. X    cps POPUP popupWindowShell popupWindowShell $PANE \
  1273. X        title:"FlatNonexclusives" 
  1274. X
  1275. X    acb $POPUP popdownCallback "dw $POPUP"
  1276. X
  1277. X    cmw CAPTION lights caption $POPUP_UCA \
  1278. X        label:"FlatNonexclusive:"
  1279. X
  1280. X    cmw PERMS permission flatNonexclusives $CAPTION \
  1281. X        numItems:3 \
  1282. X        numItemFields:1 \
  1283. X        itemFields:'{label}' \
  1284. X        items:"$RWXITEMS" 
  1285. X
  1286. X    cmw OK Ok flatButtons $POPUP_LCA \
  1287. X        numItems:1 \
  1288. X        numItemFields:1 \
  1289. X        itemFields:'{label}' \
  1290. X        items:'{Ok}' 
  1291. X
  1292. X    orh $POPUP "FlatNonexclusives Source" -f `pwd`/Flatnonexclusives
  1293. X
  1294. X    pu $POPUP GrabNone
  1295. }
  1296. X
  1297. # Create foorter widget
  1298. Footer()
  1299. {
  1300. X    cps POPUP popupWindowShell popupWindowShell $PANE \
  1301. X        resizeCorners:true \
  1302. X        title:"WkshTree: Footer"
  1303. X
  1304. X    acb $POPUP popdownCallback "dw $POPUP"
  1305. X
  1306. X    sv $POPUP_UCA width:295 
  1307. X
  1308. X    cmw FOOTER footer footer $POPUP_FP \
  1309. X        leftFoot:"Left footer message" \
  1310. X        leftWeight:1 \
  1311. X        rightFoot:"Right footer message" \
  1312. X        rightWeight:1
  1313. X    
  1314. X    cmw OK Ok flatButtons $POPUP_LCA \
  1315. X        numItems:1 \
  1316. X        numItemFields:1 \
  1317. X        itemFields:'{label}' \
  1318. X        items:'{Ok}' 
  1319. X
  1320. X    orh $POPUP "Footer Source" -f `pwd`/Footer
  1321. X
  1322. X    pu $POPUP GrabNone
  1323. }
  1324. X
  1325. Gauge()
  1326. {
  1327. X    cps POPUP popupWindowShell popupWindowShell $PANE \
  1328. X        title:"Gauge" 
  1329. X
  1330. X    acb $POPUP popdownCallback "dw $POPUP"
  1331. X
  1332. X    cmw CAPTION caption caption $POPUP_UCA \
  1333. X        label:"Gauge:" \
  1334. X        font:OlDefaultBoldFont \
  1335. X        position:left
  1336. X
  1337. X    cmw GAUGE gauge gauge $CAPTION \
  1338. X        span:100 \
  1339. X        sliderValue:33 \
  1340. X        minLabel:"0" \
  1341. X        maxLabel:"100" \
  1342. X        ticks:10 \
  1343. X        tickUnit:percent \
  1344. X        showValue:true
  1345. X
  1346. X    cmw OK Ok flatButtons $POPUP_LCA \
  1347. X        numItems:1 \
  1348. X        numItemFields:1 \
  1349. X        itemFields:'{label}' \
  1350. X        items:'{Ok}' 
  1351. X
  1352. X    orh $POPUP "Gauge Source" -f `pwd`/Gauge
  1353. X
  1354. X    pu $POPUP GrabNone
  1355. }
  1356. X
  1357. # Create menuButton widget
  1358. Menubutton()
  1359. {
  1360. X    cps POPUP popupWindowShell popupWindowShell $PANE \
  1361. X        title:"MenuButton"
  1362. X
  1363. X    acb $POPUP popdownCallback "dw $POPUP"
  1364. X
  1365. X    cmw MENUBUTTON menuButton menuButton $POPUP_UCA \
  1366. X        label:"Menu Button Widget" 
  1367. X
  1368. X    cmw OPEN Open... oblongButton $MENUBUTTON_MP \
  1369. X        buttonType:$BUTTON
  1370. X
  1371. X    cmw SAVE Save... oblongButton $MENUBUTTON_MP \
  1372. X        buttonType:$BUTTON
  1373. X
  1374. X    cmw EXIT Exit oblongButton $MENUBUTTON_MP \
  1375. X        buttonType:$BUTTON
  1376. X
  1377. X    cmw OK Ok oblongButton $POPUP_LCA \
  1378. X        buttonType:$BUTTON
  1379. X
  1380. X    orh $POPUP "MenuButton Source" -f `pwd`/Menubutton
  1381. X
  1382. X    pu $POPUP GrabNone
  1383. }
  1384. X
  1385. # Create oblongButton widget
  1386. Oblongbutton()
  1387. {
  1388. X    cps POPUP popupWindowShell popupWindowShell $PANE \
  1389. X        title:"Oblongbutton"
  1390. X
  1391. X    acb $POPUP popdownCallback "dw $POPUP"
  1392. X
  1393. X    cmw OBW "Oblong Button Widget" oblongButton $POPUP_LCA \
  1394. X        buttonType:$BUTTON \
  1395. X        accelerator:"Ctrl<z>"
  1396. X
  1397. X    orh $POPUP "Oblongbutton Source" -f `pwd`/Oblongbutton
  1398. X
  1399. X    pu $POPUP GrabNone
  1400. }
  1401. X
  1402. # Create rectButton widget
  1403. Rectbutton()
  1404. {
  1405. X    cps POPUP popupWindowShell popupWindowShell $PANE \
  1406. X        title:"RectButton"
  1407. X
  1408. X    acb $POPUP popdownCallback "dw $POPUP"
  1409. X
  1410. X    cmw RECTB "Rect Button Widget" rectButton $POPUP_UCA 
  1411. X
  1412. X    cmw OK Ok oblongButton $POPUP_LCA \
  1413. X        buttonType:$BUTTON
  1414. X
  1415. X    orh $POPUP "RectButton Source" -f `pwd`/Rectbutton
  1416. X
  1417. X    pu $POPUP GrabNone
  1418. }
  1419. X
  1420. # Create scrollbar widget
  1421. Scrollbar()
  1422. {
  1423. X    cps POPUP popupWindowShell popupWindowShell $PANE \
  1424. X        title:"Scrollbar"
  1425. X
  1426. X    acb $POPUP popdownCallback "dw $POPUP" 
  1427. X
  1428. X    cmw CAPTION caption caption $POPUP_UCA \
  1429. X        label:"Scrollbar" \
  1430. X        font:OlDefaultBoldFont \
  1431. X        position:left \
  1432. X        width:200
  1433. X
  1434. X    cmw SCROLLBAR scrollbar scrollbar $CAPTION \
  1435. X        height:100 \
  1436. X        proportionLength:40 \
  1437. X        showPage:right \
  1438. X        currentPage:2
  1439. X
  1440. X    cmw OK Ok flatButtons $POPUP_LCA \
  1441. X        numItems:1 \
  1442. X        numItemFields:1 \
  1443. X        itemFields:'{label}' \
  1444. X        items:'{Ok}' 
  1445. X            
  1446. X    orh $POPUP "Scrollbar Source" -f `pwd`/Scrollbar
  1447. X
  1448. X    pu $POPUP GrabNone
  1449. }
  1450. X
  1451. # Create slider widget
  1452. Slider()
  1453. {
  1454. X    cps POPUP popupWindowShell popupWindowShell $PANE \
  1455. X        title:"Slider"
  1456. X
  1457. X    acb $POPUP popdownCallback "dw $POPUP"
  1458. X
  1459. X    cmw CAPTION caption caption $POPUP_UCA \
  1460. X        label:"Slider:" \
  1461. X        font:OlDefaultBoldFont \
  1462. X        position:left
  1463. X
  1464. X    cmw SLIDER slider slider $CAPTION \
  1465. X        span:100 \
  1466. X        sliderValue:33 \
  1467. X        minLabel:0 \
  1468. X        maxLabel:100 \
  1469. X        ticks:10 \
  1470. X        tickUnit:percent \
  1471. X        showValue:true
  1472. X
  1473. X    cmw OK Ok flatButtons $POPUP_LCA \
  1474. X        numItems:1 \
  1475. X        numItemFields:1 \
  1476. X        itemFields:'{label}' \
  1477. X        items:'{Ok}' 
  1478. X
  1479. X    orh $POPUP "Slider Source" -f `pwd`/Slider
  1480. X
  1481. X    pu $POPUP GrabNone
  1482. }
  1483. X
  1484. # Create staticText widget
  1485. Statictext()
  1486. {
  1487. X    cps POPUP popupWindowShell popupWindowShell $PANE \
  1488. X        title:"WkshTree: StaticText" 
  1489. X
  1490. X    acb $POPUP popdownCallback "dw $POPUP"
  1491. X
  1492. X    cmw CAPTION caption caption $POPUP_UCA \
  1493. X        label:"StaticText:" \
  1494. X        font:OlDefaultBoldFont
  1495. X
  1496. X    cmw STEXT1 staticText staticText $CAPTION \
  1497. X        string:"StaticText can be selected and copied.\nEach line cane be centered.\nIt is not editable." \
  1498. X        alignment:center
  1499. X
  1500. X    cmw STEXT2 staticText staticText $POPUP_UCA \
  1501. X        string:"olDefaultFont" \
  1502. X        font:OlDefaultFont \
  1503. X        alignment:center
  1504. X
  1505. X    cmw TEXT3 staticText staticText $POPUP_UCA \
  1506. X        string:"olDefaultBoldFont" \
  1507. X        font:OlDefaultBoldFont \
  1508. X        alignment:center
  1509. X
  1510. X    cmw TEXT4 staticText staticText $POPUP_UCA \
  1511. X        string:"olDefaultFixedFont" \
  1512. X        font:OlDefaultFixedFont \
  1513. X        alignment:center
  1514. X
  1515. X    cmw TEXT5 staticText staticText $POPUP_UCA \
  1516. X        string:"olDefaultItalicFont" \
  1517. X        font:OlDefaultItalicFont \
  1518. X        alignment:center
  1519. X
  1520. X    cmw TEXT6 staticText staticText $POPUP_UCA \
  1521. X        string:"olDefaultBoldItalicFont" \
  1522. X        font:OlDefaultBoldItalicFont \
  1523. X        alignment:center
  1524. X
  1525. X    cmw TEXT7 staticText staticText $POPUP_UCA \
  1526. X        string:"olDefaultNoticeFont" \
  1527. X        font:OlDefaultNoticeFont \
  1528. X        alignment:center
  1529. X
  1530. X    cmw TEXT8 staticText staticText $POPUP_UCA \
  1531. X        string:"xtDefaultFont" \
  1532. X        font:XtDefaultFont \
  1533. X        alignment:center
  1534. X
  1535. X    cmw OK Ok flatButtons $POPUP_LCA \
  1536. X        numItems:1 \
  1537. X        numItemFields:1 \
  1538. X        itemFields:'{label}' \
  1539. X        items:'{Ok}' 
  1540. X
  1541. X    orh $POPUP "StaticText Source" -f `pwd`/Statictext
  1542. X
  1543. X    pu $POPUP GrabNone
  1544. }
  1545. X
  1546. # Used for stub widget
  1547. SeperatorInitialize()
  1548. {
  1549. X    gv $STUB width:w
  1550. X    gv $STUB height:h
  1551. X    XDraw -lin $STUB width $w height $h
  1552. }
  1553. X
  1554. # Create Stub widget
  1555. Stub()
  1556. {
  1557. X    cmw POPUP transient transientShell $PANE \
  1558. X        title:"Stub"
  1559. X
  1560. X    cmw RT rubberTile rubberTile $POPUP \
  1561. X        orientation:vertical
  1562. X
  1563. X    cmw CAPTION caption caption $RT \
  1564. X        label:"Stub:" \
  1565. X        font:OlDefaultBoldFont \
  1566. X        position:top \
  1567. X        alignment:left    
  1568. X
  1569. X    cmw STUB stub stub $CAPTION \
  1570. X        width:100 \
  1571. X        traversalOn:true \
  1572. X        shadowThickness:10 \
  1573. X        height:25
  1574. X
  1575. X    cmw OK Ok flatButtons $RT \
  1576. X        gravity:center \
  1577. X        weight:0 \
  1578. X        numItems:1 \
  1579. X        numItemFields:1 \
  1580. X        itemFields:'{label}' \
  1581. X        items:'{Ok}'
  1582. X
  1583. X    sv $OK selectProc:"PopdownCB $POPUP"
  1584. X
  1585. X    orh $POPUP "Stub Source" -f `pwd`/Stub
  1586. X
  1587. X    pu $POPUP GrabNone
  1588. }
  1589. X
  1590. # Create Text widget
  1591. Text()
  1592. {
  1593. X    cps POPUP popupWindowShell popupWindowShell $PANE \
  1594. X        title:"WkshTree: Text"
  1595. X    
  1596. X    acb $POPUP popdownCallback "DestroyCB $POPUP"
  1597. X
  1598. X    cmw CAPTION caption caption $POPUP_UCA \
  1599. X        label:"Text:" \
  1600. X        font:OlDefaultBoldFont \
  1601. X        position:top \
  1602. X        alignment:left
  1603. X
  1604. X    cmw TEXT text text $CAPTION \
  1605. X        width:200 \
  1606. X        height:100
  1607. X
  1608. X    cmw OK Ok $TYPEBUTTON $POPUP_LCA
  1609. X
  1610. X    orh $POPUP "Text Source" -f `pwd`/Text
  1611. X
  1612. X    pu $POPUP GrabNone
  1613. X
  1614. # Create Textedit widget
  1615. Textedit()
  1616. {
  1617. X    cps POPUP popupWindowShell popupWindowShell $PANE \
  1618. X        title:"WkshTree: TextEdit" 
  1619. X
  1620. X    acb $POPUP popdownCallback "dw $POPUP"
  1621. X
  1622. X    cmw CAPTION caption caption $POPUP_UCA \
  1623. X        label:"TextEdit" \
  1624. X        font:OlDefaultBoldFont \
  1625. X        position:top \
  1626. X        alignment:left
  1627. X
  1628. X    cmw TEXTEDIT textEdit textEdit $CAPTION \
  1629. X        source:"The TextEdit widget displays multi-line text. It can wrap on white space" \
  1630. X        width:200 \
  1631. X        height:100
  1632. X
  1633. X    cmw OK Ok flatButtons $POPUP_LCA \
  1634. X        numItems:1 \
  1635. X        numItemFields:1 \
  1636. X        itemFields:'{label}' \
  1637. X        items:'{Ok}' 
  1638. X
  1639. X    sv $OK selectProc:"PopdownCB $POPUP"
  1640. X
  1641. X    orh $POPUP "TextEdit Source" -f `pwd`/Textedit
  1642. X
  1643. X    pu $POPUP GrabNone 
  1644. }
  1645. X
  1646. # Create Textfield widget
  1647. Textfield()
  1648. {
  1649. X    cps POPUP popupWindowShell popupWindowShell $PANE \
  1650. X        title:"WkshTree: TextField" 
  1651. X        
  1652. X    acb $POPUP popdownCallback "dw $POPUP"
  1653. X
  1654. X    cmw CAPTION caption caption $POPUP_UCA \
  1655. X        label:"TextField:" \
  1656. X        font:OlDefaultBoldFont \
  1657. X        position:left
  1658. X
  1659. X    cmw TEXT textField textField $CAPTION \
  1660. X        string:"initial string" \
  1661. X        charsVisible:15
  1662. X
  1663. X    cmw OK Ok flatButtons $POPUP_LCA \
  1664. X        numItems:1 \
  1665. X        numItemFields:1 \
  1666. X        itemFields:'{label}' \
  1667. X        items:'{Ok}' \
  1668. X
  1669. X    sv $OK selectProc:"PopdownCB $POPUP"
  1670. X    
  1671. X    orh $POPUP "TextField Source" -f `pwd`/Textfield
  1672. X
  1673. X    pu $POPUP GrabNone
  1674. }
  1675. X
  1676. # Create IntegerField widget
  1677. Integerfield()
  1678. {
  1679. X    cps POPUP popupWindowShell popupWindowShell $PANE \
  1680. X        title:"IntegerField"
  1681. X
  1682. X    acb $POPUP popdownCallback "dw $POPUP"
  1683. X
  1684. X    cmw CAPTION caption caption $POPUP_UCA \
  1685. X        label:"IntegerField:" \
  1686. X        font:OlDefaultBoldFont \
  1687. X        position:left
  1688. X
  1689. X    cmw INTFIELD integerField integerField $CAPTION \
  1690. X        value:10 \
  1691. X        charsVisible:3
  1692. X
  1693. X    cmw OK Ok flatButtons $POPUP_LCA \
  1694. X        numItems:1 \
  1695. X        numItemFields:1 \
  1696. X        itemFields:'{label}' \
  1697. X        items:'{Ok}' 
  1698. X
  1699. X    sv $OK selectProc:"PopdownCB $POPUP"
  1700. X
  1701. X    orh $POPUP "IntegerField Source" -f `pwd`/Integerfield
  1702. X
  1703. X    pu $POPUP GrabNone
  1704. }    
  1705. X
  1706. # Create StepField widget
  1707. Stepfield()
  1708. {
  1709. X    NUM=0
  1710. X
  1711. X    MONTHS="January February March April May June July
  1712. X        August September October November December"
  1713. X
  1714. X    for i in `echo $MONTHS`
  1715. X    do
  1716. X        MON[NUM]=$i
  1717. X        ((NUM=$NUM+1))
  1718. X    done
  1719. X
  1720. X    WHERE=0
  1721. X    INC=true
  1722. X
  1723. X    cps POPUP popupWindowShell popupWindowShell $PANE \
  1724. X        title:"StepField:" 
  1725. X
  1726. X    acb $POPUP popdownCallback "dw $POPUP"
  1727. X
  1728. X    cmw CAPTION caption caption $POPUP_UCA \
  1729. X        label:"Stepfield" \
  1730. X        font:OlDefaultBoldFont \
  1731. X        position:left
  1732. X
  1733. X    cmw STEP stepField stepField $CAPTION \
  1734. X        string:"January" \
  1735. X        charsVisible:8 \
  1736. X        canIncrement:true \
  1737. X        canDecrement:false \
  1738. X        displayPosition:1
  1739. X
  1740. X    acb $STEP stepped "SteppedCB $WHERE"
  1741. X
  1742. X    cmw OK Ok flatButtons $POPUP_LCA \
  1743. X        numItems:1 \
  1744. X        numItemFields:1 \
  1745. X        itemFields:'{label}' \
  1746. X        items:'{Ok}' 
  1747. X
  1748. X    sv $OK selectProc:"PopdownCB $POPUP"
  1749. X
  1750. X    orh $POPUP "StepField Source" -f `pwd`/Stepfield
  1751. X    
  1752. X    pu $POPUP GrabNone
  1753. }
  1754. X
  1755. # Callback used for StepField widget
  1756. SteppedCB()
  1757. {
  1758. X
  1759. X    MIN=0
  1760. X    MAX=11
  1761. X
  1762. X    if [[ $INC = "true" ]]
  1763. X    then
  1764. X        ((WHERE=$WHERE+1))
  1765. X    else
  1766. X        ((WHERE=$WHERE-1))
  1767. X    fi
  1768. X    
  1769. X    if [[ $WHERE -eq $MAX ]]
  1770. X    then
  1771. X        INC=false
  1772. X        sv $STEP canDecrement:true
  1773. X        sv $STEP canIncrement:false
  1774. X    fi
  1775. X
  1776. X    if [[ $WHERE -eq $MIN ]]
  1777. X    then
  1778. X        INC=true
  1779. X        sv $STEP canDecrement:false
  1780. X        sv $STEP canIncrement:true
  1781. X    fi
  1782. X
  1783. X    sv $STEP string:"${MON[$WHERE]}"
  1784. X
  1785. }    
  1786. X
  1787. # Create oblongButtonGadget widget
  1788. Oblongbuttongadget()
  1789. {
  1790. X    cps POPUP popupWindowShell popupWindowShell $PANE \
  1791. X        title:"OblongButtonGadget"
  1792. X
  1793. X    acb $POPUP popdownCallback "dw $POPUP"
  1794. X
  1795. X    cmw OBG oblongButtongadget oblongButtonGadget $POPUP_LCA \
  1796. X        label:"Oblong Button Gadget"
  1797. X
  1798. X    orh $POPUP "OblongButtonGadget Source" -f `pwd`/Oblongbuttongadget
  1799. X
  1800. X    pu $POPUP GrabNone
  1801. }
  1802. X
  1803. # Create menuButtonGadget widget
  1804. Menubuttongadget()
  1805. {
  1806. X    cps POPUP popupWindowShell popupWindowShell $PANE \
  1807. X        title:"Menu Button Gadget" 
  1808. X    
  1809. X    acb $POPUP popdownCallback "dw $POPUP"
  1810. X
  1811. X    cmw MENUGADGET menuGadget menuButtonGadget $POPUP_UCA \
  1812. X        label:"Menu Button Gadget"
  1813. X
  1814. X    cmw OPEN Open... oblongButtonGadget $MENUGADGET_MP
  1815. X    
  1816. X    cmw SAVE Save... oblongButtonGadget $MENUGADGET_MP
  1817. X
  1818. X    cmw EXIT Exit oblongButtonGadget $MENUGADGET_MP
  1819. X
  1820. X    cmw OK Ok oblongButtonGadget $POPUP_LCA
  1821. X
  1822. X    orh $POPUP "MenuButtonGadget Source" -f `pwd`/Menubuttongadget
  1823. X
  1824. X    pu $POPUP GrabNone
  1825. }    
  1826. X
  1827. # Callback used for motif metaphore
  1828. BusyCB()
  1829. {
  1830. X    sv $1 busy:true
  1831. }
  1832. X
  1833. # Definitions used for parent panes widget
  1834. CLASS="transientShell core rectObject menuShell modalShell popupMenuShell 
  1835. X       popupWindowShell noticeShell manager primitive bulletinBoard
  1836. X       caption category controlArea exclusives form nonexclusives 
  1837. X       panes scrolledWindow scrollingList abbreviatedButton 
  1838. X       abbreviatedMenuButton checkbox flat footer guage menuButton 
  1839. X       oblongButton rectButton scrollBar slider staticText stub text
  1840. X       textEdit rubberTile footerPanel help flatRowColumn flatButtons
  1841. X       flatList flatCheckBox flatExclusives flatNonexclusives textField
  1842. X       integerField stepField eventObject oblongButtonGadget 
  1843. X       menuButtonGadget"
  1844. X
  1845. REFERENCE="NULL transientShell core transientShell menuShell modalShell
  1846. X       popupMenuShell modalShell core manager manager bulletinBoard            caption category controlArea exclusives form nonexclusives 
  1847. X       panes form primitive abbreviatedButton abbreviatedMenuButton 
  1848. X       checkbox flat
  1849. X       footer guage menuButton oblongButton rectButton scrollBar
  1850. X       slider staticText stub text panes rubberTile footerPanel
  1851. X       flat flatRowColumn flatButtons flatButtons flatCheckBox 
  1852. X       flatExclusives textEdit textField integerField rectObject 
  1853. X       eventObject oblongButtonGadget"
  1854. X
  1855. POSITION="bottom bottom bottom right bottom bottom bottom right right
  1856. X      bottom right bottom bottom bottom bottom bottom bottom bottom
  1857. X      bottom right right bottom bottom bottom bottom bottom bottom
  1858. X      bottom bottom bottom bottom bottom bottom bottom bottom 
  1859. X      right right bottom right right bottom right bottom bottom
  1860. X      right right bottom right right bottom"
  1861. X
  1862. SELECT="NULL NULL NULL MenuShell Modalshell PopupMenuShell 
  1863. X    PopupWindowShell NoticeShell NULL NULL BulletinBoard 
  1864. X    Caption Category ControlArea Exclusives Form Nonexclusives Panes 
  1865. X    Scrolledwindow ScrollingList Abbrevbutton AbbrevMenuButton
  1866. X    Checkbox NULL Footer Gauge Menubutton Oblongbutton Rectbutton
  1867. X    Scrollbar Slider Statictext Stub Text Textedit Rubbertile
  1868. X    Footerpanel Help NULL Flatbuttons Flatlist Flatcheckbox 
  1869. X    Flatexclusives Flatnonexclusives Textfield Integerfield 
  1870. X    Stepfield NULL Oblongbuttongadget Menubuttongadget"
  1871. X
  1872. EXTRA="1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 0 1 0 1 1 1 1 0 0 0
  1873. X       1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0"
  1874. X
  1875. WIDGETID="W5 W6 W7 W8 W9 W10 W11 W12 W13 W14 W15 W16 W17 W18 W19 W20
  1876. X      W21 W22 W23 W24 W25 W26 W27 W28 W29 W30 W31 W32 W33 W34 W35
  1877. X      W36 W37 W38 W39 W40 W41 W42 W43 W44 W45 W46 W47 W48 W49 W50
  1878. X      W51 W52 W53 W54"
  1879. X
  1880. A=0
  1881. X
  1882. # Create arrays from definitions used above
  1883. for i in `echo $CLASS`
  1884. do
  1885. X    Class[$A]=$i
  1886. X    ((A=$A+1))
  1887. done
  1888. X
  1889. A=0
  1890. X
  1891. for i in `echo $REFERENCE`
  1892. do
  1893. X    Reference[$A]=$i
  1894. X    ((A=$A+1))
  1895. done
  1896. X
  1897. A=0
  1898. X
  1899. for i in `echo $POSITION`
  1900. do
  1901. X    Position[$A]=$i
  1902. X    ((A=$A+1))
  1903. done
  1904. X
  1905. A=0
  1906. X
  1907. for i in `echo $SELECT`
  1908. do
  1909. X    Select[$A]=$i
  1910. X    ((A=$A+1))
  1911. done
  1912. X
  1913. A=0
  1914. X
  1915. for i in `echo $EXTRA`
  1916. do
  1917. X    Extra[$A]=$i
  1918. X    ((A=$A+1))
  1919. done
  1920. X
  1921. A=0
  1922. X
  1923. for i in `echo $WIDGETID`
  1924. do
  1925. X    WidgetID[$A]=$i
  1926. X    ((A=$A+1))
  1927. done
  1928. X
  1929. # Initialize the widget hierarchy
  1930. oi TOP wkshTree WkshTree "$@"
  1931. X
  1932. # Create rubberTile widget as child of $TOP
  1933. cmw RUBBER rubber rubberTile $TOP
  1934. X
  1935. # Create widget used for title
  1936. cmw TITLE staticText staticText $RUBBER \
  1937. X    string:"Wksh Widget Class Hierarchy" \
  1938. X    font:OlDefaultNoticeFont \
  1939. X    weight:0
  1940. X
  1941. # Create scrolledWindow to contain definitions for buttons in pane 
  1942. cmw MAINWINDOW scrolledWindow scrolledWindow $RUBBER \
  1943. X    viewWidth:375
  1944. X
  1945. # Create the pane
  1946. cmw PANE pane panes $MAINWINDOW \
  1947. X    shadowThickness:0
  1948. X
  1949. # Set counter to 0
  1950. A=0
  1951. X
  1952. # Test for the type of metaphore running
  1953. if [[ $XGUI = "OPEN_LOOK" ]]
  1954. then
  1955. X    TYPEBUTTON=oblongButton
  1956. X    BUTTON="oblong"
  1957. X    SENSITIVE="true"
  1958. else
  1959. X    TYPEBUTTON=rectButton
  1960. X    BUTTON="rectButton"
  1961. fi
  1962. X
  1963. # Create all buttons, references, names, and types
  1964. # by using arrays defined earlier. Creation of widgets 
  1965. # from these arrays is extremely fast, nearly as fast 
  1966. # as it's "c" counterpart "widgetTree"
  1967. while [[ $A -lt 50 ]]
  1968. do
  1969. X    if [[ "$XGUI" != "OPEN_LOOK" ]]
  1970. X    then
  1971. X        if [[ "${Extra[$A]}" -eq "1" ]]
  1972. X        then
  1973. X            SENSITIVE="true"
  1974. X        else
  1975. X            SENSITIVE="false"
  1976. X        fi
  1977. X    fi
  1978. X
  1979. X    if [[ ${Select[$A]} != "NULL" ]] 
  1980. X    then
  1981. X        typeset -u THECLASS=${Class[$A]}
  1982. X        cmw $THECLASS ${Class[$A]} $TYPEBUTTON $PANE \
  1983. X            buttonType:$BUTTON \
  1984. X            refName:"${Reference[$A]}" \
  1985. X            refPosition:${Position[$A]} \
  1986. X            width:150 \
  1987. X            select:"\"${Select[$A]}\";sv ${WidgetID[$A]} set:false" \
  1988. X            sensitive:$SENSITIVE 
  1989. X
  1990. X    else
  1991. X        cmw ${Class[$A]} ${Class[$A]} rectButton $PANE \
  1992. X            refName:"${Reference[$A]}" \
  1993. X            refPosition:${Position[$A]} \
  1994. X            width:150 \
  1995. X            font:OlDefaultItalicFont \
  1996. X            sensitive:$SENSITIVE 
  1997. X    fi
  1998. X
  1999. # Increment counter 
  2000. ((A=$A+1))
  2001. done
  2002. X
  2003. # Realize widget hierarchy
  2004. rw $TOP
  2005. X
  2006. # Loop processing starts here
  2007. ml
  2008. SHAR_EOF
  2009. chmod 0755 wkshTree ||
  2010. echo 'restore of wkshTree failed'
  2011. Wc_c="`wc -c < 'wkshTree'`"
  2012. test 39051 -eq "$Wc_c" ||
  2013.     echo 'wkshTree: original size 39051, current size' "$Wc_c"
  2014. fi
  2015. # ============= README ==============
  2016. if test -f 'README' -a X"$1" != X"-c"; then
  2017.     echo 'x - skipping README (File already exists)'
  2018. else
  2019. echo 'x - extracting README (Text)'
  2020. sed 's/^X//' << 'SHAR_EOF' > 'README' &&
  2021. Contents -
  2022. X
  2023. wkshTree is an example of widgets known by the Windowing Korn Shell 
  2024. under UnixWare. It is usefull for looking at each widget, and it's 
  2025. resources. The shell script is called "wkshTree", the rest of the 
  2026. files are help files called when pressing the "F1" key. The way it 
  2027. is here, the help files and wkshTree *must* reside in the same 
  2028. directory, and wkshTree *must* be called from the command-line. 
  2029. If you wish to change the location of the helpfiles, copy the help
  2030. files to the location desired then change all occurances of `pwd`
  2031. in "wkshTree" to the absolute pathname of the helpfile. To get 
  2032. help on a particular widget, select the widget, move the mouse to 
  2033. the widget displayed, click once and press "F1".
  2034. X
  2035. Enjoy
  2036. X
  2037. X
  2038. Eric Wallengren
  2039. eric@univel.COM
  2040. SHAR_EOF
  2041. chmod 0664 README ||
  2042. echo 'restore of README failed'
  2043. Wc_c="`wc -c < 'README'`"
  2044. test 767 -eq "$Wc_c" ||
  2045.     echo 'README: original size 767, current size' "$Wc_c"
  2046. fi
  2047. exit 0
  2048.  
  2049.  
  2050.  
  2051. exit 0 # Just in case...
  2052. -- 
  2053.   // chris@IMD.Sterling.COM            | Send comp.sources.x submissions to:
  2054. \X/  Amiga - The only way to fly!      |
  2055.  "It's intuitively obvious to the most |    sources-x@imd.sterling.com
  2056.   casual observer..."                  |
  2057.