arcadia 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. data/README +39 -38
  2. data/bin/arc +3 -0
  3. data/bin/arcadia +0 -1
  4. data/conf/arcadia.conf +54 -35
  5. data/conf/arcadia.init.rb +26 -3
  6. data/conf/arcadia.res.rb +56 -4
  7. data/ext/ae-breakpoints/ae-breakpoints.rb +1 -1
  8. data/ext/ae-dir-projects/ae-dir-projects.rb +113 -45
  9. data/ext/ae-editor/ae-editor.conf +6 -2
  10. data/ext/ae-editor/ae-editor.rb +1009 -616
  11. data/ext/ae-editor/langs/coderay.tokens +40 -0
  12. data/ext/ae-editor/langs/conf.lang +12 -10
  13. data/ext/ae-editor/langs/erb.lang.bind +1 -0
  14. data/ext/ae-editor/langs/java.lang +4 -0
  15. data/ext/ae-editor/langs/rb.lang +25 -55
  16. data/ext/ae-editor/langs/rhtml.lang +4 -0
  17. data/ext/ae-editor/langs/tokens.lang.bind +1 -0
  18. data/ext/ae-editor/langs/xml.lang +4 -0
  19. data/ext/ae-file-history/ae-file-history.rb +140 -32
  20. data/ext/ae-output/ae-output.rb +267 -262
  21. data/ext/ae-rad/ae-rad-inspector.rb +1 -1
  22. data/ext/ae-rad/ae-rad-libs.rb +15 -7
  23. data/ext/ae-rad/ae-rad.conf +4 -4
  24. data/ext/ae-rad/lib/tk/al-tk.rb +4 -3
  25. data/ext/ae-ruby-debug/ae-ruby-debug.conf +4 -2
  26. data/ext/ae-ruby-debug/ae-ruby-debug.rb +40 -15
  27. data/ext/ae-search-in-files/ae-search-in-files.rb +70 -14
  28. data/ext/ae-search-in-files/ext/ack-in-files/ack-in-files.conf +15 -0
  29. data/ext/ae-search-in-files/ext/ack-in-files/ack-in-files.rb +80 -0
  30. data/ext/ae-shell/ae-shell.conf +4 -1
  31. data/ext/ae-shell/ae-shell.rb +78 -43
  32. data/ext/test-shutdown-after-startup/test-shutdown-after-startup.conf +4 -0
  33. data/ext/test-shutdown-after-startup/test-shutdown-after-startup.rb +20 -0
  34. data/lib/a-commons.rb +118 -22
  35. data/lib/a-contracts.rb +46 -2
  36. data/lib/a-core.rb +970 -284
  37. data/lib/a-tkcommons.rb +16 -8
  38. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/ArrowButton.html +0 -0
  39. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/BWidget.html +0 -0
  40. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/Button.html +0 -0
  41. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/ButtonBox.html +0 -0
  42. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/ComboBox.html +0 -0
  43. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/Dialog.html +20 -0
  44. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/DragSite.html +6 -4
  45. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/DropSite.html +15 -3
  46. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/DynamicHelp.html +8 -5
  47. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/Entry.html +0 -0
  48. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/Label.html +0 -0
  49. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/LabelEntry.html +0 -0
  50. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/LabelFrame.html +0 -0
  51. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/ListBox.html +1 -1
  52. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/MainFrame.html +8 -0
  53. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/MessageDlg.html +0 -0
  54. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/NoteBook.html +0 -0
  55. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/PagesManager.html +0 -0
  56. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/PanedWindow.html +21 -5
  57. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/PanelFrame.html +0 -0
  58. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/PasswdDlg.html +0 -0
  59. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/ProgressBar.html +0 -0
  60. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/ProgressDlg.html +0 -0
  61. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/ScrollView.html +0 -0
  62. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/ScrollableFrame.html +5 -2
  63. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/ScrolledWindow.html +36 -4
  64. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/SelectColor.html +0 -0
  65. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/SelectFont.html +0 -0
  66. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/Separator.html +0 -0
  67. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/SpinBox.html +0 -0
  68. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/StatusBar.html +0 -0
  69. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/TitleFrame.html +0 -0
  70. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/Tree.html +21 -31
  71. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/Widget.html +0 -0
  72. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/contents.html +0 -0
  73. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/index.html +0 -0
  74. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/navtree.html +0 -0
  75. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/options.htm +0 -0
  76. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/CHANGES.txt +0 -0
  77. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/ChangeLog +289 -0
  78. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/LICENSE.txt +0 -0
  79. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/README.txt +2 -2
  80. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/arrow.tcl +1 -1
  81. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/bitmap.tcl +0 -0
  82. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/button.tcl +0 -0
  83. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/buttonbox.tcl +23 -12
  84. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/color.tcl +0 -0
  85. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/combobox.tcl +101 -25
  86. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/demo/basic.tcl +0 -0
  87. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/demo/bwidget.xbm +0 -0
  88. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/demo/demo.tcl +1 -1
  89. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/demo/dnd.tcl +0 -0
  90. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/demo/manager.tcl +0 -0
  91. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/demo/select.tcl +0 -0
  92. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/demo/tmpldlg.tcl +0 -0
  93. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/demo/tree.tcl +0 -0
  94. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/demo/x1.xbm +0 -0
  95. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/dialog.tcl +0 -0
  96. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/dragsite.tcl +0 -0
  97. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/dropsite.tcl +2 -1
  98. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/dynhelp.tcl +194 -33
  99. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/entry.tcl +8 -5
  100. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/font.tcl +0 -0
  101. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/bold.gif +0 -0
  102. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/copy.gif +0 -0
  103. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/cut.gif +0 -0
  104. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/dragfile.gif +0 -0
  105. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/dragicon.gif +0 -0
  106. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/error.gif +0 -0
  107. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/file.gif +0 -0
  108. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/folder.gif +0 -0
  109. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/hourglass.gif +0 -0
  110. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/info.gif +0 -0
  111. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/italic.gif +0 -0
  112. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/minus.xbm +0 -0
  113. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/new.gif +0 -0
  114. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/opcopy.xbm +0 -0
  115. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/open.gif +0 -0
  116. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/openfold.gif +0 -0
  117. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/oplink.xbm +0 -0
  118. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/opmove.xbm +0 -0
  119. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/overstrike.gif +0 -0
  120. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/palette.gif +0 -0
  121. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/passwd.gif +0 -0
  122. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/paste.gif +0 -0
  123. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/plus.xbm +0 -0
  124. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/print.gif +0 -0
  125. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/question.gif +0 -0
  126. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/redo.gif +0 -0
  127. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/save.gif +0 -0
  128. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/target.xbm +0 -0
  129. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/underline.gif +0 -0
  130. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/undo.gif +0 -0
  131. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/warning.gif +0 -0
  132. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/init.tcl +0 -0
  133. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/label.tcl +0 -0
  134. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/labelentry.tcl +0 -0
  135. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/labelframe.tcl +0 -0
  136. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/lang/da.rc +0 -0
  137. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/lang/de.rc +0 -0
  138. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/lang/en.rc +0 -0
  139. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/lang/es.rc +0 -0
  140. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/lang/fr.rc +0 -0
  141. data/tcl/BWidget-1.9.0/lang/hu.rc +52 -0
  142. data/tcl/BWidget-1.9.0/lang/nl.rc +52 -0
  143. data/tcl/BWidget-1.9.0/lang/no.rc +52 -0
  144. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/listbox.tcl +89 -34
  145. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/mainframe.tcl +14 -13
  146. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/messagedlg.tcl +0 -0
  147. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/notebook.tcl +3 -1
  148. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/pagesmgr.tcl +0 -0
  149. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/panedw.tcl +22 -18
  150. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/panelframe.tcl +0 -0
  151. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/passwddlg.tcl +7 -3
  152. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/pkgIndex.tcl +2 -2
  153. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/progressbar.tcl +0 -0
  154. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/progressdlg.tcl +0 -0
  155. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/scrollframe.tcl +60 -24
  156. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/scrollview.tcl +0 -0
  157. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/scrollw.tcl +13 -11
  158. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/separator.tcl +0 -0
  159. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/spinbox.tcl +0 -0
  160. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/statusbar.tcl +0 -0
  161. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/tests/entry.test +0 -0
  162. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/titleframe.tcl +0 -0
  163. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/tree.tcl +51 -41
  164. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/utils.tcl +26 -11
  165. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/widget.tcl +53 -19
  166. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/wizard.tcl +0 -0
  167. data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/xpm2image.tcl +0 -0
  168. metadata +170 -145
