rabbit 0.6.2

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 (620) hide show
  1. data/COPYING +56 -0
  2. data/COPYING.ja +51 -0
  3. data/GPL +340 -0
  4. data/INSTALL.macosx-macports.en +75 -0
  5. data/INSTALL.macosx-macports.ja +101 -0
  6. data/INSTALL.win32.en +74 -0
  7. data/INSTALL.win32.ja +77 -0
  8. data/NEWS.en +337 -0
  9. data/NEWS.ja +338 -0
  10. data/README.en +836 -0
  11. data/README.ja +871 -0
  12. data/Rakefile +82 -0
  13. data/TODO +7 -0
  14. data/bin/rabbirc +86 -0
  15. data/bin/rabbit +759 -0
  16. data/bin/rabbit-command +95 -0
  17. data/bin/rabbit-theme-manager +133 -0
  18. data/bin/rabbit.bat +8 -0
  19. data/bin/rabrick +82 -0
  20. data/data/locale/en/LC_MESSAGES/rabbit.mo +0 -0
  21. data/data/locale/fr/LC_MESSAGES/rabbit.mo +0 -0
  22. data/data/locale/ja/LC_MESSAGES/rabbit.mo +0 -0
  23. data/data/rabbit/image/clear-blue-images/clear-blue-headline-background.png +0 -0
  24. data/data/rabbit/image/clear-blue-images/clear-blue-icon.png +0 -0
  25. data/data/rabbit/image/clear-blue-images/clear-blue-images.rb +0 -0
  26. data/data/rabbit/image/clear-blue-images/property.rb +4 -0
  27. data/data/rabbit/image/cozmixng-images/cozmixchu.png +0 -0
  28. data/data/rabbit/image/cozmixng-images/cozmixng-images.rb +2 -0
  29. data/data/rabbit/image/cozmixng-images/powered-by-cozmixng.png +0 -0
  30. data/data/rabbit/image/cozmixng-images/property.rb +4 -0
  31. data/data/rabbit/image/rabbit-images/blue-item.png +0 -0
  32. data/data/rabbit/image/rabbit-images/close-quote-blue.png +0 -0
  33. data/data/rabbit/image/rabbit-images/close-quote-brown.png +0 -0
  34. data/data/rabbit/image/rabbit-images/close-quote-light-blue.png +0 -0
  35. data/data/rabbit/image/rabbit-images/goal-flag.png +0 -0
  36. data/data/rabbit/image/rabbit-images/green-item.png +0 -0
  37. data/data/rabbit/image/rabbit-images/kame.png +0 -0
  38. data/data/rabbit/image/rabbit-images/lavie-icon.png +0 -0
  39. data/data/rabbit/image/rabbit-images/lavie-with-logo.png +0 -0
  40. data/data/rabbit/image/rabbit-images/lavie.png +0 -0
  41. data/data/rabbit/image/rabbit-images/mini-alice.png +0 -0
  42. data/data/rabbit/image/rabbit-images/mini-horizontal-bar.png +0 -0
  43. data/data/rabbit/image/rabbit-images/mini-kame-taro.png +0 -0
  44. data/data/rabbit/image/rabbit-images/mini-tanu-kitaro.png +0 -0
  45. data/data/rabbit/image/rabbit-images/mini-usa-taro.png +0 -0
  46. data/data/rabbit/image/rabbit-images/mini-usagi.png +0 -0
  47. data/data/rabbit/image/rabbit-images/mini-vertical-bar.png +0 -0
  48. data/data/rabbit/image/rabbit-images/mini-yukidaru-taro.png +0 -0
  49. data/data/rabbit/image/rabbit-images/open-quote-blue.png +0 -0
  50. data/data/rabbit/image/rabbit-images/open-quote-brown.png +0 -0
  51. data/data/rabbit/image/rabbit-images/open-quote-light-blue.png +0 -0
  52. data/data/rabbit/image/rabbit-images/property.rb +4 -0
  53. data/data/rabbit/image/rabbit-images/rabbit-banner-blue.png +0 -0
  54. data/data/rabbit/image/rabbit-images/rabbit-banner-green.png +0 -0
  55. data/data/rabbit/image/rabbit-images/rabbit-banner-heads.png +0 -0
  56. data/data/rabbit/image/rabbit-images/rabbit-banner-pink.png +0 -0
  57. data/data/rabbit/image/rabbit-images/rabbit-banner.png +0 -0
  58. data/data/rabbit/image/rabbit-images/rabbit-banner2.png +0 -0
  59. data/data/rabbit/image/rabbit-images/rabbit-images.rb +2 -0
  60. data/data/rabbit/image/rabbit-images/rabbit-pink-logo.png +0 -0
  61. data/data/rabbit/image/rabbit-images/rabbit-pink-logo2.png +0 -0
  62. data/data/rabbit/image/rabbit-images/red-item.png +0 -0
  63. data/data/rabbit/image/rabbit-images/red-item2.png +0 -0
  64. data/data/rabbit/image/rabbit-images/start-flag.png +0 -0
  65. data/data/rabbit/image/rabbit-images/tanu-kitaro.png +0 -0
  66. data/data/rabbit/image/rabbit-images/usa-taro.png +0 -0
  67. data/data/rabbit/image/rabbit-images/usagi.png +0 -0
  68. data/data/rabbit/image/rabbit-images/yukiusa.png +0 -0
  69. data/data/rabbit/image/ruby-images/property.rb +4 -0
  70. data/data/rabbit/image/ruby-images/ruby-images.rb +2 -0
  71. data/data/rabbit/image/ruby-images/ruby-pink-circle-icon.png +0 -0
  72. data/data/rabbit/image/ruby-images/ruby-pink-circle-logo.png +0 -0
  73. data/data/rabbit/image/ruby-images/ruby-pink-circle-small-icon.png +0 -0
  74. data/data/rabbit/image/ruby-images/ruby-pink-circle.png +0 -0
  75. data/data/rabbit/image/ruby-images/ruby-pink-polygon-icon.png +0 -0
  76. data/data/rabbit/image/ruby-images/ruby-pink-polygon-logo.png +0 -0
  77. data/data/rabbit/image/ruby-images/ruby-pink-polygon-small-icon.png +0 -0
  78. data/data/rabbit/image/ruby-images/ruby-pink-polygon.png +0 -0
  79. data/entities/README +10 -0
  80. data/entities/ent2rb.rb +57 -0
  81. data/entities/isoamsa.ent +167 -0
  82. data/entities/isoamsb.ent +143 -0
  83. data/entities/isoamsc.ent +43 -0
  84. data/entities/isoamsn.ent +114 -0
  85. data/entities/isoamso.ent +73 -0
  86. data/entities/isoamsr.ent +204 -0
  87. data/entities/isobox.ent +61 -0
  88. data/entities/isocyr1.ent +88 -0
  89. data/entities/isocyr2.ent +47 -0
  90. data/entities/isodia.ent +35 -0
  91. data/entities/isogrk3.ent +64 -0
  92. data/entities/isolat1.ent +83 -0
  93. data/entities/isolat2.ent +142 -0
  94. data/entities/isomfrk.ent +75 -0
  95. data/entities/isomopf.ent +49 -0
  96. data/entities/isomscr.ent +75 -0
  97. data/entities/isonum.ent +97 -0
  98. data/entities/isopub.ent +105 -0
  99. data/entities/isotech.ent +182 -0
  100. data/entities/mmlalias.ent +564 -0
  101. data/entities/mmlextra.ent +122 -0
  102. data/lib/rabbit/action.rb +143 -0
  103. data/lib/rabbit/action/basic.rb +304 -0
  104. data/lib/rabbit/action/radio.rb +78 -0
  105. data/lib/rabbit/action/toggle.rb +89 -0
  106. data/lib/rabbit/canvas.rb +760 -0
  107. data/lib/rabbit/comment-canvas.rb +21 -0
  108. data/lib/rabbit/comment/log.rb +74 -0
  109. data/lib/rabbit/console.rb +133 -0
  110. data/lib/rabbit/console/roff.rb +84 -0
  111. data/lib/rabbit/cursor-manager.rb +62 -0
  112. data/lib/rabbit/default-config.rb +16 -0
  113. data/lib/rabbit/dependency-canvas.rb +14 -0
  114. data/lib/rabbit/div/comment-i.erb +7 -0
  115. data/lib/rabbit/div/comment.erb +45 -0
  116. data/lib/rabbit/div/css.erb +1 -0
  117. data/lib/rabbit/div/js.erb +1 -0
  118. data/lib/rabbit/div/log.erb +5 -0
  119. data/lib/rabbit/div/main-i.erb +24 -0
  120. data/lib/rabbit/div/main.css +40 -0
  121. data/lib/rabbit/div/main.erb +33 -0
  122. data/lib/rabbit/div/navi-i.erb +6 -0
  123. data/lib/rabbit/div/navi.erb +6 -0
  124. data/lib/rabbit/div/prototype.js +4320 -0
  125. data/lib/rabbit/div/slide-i.erb +2 -0
  126. data/lib/rabbit/div/slide.erb +5 -0
  127. data/lib/rabbit/div/tofu.rb +309 -0
  128. data/lib/rabbit/element.rb +8 -0
  129. data/lib/rabbit/element/base.rb +499 -0
  130. data/lib/rabbit/element/base/draw-hook.rb +75 -0
  131. data/lib/rabbit/element/block-element.rb +38 -0
  132. data/lib/rabbit/element/block.rb +53 -0
  133. data/lib/rabbit/element/container-element.rb +254 -0
  134. data/lib/rabbit/element/description-list.rb +56 -0
  135. data/lib/rabbit/element/enum-list.rb +33 -0
  136. data/lib/rabbit/element/footnote.rb +32 -0
  137. data/lib/rabbit/element/image-title-slide.rb +18 -0
  138. data/lib/rabbit/element/image.rb +167 -0
  139. data/lib/rabbit/element/index-slide.rb +190 -0
  140. data/lib/rabbit/element/item-list.rb +31 -0
  141. data/lib/rabbit/element/method-list.rb +50 -0
  142. data/lib/rabbit/element/poppler-page.rb +36 -0
  143. data/lib/rabbit/element/poppler-slide.rb +25 -0
  144. data/lib/rabbit/element/poppler-title-slide.rb +23 -0
  145. data/lib/rabbit/element/preformatted.rb +27 -0
  146. data/lib/rabbit/element/slide-element.rb +97 -0
  147. data/lib/rabbit/element/slide.rb +51 -0
  148. data/lib/rabbit/element/table.rb +100 -0
  149. data/lib/rabbit/element/tag.rb +29 -0
  150. data/lib/rabbit/element/text-container-element.rb +104 -0
  151. data/lib/rabbit/element/text-element.rb +59 -0
  152. data/lib/rabbit/element/text-renderer.rb +321 -0
  153. data/lib/rabbit/element/text.rb +82 -0
  154. data/lib/rabbit/element/title-slide.rb +190 -0
  155. data/lib/rabbit/formatter.rb +143 -0
  156. data/lib/rabbit/frame.rb +275 -0
  157. data/lib/rabbit/front.rb +238 -0
  158. data/lib/rabbit/gesture/handler.rb +232 -0
  159. data/lib/rabbit/gesture/processor.rb +118 -0
  160. data/lib/rabbit/gettext.rb +90 -0
  161. data/lib/rabbit/graffiti/config-dialog.rb +57 -0
  162. data/lib/rabbit/graffiti/processor.rb +116 -0
  163. data/lib/rabbit/html/generator.rb +458 -0
  164. data/lib/rabbit/html/template.erb +109 -0
  165. data/lib/rabbit/image.rb +35 -0
  166. data/lib/rabbit/image/base.rb +104 -0
  167. data/lib/rabbit/image/default.rb +27 -0
  168. data/lib/rabbit/image/dia.rb +63 -0
  169. data/lib/rabbit/image/eps.rb +113 -0
  170. data/lib/rabbit/image/gimp.rb +53 -0
  171. data/lib/rabbit/image/pdf.rb +77 -0
  172. data/lib/rabbit/image/svg.rb +78 -0
  173. data/lib/rabbit/info-window.rb +160 -0
  174. data/lib/rabbit/keys.rb +190 -0
  175. data/lib/rabbit/logger.rb +14 -0
  176. data/lib/rabbit/logger/base.rb +129 -0
  177. data/lib/rabbit/logger/gui.rb +172 -0
  178. data/lib/rabbit/logger/stderr.rb +28 -0
  179. data/lib/rabbit/menu.rb +287 -0
  180. data/lib/rabbit/parser.rb +24 -0
  181. data/lib/rabbit/parser/base.rb +20 -0
  182. data/lib/rabbit/parser/ext/anthy.rb +43 -0
  183. data/lib/rabbit/parser/ext/enscript.rb +122 -0
  184. data/lib/rabbit/parser/ext/entity.rb +4178 -0
  185. data/lib/rabbit/parser/ext/escape.rb +18 -0
  186. data/lib/rabbit/parser/ext/image.rb +102 -0
  187. data/lib/rabbit/parser/ext/inline.rb +29 -0
  188. data/lib/rabbit/parser/ext/tex.rb +77 -0
  189. data/lib/rabbit/parser/image.rb +34 -0
  190. data/lib/rabbit/parser/pause-support.rb +32 -0
  191. data/lib/rabbit/parser/pdf.rb +35 -0
  192. data/lib/rabbit/parser/rd.rb +54 -0
  193. data/lib/rabbit/parser/rd/ext/anthy.rb +29 -0
  194. data/lib/rabbit/parser/rd/ext/base.rb +79 -0
  195. data/lib/rabbit/parser/rd/ext/block-verbatim.rb +103 -0
  196. data/lib/rabbit/parser/rd/ext/enscript.rb +24 -0
  197. data/lib/rabbit/parser/rd/ext/entity.rb +38 -0
  198. data/lib/rabbit/parser/rd/ext/image.rb +27 -0
  199. data/lib/rabbit/parser/rd/ext/inline-verbatim.rb +89 -0
  200. data/lib/rabbit/parser/rd/ext/refer.rb +34 -0
  201. data/lib/rabbit/parser/rd/ext/tex.rb +24 -0
  202. data/lib/rabbit/parser/rd/rd2rabbit-lib.rb +424 -0
  203. data/lib/rabbit/parser/rd/rt/rt2rabbit-lib.rb +83 -0
  204. data/lib/rabbit/parser/rd/visitor.rb +56 -0
  205. data/lib/rabbit/parser/wiki.rb +30 -0
  206. data/lib/rabbit/parser/wiki/output.rb +460 -0
  207. data/lib/rabbit/post-setup.rb +8 -0
  208. data/lib/rabbit/pre-clean.rb +2 -0
  209. data/lib/rabbit/pre-distclean.rb +2 -0
  210. data/lib/rabbit/progress.rb +68 -0
  211. data/lib/rabbit/rabbit.rb +222 -0
  212. data/lib/rabbit/renderer.rb +27 -0
  213. data/lib/rabbit/renderer/base.rb +512 -0
  214. data/lib/rabbit/renderer/color.rb +80 -0
  215. data/lib/rabbit/renderer/display.rb +25 -0
  216. data/lib/rabbit/renderer/display/base.rb +93 -0
  217. data/lib/rabbit/renderer/display/button-handler.rb +145 -0
  218. data/lib/rabbit/renderer/display/clutter-embed.rb +634 -0
  219. data/lib/rabbit/renderer/display/comment-drawing-area.rb +173 -0
  220. data/lib/rabbit/renderer/display/comment.rb +194 -0
  221. data/lib/rabbit/renderer/display/cursor.rb +34 -0
  222. data/lib/rabbit/renderer/display/drawing-area-base.rb +395 -0
  223. data/lib/rabbit/renderer/display/drawing-area-primitive.rb +219 -0
  224. data/lib/rabbit/renderer/display/drawing-area-view-only.rb +33 -0
  225. data/lib/rabbit/renderer/display/drawing-area.rb +31 -0
  226. data/lib/rabbit/renderer/display/gesture.rb +94 -0
  227. data/lib/rabbit/renderer/display/gl.rb +98 -0
  228. data/lib/rabbit/renderer/display/graffiti.rb +120 -0
  229. data/lib/rabbit/renderer/display/info.rb +45 -0
  230. data/lib/rabbit/renderer/display/key-handler.rb +303 -0
  231. data/lib/rabbit/renderer/display/magnifier.rb +123 -0
  232. data/lib/rabbit/renderer/display/mask.rb +68 -0
  233. data/lib/rabbit/renderer/display/menu.rb +30 -0
  234. data/lib/rabbit/renderer/display/progress.rb +62 -0
  235. data/lib/rabbit/renderer/display/search.rb +107 -0
  236. data/lib/rabbit/renderer/display/spotlight.rb +117 -0
  237. data/lib/rabbit/renderer/engine.rb +18 -0
  238. data/lib/rabbit/renderer/engine/cairo.rb +438 -0
  239. data/lib/rabbit/renderer/engine/gdk.rb +229 -0
  240. data/lib/rabbit/renderer/gl.rb +176 -0
  241. data/lib/rabbit/renderer/kernel.rb +256 -0
  242. data/lib/rabbit/renderer/pixmap.rb +25 -0
  243. data/lib/rabbit/renderer/pixmap/base.rb +127 -0
  244. data/lib/rabbit/renderer/pixmap/cairo.rb +23 -0
  245. data/lib/rabbit/renderer/pixmap/gdk.rb +29 -0
  246. data/lib/rabbit/renderer/pixmap/gl.rb +46 -0
  247. data/lib/rabbit/renderer/print.rb +31 -0
  248. data/lib/rabbit/renderer/print/base.rb +73 -0
  249. data/lib/rabbit/renderer/print/cairo.rb +130 -0
  250. data/lib/rabbit/renderer/print/layout.rb +123 -0
  251. data/lib/rabbit/renderer/print/multiple.rb +205 -0
  252. data/lib/rabbit/search-window.rb +99 -0
  253. data/lib/rabbit/searcher.rb +106 -0
  254. data/lib/rabbit/soap/base.rb +17 -0
  255. data/lib/rabbit/soap/driver.rb +45 -0
  256. data/lib/rabbit/soap/server.rb +33 -0
  257. data/lib/rabbit/source.rb +14 -0
  258. data/lib/rabbit/source/argf.rb +29 -0
  259. data/lib/rabbit/source/base.rb +164 -0
  260. data/lib/rabbit/source/file.rb +65 -0
  261. data/lib/rabbit/source/hiki.rb +36 -0
  262. data/lib/rabbit/source/memory.rb +41 -0
  263. data/lib/rabbit/source/rwiki.rb +54 -0
  264. data/lib/rabbit/source/slide-share.rb +53 -0
  265. data/lib/rabbit/source/uri.rb +73 -0
  266. data/lib/rabbit/stock.rb +31 -0
  267. data/lib/rabbit/theme-browser.rb +104 -0
  268. data/lib/rabbit/theme-browser/default-tag.yaml +89 -0
  269. data/lib/rabbit/theme-browser/document.rb +200 -0
  270. data/lib/rabbit/theme-browser/ext/block-verbatim.rb +39 -0
  271. data/lib/rabbit/theme-browser/page.rb +133 -0
  272. data/lib/rabbit/theme-browser/rd2document-lib.rb +181 -0
  273. data/lib/rabbit/theme-browser/tag.rb +67 -0
  274. data/lib/rabbit/theme-browser/tree.rb +91 -0
  275. data/lib/rabbit/theme/applier.rb +613 -0
  276. data/lib/rabbit/theme/auto-slide/auto-slide.rb +6 -0
  277. data/lib/rabbit/theme/auto-slide/property.rb +4 -0
  278. data/lib/rabbit/theme/base/base.rb +76 -0
  279. data/lib/rabbit/theme/base/property.rb +4 -0
  280. data/lib/rabbit/theme/blue-bar/blue-bar.rb +93 -0
  281. data/lib/rabbit/theme/blue-bar/property.rb +3 -0
  282. data/lib/rabbit/theme/blue-circle/blue-circle.rb +14 -0
  283. data/lib/rabbit/theme/blue-circle/property.rb +3 -0
  284. data/lib/rabbit/theme/centering-rabbit/centering-rabbit.rb +5 -0
  285. data/lib/rabbit/theme/centering-rabbit/property.rb +3 -0
  286. data/lib/rabbit/theme/clear-blue/clear-blue.rb +100 -0
  287. data/lib/rabbit/theme/clear-blue/property.rb +3 -0
  288. data/lib/rabbit/theme/clock/clock.rb +37 -0
  289. data/lib/rabbit/theme/clock/property.rb +21 -0
  290. data/lib/rabbit/theme/color-circle-block-quote/color-circle-block-quote.rb +26 -0
  291. data/lib/rabbit/theme/color-circle-block-quote/property.rb +4 -0
  292. data/lib/rabbit/theme/color-circle-common/color-circle-common.rb +48 -0
  293. data/lib/rabbit/theme/color-circle-common/property.rb +3 -0
  294. data/lib/rabbit/theme/color-circle-description/color-circle-description.rb +9 -0
  295. data/lib/rabbit/theme/color-circle-description/property.rb +4 -0
  296. data/lib/rabbit/theme/color-circle-foot-text/color-circle-foot-text.rb +14 -0
  297. data/lib/rabbit/theme/color-circle-foot-text/property.rb +4 -0
  298. data/lib/rabbit/theme/color-circle-item-mark/color-circle-item-mark.rb +77 -0
  299. data/lib/rabbit/theme/color-circle-item-mark/property.rb +4 -0
  300. data/lib/rabbit/theme/color-circle-method-list/color-circle-method-list.rb +8 -0
  301. data/lib/rabbit/theme/color-circle-method-list/property.rb +4 -0
  302. data/lib/rabbit/theme/color-circle-preformatted/color-circle-preformatted.rb +5 -0
  303. data/lib/rabbit/theme/color-circle-preformatted/property.rb +4 -0
  304. data/lib/rabbit/theme/color-circle-slide/color-circle-slide.rb +13 -0
  305. data/lib/rabbit/theme/color-circle-slide/property.rb +4 -0
  306. data/lib/rabbit/theme/color-circle-text/color-circle-text.rb +9 -0
  307. data/lib/rabbit/theme/color-circle-text/property.rb +4 -0
  308. data/lib/rabbit/theme/color-circle-title-slide/color-circle-title-slide.rb +27 -0
  309. data/lib/rabbit/theme/color-circle-title-slide/property.rb +4 -0
  310. data/lib/rabbit/theme/color-circle-title-text/color-circle-title-text.rb +7 -0
  311. data/lib/rabbit/theme/color-circle-title-text/property.rb +4 -0
  312. data/lib/rabbit/theme/color-circle/color-circle.rb +40 -0
  313. data/lib/rabbit/theme/color-circle/property.rb +4 -0
  314. data/lib/rabbit/theme/comment/comment.rb +5 -0
  315. data/lib/rabbit/theme/comment/property.rb +3 -0
  316. data/lib/rabbit/theme/cozmixng-powered-by/cozmixng-powered-by.rb +6 -0
  317. data/lib/rabbit/theme/cozmixng-powered-by/property.rb +7 -0
  318. data/lib/rabbit/theme/cozmixng/cozmixng.rb +55 -0
  319. data/lib/rabbit/theme/cozmixng/property.rb +3 -0
  320. data/lib/rabbit/theme/day-white/day-white.rb +14 -0
  321. data/lib/rabbit/theme/day-white/property.rb +3 -0
  322. data/lib/rabbit/theme/default-block-quote/default-block-quote.rb +113 -0
  323. data/lib/rabbit/theme/default-block-quote/property.rb +3 -0
  324. data/lib/rabbit/theme/default-description/default-description.rb +64 -0
  325. data/lib/rabbit/theme/default-description/property.rb +5 -0
  326. data/lib/rabbit/theme/default-foot-text/default-foot-text.rb +52 -0
  327. data/lib/rabbit/theme/default-foot-text/property.rb +3 -0
  328. data/lib/rabbit/theme/default-icon/default-icon.rb +4 -0
  329. data/lib/rabbit/theme/default-icon/property.rb +5 -0
  330. data/lib/rabbit/theme/default-item-mark-setup/default-item-mark-setup.rb +116 -0
  331. data/lib/rabbit/theme/default-item-mark-setup/property.rb +3 -0
  332. data/lib/rabbit/theme/default-item-mark/default-item-mark.rb +92 -0
  333. data/lib/rabbit/theme/default-item-mark/property.rb +4 -0
  334. data/lib/rabbit/theme/default-method-list/default-method-list.rb +6 -0
  335. data/lib/rabbit/theme/default-method-list/property.rb +3 -0
  336. data/lib/rabbit/theme/default-preformatted/default-preformatted.rb +37 -0
  337. data/lib/rabbit/theme/default-preformatted/property.rb +3 -0
  338. data/lib/rabbit/theme/default-slide/default-slide.rb +33 -0
  339. data/lib/rabbit/theme/default-slide/property.rb +3 -0
  340. data/lib/rabbit/theme/default-text/default-text.rb +183 -0
  341. data/lib/rabbit/theme/default-text/property.rb +3 -0
  342. data/lib/rabbit/theme/default-title-slide/default-title-slide.rb +13 -0
  343. data/lib/rabbit/theme/default-title-slide/property.rb +6 -0
  344. data/lib/rabbit/theme/default-title-text/default-title-text.rb +48 -0
  345. data/lib/rabbit/theme/default-title-text/property.rb +3 -0
  346. data/lib/rabbit/theme/default/default.rb +22 -0
  347. data/lib/rabbit/theme/default/property.rb +3 -0
  348. data/lib/rabbit/theme/document.erb +35 -0
  349. data/lib/rabbit/theme/edge-info-toolkit/edge-info-toolkit.rb +77 -0
  350. data/lib/rabbit/theme/edge-info-toolkit/property.rb +3 -0
  351. data/lib/rabbit/theme/emphasize-keyword/emphasize-keyword.rb +16 -0
  352. data/lib/rabbit/theme/emphasize-keyword/property.rb +4 -0
  353. data/lib/rabbit/theme/entry.rb +121 -0
  354. data/lib/rabbit/theme/footer-logo/footer-logo.rb +30 -0
  355. data/lib/rabbit/theme/footer-logo/property.rb +26 -0
  356. data/lib/rabbit/theme/green-circle/green-circle.rb +14 -0
  357. data/lib/rabbit/theme/green-circle/property.rb +3 -0
  358. data/lib/rabbit/theme/headline-logo/headline-logo.rb +24 -0
  359. data/lib/rabbit/theme/headline-logo/property.rb +10 -0
  360. data/lib/rabbit/theme/icon/icon.rb +8 -0
  361. data/lib/rabbit/theme/icon/property.rb +24 -0
  362. data/lib/rabbit/theme/image-slide-number/image-slide-number.rb +111 -0
  363. data/lib/rabbit/theme/image-slide-number/property.rb +64 -0
  364. data/lib/rabbit/theme/image-timer/image-timer.rb +109 -0
  365. data/lib/rabbit/theme/image-timer/property.rb +46 -0
  366. data/lib/rabbit/theme/image-viewer/image-viewer.rb +7 -0
  367. data/lib/rabbit/theme/image-viewer/property.rb +3 -0
  368. data/lib/rabbit/theme/image/image.rb +72 -0
  369. data/lib/rabbit/theme/image/property.rb +3 -0
  370. data/lib/rabbit/theme/lightning-clear-blue/lightning-clear-blue.rb +13 -0
  371. data/lib/rabbit/theme/lightning-clear-blue/property.rb +3 -0
  372. data/lib/rabbit/theme/lightning-rabbit/lightning-rabbit.rb +13 -0
  373. data/lib/rabbit/theme/lightning-rabbit/property.rb +3 -0
  374. data/lib/rabbit/theme/lightning-simple/lightning-simple.rb +60 -0
  375. data/lib/rabbit/theme/lightning-simple/property.rb +3 -0
  376. data/lib/rabbit/theme/lightning-talk-toolkit/lightning-talk-toolkit.rb +171 -0
  377. data/lib/rabbit/theme/lightning-talk-toolkit/property.rb +3 -0
  378. data/lib/rabbit/theme/lightning-talk/lightning-talk.rb +65 -0
  379. data/lib/rabbit/theme/lightning-talk/property.rb +3 -0
  380. data/lib/rabbit/theme/manager.rb +35 -0
  381. data/lib/rabbit/theme/mirror-effect/mirror-effect.rb +27 -0
  382. data/lib/rabbit/theme/mirror-effect/property.rb +3 -0
  383. data/lib/rabbit/theme/newline-in-slides/newline-in-slides.rb +3 -0
  384. data/lib/rabbit/theme/newline-in-slides/property.rb +4 -0
  385. data/lib/rabbit/theme/newline-in-title/newline-in-title.rb +7 -0
  386. data/lib/rabbit/theme/newline-in-title/property.rb +4 -0
  387. data/lib/rabbit/theme/night-black/night-black.rb +25 -0
  388. data/lib/rabbit/theme/night-black/property.rb +3 -0
  389. data/lib/rabbit/theme/pdf-tortoise-and-hare/pdf-tortoise-and-hare.rb +18 -0
  390. data/lib/rabbit/theme/pdf-tortoise-and-hare/property.rb +3 -0
  391. data/lib/rabbit/theme/pdf/pdf.rb +4 -0
  392. data/lib/rabbit/theme/pdf/property.rb +3 -0
  393. data/lib/rabbit/theme/powered-by/powered-by.rb +67 -0
  394. data/lib/rabbit/theme/powered-by/property.rb +24 -0
  395. data/lib/rabbit/theme/rabbit-block-quote/property.rb +4 -0
  396. data/lib/rabbit/theme/rabbit-block-quote/rabbit-block-quote.rb +16 -0
  397. data/lib/rabbit/theme/rabbit-headline-logo/property.rb +5 -0
  398. data/lib/rabbit/theme/rabbit-headline-logo/rabbit-headline-logo.rb +4 -0
  399. data/lib/rabbit/theme/rabbit-icon/property.rb +5 -0
  400. data/lib/rabbit/theme/rabbit-icon/rabbit-icon.rb +4 -0
  401. data/lib/rabbit/theme/rabbit-item-mark/property.rb +5 -0
  402. data/lib/rabbit/theme/rabbit-item-mark/rabbit-item-mark.rb +53 -0
  403. data/lib/rabbit/theme/rabbit-powered-by/property.rb +7 -0
  404. data/lib/rabbit/theme/rabbit-powered-by/rabbit-powered-by.rb +5 -0
  405. data/lib/rabbit/theme/rabbit-title-logo/property.rb +5 -0
  406. data/lib/rabbit/theme/rabbit-title-logo/rabbit-title-logo.rb +4 -0
  407. data/lib/rabbit/theme/rabbit/property.rb +3 -0
  408. data/lib/rabbit/theme/rabbit/rabbit.rb +63 -0
  409. data/lib/rabbit/theme/red-frame/property.rb +3 -0
  410. data/lib/rabbit/theme/red-frame/red-frame.rb +96 -0
  411. data/lib/rabbit/theme/rotate-zoom-effect/property.rb +4 -0
  412. data/lib/rabbit/theme/rotate-zoom-effect/rotate-zoom-effect.rb +51 -0
  413. data/lib/rabbit/theme/ruby-gnome2-description/property.rb +7 -0
  414. data/lib/rabbit/theme/ruby-gnome2-description/ruby-gnome2-description.rb +7 -0
  415. data/lib/rabbit/theme/ruby-gnome2-foot-text/property.rb +5 -0
  416. data/lib/rabbit/theme/ruby-gnome2-foot-text/ruby-gnome2-foot-text.rb +3 -0
  417. data/lib/rabbit/theme/ruby-gnome2-headline/property.rb +7 -0
  418. data/lib/rabbit/theme/ruby-gnome2-headline/ruby-gnome2-headline.rb +47 -0
  419. data/lib/rabbit/theme/ruby-gnome2-icon/property.rb +5 -0
  420. data/lib/rabbit/theme/ruby-gnome2-icon/ruby-gnome2-icon.rb +4 -0
  421. data/lib/rabbit/theme/ruby-gnome2-item-mark/property.rb +10 -0
  422. data/lib/rabbit/theme/ruby-gnome2-item-mark/ruby-gnome2-item-mark.rb +65 -0
  423. data/lib/rabbit/theme/ruby-gnome2-preformatted/property.rb +4 -0
  424. data/lib/rabbit/theme/ruby-gnome2-preformatted/ruby-gnome2-preformatted.rb +8 -0
  425. data/lib/rabbit/theme/ruby-gnome2-slide/property.rb +4 -0
  426. data/lib/rabbit/theme/ruby-gnome2-slide/ruby-gnome2-slide.rb +40 -0
  427. data/lib/rabbit/theme/ruby-gnome2/property.rb +3 -0
  428. data/lib/rabbit/theme/ruby-gnome2/ruby-gnome2.rb +61 -0
  429. data/lib/rabbit/theme/scroll-effect/property.rb +3 -0
  430. data/lib/rabbit/theme/scroll-effect/scroll-effect.rb +32 -0
  431. data/lib/rabbit/theme/searcher.rb +120 -0
  432. data/lib/rabbit/theme/show-frame/property.rb +16 -0
  433. data/lib/rabbit/theme/show-frame/show-frame.rb +17 -0
  434. data/lib/rabbit/theme/simple-item-mark/property.rb +5 -0
  435. data/lib/rabbit/theme/simple-item-mark/simple-item-mark.rb +112 -0
  436. data/lib/rabbit/theme/slide-background-image/property.rb +10 -0
  437. data/lib/rabbit/theme/slide-background-image/slide-background-image.rb +25 -0
  438. data/lib/rabbit/theme/slide-background/property.rb +6 -0
  439. data/lib/rabbit/theme/slide-background/slide-background.rb +3 -0
  440. data/lib/rabbit/theme/slide-footer-info/property.rb +43 -0
  441. data/lib/rabbit/theme/slide-footer-info/slide-footer-info.rb +42 -0
  442. data/lib/rabbit/theme/slide-header-info/property.rb +43 -0
  443. data/lib/rabbit/theme/slide-header-info/slide-header-info.rb +42 -0
  444. data/lib/rabbit/theme/slide-logo/property.rb +26 -0
  445. data/lib/rabbit/theme/slide-logo/slide-logo.rb +30 -0
  446. data/lib/rabbit/theme/slide-number/property.rb +21 -0
  447. data/lib/rabbit/theme/slide-number/slide-number.rb +28 -0
  448. data/lib/rabbit/theme/slide-show/property.rb +4 -0
  449. data/lib/rabbit/theme/slide-show/slide-show.rb +31 -0
  450. data/lib/rabbit/theme/table/property.rb +3 -0
  451. data/lib/rabbit/theme/table/table.rb +169 -0
  452. data/lib/rabbit/theme/timer/property.rb +3 -0
  453. data/lib/rabbit/theme/timer/timer.rb +63 -0
  454. data/lib/rabbit/theme/title-background-color/property.rb +10 -0
  455. data/lib/rabbit/theme/title-background-color/title-background-color.rb +17 -0
  456. data/lib/rabbit/theme/title-background-image/property.rb +11 -0
  457. data/lib/rabbit/theme/title-background-image/title-background-image.rb +25 -0
  458. data/lib/rabbit/theme/title-logo/property.rb +23 -0
  459. data/lib/rabbit/theme/title-logo/title-logo.rb +38 -0
  460. data/lib/rabbit/theme/title-on-image-toolkit/property.rb +3 -0
  461. data/lib/rabbit/theme/title-on-image-toolkit/title-on-image-toolkit.rb +122 -0
  462. data/lib/rabbit/theme/title-shadow/property.rb +11 -0
  463. data/lib/rabbit/theme/title-shadow/title-shadow.rb +33 -0
  464. data/lib/rabbit/trackball.rb +228 -0
  465. data/lib/rabbit/utils.rb +459 -0
  466. data/lib/rabbit/xmlrpc/base.rb +6 -0
  467. data/lib/rabbit/xmlrpc/client.rb +17 -0
  468. data/lib/rabbit/xmlrpc/server.rb +23 -0
  469. data/lib/rt/rt2html-lib.rb +157 -0
  470. data/lib/rt/rtparser.rb +226 -0
  471. data/lib/rt/rtvisitor.rb +68 -0
  472. data/lib/rwiki/soap/common.rb +5 -0
  473. data/lib/rwiki/soap/driver.rb +43 -0
  474. data/lib/rwiki/soap/servant.rb +78 -0
  475. data/misc/emacs/README.ja +177 -0
  476. data/misc/emacs/rabbit-mode.el +375 -0
  477. data/misc/make-image-sample.rb +94 -0
  478. data/misc/make-print-sample.rb +95 -0
  479. data/misc/update-rd.rb +78 -0
  480. data/misc/xyzzy/rabbit-mode.l +775 -0
  481. data/po/en/rabbit.po +2356 -0
  482. data/po/fr/rabbit.po +2452 -0
  483. data/po/ja/rabbit.po +2465 -0
  484. data/sample/asahina/alice.png +0 -0
  485. data/sample/asahina/yukiusa.png +0 -0
  486. data/sample/blue-circle.rd +37 -0
  487. data/sample/can_rabbit.rd +470 -0
  488. data/sample/cozmixng.rd +85 -0
  489. data/sample/cozmixng_is_field.png +0 -0
  490. data/sample/cozmixng_is_field.svg +430 -0
  491. data/sample/equation.eps +571 -0
  492. data/sample/gl-sample.rd +10 -0
  493. data/sample/html_and_wiki.png +0 -0
  494. data/sample/html_and_wiki.svg +275 -0
  495. data/sample/join_cozmixng.png +0 -0
  496. data/sample/join_cozmixng.svg +293 -0
  497. data/sample/kof2005/gesture-flow.svg +329 -0
  498. data/sample/kof2005/gesture.rb +473 -0
  499. data/sample/kof2005/gtk+-widget.svg +128 -0
  500. data/sample/kof2005/high-light-architecture.svg +203 -0
  501. data/sample/kof2005/high-light-expose.rb +120 -0
  502. data/sample/kof2005/high-light-expose.svg +153 -0
  503. data/sample/kof2005/high-light-widget.rb +147 -0
  504. data/sample/kof2005/high-light-widget.svg +172 -0
  505. data/sample/kof2005/high-light.svg +132 -0
  506. data/sample/kof2005/mask-screenshot.png +0 -0
  507. data/sample/kof2005/mask.rb +105 -0
  508. data/sample/kof2005/mask.svg +120 -0
  509. data/sample/kof2005/ruby-gnome2-logo.png +0 -0
  510. data/sample/kof2005/ruby-pink-circle-logo.png +0 -0
  511. data/sample/kof2005/skip-up-with-ruby-gnome2.rd +450 -0
  512. data/sample/kof2005/widget.svg +202 -0
  513. data/sample/kou/clear-blue-headline-background.svg +283 -0
  514. data/sample/kou/clear-blue-icon.svg +194 -0
  515. data/sample/kou/horizontal-bar.svg +82 -0
  516. data/sample/kou/quote.svg +497 -0
  517. data/sample/kou/vertical-bar.svg +70 -0
  518. data/sample/lavie.png +0 -0
  519. data/sample/lightning-talk.rd +50 -0
  520. data/sample/lldn/input.svg +269 -0
  521. data/sample/lldn/interface.svg +410 -0
  522. data/sample/lldn/kame.png +0 -0
  523. data/sample/lldn/lavie.png +0 -0
  524. data/sample/lldn/lldn.rd +212 -0
  525. data/sample/lldn/output.svg +284 -0
  526. data/sample/lldn/rabbit-rwiki.svg +353 -0
  527. data/sample/lldn/rabbit_banner.png +0 -0
  528. data/sample/lldn/rabbit_banner2.png +0 -0
  529. data/sample/m17n.rd +138 -0
  530. data/sample/momo/banner/bn1.png +0 -0
  531. data/sample/momo/banner/bn2.png +0 -0
  532. data/sample/momo/banner/bn_psd.psd +0 -0
  533. data/sample/momo/banner/bn_psd2.psd +0 -0
  534. data/sample/momo/tailavi/tailavi-ruby.png +0 -0
  535. data/sample/momo/tailavi/tailavi-ruby.psd +0 -0
  536. data/sample/momo/tailavi/tailavi-taiyaki.png +0 -0
  537. data/sample/momo/tailavi/tailavi-taiyaki.psd +0 -0
  538. data/sample/momo/tailavi/tailavi-yokubari.png +0 -0
  539. data/sample/momo/tailavi/tailavi-yokubari.psd +0 -0
  540. data/sample/momo/tailavi/taiyaki.png +0 -0
  541. data/sample/momo/tailavi/taiyaki.psd +0 -0
  542. data/sample/momo/usako/blue_dot.png +0 -0
  543. data/sample/momo/usako/green_dot.png +0 -0
  544. data/sample/momo/usako/rabbit.png +0 -0
  545. data/sample/momo/usako/rabbit_mimi.png +0 -0
  546. data/sample/momo/usako/rabbit_mimi2.png +0 -0
  547. data/sample/momo/usako/red_dot.png +0 -0
  548. data/sample/momo/usako/ruby.png +0 -0
  549. data/sample/momo/usako/ruby_new.png +0 -0
  550. data/sample/momo/usako/usa1.png +0 -0
  551. data/sample/momo/usako/usa2.png +0 -0
  552. data/sample/momo/usako/usa3.png +0 -0
  553. data/sample/momo/usako/usako_psd.psd +0 -0
  554. data/sample/momo/usako/usako_psd_100.png +0 -0
  555. data/sample/momo/usako/usako_psd_200.png +0 -0
  556. data/sample/ppt/hare-and-tortoise-end.png +0 -0
  557. data/sample/ppt/hare-and-tortoise-middle.png +0 -0
  558. data/sample/ppt/hare-and-tortoise-start.png +0 -0
  559. data/sample/ppt/ppt.rd +207 -0
  560. data/sample/ppt/rabbit-with-ruby.png +0 -0
  561. data/sample/pre.rd +112 -0
  562. data/sample/rabbit-balloon.eps +233 -0
  563. data/sample/rabbit-balloon.obj +93 -0
  564. data/sample/rabbit-en.rd +376 -0
  565. data/sample/rabbit-history.svg +280 -0
  566. data/sample/rabbit-implementation.rd +187 -0
  567. data/sample/rabbit.dia +408 -0
  568. data/sample/rabbit.hiki +328 -0
  569. data/sample/rabbit.rd +383 -0
  570. data/sample/rabbit.xcf +0 -0
  571. data/sample/rabbit/theme/festival/festival.rb +6 -0
  572. data/sample/rabbit/theme/gl-sample/gl-sample.rb +29 -0
  573. data/sample/rabbit/theme/image-with-frame/image-with-frame.rb +2 -0
  574. data/sample/rabbit/theme/image-with-no-shadow-frame/image-with-no-shadow-frame.rb +3 -0
  575. data/sample/rabbit/theme/image-without-frame/image-without-frame.rb +2 -0
  576. data/sample/rabbit/theme/kof2005/kof2005.rb +9 -0
  577. data/sample/rabbit/theme/kof2005/property.rb +3 -0
  578. data/sample/rabbit/theme/lightning-talk-with-contact/lightning-talk-with-contact.rb +6 -0
  579. data/sample/rabbit/theme/lldn/lldn.rb +20 -0
  580. data/sample/rabbit/theme/pdf/pdf.rb +16 -0
  581. data/sample/rabbit/theme/pdf/property.rb +4 -0
  582. data/sample/rabbit/theme/ppt/ppt.rb +5 -0
  583. data/sample/rabbit/theme/rabbit-and-tortoise/rabbit-and-tortoise.rb +11 -0
  584. data/sample/rabbit/theme/rectangle-image-slide-number/rectangle-image-slide-number.rb +4 -0
  585. data/sample/rabbit/theme/stop-auto-slide/stop-auto-slide.rb +2 -0
  586. data/sample/rabbit/theme/triangle-image-slide-number/triangle-image-slide-number.rb +5 -0
  587. data/sample/rabbit_icon.ico +0 -0
  588. data/sample/rabbit_icon.png +0 -0
  589. data/sample/shocker.jpg +0 -0
  590. data/sample/slide-property.hiki +14 -0
  591. data/sample/slide-property.rab +18 -0
  592. data/sample/sode/kame-color.riff +0 -0
  593. data/sample/sode/kame.riff +0 -0
  594. data/sample/spiral.svg +29 -0
  595. data/sample/table-en.rd +55 -0
  596. data/sample/table.rd +55 -0
  597. data/sample/theme-bench-en.rab +127 -0
  598. data/sample/theme-bench.rab +128 -0
  599. data/sample/usagi.png +0 -0
  600. data/sample/usatti/kame-taro.png +0 -0
  601. data/sample/usatti/rabbit-pink-logo.png +0 -0
  602. data/sample/usatti/rabbit-pink-logo2.png +0 -0
  603. data/sample/usatti/ruby-pink-circle-logo.png +0 -0
  604. data/sample/usatti/ruby-pink-circle.png +0 -0
  605. data/sample/usatti/ruby-pink-polygon-logo.png +0 -0
  606. data/sample/usatti/ruby-pink-polygon.png +0 -0
  607. data/sample/usatti/tanu-kitaro.png +0 -0
  608. data/sample/usatti/usa-taro.png +0 -0
  609. data/sample/usatti/yukidaru-taro.png +0 -0
  610. data/setup.rb +1585 -0
  611. data/test/rabbit-test-utils.rb +24 -0
  612. data/test/run-test.rb +11 -0
  613. data/test/test_applier.rb +42 -0
  614. data/test/test_color.rb +42 -0
  615. data/test/test_element.rb +91 -0
  616. data/test/test_source.rb +47 -0
  617. data/test/test_utils.rb +50 -0
  618. data/update-mo.rb +20 -0
  619. data/update-po.rb +57 -0
  620. metadata +703 -0
