def on_run_query(self, widget, data=None): # print("Starting search") outfile = self.generate_tempresult_path() if not self.query_file == "unsaved": # temppath = self.generate_tempresult_path() self.perform_save_query() self.run_query(self.query_file) else: # Use temporary files temppath = self.generate_tempquery_path() thequery = self.get_query() # Write .q file and run CorpusSearch # self.write_file(thequery, temppath) self.query_file = temppath self.thequery = CSQuery() self.perform_save_query() self.is_saved = False self.set_query_file("unsaved") self.thequery = None self.run_query(temppath, outfile) # Cleanput since those are temporary files os.remove(temppath)
def __init__(self): # also not needed if installed: self.load_settings() # Configure initial state self.is_saved = False # Use GTKBuilder to build GUI from corpald.glade self.builder = gtk.Builder() self.builder.add_from_file("corpald.glade") self.builder.connect_signals(self) self.window = self.builder.get_object('corpaldwindow') self.window.connect("destroy", self.destroy) self.window.connect("delete_event", self.delete_event) # Fill in various default settings query = CSQuery() self.populate_gui() # Make font vars # self.operator = self.builder.get_object("textview_query").get_buffer().create_tag('bold', weight = pango.WEIGHT_BOLD ) self.operator_style = self.builder.get_object( "textview_query").get_buffer().create_tag( 'operator', weight=pango.WEIGHT_BOLD, foreground=gtk.gdk.Color('#008')) self.keyword_style = self.builder.get_object( "textview_query").get_buffer().create_tag( 'keyword', weight=pango.WEIGHT_BOLD, foreground=gtk.gdk.Color('#E56717')) self.definition_style = self.builder.get_object( "textview_query").get_buffer().create_tag( 'definition', weight=pango.WEIGHT_BOLD, foreground=gtk.gdk.Color('#800')) self.comment_style = self.builder.get_object( "textview_results").get_buffer().create_tag( 'comment', foreground=gtk.gdk.Color('#C68E17')) self.text_style = self.builder.get_object( "textview_results").get_buffer().create_tag( 'text', foreground=gtk.gdk.Color('#342D7E')) # Show the main window self.window.show()
def on_open_query(self, widget, data=None): # create a new dialog dialog = gtk.FileChooserDialog("Open query", None, gtk.FILE_CHOOSER_ACTION_OPEN, (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_OPEN, gtk.RESPONSE_OK)) dialog.set_current_folder(self.get_query_directory()) if dialog.run() == gtk.RESPONSE_OK: filename = dialog.get_filename() self.thequery = CSQuery() self.thequery.load(filename) # print("back in corpald") # thequery = self.read_file(filename) self.set_query(self.thequery.query.strip()) self.builder.get_object("entry_root_node").set_text( self.thequery.node) self.builder.get_object("checkbutton_nodes_only").set_active( self.thequery.nodes_only) self.builder.get_object("checkbutton_remove_nodes").set_active( self.thequery.remove_nodes) self.builder.get_object("checkbutton_print_indices").set_active( self.thequery.print_indices) self.builder.get_object("checkbutton_print_complement").set_active( self.thequery.print_complement) if self.thequery.definitions: self.builder.get_object("filechooserbutton_def").set_filename( self.thequery.definitions) else: self.builder.get_object("filechooserbutton_def").unselect_all() if self.thequery.remark: self.builder.get_object("entry_remark").set_text( self.thequery.remark) self.is_saved = True self.set_query_file(filename) self.builder.get_object("button_save_query").set_sensitive(False) self.builder.get_object("menuitem_save_query").set_sensitive(False) # Clear result box self.clear_result() #self.builder.get_object("label_resultsframe").set_markup("<b>Results</b>") #self.builder.get_object("resultbuffer").set_text("") dialog.destroy()
def perform_save_query(self): # self.write_file(self.get_query(), self.query_file) self.thequery = CSQuery() self.thequery.query = self.get_query() self.thequery.nodes_only = self.builder.get_object( "checkbutton_nodes_only").get_active() self.thequery.remove_nodes = self.builder.get_object( "checkbutton_remove_nodes").get_active() self.thequery.print_indices = self.builder.get_object( "checkbutton_print_indices").get_active() self.thequery.print_complement = self.builder.get_object( "checkbutton_print_complement").get_active() self.thequery.node = self.builder.get_object( "entry_root_node").get_text() self.thequery.definitions = self.builder.get_object( "filechooserbutton_def").get_filename() self.thequery.remark = self.builder.get_object( "entry_remark").get_text() self.thequery.save(self.query_file) self.set_saved(True) self.builder.get_object("button_save_query").set_sensitive(False) self.builder.get_object("menuitem_save_query").set_sensitive(False)