@@ -1,7 +1,7 @@
1
1
  # ------------------------------------------------------------------------------
2
2
  # entry.tcl
3
3
  # This file is part of Unifix BWidget Toolkit
4
- # $Id: entry.tcl,v 1.21 2004/04/21 22:26:30 hobbs Exp $
4
+ # $Id: entry.tcl,v 1.22 2009/06/10 08:48:06 oehhar Exp $
5
5
  # ------------------------------------------------------------------------------
6
6
  # Index of commands:
7
7
  # - Entry::create
@@ -262,10 +262,13 @@ proc Entry::invoke { path } {
262
262
  # Command Entry::_path_command
263
263
  # ------------------------------------------------------------------------------
264
264
  proc Entry::_path_command { path cmd larg } {
265
- if {[string equal $cmd "configure"] || [string equal $cmd "cget"]} {
266
- return [eval [linsert $larg 0 Entry::$cmd $path]]
267
- } else {
268
- return [eval [linsert $larg 0 $path:cmd $cmd]]
265
+ switch -exact -- $cmd {
266
+ configure - cget - invoke {
267
+ return [eval [linsert $larg 0 Entry::$cmd $path]]
268
+ }
269
+ default {
270
+ return [eval [linsert $larg 0 $path:cmd $cmd]]
271
+ }
269
272
  }
270
273
  }
271
274
 
@@ -0,0 +1,52 @@
1
+ ! ------------------------------------------------------------------------------
2
+ ! hu.rc
3
+ ! This file is part of Unifix BWidget Toolkit
4
+ ! Definition of english resources
5
+ ! ------------------------------------------------------------------------------
6
+
7
+
8
+ ! --- symbolic names of buttons ------------------------------------------------
9
+
10
+ *abortName: &Megszakítás
11
+ *retryName: Új&ra
12
+ *ignoreName: &Kihagyás
13
+ *okName: &OK
14
+ *cancelName: Még&sem
15
+ *yesName: &Igen
16
+ *noName: &Nem
17
+
18
+
19
+ ! --- symbolic names of label of SelectFont dialog ----------------------------
20
+
21
+ *boldName: Félkövér
22
+ *italicName: Dőlt
23
+ *underlineName: Aláhúzott
24
+ *overstrikeName: Felülírás
25
+ *fontName: &Betűtípus
26
+ *sizeName: &Méret
27
+ *styleName: S&tílus
28
+
29
+
30
+ ! --- symbolic names of label of PasswdDlg dialog -----------------------------
31
+
32
+ *loginName: &Felhasználónév
33
+ *passwordName: &Jelszó
34
+
35
+
36
+ ! --- resource for SelectFont dialog ------------------------------------------
37
+
38
+ *SelectFont.title: Betűtípus kiválasztása
39
+ *SelectFont.sampletext: Példaszöveg
40
+
41
+
42
+ ! --- resource for MessageDlg dialog ------------------------------------------
43
+
44
+ *MessageDlg.noneTitle: Üzenet
45
+ *MessageDlg.infoTitle: Információ
46
+ *MessageDlg.questionTitle: Kérdés
47
+ *MessageDlg.warningTitle: Figyelmeztetés
48
+ *MessageDlg.errorTitle: Hiba
49
+
50
+ ! --- resource for PasswdDlg dialog -------------------------------------------
51
+
52
+ *PasswdDlg.title: Add meg a felhasználónevet és a jelszót
@@ -0,0 +1,52 @@
1
+ ! ------------------------------------------------------------------------------
2
+ ! nl.rc
3
+ ! This file is part of Unifix BWidget Toolkit
4
+ ! Definition of Dutch resources
5
+ ! ------------------------------------------------------------------------------
6
+
7
+
8
+ ! --- symbolic names of buttons ------------------------------------------------
9
+
10
+ *abortName: Af&breken
11
+ *retryName: Opnie&uw proberen
12
+ *ignoreName: N&egeren
13
+ *okName: &OK
14
+ *cancelName: &Annuleren
15
+ *yesName: &Ja
16
+ *noName: &Nee
17
+
18
+
19
+ ! --- symbolic names of label of SelectFont dialog ----------------------------
20
+
21
+ *boldName: Vet
22
+ *italicName: Cursief
23
+ *underlineName: Onderstrepen
24
+ *overstrikeName: Doorhalen
25
+ *fontName: &Lettertype
26
+ *sizeName: &Grootte
27
+ *styleName: &Stijl
28
+
29
+
30
+ ! --- symbolic names of label of PasswdDlg dialog -----------------------------
31
+
32
+ *loginName: &Inlognaam
33
+ *passwordName: &Wachtwoord
34
+
35
+
36
+ ! --- resource for SelectFont dialog ------------------------------------------
37
+
38
+ *SelectFont.title: Lettertypeselectie
39
+ *SelectFont.sampletext: Voorbeeldtekst
40
+
41
+
42
+ ! --- resource for MessageDlg dialog ------------------------------------------
43
+
44
+ *MessageDlg.noneTitle: Bericht
45
+ *MessageDlg.infoTitle: Informatie
46
+ *MessageDlg.questionTitle: Vraag
47
+ *MessageDlg.warningTitle: Waarschuwing
48
+ *MessageDlg.errorTitle: Fout
49
+
50
+ ! --- resource for PasswdDlg dialog -------------------------------------------
51
+
52
+ *PasswdDlg.title: Voer inlognaam en wachtwoord in
@@ -0,0 +1,52 @@
1
+ ! ------------------------------------------------------------------------------
2
+ ! no.rc
3
+ ! This file is part of Unifix BWidget Toolkit
4
+ ! Definition of norwegian resources
5
+ ! ------------------------------------------------------------------------------
6
+
7
+
8
+ ! --- symbolic names of buttons ------------------------------------------------
9
+
10
+ *abortName: &Om
11
+ *retryName: &Pr�v igjen
12
+ *ignoreName: &Ignore
13
+ *okName: &OK
14
+ *cancelName: &Avbryt
15
+ *yesName: &Ja
16
+ *noName: &Nei
17
+
18
+
19
+ ! --- symbolic names of label of SelectFont dialog ----------------------------
20
+
21
+ *boldName: Halvfet
22
+ *italicName: Kursiv
23
+ *underlineName: Understreking
24
+ *overstrikeName: Overstryke
25
+ *fontName: &Skrift
26
+ *sizeName: &St�rrelse
27
+ *styleName: St&il
28
+
29
+
30
+ ! --- symbolic names of label of PasswdDlg dialog -----------------------------
31
+
32
+ *loginName: &Logg inn
33
+ *passwordName: &Passord
34
+
35
+
36
+ ! --- resource for SelectFont dialog ------------------------------------------
37
+
38
+ *SelectFont.title: Skriftvalg
39
+ *SelectFont.sampletext: Pr�ve tekst
40
+
41
+
42
+ ! --- resource for MessageDlg dialog ------------------------------------------
43
+
44
+ *MessageDlg.noneTitle: Melding
45
+ *MessageDlg.infoTitle: Informasjon
46
+ *MessageDlg.questionTitle: Sp�rsm�l
47
+ *MessageDlg.warningTitle: Advarsel
48
+ *MessageDlg.errorTitle: Feil
49
+
50
+ ! --- resource for PasswdDlg dialog -------------------------------------------
51
+
52
+ *PasswdDlg.title: Skriv inn logginn og passord
@@ -1,7 +1,7 @@
1
1
  # ----------------------------------------------------------------------------
2
2
  # listbox.tcl
3
3
  # This file is part of Unifix BWidget Toolkit
4
- # $Id: listbox.tcl,v 1.23 2006/03/23 23:32:12 dev_null42a Exp $
4
+ # $Id: listbox.tcl,v 1.29 2009/06/30 16:17:37 oehhar Exp $
5
5
  # ----------------------------------------------------------------------------
6
6
  # Index of commands:
7
7
  # - ListBox::create
@@ -91,7 +91,7 @@ namespace eval ListBox {
91
91
  {-redraw Boolean 1 0}
92
92
  {-multicolumn Boolean 0 0}
93
93
  {-dropovermode Flag "wpi" 0 "wpi"}
94
- {-selectmode Enum none 1 {none single multiple}}
94
+ {-selectmode Enum none 0 {none single multiple}}
95
95
  {-fg Synonym -foreground}
96
96
  {-bg Synonym -background}
97
97
  {-dropcmd String "ListBox::_drag_and_drop" 0}
@@ -176,33 +176,70 @@ proc ListBox::create { path args } {
176
176
  bind $path.c <Key-Up> {ListBox::_keyboard_navigation [winfo parent %W] -1}
177
177
  bind $path.c <Key-Down> {ListBox::_keyboard_navigation [winfo parent %W] 1}
178
178
 
179
- switch -exact -- [Widget::getoption $path -selectmode] {
180
- single {
181
- $path bindText <Button-1> [list ListBox::_mouse_select $path set]
182
- $path bindImage <Button-1> [list ListBox::_mouse_select $path set]
183
- }
184
- multiple {
185
- set cmd ListBox::_multiple_select
186
- $path bindText <Button-1> [list $cmd $path n %x %y]
187
- $path bindText <Shift-Button-1> [list $cmd $path s %x %y]
188
- $path bindText <Control-Button-1> [list $cmd $path c %x %y]
189
-
190
- $path bindImage <Button-1> [list $cmd $path n %x %y]
191
- $path bindImage <Shift-Button-1> [list $cmd $path s %x %y]
192
- $path bindImage <Control-Button-1> [list $cmd $path c %x %y]
193
- }
194
- }
179
+ _configureSelectmode $path [Widget::getoption $path -selectmode]
195
180
 
196
181
  return $path
197
182
  }
198
183
 
199
184
 
185
+ # ----------------------------------------------------------------------------
186
+ # Command ListBox::_configureSelectmode
187
+ # ----------------------------------------------------------------------------
188
+ # Configure the selectmode
189
+ proc ListBox::_configureSelectmode { path selectmode {previous none} } {
190
+ # clear current binding
191
+ switch -exact -- $previous {
192
+ single {
193
+ $path bindText <Button-1> ""
194
+ $path bindImage <Button-1> ""
195
+ }
196
+ multiple {
197
+ $path bindText <Button-1> ""
198
+ $path bindText <Shift-Button-1> ""
199
+ $path bindText <Control-Button-1> ""
200
+
201
+ $path bindImage <Button-1> ""
202
+ $path bindImage <Shift-Button-1> ""
203
+ $path bindImage <Control-Button-1> ""
204
+ }
205
+ }
206
+ # set new bindings
207
+ switch -exact -- $selectmode {
208
+ single {
209
+ $path bindText <Button-1> [list ListBox::_mouse_select $path set]
210
+ $path bindImage <Button-1> [list ListBox::_mouse_select $path set]
211
+ if {1 < [llength [ListBox::selection $path get]]} {
212
+ ListBox::selection $path clear
213
+ }
214
+ }
215
+ multiple {
216
+ set cmd ListBox::_multiple_select
217
+ $path bindText <Button-1> [list $cmd $path n %x %y]
218
+ $path bindText <Shift-Button-1> [list $cmd $path s %x %y]
219
+ $path bindText <Control-Button-1> [list $cmd $path c %x %y]
220
+
221
+ $path bindImage <Button-1> [list $cmd $path n %x %y]
222
+ $path bindImage <Shift-Button-1> [list $cmd $path s %x %y]
223
+ $path bindImage <Control-Button-1> [list $cmd $path c %x %y]
224
+ }
225
+ default {
226
+ if {0 < [llength [ListBox::selection $path get]]} {
227
+ ListBox::selection $path clear
228
+ }
229
+ }
230
+ }
231
+ }
200
232
  # ----------------------------------------------------------------------------
201
233
  # Command ListBox::configure
202
234
  # ----------------------------------------------------------------------------
203
235
  proc ListBox::configure { path args } {
236
+ set selectmodePrevious [Widget::getoption $path -selectmode]
204
237
  set res [Widget::configure $path $args]
205
238
 
239
+ if { [Widget::hasChanged $path -selectmode selectmode] } {
240
+ _configureSelectmode $path $selectmode $selectmodePrevious
241
+ }
242
+
206
243
  set ch1 [expr {[Widget::hasChanged $path -deltay dy] |
207
244
  [Widget::hasChanged $path -padx val] |
208
245
  [Widget::hasChanged $path -multicolumn val]}]
@@ -264,13 +301,14 @@ proc ListBox::insert { path index item args } {
264
301
 
265
302
  set item [Widget::nextIndex $path $item]
266
303
 
267
- if { [lsearch -exact $data(items) $item] != -1 } {
304
+ if {[info exists data(exists,$item)]} {
268
305
  return -code error "item \"$item\" already exists"
269
306
  }
270
307
 
271
308
  Widget::init ListBox::Item $path.$item $args
272
309
 
273
310
  set data(items) [linsert $data(items) $index $item]
311
+ set data(exists,$item) 1
274
312
  set data(upd,create,$item) $item
275
313
 
276
314
  _redraw_idle $path 2
@@ -306,10 +344,10 @@ proc ListBox::multipleinsert { path index args } {
306
344
 
307
345
  set count 0
308
346
  foreach {item iargs} $args {
309
- if { [lsearch -exact $data(items) $item] != -1 } {
347
+ if {[info exists data(exists,$item)]} {
310
348
  return -code error "item \"$item\" already exists"
311
349
  }
312
-
350
+
313
351
  if {$count==0} {
314
352
  Widget::init ListBox::Item $path.$item $iargs
315
353
  set firstpath $path.$item
@@ -318,6 +356,7 @@ proc ListBox::multipleinsert { path index args } {
318
356
  }
319
357
 
320
358
  set data(items) [linsert $data(items) $index $item]
359
+ set data(exists,$item) 1
321
360
  set data(upd,create,$item) $item
322
361
 
323
362
  incr count
@@ -462,6 +501,9 @@ proc ListBox::delete { path args } {
462
501
  set data(items) [lreplace $data(items) $idx $idx]
463
502
  array unset help $item
464
503
  Widget::destroy $path.$item
504
+ if { [info exists data(exists,$item)] } {
505
+ unset data(exists,$item)
506
+ }
465
507
  if { [info exists data(upd,create,$item)] } {
466
508
  unset data(upd,create,$item)
467
509
  } else {
@@ -996,6 +1038,7 @@ proc ListBox::_redraw_items { path } {
996
1038
  set x0 4
997
1039
  set x1 [expr {$x0+$padx}]
998
1040
  set nitem 0
1041
+ set width 0
999
1042
  set drawn {}
1000
1043
  set data(xlist) {}
1001
1044
  if { [Widget::cget $path -multicolumn] } {
@@ -1021,22 +1064,26 @@ proc ListBox::_redraw_items { path } {
1021
1064
  $path.c coords n:$item [expr {$x1+$indent}] $y0
1022
1065
  $path.c coords i:$item [expr {$x0+$indent}] $y0
1023
1066
  }
1067
+ set font [_getoption $path $item -font]
1068
+ set text [Widget::getoption $path.$item -text]
1069
+ set tw [font measure $font $text]
1070
+ if {$tw > $width} { set width $tw }
1024
1071
  incr y0 $dy
1025
1072
  incr nitem
1026
1073
  lappend drawn n:$item
1027
1074
  if { $nitem == $nrows } {
1075
+ set x2 [expr {$x1 + $width}]
1028
1076
  set y0 [expr {$dy/2}]
1029
- set bbox [eval [linsert $drawn 0 $path.c bbox]]
1030
1077
  set drawn {}
1031
- set x0 [expr {[lindex $bbox 2]+$dx}]
1078
+ set x0 [expr {$x2+$dx}]
1032
1079
  set x1 [expr {$x0+$padx}]
1033
1080
  set nitem 0
1034
- lappend data(xlist) [lindex $bbox 2]
1081
+ lappend data(xlist) $x2
1082
+ set width 0
1035
1083
  }
1036
1084
  }
1037
1085
  if { $nitem && $nitem < $nrows } {
1038
- set bbox [eval [linsert $drawn 0 $path.c bbox]]
1039
- lappend data(xlist) [lindex $bbox 2]
1086
+ lappend data(xlist) [expr {$x1 + $width}]
1040
1087
  }
1041
1088
  set data(upd,delete) {}
1042
1089
  $path.c configure -cursor $cursor
@@ -1056,8 +1103,10 @@ proc ListBox::_redraw_selection { path } {
1056
1103
  set multi [Widget::getoption $path -multicolumn]
1057
1104
  foreach id [$path.c find withtag sel] {
1058
1105
  set item [string range [lindex [$path.c gettags $id] 1] 2 end]
1059
- $path.c itemconfigure "n:$item" \
1060
- -fill [_getoption $path $item -foreground]
1106
+ if {-1 == [lsearch -exact $data(upd,delete) $item]} {
1107
+ $path.c itemconfigure "n:$item" \
1108
+ -fill [_getoption $path $item -foreground]
1109
+ }
1061
1110
  }
1062
1111
  $path.c delete sel
1063
1112
  if {$selfill && !$multi} {
@@ -1074,7 +1123,10 @@ proc ListBox::_redraw_selection { path } {
1074
1123
  set tags [list sel s:$item click]
1075
1124
  set id [$path.c create rectangle $bbox \
1076
1125
  -fill $selbg -outline $selbg -tags $tags]
1077
- $path.c itemconfigure "n:$item" -fill $selfg
1126
+ if {$selfg != ""} {
1127
+ # Don't allow an empty fill - that would be transparent
1128
+ $path.c itemconfigure "n:$item" -fill $selfg
1129
+ }
1078
1130
  $path.c lower $id
1079
1131
  $path.c lower b:$item
1080
1132
  }
@@ -1454,7 +1506,7 @@ proc ListBox::_multiple_select { path mode x y idx } {
1454
1506
  set data(sel_anchor) {}
1455
1507
  }
1456
1508
  c {
1457
- set l [_mouse_select $path get]
1509
+ set l [$path selection get]
1458
1510
  if { [lsearch -exact $l $idx] >= 0 } {
1459
1511
  _mouse_select $path remove $idx
1460
1512
  } else {
@@ -1493,15 +1545,16 @@ proc ListBox::_multiple_select { path mode x y idx } {
1493
1545
  # ----------------------------------------------------------------------------
1494
1546
  # Command ListBox::_scroll
1495
1547
  # ----------------------------------------------------------------------------
1496
- proc ListBox::_scroll { path cmd dir } {
1548
+ proc ListBox::_scroll { path scroll} {
1497
1549
  variable $path
1498
1550
  upvar 0 $path data
1499
-
1551
+ set cmd [lindex $scroll 0]
1552
+ set dir [lindex $scroll 1]
1500
1553
  if { ($dir == -1 && [lindex [$path.c $cmd] 0] > 0) ||
1501
1554
  ($dir == 1 && [lindex [$path.c $cmd] 1] < 1) } {
1502
1555
  $path $cmd scroll $dir units
1503
1556
  set data(dnd,afterid) \
1504
- [after 100 [list ListBox::_scroll $path $cmd $dir]]
1557
+ [after 50 [list ListBox::_scroll $path $scroll]]
1505
1558
  } else {
1506
1559
  set data(dnd,afterid) ""
1507
1560
  DropSite::setcursor dot
@@ -1603,10 +1656,12 @@ proc ListBox::_drag_and_drop { path from endItem operation type startItem } {
1603
1656
  "position" {
1604
1657
  set idx $i
1605
1658
  }
1606
-
1607
1659
  "item" {
1608
1660
  set idx [$path index $i]
1609
1661
  }
1662
+ "widget" {
1663
+ set idx [llength $items]
1664
+ }
1610
1665
  }
1611
1666
 
1612
1667
  if {$idx > [$path index $startItem]} { incr idx -1 }