~sir-rainbow/+junk/scribes-on-win

« back to all changes in this revision

Viewing changes to plugins/WordCompletion/TreeView.py

  • Committer: goldenmyst
  • Date: 2008-02-09 23:57:20 UTC
  • Revision ID: goldenmyst@goldenmyst-desktop-20080209235720-2dvflu1v434wcja4
TreeView for the advanced configuration dialog

Show diffs side-by-side

added added

removed removed

Lines of Context:
55
55
                TreeView.__init__(self)
56
56
                self.__init_attributes(manager, editor)
57
57
                self.__set_properties()
58
 
                from gobject import idle_add
59
 
                idle_add(self.__precompile_methods)
60
58
                self.__signal_id_1 = manager.connect("destroy", self.__destroy_cb)
61
59
                self.__signal_id_2 = manager.connect("match-found", self.__match_found_cb)
62
60
                self.__signal_id_3 = self.connect("row-activated", self.__row_activated_cb)
66
64
                self.__signal_id_8 = self.connect("cursor-changed", self.__cursor_changed_cb)
67
65
                self.__signal_id_9 = manager.connect("no-match-found", self.__no_match_found_cb)
68
66
                self.__block_textview()
 
67
                from gobject import idle_add, PRIORITY_LOW
 
68
                idle_add(self.__precompile_methods, priority=PRIORITY_LOW)
69
69
 
70
70
        def __init_attributes(self, manager, editor):
71
71
                """
125
125
                @param self: Reference to the CompletionTreeView instance.
126
126
                @type self: A CompletionTreeView object.
127
127
                """
128
 
                from operator import ne
129
 
                if ne(completion_list, self.__word_list):
 
128
                if completion_list != self.__word_list:
130
129
                        self.__word_list = completion_list
131
130
                        self.__model.clear()
132
131
                        for word in self.__word_list:
261
260
                @type completion_list: A List object.
262
261
                """
263
262
                #try:
264
 
                #       from gobject import source_remove, idle_add
 
263
                #       from gobject import source_remove, idle_add, PRIORITY_LOW
265
264
                #       source_remove(self.__populate_id)
266
265
                #except:
267
266
                #       pass
268
267
                from collections import deque
269
 
                #self.__populate_id = idle_add(self.__populate_model, deque(completion_list))
 
268
                #self.__populate_id = idle_add(self.__populate_model, deque(completion_list), priority=PRIORITY_LOW)
270
269
                from thread import start_new_thread
271
270
                start_new_thread(self.__populate_model, (deque(completion_list),))
272
271
                return
353
352
                @return: True to propagate signals to parent widgets.
354
353
                @type: A Boolean Object.
355
354
                """
356
 
                from operator import not_, eq, truth
357
 
                if not_(self.__is_visible): return False
 
355
                if not self.__is_visible: return False
358
356
                # Get the selected item on the completion window.
359
357
                selection = self.get_selection()
360
358
                # Get the model and iterator of the selected item.
361
359
                model, iterator = selection.get_selected()
362
360
                # If for whatever reason the selection is lost, select the first row
363
361
                # automactically when the up or down arrow key is pressed.
364
 
                if not_(iterator):
 
362
                if not iterator:
365
363
                        selection.select_path((0,))
366
364
                        model, iterator = selection.get_selected()
367
365
                path = model.get_path(iterator)
368
366
                from gtk import keysyms
369
 
                if eq(event.keyval, keysyms.Return):
 
367
                if event.keyval == keysyms.Return:
370
368
                        # Insert the selected item into the editor's buffer when the enter key
371
369
                        # event is detected.
372
370
                        self.row_activated(path, self.get_column(0))
373
371
                        self.__manager.emit("no-match-found")
374
 
                elif eq(event.keyval, keysyms.Up):
 
372
                elif event.keyval == keysyms.Up:
375
373
                        # If the up key is pressed check to see if the first row is selected.
376
374
                        # If it is, select the last row. Otherwise, get the path to the row
377
375
                        # above and select it.
378
 
                        if not_(path[0]):
 
376
                        if not path[0]:
379
377
                                number_of_rows = len(model)
380
378
                                selection.select_path(number_of_rows-1)
381
379
                                self.scroll_to_cell(number_of_rows-1)
382
380
                        else:
383
381
                                selection.select_path((path[0]-1,))
384
382
                                self.scroll_to_cell((path[0]-1,))
385
 
                elif eq(event.keyval, keysyms.Down):
 
383
                elif event.keyval == keysyms.Down:
386
384
                        # Get the iterator of the next row.
387
385
                        next_iterator = model.iter_next(iterator)
388
386
                        # If the next row exists, select it, if not select the first row.
410
408
                @param is_visible: Whether or not the word completion window is visible.
411
409
                @type is_visible: A Boolean object.
412
410
                """
413
 
                from operator import truth
414
411
                if is_visible:
415
412
                        self.__is_visible = True
416
413
                        self.columns_autosize()
428
425
                @param self: Reference to the CompletionTreeView instance.
429
426
                @type self: A CompletionTreeView object.
430
427
                """
431
 
                from operator import not_
432
 
                if not_(self.__is_blocked): return
 
428
                if not self.__is_blocked: return
433
429
                self.__editor.textview.handler_unblock(self.__signal_id_7)
434
430
                self.__is_blocked = False
435
431
                return
444
440
                @param self: Reference to the CompletionTreeView instance.
445
441
                @type self: A CompletionTreeView object.
446
442
                """
447
 
                from operator import truth
448
 
                if truth(self.__is_blocked): return
 
443
                if self.__is_blocked: return
449
444
                self.__editor.textview.handler_block(self.__signal_id_7)
450
445
                self.__is_blocked = True
451
446
                return