@@ -0,0 +1,122 @@
1
+
2
+ <!--
3
+ File mmlextra.ent produced by the XSL script characters.xsl
4
+ from input data in unicode.xml.
5
+
6
+ Please report any errors to David Carlisle
7
+ via the public W3C list www-math@w3.org.
8
+
9
+ The numeric character values assigned to each entity
10
+ (should) match the Unicode assignments in Unicode 4.0.
11
+
12
+ -->
13
+
14
+ <!ENTITY % plane1D "&#38;#38;#x1D">
15
+
16
+ <!ENTITY af "&#x02061;" ><!--character showing function application in presentation tagging -->
17
+ <!ENTITY aopf "%plane1D;552;" ><!-- -->
18
+ <!ENTITY asympeq "&#x0224D;" ><!--Old ISOAMSR asymp (for HTML compatibility) -->
19
+ <!ENTITY bopf "%plane1D;553;" ><!-- -->
20
+ <!ENTITY copf "%plane1D;554;" ><!-- -->
21
+ <!ENTITY Cross "&#x02A2F;" ><!--cross or vector product -->
22
+ <!ENTITY DD "&#x02145;" ><!--D for use in differentials, e.g., within integrals -->
23
+ <!ENTITY dd "&#x02146;" ><!--d for use in differentials, e.g., within integrals -->
24
+ <!ENTITY dopf "%plane1D;555;" ><!-- -->
25
+ <!ENTITY DownArrowBar "&#x02913;" ><!--down arrow to bar -->
26
+ <!ENTITY DownBreve " &#x00311;" ><!--breve, inverted (non-spacing) -->
27
+ <!ENTITY DownLeftRightVector "&#x02950;" ><!--left-down-right-down harpoon -->
28
+ <!ENTITY DownLeftTeeVector "&#x0295E;" ><!--left-down harpoon from bar -->
29
+ <!ENTITY DownLeftVectorBar "&#x02956;" ><!--left-down harpoon to bar -->
30
+ <!ENTITY DownRightTeeVector "&#x0295F;" ><!--right-down harpoon from bar -->
31
+ <!ENTITY DownRightVectorBar "&#x02957;" ><!--right-down harpoon to bar -->
32
+ <!ENTITY ee "&#x02147;" ><!--e use for the exponential base of the natural logarithms -->
33
+ <!ENTITY EmptySmallSquare "&#x025FB;" ><!--empty small square -->
34
+ <!ENTITY EmptyVerySmallSquare "&#x025AB;" ><!--empty small square -->
35
+ <!ENTITY eopf "%plane1D;556;" ><!-- -->
36
+ <!ENTITY Equal "&#x02A75;" ><!--two consecutive equal signs -->
37
+ <!ENTITY FilledSmallSquare "&#x025FC;" ><!--filled small square -->
38
+ <!ENTITY FilledVerySmallSquare "&#x025AA;" ><!--filled very small square -->
39
+ <!ENTITY fopf "%plane1D;557;" ><!-- -->
40
+ <!ENTITY gopf "%plane1D;558;" ><!-- -->
41
+ <!ENTITY GreaterGreater "&#x02AA2;" ><!--alias for GT -->
42
+ <!ENTITY Hat "&#x0005E;" ><!--circumflex accent -->
43
+ <!ENTITY hopf "%plane1D;559;" ><!-- -->
44
+ <!ENTITY HorizontalLine "&#x02500;" ><!--short horizontal line -->
45
+ <!ENTITY ic "&#x02063;" ><!--short form of &InvisibleComma; -->
46
+ <!ENTITY ii "&#x02148;" ><!--i for use as a square root of -1 -->
47
+ <!ENTITY iopf "%plane1D;55A;" ><!-- -->
48
+ <!ENTITY it "&#x02062;" ><!--marks multiplication when it is understood without a mark -->
49
+ <!ENTITY jopf "%plane1D;55B;" ><!-- -->
50
+ <!ENTITY kopf "%plane1D;55C;" ><!-- -->
51
+ <!ENTITY larrb "&#x021E4;" ><!--leftwards arrow to bar -->
52
+ <!ENTITY LeftDownTeeVector "&#x02961;" ><!--down-left harpoon from bar -->
53
+ <!ENTITY LeftDownVectorBar "&#x02959;" ><!--down-left harpoon to bar -->
54
+ <!ENTITY LeftRightVector "&#x0294E;" ><!--left-up-right-up harpoon -->
55
+ <!ENTITY LeftTeeVector "&#x0295A;" ><!--left-up harpoon from bar -->
56
+ <!ENTITY LeftTriangleBar "&#x029CF;" ><!--left triangle, vertical bar -->
57
+ <!ENTITY LeftUpDownVector "&#x02951;" ><!--up-left-down-left harpoon -->
58
+ <!ENTITY LeftUpTeeVector "&#x02960;" ><!--up-left harpoon from bar -->
59
+ <!ENTITY LeftUpVectorBar "&#x02958;" ><!--up-left harpoon to bar -->
60
+ <!ENTITY LeftVectorBar "&#x02952;" ><!--left-up harpoon to bar -->
61
+ <!ENTITY LessLess "&#x02AA1;" ><!--alias for Lt -->
62
+ <!ENTITY lopf "%plane1D;55D;" ><!-- -->
63
+ <!ENTITY mapstodown "&#x021A7;" ><!--downwards arrow from bar -->
64
+ <!ENTITY mapstoleft "&#x021A4;" ><!--leftwards arrow from bar -->
65
+ <!ENTITY mapstoup "&#x021A5;" ><!--upwards arrow from bar -->
66
+ <!ENTITY MediumSpace "&#x0205F;" ><!--space of width 4/18 em -->
67
+ <!ENTITY mopf "%plane1D;55E;" ><!-- -->
68
+ <!ENTITY nbump "&#x0224E;&#x00338;" ><!--not bumpy equals -->
69
+ <!ENTITY nbumpe "&#x0224F;&#x00338;" ><!--not bumpy single equals -->
70
+ <!ENTITY nesim "&#x02242;&#x00338;" ><!--not equal or similar -->
71
+ <!ENTITY NewLine "&#x0000A;" ><!--force a line break; line feed -->
72
+ <!ENTITY NoBreak "&#x02060;" ><!--never break line here -->
73
+ <!ENTITY nopf "%plane1D;55F;" ><!-- -->
74
+ <!ENTITY NotCupCap "&#x0226D;" ><!--alias for &nasymp; -->
75
+ <!ENTITY NotHumpEqual "&#x0224F;&#x00338;" ><!--alias for &nbumpe; -->
76
+ <!ENTITY NotLeftTriangleBar "&#x029CF;&#x00338;" ><!--not left triangle, vertical bar -->
77
+ <!ENTITY NotNestedGreaterGreater "&#x02AA2;&#x00338;" ><!--not double greater-than sign -->
78
+ <!ENTITY NotNestedLessLess "&#x02AA1;&#x00338;" ><!--not double less-than sign -->
79
+ <!ENTITY NotRightTriangleBar "&#x029D0;&#x00338;" ><!--not vertical bar, right triangle -->
80
+ <!ENTITY NotSquareSubset "&#x0228F;&#x00338;" ><!--square not subset -->
81
+ <!ENTITY NotSquareSuperset "&#x02290;&#x00338;" ><!--negated set-like partial order operator -->
82
+ <!ENTITY NotSucceedsTilde "&#x0227F;&#x00338;" ><!--not succeeds or similar -->
83
+ <!ENTITY oopf "%plane1D;560;" ><!-- -->
84
+ <!ENTITY OverBar "&#x000AF;" ><!--over bar -->
85
+ <!ENTITY OverBrace "&#x0FE37;" ><!--over brace -->
86
+ <!ENTITY OverBracket "&#x023B4;" ><!--over bracket -->
87
+ <!ENTITY OverParenthesis "&#x0FE35;" ><!--over parenthesis -->
88
+ <!ENTITY planckh "&#x0210E;" ><!--the ring (skew field) of quaternions -->
89
+ <!ENTITY popf "%plane1D;561;" ><!-- -->
90
+ <!ENTITY Product "&#x0220F;" ><!--alias for &prod; -->
91
+ <!ENTITY qopf "%plane1D;562;" ><!-- -->
92
+ <!ENTITY rarrb "&#x021E5;" ><!--leftwards arrow to bar -->
93
+ <!ENTITY RightDownTeeVector "&#x0295D;" ><!--down-right harpoon from bar -->
94
+ <!ENTITY RightDownVectorBar "&#x02955;" ><!--down-right harpoon to bar -->
95
+ <!ENTITY RightTeeVector "&#x0295B;" ><!--right-up harpoon from bar -->
96
+ <!ENTITY RightTriangleBar "&#x029D0;" ><!--vertical bar, right triangle -->
97
+ <!ENTITY RightUpDownVector "&#x0294F;" ><!--up-right-down-right harpoon -->
98
+ <!ENTITY RightUpTeeVector "&#x0295C;" ><!--up-right harpoon from bar -->
99
+ <!ENTITY RightUpVectorBar "&#x02954;" ><!--up-right harpoon to bar -->
100
+ <!ENTITY RightVectorBar "&#x02953;" ><!--up-right harpoon to bar -->
101
+ <!ENTITY ropf "%plane1D;563;" ><!-- -->
102
+ <!ENTITY RoundImplies "&#x02970;" ><!--round implies -->
103
+ <!ENTITY RuleDelayed "&#x029F4;" ><!--rule-delayed (colon right arrow) -->
104
+ <!ENTITY sopf "%plane1D;564;" ><!-- -->
105
+ <!ENTITY Tab "&#x00009;" ><!--tabulator stop; horizontal tabulation -->
106
+ <!ENTITY ThickSpace "&#x02009;&#x0200A;&#x0200A;" ><!--space of width 5/18 em -->
107
+ <!ENTITY topf "%plane1D;565;" ><!-- -->
108
+ <!ENTITY UnderBar " &#x00332;" ><!--combining low line -->
109
+ <!ENTITY UnderBrace "&#x0FE38;" ><!--under brace -->
110
+ <!ENTITY UnderBracket "&#x023B5;" ><!--under bracket -->
111
+ <!ENTITY UnderParenthesis "&#x0FE36;" ><!--under parenthesis -->
112
+ <!ENTITY uopf "%plane1D;566;" ><!-- -->
113
+ <!ENTITY UpArrowBar "&#x02912;" ><!--up arrow to bar -->
114
+ <!ENTITY Upsilon "&#x003A5;" ><!--ISOGRK1 Ugr, HTML4 Upsilon -->
115
+ <!ENTITY VerticalLine "&#x0007C;" ><!--alias ISONUM verbar -->
116
+ <!ENTITY VerticalSeparator "&#x02758;" ><!--vertical separating operator -->
117
+ <!ENTITY vopf "%plane1D;567;" ><!-- -->
118
+ <!ENTITY wopf "%plane1D;568;" ><!-- -->
119
+ <!ENTITY xopf "%plane1D;569;" ><!-- -->
120
+ <!ENTITY yopf "%plane1D;56A;" ><!-- -->
121
+ <!ENTITY ZeroWidthSpace "&#x0200B;" ><!--zero width space -->
122
+ <!ENTITY zopf "%plane1D;56B;" ><!-- -->
@@ -0,0 +1,143 @@
1
+ require 'gtk2'
2
+
3
+ module Gtk
4
+ class Action
5
+ alias _activate activate
6
+ def activate(&block)
7
+ @block = block
8
+ _activate
9
+ ensure
10
+ @block = nil
11
+ end
12
+
13
+ def block_given?
14
+ not @block.nil?
15
+ end
16
+
17
+ def call(*args, &block)
18
+ @block.call(*args, &block)
19
+ end
20
+ end
21
+ end
22
+
23
+ require 'rabbit/rabbit'
24
+ require 'rabbit/stock'
25
+ require 'rabbit/utils'
26
+
27
+ module Rabbit
28
+ module Action
29
+ extend Utils
30
+ extend GetText
31
+
32
+ @@actions = []
33
+ @@toggle_actions = []
34
+ @@radio_actions = []
35
+ @@update_status_methods = []
36
+ class << self
37
+ def method_added(name)
38
+ case name.to_s
39
+ when /_config$/
40
+ # ignore
41
+ when /^act_(radio_.+)$/
42
+ @@radio_actions << [Utils.to_class_name($1), name]
43
+ when /^act_(toggle_.+)$/
44
+ @@toggle_actions << [Utils.to_class_name($1), name]
45
+ when /^act_(.+)$/
46
+ @@actions << [Utils.to_class_name($1), name]
47
+ when /^update_(.+)_status$/
48
+ @@update_status_methods << name
49
+ end
50
+ end
51
+
52
+ def action_group(canvas, name="Rabbit")
53
+ Stock.init(canvas)
54
+ group = Gtk::ActionGroup.new(name)
55
+ group.set_translate_func(&GetText.method(:_))
56
+ group.add_actions(to_gtk_actions(@@actions, canvas))
57
+ actions = to_gtk_actions(@@toggle_actions, canvas, true)
58
+ group.add_toggle_actions(actions)
59
+ add_radio_actions(group, @@radio_actions, canvas)
60
+ group
61
+ end
62
+
63
+ def update_status(canvas)
64
+ @@update_status_methods.each do |method|
65
+ __send__(method, canvas)
66
+ end
67
+ end
68
+
69
+ private
70
+ def to_gtk_actions(actions, canvas, toggle=false)
71
+ actions.collect do |name, action|
72
+ config = {:label => name}
73
+ config_method = "#{action}_config"
74
+ __send__(config_method, config, canvas) if respond_to?(config_method)
75
+ callback = method(action)
76
+ result = [
77
+ name,
78
+ config[:stock_id],
79
+ config[:label],
80
+ config[:accelerator],
81
+ config[:tooltip],
82
+ Proc.new do |group, act|
83
+ guard(canvas) do
84
+ callback.call(act, group, canvas)
85
+ end
86
+ end
87
+ ]
88
+ result << config[:is_active] if toggle
89
+ result
90
+ end
91
+ end
92
+
93
+ def add_radio_actions(group, actions, canvas)
94
+ actions.each do |name, action|
95
+ default_value = nil
96
+ gtk_actions = methods(false).find_all do |method_name|
97
+ /^#{action}_(?:.+)_config$/ =~ method_name
98
+ end.collect do |config_method|
99
+ /^act_(.*)_config$/ =~ config_method
100
+ action_name = Utils.to_class_name($1)
101
+ config = {:label => action_name}
102
+ __send__(config_method, config, canvas)
103
+ default_value = config[:value] if config[:default]
104
+ [
105
+ action_name,
106
+ config[:stock_id],
107
+ config[:label],
108
+ config[:accelerator],
109
+ config[:tooltip],
110
+ config[:value],
111
+ ]
112
+ end
113
+
114
+ callback = method(action)
115
+ group.add_radio_actions(gtk_actions, default_value) do |act, current|
116
+ guard(canvas) do
117
+ callback.call(act, current, group, canvas)
118
+ end
119
+ end
120
+ end
121
+ end
122
+
123
+ def guard(canvas)
124
+ begin
125
+ yield
126
+ rescue Exception
127
+ canvas.logger.warn($!)
128
+ end
129
+ end
130
+ end
131
+
132
+ dir = ::File.join("rabbit", "action")
133
+ require_files_under_directory_in_load_path(dir)
134
+
135
+ module_function
136
+ def update_processing_action_status(canvas)
137
+ canvas.action("ToggleIndexMode").sensitive = !canvas.processing?
138
+ canvas.action("CacheAllSlides").sensitive = !canvas.processing?
139
+ canvas.action("SaveAsImage").sensitive = !canvas.processing?
140
+ canvas.action("Print").sensitive = !canvas.processing?
141
+ end
142
+ end
143
+ end
@@ -0,0 +1,304 @@
1
+ module Rabbit
2
+ module Action
3
+ module_function
4
+ def act_next(action, group, canvas)
5
+ canvas.move_to_next_if_can
6
+ end
7
+ def act_next_config(config, canvas)
8
+ config[:label] = N_("Next")
9
+ config[:stock_id] = Gtk::Stock::GO_FORWARD
10
+ end
11
+
12
+ def act_previous(action, group, canvas)
13
+ canvas.move_to_previous_if_can
14
+ end
15
+ def act_previous_config(config, canvas)
16
+ config[:label] = N_("Previous")
17
+ config[:stock_id] = Gtk::Stock::GO_BACK
18
+ end
19
+
20
+ def act_next_slide(action, group, canvas)
21
+ canvas.move_to_next_slide_if_can
22
+ end
23
+ def act_next_slide_config(config, canvas)
24
+ config[:label] = N_("Next slide")
25
+ config[:stock_id] = Gtk::Stock::GO_FORWARD
26
+ end
27
+
28
+ def act_previous_slide(action, group, canvas)
29
+ canvas.move_to_previous_slide_if_can
30
+ end
31
+ def act_previous_slide_config(config, canvas)
32
+ config[:label] = N_("Previous slide")
33
+ config[:stock_id] = Gtk::Stock::GO_BACK
34
+ end
35
+
36
+ def act_first_slide(action, group, canvas)
37
+ canvas.move_to_first
38
+ end
39
+ def act_first_slide_config(config, canvas)
40
+ config[:label] = N_("First slide")
41
+ config[:stock_id] = Gtk::Stock::GOTO_FIRST
42
+ end
43
+
44
+ def act_last_slide(action, group, canvas)
45
+ canvas.move_to_last
46
+ end
47
+ def act_last_slide_config(config, canvas)
48
+ config[:label] = N_("Last slide")
49
+ config[:stock_id] = Gtk::Stock::GOTO_LAST
50
+ end
51
+
52
+ def act_jump_to(action, group, canvas)
53
+ if action.block_given?
54
+ canvas.move_to_if_can(action.call(action, group, canvas))
55
+ end
56
+ end
57
+ def act_jump_to_config(config, canvas)
58
+ config[:label] = N_("Jump to")
59
+ config[:stock_id] = Gtk::Stock::JUMP_TO
60
+ end
61
+
62
+ def update_move_slide_action_status(canvas)
63
+ canvas.action("Previous").sensitive = canvas.have_previous?
64
+ canvas.action("Next").sensitive = canvas.have_next?
65
+ canvas.action("PreviousSlide").sensitive = canvas.have_previous_slide?
66
+ canvas.action("NextSlide").sensitive = canvas.have_next_slide?
67
+ canvas.action("FirstSlide").sensitive = !canvas.first_slide?
68
+ canvas.action("LastSlide").sensitive = !canvas.last_slide?
69
+ end
70
+
71
+ def act_save_as_image(action, group, canvas)
72
+ canvas.save_as_image
73
+ end
74
+ def act_save_as_image_config(config, canvas)
75
+ config[:label] = N_("Save as image")
76
+ config[:stock_id] = Gtk::Stock::SAVE
77
+ end
78
+
79
+ def act_print(action, group, canvas)
80
+ canvas.print
81
+ end
82
+ def act_print_config(config, canvas)
83
+ config[:label] = N_("Print")
84
+ config[:stock_id] = Gtk::Stock::PRINT
85
+ end
86
+
87
+ def act_iconify(action, group, canvas)
88
+ canvas.iconify
89
+ end
90
+ def act_iconify_config(config, canvas)
91
+ config[:label] = N_("Iconify")
92
+ config[:stock_id] = Stock::RABBIT
93
+ end
94
+
95
+ def act_change_theme(action, group, canvas)
96
+ if action.block_given?
97
+ entry, block = action.call(action, group, canvas)
98
+ canvas.apply_theme(entry.name, &block)
99
+ end
100
+ end
101
+ def act_change_theme_config(config, canvas)
102
+ config[:label] = N_("Change theme")
103
+ end
104
+
105
+ def act_merge_theme(action, group, canvas)
106
+ if action.block_given?
107
+ entry, block = action.call(action, group, canvas)
108
+ canvas.merge_theme(entry.name, &block)
109
+ end
110
+ end
111
+ def act_merge_theme_config(config, canvas)
112
+ config[:label] = N_("Merge theme")
113
+ end
114
+
115
+ def act_reload_theme(action, group, canvas)
116
+ block = nil
117
+ block = action.call(action, group, canvas) if action.block_given?
118
+ canvas.reload_theme(&block)
119
+ end
120
+ def act_reload_theme_config(config, canvas)
121
+ config[:label] = N_("Reload theme")
122
+ config[:stock_id] = Gtk::Stock::REFRESH
123
+ end
124
+
125
+ def act_redraw(action, group, canvas)
126
+ canvas.redraw
127
+ end
128
+ def act_redraw_config(config, canvas)
129
+ config[:label] = N_("Redraw")
130
+ config[:stock_id] = Gtk::Stock::REFRESH
131
+ end
132
+
133
+ def act_clear_slide(action, group, canvas)
134
+ canvas.clear_slide
135
+ end
136
+ def act_clear_slide_config(config, canvas)
137
+ config[:label] = N_("Clear slide")
138
+ config[:stock_id] = Gtk::Stock::CLEAR
139
+ end
140
+
141
+ def update_theme_action_status(canvas)
142
+ not_applying = !canvas.applying?
143
+ canvas.action("ReloadTheme").sensitive = not_applying
144
+ canvas.action("ChangeTheme").sensitive = not_applying
145
+ canvas.action("MergeTheme").sensitive = not_applying
146
+ canvas.action("CacheAllSlides").sensitive = not_applying
147
+ canvas.action("ToggleFullScreen").sensitive = not_applying
148
+ end
149
+
150
+ @@quit_label = N_("_Quit")
151
+ @@quit_with_confirmation_label = N_("_Quit with confirmation")
152
+ def quit_action_label(canvas)
153
+ canvas.processing? ? @@quit_with_confirmation_label : @@quit_label
154
+ end
155
+
156
+ def act_quit(action, group, canvas)
157
+ if !canvas.processing? or
158
+ canvas.confirm(_("Now processing... Do you really quit?"))
159
+ canvas.quit
160
+ end
161
+ end
162
+ def act_quit_config(config, canvas)
163
+ config[:label] = quit_action_label(canvas)
164
+ config[:stock_id] = Gtk::Stock::QUIT
165
+ end
166
+
167
+ def update_quit_action_status(canvas)
168
+ canvas.action("Quit").label = _(quit_action_label(canvas))
169
+ end
170
+
171
+ def act_cache_all_slides(action, group, canvas)
172
+ canvas.cache_all_slides
173
+ end
174
+ def act_cache_all_slides_config(config, canvas)
175
+ config[:label] = N_("Cache all slides")
176
+ end
177
+
178
+ def act_graffiti(action, group, canvas)
179
+ update_graffiti_action_status(canvas)
180
+ end
181
+ def act_graffiti_config(config, canvas)
182
+ config[:label] = N_("Graffiti")
183
+ config[:stock_id] = Gtk::Stock::EDIT
184
+ end
185
+
186
+ def act_clear_graffiti(action, group, canvas)
187
+ canvas.clear_graffiti
188
+ end
189
+ def act_clear_graffiti_config(config, canvas)
190
+ config[:label] = N_("Clear graffiti")
191
+ config[:stock_id] = Gtk::Stock::CLEAR
192
+ end
193
+
194
+ def act_undo_graffiti(action, group, canvas)
195
+ canvas.undo_graffiti
196
+ end
197
+ def act_undo_graffiti_config(config, canvas)
198
+ config[:label] = N_("Undo graffiti")
199
+ config[:stock_id] = Gtk::Stock::UNDO
200
+ end
201
+
202
+ def act_change_graffiti_color(action, group, canvas)
203
+ canvas.change_graffiti_color
204
+ end
205
+ def act_change_graffiti_color_config(config, canvas)
206
+ config[:label] = N_("Change graffiti color")
207
+ config[:stock_id] = Gtk::Stock::SELECT_COLOR
208
+ end
209
+
210
+ def update_graffiti_action_status(canvas)
211
+ graffiti_available = canvas.graffiti_mode? || canvas.have_graffiti?
212
+ canvas.action("Graffiti").sensitive = graffiti_available
213
+ #canvas.action("ClearGraffiti").sensitive = canvas.have_graffiti?
214
+ #canvas.action("UndoGraffiti").sensitive = canvas.can_undo_graffiti?
215
+ canvas.action("ClearGraffiti").sensitive = graffiti_available
216
+ canvas.action("UndoGraffiti").sensitive = graffiti_available
217
+ canvas.action("ChangeGraffitiColor").sensitive = graffiti_available
218
+ end
219
+
220
+ def act_reset_adjustment(action, group, canvas)
221
+ canvas.reset_adjustment
222
+ end
223
+ def act_reset_adjustment_config(config, canvas)
224
+ config[:label] = N_("Reset adjustment")
225
+ config[:stock_id] = Gtk::Stock::CLEAR
226
+ end
227
+
228
+ def act_reset_timer(action, group, canvas)
229
+ canvas.reset_timer
230
+ end
231
+ def act_reset_timer_config(config, canvas)
232
+ config[:label] = N_("Reset timer")
233
+ config[:stock_id] = Gtk::Stock::CLEAR
234
+ end
235
+
236
+ def act_expand_hole(action, group, canvas)
237
+ canvas.expand_hole
238
+ end
239
+ def act_expand_hole_config(config, canvas)
240
+ config[:label] = N_("Expand hole")
241
+ end
242
+
243
+ def act_narrow_hole(action, group, canvas)
244
+ canvas.narrow_hole
245
+ end
246
+ def act_narrow_hole_config(config, canvas)
247
+ config[:label] = N_("Narrow hole")
248
+ end
249
+
250
+ def act_search_slide_forward(action, group, canvas)
251
+ canvas.search_slide(true)
252
+ update_saarch_action_status(canvas)
253
+ end
254
+ def act_search_slide_forward_config(config, canvas)
255
+ config[:label] = N_("Search slide forward")
256
+ end
257
+
258
+ def act_search_slide_backward(action, group, canvas)
259
+ canvas.search_slide(false)
260
+ update_saarch_action_status(canvas)
261
+ end
262
+ def act_search_slide_backward_config(config, canvas)
263
+ config[:label] = N_("Search slide backward")
264
+ end
265
+
266
+ def act_search_slide_forward_next(action, group, canvas)
267
+ canvas.search_slide(true)
268
+ update_saarch_action_status(canvas)
269
+ end
270
+ def act_search_slide_forward_next_config(config, canvas)
271
+ config[:label] = N_("Search slide forward next")
272
+ end
273
+
274
+ def act_search_slide_backward_next(action, group, canvas)
275
+ canvas.search_slide(false)
276
+ update_saarch_action_status(canvas)
277
+ end
278
+ def act_search_slide_backward_next_config(config, canvas)
279
+ config[:label] = N_("Search slide backward next")
280
+ end
281
+
282
+ def act_stop_slide_search(action, group, canvas)
283
+ canvas.stop_slide_search
284
+ update_saarch_action_status(canvas)
285
+ end
286
+ def act_stop_slide_search_config(config, canvas)
287
+ config[:label] = N_("Stop slide search")
288
+ end
289
+
290
+ def update_saarch_action_status(canvas)
291
+ canvas.action("SearchSlideForward").sensitive = !canvas.searching?
292
+ canvas.action("SearchSlideBackward").sensitive = !canvas.searching?
293
+ canvas.action("SearchSlideForwardNext").sensitive = canvas.searching?
294
+ canvas.action("SearchSlideBackwardNext").sensitive = canvas.searching?
295
+ canvas.action("StopSlideSearch").sensitive = canvas.searching?
296
+ end
297
+
298
+ def act_log_level(action, group, canvas)
299
+ end
300
+ def act_log_level_config(config, canvas)
301
+ config[:label] = N_("Log Level")
302
+ end
303
+ end
304
+ end