diff options
Diffstat (limited to 'spock.py')
-rwxr-xr-x | spock.py | 48 |
1 files changed, 36 insertions, 12 deletions
@@ -33,7 +33,7 @@ logger = logging.getLogger('Spock') # files such as set_mm.gh that use exclusively ASCII identifiers. # -class SpockScanner: +class SpockScanner(object): def __init__(self, spock): self.spock = spock # The Spock object sb = self.sb = spock.source_buffer @@ -159,9 +159,9 @@ class SpockBuffer(gtksourceview2.Buffer): return True -class Spock: +class Spock(object): - def verify(self, only_one): + def verify(self, stop_cond): # If we don't have a Ghilbert object any more (probably we moved # self.good_offset back to the start of the file), create a fresh one if self.gh == None: @@ -175,16 +175,16 @@ class Spock: # Hmm, could make Spock support the Scanner API's (i.e. get_token()) # directly, would that be better? - logger.debug ("SpockScanner") + #logger.debug ("SpockScanner") scanner = SpockScanner(self) gh = self.gh err = None start = None try: - logger.debug ("read_proof_file_from_scanner") - gh.read_proof_file_from_scanner (scanner, only_one) - logger.debug ("read_proof_file_from_scanner done") + #logger.debug ("read_proof_file_from_scanner") + gh.read_proof_file_from_scanner (scanner, stop_cond) + #logger.debug ("read_proof_file_from_scanner done") self.good_offset = scanner.good_offset self.tag_good() self.statuslabel.set_text('OK') @@ -218,6 +218,11 @@ class Spock: print >> sys.stderr, "GhError" (msg,) = x.args + if msg == _("Step."): + self.step = self.step + 1 + else: + self.step = 0 + if start != None: self.source_buffer.select_range(start, end) @@ -361,15 +366,27 @@ class Spock: sv.grab_focus() def verify_button_callback(self, widget, data=None): - self.verify(False) + self.verify(-2) + self.step = 0 def verify_one_button_callback(self, widget, data=None): - self.verify(True) + self.source_view.grab_focus() + self.verify(-1) + self.step = 0 if not self.error_set: sv = self.source_view it = self.source_buffer.get_iter_at_offset(self.good_offset) sv.scroll_to_iter(it, 0.0) + def verify_step_button_callback(self, widget, data=None): + self.source_view.grab_focus() + self.verify(self.step) + if not self.error_set: + self.step = 0 + sv = self.source_view + it = self.source_buffer.get_iter_at_offset(self.good_offset) + sv.scroll_to_iter(it, 0.0) + def search_stop(self, restorePos=False): if self.searching: self.searching = False @@ -557,18 +574,25 @@ class Spock: hbox = gtk.HBox() - button = gtk.Button('_Verify') + button = gtk.Button(_('_Verify')) button.set_property('use-underline', True) button.connect('clicked', self.verify_button_callback) button.show() hbox.pack_start (button, expand=False) - button = gtk.Button('_One') + button = gtk.Button(_('_One')) button.set_property('use-underline', True) button.connect('clicked', self.verify_one_button_callback) button.show() hbox.pack_start (button, expand=False) + button = gtk.Button(_('_Step')) + button.set_property('use-underline', True) + button.connect('clicked', self.verify_step_button_callback) + button.show() + hbox.pack_start (button, expand=False) + self.step = 0; + self.search_dir_forward = True self.searching = False entry = gtk.Entry() @@ -653,7 +677,7 @@ class Spock: print >> sys.stderr, "Spock read ", file_path - self.verify(False) + self.verify(-2) class SpockWindow(gtk.Window): def __init__(self): |