Initial keypad layout including keys for cursor left, right, and backspace.
Gary Martin
11 years ago
50 | 50 | |
51 | 51 | self.button_data = [ |
52 | 52 | # [x, y, width, label, bgcol, cb] |
53 | [0, 0, 1, '7', self.col_gray2, lambda w: self._parent.add_text('7')], | |
54 | [1, 0, 1, '8', self.col_gray2, lambda w: self._parent.add_text('8')], | |
55 | [2, 0, 1, '9', self.col_gray2, lambda w: self._parent.add_text('9')], | |
53 | [0, 0, 2, u'\u2190', self.col_gray3, lambda w: self._parent.move_left()], | |
54 | [2, 0, 2, u'\u2192', self.col_gray3, lambda w: self._parent.move_right()], | |
55 | [4, 0, 2, u'\u232B', self.col_gray3, lambda w: self._parent.remove_character(-1)], | |
56 | ||
57 | [0, 1, 1, '7', self.col_gray2, lambda w: self._parent.add_text('7')], | |
58 | [1, 1, 1, '8', self.col_gray2, lambda w: self._parent.add_text('8')], | |
59 | [2, 1, 1, '9', self.col_gray2, lambda w: self._parent.add_text('9')], | |
56 | 60 | |
57 | [0, 1, 1, '4', self.col_gray2, lambda w: self._parent.add_text('4')], | |
58 | [1, 1, 1, '5', self.col_gray2, lambda w: self._parent.add_text('5')], | |
59 | [2, 1, 1, '6', self.col_gray2, lambda w: self._parent.add_text('6')], | |
61 | [0, 2, 1, '4', self.col_gray2, lambda w: self._parent.add_text('4')], | |
62 | [1, 2, 1, '5', self.col_gray2, lambda w: self._parent.add_text('5')], | |
63 | [2, 2, 1, '6', self.col_gray2, lambda w: self._parent.add_text('6')], | |
60 | 64 | |
61 | [0, 2, 1, '1', self.col_gray2, lambda w: self._parent.add_text('1')], | |
62 | [1, 2, 1, '2', self.col_gray2, lambda w: self._parent.add_text('2')], | |
63 | [2, 2, 1, '3', self.col_gray2, lambda w: self._parent.add_text('3')], | |
65 | [0, 3, 1, '1', self.col_gray2, lambda w: self._parent.add_text('1')], | |
66 | [1, 3, 1, '2', self.col_gray2, lambda w: self._parent.add_text('2')], | |
67 | [2, 3, 1, '3', self.col_gray2, lambda w: self._parent.add_text('3')], | |
64 | 68 | |
65 | [0, 3, 1, '0', self.col_gray2, lambda w: self._parent.add_text('0')], | |
66 | [1, 3, 1, '.', self.col_gray2, lambda w: self._parent.add_text('.')], | |
67 | ||
68 | [3, 0, 3, _('Clear'), self.col_gray1, lambda w: self._parent.clear()], | |
69 | [0, 4, 2, '0', self.col_gray2, lambda w: self._parent.add_text('0')], | |
70 | [2, 4, 1, '.', self.col_gray2, lambda w: self._parent.add_text('.')], | |
71 | ||
72 | [3, 1, 3, _('Clear'), self.col_gray1, lambda w: self._parent.clear()], | |
69 | 73 | |
70 | [3, 1, 1, '+', self.col_gray3, lambda w: self._parent.add_text('+')], | |
71 | [4, 1, 1, '-', self.col_gray3, lambda w: self._parent.add_text('-')], | |
72 | [5, 1, 1, '(', self.col_gray3, lambda w: self._parent.add_text('(')], | |
73 | [3, 2, 1, mul_sym, self.col_gray3, lambda w: self._parent.add_text(mul_sym)], | |
74 | [4, 2, 1, div_sym, self.col_gray3, lambda w: self._parent.add_text(div_sym)], | |
75 | [5, 2, 1, ')', self.col_gray3, lambda w: self._parent.add_text(')')], | |
76 | ||
77 | [3, 3, 3, equ_sym, self.col_gray1, lambda w: self._parent.process()], | |
74 | [3, 2, 1, '+', self.col_gray3, lambda w: self._parent.add_text('+')], | |
75 | [4, 2, 1, '-', self.col_gray3, lambda w: self._parent.add_text('-')], | |
76 | [5, 2, 1, '(', self.col_gray3, lambda w: self._parent.add_text('(')], | |
77 | [3, 3, 1, mul_sym, self.col_gray3, lambda w: self._parent.add_text(mul_sym)], | |
78 | [4, 3, 1, div_sym, self.col_gray3, lambda w: self._parent.add_text(div_sym)], | |
79 | [5, 3, 1, ')', self.col_gray3, lambda w: self._parent.add_text(')')], | |
80 | ||
81 | [3, 4, 3, equ_sym, self.col_gray1, lambda w: self._parent.process()], | |
78 | 82 | ] |
79 | 83 | |
80 | 84 | def create_dialog(self): |
170 | 174 | label1 = gtk.Label(_('Label:')) |
171 | 175 | label1.modify_fg(gtk.STATE_NORMAL, self.col_white) |
172 | 176 | label1.set_alignment(1, 0.5) |
173 | hc1.pack_start(label1, expand=False, fill=False, padding=0) | |
177 | hc1.pack_start(label1, expand=False, fill=False, padding=10) | |
174 | 178 | self.label_entry = gtk.Entry() |
175 | 179 | self.label_entry.modify_bg(gtk.STATE_INSENSITIVE, self.col_black) |
176 | hc1.pack_start(self.label_entry, expand=True, fill=True, padding=0) | |
180 | hc1.pack_start(self.label_entry, expand=True, fill=True, padding=10) | |
177 | 181 | self.grid.attach(eb2, 0, 6, 0, 2) |
178 | 182 | |
179 | 183 | self.text_entry = gtk.Entry() |
180 | self.text_entry.set_size_request(400, 100) | |
184 | self.text_entry.set_size_request(-1, 75) | |
181 | 185 | self.text_entry.connect('key_press_event', self._parent.ignore_key_cb) |
182 | 186 | self.text_entry.modify_font(self.input_font) |
183 | 187 | self.text_entry.modify_bg(gtk.STATE_INSENSITIVE, self.col_black) |
188 | 192 | eb2 = gtk.EventBox() |
189 | 193 | eb2.add(eb) |
190 | 194 | eb2.modify_bg(gtk.STATE_NORMAL, self.col_black) |
191 | self.grid.attach(eb2, 0, 6, 2, 5) | |
195 | self.grid.attach(eb2, 0, 6, 2, 4) | |
192 | 196 | |
193 | 197 | # Left part: buttons |
194 | self.pad = gtk.Table(4, 6, True) | |
198 | self.pad = gtk.Table(5, 6, True) | |
195 | 199 | self.pad.set_row_spacings(12) |
196 | 200 | self.pad.set_col_spacings(12) |
197 | 201 | self.pad.set_border_width(12) |
205 | 209 | eb = gtk.EventBox() |
206 | 210 | eb.add(self.pad) |
207 | 211 | eb.modify_bg(gtk.STATE_NORMAL, self.col_black) |
208 | self.grid.attach(eb, 0, 6, 5, 16) | |
212 | self.grid.attach(eb, 0, 6, 4, 16) | |
209 | 213 | |
210 | 214 | # Right part: container and equation button |
211 | 215 | hc2 = gtk.HBox() |