Module webwin
Expand source code
#!/usr/bin/env python3
from __future__ import absolute_import, print_function
import signal, os, time, sys, subprocess, platform
import ctypes, datetime, sqlite3, warnings
import gi; gi.require_version("Gtk", "3.0")
from gi.repository import Gtk
from gi.repository import Gdk
from gi.repository import GObject
from gi.repository import GLib
try:
# This will change once the pydbase is out of dev stage
np = os.path.split(__file__)[0] + os.sep + '..' + os.sep
#print(np)
sys.path.append(np)
#print(sys.path)
#print(os.getcwd())
from pycommon.browsewin import *
except:
print("Cannot Load browser window")
import pgwkit
class MainWin(Gtk.Window):
def __init__(self):
self.cnt = 0
Gtk.Window.__init__(self, Gtk.WindowType.TOPLEVEL)
#self = Gtk.Window(Gtk.WindowType.TOPLEVEL)
#Gtk.register_stock_icons()
self.set_title("Md viewer")
self.set_position(Gtk.WindowPosition.CENTER_ALWAYS)
www = Gdk.Screen.width(); hhh = Gdk.Screen.height();
disp2 = Gdk.Display()
disp = disp2.get_default()
#print( disp)
scr = disp.get_default_screen()
ptr = disp.get_pointer()
mon = scr.get_monitor_at_point(ptr[1], ptr[2])
geo = scr.get_monitor_geometry(mon)
www = geo.width; hhh = geo.height
xxx = geo.x; yyy = geo.y
# Resort to old means of getting screen w / h
if www == 0 or hhh == 0:
www = Gdk.screen_width(); hhh = Gdk.screen_height();
if www / hhh > 2:
self.set_default_size(5*www/8, 7*hhh/8)
else:
self.set_default_size(7*www/8, 7*hhh/8)
#
self.connect("destroy", self.exit)
scrolled_window = Gtk.ScrolledWindow()
try:
self.brow_win = brow_win()
#print("dir", dir(self.brow_win))
#self.brow_win.load_uri("file://" + self.fname)
except:
#self.brow_win = Gtk.Label("No WebView Available.")
put_exception("WebView load")
raise
vbox5 = Gtk.VBox()
scrolled_window.add(self.brow_win )
frame4 = Gtk.Frame();
frame4.add(scrolled_window)
vbox5.pack_start(frame4, 1,1,0)
self.add(vbox5)
self.show_all()
GLib.timeout_add(200, self.load)
def exit(self, arg):
print("exit")
Gtk.main_quit()
def load(self):
with open(newfname) as fd:
self.brow_win.load_html(fd.read())
if __name__ == '__main__':
if len(sys.argv) < 2:
print("Usage: webwin.py [-d] filename")
sys.exit(0)
is_text = False
#print("argv", sys.argv);
delmode = 0
if sys.argv[1] == "-d":
delmode = 1
sys.argv = sys.argv[1:]
newfname = sys.argv[1]
if not os.path.isfile(newfname):
is_text = True
newfname = ""
for aa in sys.argv[1:]:
newfname += " " + aa
#print("newfname", newfname)
mw = MainWin()
Gtk.main()
print("Ended webview delmode", delmode)
if delmode:
os.remove(newfname)
Classes
class MainWin
-
:Constructors:
::
Window(**properties) new(type:Gtk.WindowType) -> Gtk.Widget
Expand source code
class MainWin(Gtk.Window): def __init__(self): self.cnt = 0 Gtk.Window.__init__(self, Gtk.WindowType.TOPLEVEL) #self = Gtk.Window(Gtk.WindowType.TOPLEVEL) #Gtk.register_stock_icons() self.set_title("Md viewer") self.set_position(Gtk.WindowPosition.CENTER_ALWAYS) www = Gdk.Screen.width(); hhh = Gdk.Screen.height(); disp2 = Gdk.Display() disp = disp2.get_default() #print( disp) scr = disp.get_default_screen() ptr = disp.get_pointer() mon = scr.get_monitor_at_point(ptr[1], ptr[2]) geo = scr.get_monitor_geometry(mon) www = geo.width; hhh = geo.height xxx = geo.x; yyy = geo.y # Resort to old means of getting screen w / h if www == 0 or hhh == 0: www = Gdk.screen_width(); hhh = Gdk.screen_height(); if www / hhh > 2: self.set_default_size(5*www/8, 7*hhh/8) else: self.set_default_size(7*www/8, 7*hhh/8) # self.connect("destroy", self.exit) scrolled_window = Gtk.ScrolledWindow() try: self.brow_win = brow_win() #print("dir", dir(self.brow_win)) #self.brow_win.load_uri("file://" + self.fname) except: #self.brow_win = Gtk.Label("No WebView Available.") put_exception("WebView load") raise vbox5 = Gtk.VBox() scrolled_window.add(self.brow_win ) frame4 = Gtk.Frame(); frame4.add(scrolled_window) vbox5.pack_start(frame4, 1,1,0) self.add(vbox5) self.show_all() GLib.timeout_add(200, self.load) def exit(self, arg): print("exit") Gtk.main_quit() def load(self): with open(newfname) as fd: self.brow_win.load_html(fd.read())
Ancestors
- gi.overrides.Gtk.Window
- gi.repository.Gtk.Window
- gi.repository.Gtk.Bin
- gi.overrides.Gtk.Container
- gi.repository.Gtk.Container
- gi.overrides.Gtk.Widget
- gi.repository.Gtk.Widget
- gi.repository.GObject.InitiallyUnowned
- gi.overrides.GObject.Object
- gi.repository.GObject.Object
- gi._gi.GObject
- gi.repository.Atk.ImplementorIface
- gi.repository.Gtk.Buildable
- gobject.GInterface
Methods
def exit(self, arg)
-
Expand source code
def exit(self, arg): print("exit") Gtk.main_quit()
def load(self)
-
Expand source code
def load(self): with open(newfname) as fd: self.brow_win.load_html(fd.read())