Mercurial > kinput2.yaz
annotate lib/Prime.rb @ 16:598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
| author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
|---|---|
| date | Mon, 08 Mar 2010 20:38:17 +0900 |
| parents | |
| children |
| rev | line source |
|---|---|
|
16
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
1 PRIME_PATH = '/home/komatsu/src/prime' |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
2 $LOAD_PATH.push (PRIME_PATH) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
3 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
4 require 'prime/prime' |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
5 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
6 class KanjiConv < KanjiConvCore |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
7 attr_reader :input, :selection, :dialog |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
8 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
9 def initialize |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
10 super |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
11 @useprime = false |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
12 # @useprime = true |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
13 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
14 if @useprime then |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
15 @prime = Prime.new |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
16 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
17 @input = JTextEdit.new |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
18 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
19 @selection = Selection.new (self) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
20 @dialog = Dialog.new (self) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
21 @mode = ModeMaster.new (self) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
22 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
23 @fundMode = FundMode.new(self) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
24 @inputMode = InputMode.new(self) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
25 @convMode = ConvMode.new(self) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
26 @mode.set(:fund, @fundMode) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
27 @mode.set(:input, @inputMode) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
28 @mode.set(:conv, @convMode) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
29 @mode.change(:fund) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
30 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
31 puts "Initialize Done." |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
32 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
33 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
34 def reset |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
35 super |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
36 @mode.change(:fund) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
37 @input.reset |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
38 reset_cand_list |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
39 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
40 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
41 def convert (word) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
42 if @useprime then |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
43 cand_list = @prime.lookup_prefix(word).split("\n").map {|line| |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
44 line.split("\t")[1] |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
45 } |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
46 else |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
47 cand_list = [word, "Taiyaki", "Hiroyuki", "Komatsu", "$B4A;z(B"] |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
48 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
49 return cand_list[0,5] |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
50 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
51 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
52 ## inputEvent (keynum, keysym = nil, state = nil) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
53 ## ReturnValue 1:Pass 0:Trap |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
54 def inputEvent (keynum, keysym = nil, state = nil) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
55 puts "KeyNum: #{keynum}, KeySym: #{keysym}, Status: #{state}" |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
56 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
57 if keynum == 0 then |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
58 return 1 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
59 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
60 key = [keynum] |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
61 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
62 if @mode.current then |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
63 trap = @mode.current.call (keynum, keysym, state) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
64 return ((trap == true) ? 0 : 1) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
65 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
66 return 1; |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
67 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
68 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
69 def selection_fix (index) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
70 fix (index) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
71 @mode.change(:fund) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
72 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
73 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
74 def fix (fixed_arg) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
75 ### Must NOT chage @mode here, because exceptional case can exist. |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
76 super (fixed_arg) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
77 @input.reset |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
78 reset_cand_list |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
79 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
80 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
81 def insert (keysym, modifiers) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
82 puts "insert '#{keysym.chr}'" |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
83 @input.insert(keysym.chr) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
84 set_cand_list (convert(@input.text), 0) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
85 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
86 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
87 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
88 class PrimeModeCore < ModeCore |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
89 def initialize (parent) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
90 super |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
91 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
92 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
93 private |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
94 def insert (keysym, modifiers) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
95 @parent.insert(keysym, modifiers) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
96 @parent.mode.change(:input) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
97 return true |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
98 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
99 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
100 def fix (keysym, modifiers) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
101 fix_internal(keysym, modifiers) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
102 @parent.mode.change(:fund) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
103 return true |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
104 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
105 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
106 def fix_and_insert (keysym, modifiers) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
107 fix_internal (keysym, modifiers) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
108 insert (keysym, modifiers) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
109 return true |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
110 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
111 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
112 def cursor_right (keysym, modifiers) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
113 @parent.input.cursor_right |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
114 return true |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
115 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
116 def cursor_left (keysym, modifiers) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
117 @parent.input.cursor_left |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
118 return true |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
119 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
120 def cursor_beginning (keysym, modifiers) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
121 @parent.input.cursor_beginning |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
122 return true |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
123 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
124 def cursor_end (keysym, modifiers) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
125 @parent.input.cursor_end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
126 return true |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
127 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
128 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
129 def selection_right (keysym, modifiers) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
130 @parent.selection.right |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
131 return true |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
132 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
133 def selection_left (keysym, modifiers) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
134 @parent.selection.left |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
135 return true |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
136 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
137 def selection_beginning (keysym, modifiers) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
138 @parent.selection.line_beginning |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
139 return true |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
140 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
141 def selection_end (keysym, modifiers) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
142 @parent.selection.line_end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
143 return true |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
144 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
145 def selection_up (keysym, modifiers) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
146 @parent.selection.up |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
147 return true |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
148 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
149 def selection_down (keysym, modifiers) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
150 @parent.selection.down |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
151 return true |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
152 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
153 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
154 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
155 class FundMode < PrimeModeCore |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
156 def initialize (parent) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
157 super |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
158 @label = '[ $B$"(B ]' |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
159 @trap = false |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
160 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
161 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
162 def initialize_keys |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
163 (33..126).each {|char| |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
164 @keymap.add(char, :insert) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
165 } |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
166 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
167 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
168 def on (prev_mode = nil) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
169 @parent.selection.close |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
170 @parent.dialog.close |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
171 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
172 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
173 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
174 class InputMode < PrimeModeCore |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
175 def initialize (parent) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
176 super |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
177 @label = "[$BF~NO(B]" |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
178 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
179 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
180 def initialize_keys |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
181 (33..126).each {|char| |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
182 @keymap.add(char, :insert) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
183 } |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
184 (?A..?Z).each {|char| |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
185 @keymap.add(char, :fix_and_insert) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
186 } |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
187 @keymap.add(:enter, :fix) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
188 @keymap.add([?m, :ctrl], :fix) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
189 @keymap.add(:space, :convert) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
190 @keymap.add(:backspace, :backspace) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
191 @keymap.add([?h, :ctrl], :backspace) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
192 @keymap.add(:delete, :delete) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
193 @keymap.add([?d, :ctrl], :delete) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
194 @keymap.add(:left, :cursor_left) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
195 @keymap.add([?b, :ctrl], :cursor_left) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
196 @keymap.add(:right, :cursor_right) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
197 @keymap.add([?f, :ctrl], :cursor_right) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
198 @keymap.add([?a, :ctrl], :cursor_beginning) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
199 @keymap.add([?e, :ctrl], :cursor_end) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
200 @keymap.add([?g, :ctrl], :cancel) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
201 @keymap.add(:esc, :cancel) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
202 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
203 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
204 def on (prev_mode = nil) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
205 @parent.selection.close |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
206 @parent.dialog.open |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
207 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
208 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
209 def entries |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
210 return @parent.input.segments |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
211 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
212 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
213 private |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
214 def fix_internal (keysym, modifiers) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
215 @parent.fix(@parent.input.text) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
216 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
217 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
218 def backspace (keysym, modifiers) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
219 @parent.input.backspace |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
220 if @parent.input.text.length == 0 then |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
221 @parent.mode.change(:fund) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
222 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
223 return true |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
224 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
225 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
226 def delete (keysym, modifiers) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
227 @parent.input.delete |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
228 if @parent.input.text.length == 0 then |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
229 @parent.mode.change(:fund) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
230 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
231 return true |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
232 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
233 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
234 def cancel (keysym, modifiers) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
235 @parent.input.reset |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
236 @parent.mode.change(:fund) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
237 return true |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
238 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
239 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
240 def convert (keysym, modifiers) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
241 if @parent.set_cand_list (@parent.convert(@parent.input.text)) then |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
242 @parent.set_cand_index(0) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
243 @parent.mode.change(:conv) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
244 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
245 return true |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
246 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
247 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
248 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
249 class ConvMode < PrimeModeCore |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
250 def initialize (parent) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
251 super |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
252 @label = "[$BJQ49(B]" |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
253 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
254 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
255 def initialize_keys |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
256 (33..126).each {|char| |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
257 @keymap.add(char, :fix_and_insert) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
258 } |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
259 @keymap.add(:enter, :fix) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
260 @keymap.add([?m, :ctrl], :fix) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
261 @keymap.add(:space, :convert) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
262 # @keymap.add(:backspace, :backspace) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
263 # @keymap.add([?h, :ctrl], :backspace) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
264 # @keymap.add(:delete, :delete) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
265 # @keymap.add([?d, :ctrl], :delete) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
266 @keymap.add(:left, :selection_left) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
267 @keymap.add([?b, :ctrl], :selection_left) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
268 @keymap.add(:right, :selection_right) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
269 @keymap.add([?f, :ctrl], :selection_right) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
270 @keymap.add(:down, :selection_down) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
271 @keymap.add([?n, :ctrl], :selection_down) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
272 @keymap.add(:up, :selection_up) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
273 @keymap.add([?p, :ctrl], :selection_up) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
274 @keymap.add([?a, :ctrl], :selection_beginning) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
275 @keymap.add([?e, :ctrl], :selection_end) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
276 @keymap.add([?g, :ctrl], :cancel) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
277 @keymap.add(:esc, :cancel) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
278 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
279 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
280 def on (prev_mode = nil) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
281 @parent.selection.open |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
282 @parent.dialog.close |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
283 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
284 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
285 def entries |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
286 return ['', @parent.cand_list[@parent.cand_index]] |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
287 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
288 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
289 private |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
290 def fix_internal (keysym, modifiers) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
291 @parent.fix(@parent.cand_list[@parent.cand_index]) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
292 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
293 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
294 def cancel (keysym, modifiers) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
295 @parent.mode.change(:input) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
296 return true |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
297 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
298 |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
299 def convert (keysym, modifiers) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
300 return selection_right(keysym, modifiers) |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
301 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
302 end |
|
598fcbe482b5
imported patch 19_kinput2-v3.1-ruby.patch
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff
changeset
|
303 |
