#!/usr/bin/python # -*- encoding: utf-8 -*- import gtk # local imports import previewpane import texpane #import dialogs #import preferences from constants import * # TODO: Documentation class MainWindow: def __init__(self): self.builder = gtk.Builder() self.builder.add_from_file(UI_DIR + 'mainwindow.ui') self.builder.connect_signals(self) self.window = self.builder.get_object('mainwindow') self.texview = texpane.TexView() preview_area = self.builder.get_object('preview_drawingarea') preview_toolbar = self.builder.get_object('preview_toolbar') pdffile = '/home/thomas/Documents/pcm.pdf' # TODO: placefiller pdf self.previewpane = previewpane.PreviewPane(preview_area, preview_toolbar, pdffile) texscroll = self.builder.get_object('editor_scrolledwindow') texscroll.add(self.texview) texscroll.show_all() self.window.show() gtk.main() def new(self): pass def open(self): pass def save(self): pass def saveas(self): pass def revert(self): pass def quit(self): # TODO: Check if we need to save the document first print ' ___ ' print ' {o,o} ', 'Thank you for using Gummi!' print ' |)_(| ', 'We welcome your feedback at' print ' --"-"-- ', 'http://gummi.googlecode.com\n' gtk.main_quit() def undo(self): self.texview.undo() def redo(self): self.texview.redo() def cut(self): self.texview.cut() def copy(self): self.texview.copy() def paste(self): self.texview.paste() def delete(self): self.texview.delete() def select_all(self): self.texview.select_all() def deselect_all(self): self.texview.deselect_all() def find(self): pass def find_next(self): pass def find_previous(self): pass def find_and_replace(self): pass def insert_image(self): pass def insert_table(self): pass def insert_matrix(self): pass def toolbar_toggle(self, value): toolbar = self.builder.get_object('toolbar') if value: toolbar.show() else: toolbar.hide() pass def statusbar_toggle(self, value): statusbar = self.builder.get_object('statusbar') if value: statusbar.show() else: statusbar.hide() def preview_toggle(self, value): preview = self.builder.get_object('preview_panel') if value: preview.show() print 'show' else: preview.hide() print 'hide' pass def fullscreen_toggle(self, enable): if enable: self.window.fullscreen() else: self.window.unfullscreen() def about(self): pass #################### # Menu Items # #################### # File def on_new_menuitem_activate(self, menuitem): self.new() def on_open_menuitem_activate(self, menuitem): self.open() def on_save_menuitem_activate(self, menuitem): self.save() def on_saveas_menuitem_activate(self, menuitem): self.saveas() def on_revert_menuitem_activate(self, menuitem): self.revert() def main_quit(self, menuitem): self.quit() # Edit def on_undo_menuitem_activate(self, menuitem): self.undo() def on_redo_menuitem_activate(self, menuitem): self.redo() def on_cut_menuitem_activate(self, menuitem): self.cut() def on_copy_menuitem_activate(self, menuitem): self.copy() def on_paste_menuitem_activate(self, menuitem): self.paste() def on_delete_menuitem_activate(self, menuitem): self.delete() def on_selectall_menuitem_activate(self, menuitem): self.select_all() def on_deselectall_menuitem_activate(self, menuitem): self.deselect_all() def on_find_menuitem_activate(self, menuitem): self.find() def on_findnext_menuitem_activate(self, menuitem): self.find_next() def on_findprevious_menuitem_activate(self, menuitem): self.find_previous() def on_findandreplace_menuitem_activate(self, menuitem): self.find_and_replace() def on_preferences_menuitem_activate(self, menuitem): pass # TODO # View def on_toolbar_menuitem_toggled(self, menuitem): self.toolbar_toggle(menuitem.get_active()) def on_statusbar_menuitem_toggled(self, menuitem): self.statusbar_toggle(menuitem.get_active()) def on_preview_menuitem_toggled(self, menuitem): self.preview_toggle(menuitem.get_active()) def on_fullscreen_menuitem_toggled(self, menuitem): self.fullscreen_toggle(menuitem.get_active()) # Insert def on_image_menuitem_activate(self, menuitem): self.insert_image() def on_table_menuitem_activate(self, menuitem): self.insert_table() def on_matrix_menuitem_activate(self, menuitem): self.insert_matrix() # Help def on_about_menuitem_activate(self, menuitem): pass #################### # Toolbar Items # #################### def on_new_toolbutton_clicked(self, menuitem): self.new() def on_open_toolbutton_clicked(self, menuitem): self.open() def on_save_toolbutton_clicked(self, menuitem): self.save() def on_cut_toolbutton_clicked(self, menuitem): self.cut() def on_copy_toolbutton_clicked(self, menuitem): self.copy() def on_paste_toolbutton_clicked(self, menuitem): self.paste() def on_undo_toolbutton_clicked(self, menuitem): self.undo() def on_redo_toolbutton_clicked(self, menuitem): self.redo() def on_preview_pane_close_button_clicked(self, button): self.preview_toggle(False) if __name__ == '__main__': MainWindow() else: pass