#!/usr/bin/python
import os
import sys
import functions
try:
import pygtk
pygtk.require("2.0")
import gobject
except:
print("pygtk Not Availible")
sys.exit(1)
try:
import gtk
except:
print("GTK Not Availible")
sys.exit(1)
class Viewer(object):
def delete_event(self, widget, event):
self.window.destroy()
def __init__(self, parent=None, file_name=None):
self.parent = parent
self._ = parent._
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.set_title(self._("viewer"))
self.window.connect("delete_event", self.delete_event)
self.window.set_border_width(10)
self.window.set_transient_for(parent.window)
self.window.set_modal(True)
self.window.set_size_request(450, 300)
vb = gtk.VBox(False, spacing=10)
self.text_view = gtk.TextView()
self.text_view.set_wrap_mode(gtk.WRAP_WORD)
self.text_view.set_editable(False)
self.text_view.set_cursor_visible(False)
self.text_view.set_left_margin(20)
self.text_view.set_right_margin(20)
self.add_content(file_name)
functions.make_scrolling(self.text_view, vb)
hbuttonbox = gtk.HButtonBox()
button = gtk.Button(None, gtk.STOCK_CLOSE)
button.connect('clicked', self.delete_event, None)
hbuttonbox.pack_start(button, False, False)
vb.pack_start(hbuttonbox, False, False)
self.window.add(vb)
self.window.show_all()
height = min(int(1.03*self.text_view.size_request()[1]), int(0.3 * gtk.gdk.screen_height()))
self.window.set_size_request(int(1.03*self.text_view.size_request()[0]), height)
self.window.set_position(gtk.WIN_POS_CENTER_ALWAYS)
def add_content(self, file_name):
functions.textview_from_file(file_name, self.text_view)
def main():
gtk.main()
if __name__ == "__main__":
Viewer()
main()