arcadia 0.7.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
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 }