Can create and open a GTK window.
This commit is contained in:
parent
65e778d48a
commit
82eb1fcd6f
|
@ -16,7 +16,10 @@ def disp(text):
|
|||
def write(text,verbose=False):
|
||||
if (verbose==False) or (settings.get("verbose")==True):
|
||||
w = settings.get("write")
|
||||
w(str(text))
|
||||
if w == None:
|
||||
disp(str(text))
|
||||
else:
|
||||
w(str(text))
|
||||
|
||||
|
||||
# Print an error message
|
||||
|
|
|
@ -93,9 +93,10 @@ class Manager:
|
|||
def run(self,name,args=None):
|
||||
name = name.strip()
|
||||
if (name in self.enabled)==True:
|
||||
self.enabled[name].run(args)
|
||||
return self.enabled[name].run(args)
|
||||
else:
|
||||
write("Plugin either not loaded or doesn't exist")
|
||||
write("Plugin either not loaded or doesn't exist: "+name)
|
||||
return None
|
||||
|
||||
|
||||
def findsession(self):
|
||||
|
@ -130,7 +131,12 @@ class Manager:
|
|||
# By an earlier call to restore session
|
||||
for key in self.enabled.keys():
|
||||
if (key in self.restored) == False:
|
||||
write(0)
|
||||
self.disablePlugin(key)
|
||||
for key in self.disabled.keys():
|
||||
if (key in self.restored) == True:
|
||||
write(1)
|
||||
self.enablePlugin(key)
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -33,6 +33,9 @@ def main():
|
|||
for path in settings.get("PLUGPATH",True):
|
||||
loadPluginPath(path)
|
||||
|
||||
manager.manager.restoresession()
|
||||
settings.pop("loop")()
|
||||
|
||||
|
||||
|
||||
if __name__ == "__main__":main()
|
||||
|
|
|
@ -45,7 +45,13 @@ def get(key, all=False):
|
|||
if(all == False):
|
||||
return settings[key][0]
|
||||
else:
|
||||
return settings[key]
|
||||
return settings[key]
|
||||
|
||||
|
||||
# Set key to value only if it is not set yet
|
||||
def init(key,value):
|
||||
if has(key) == False:
|
||||
set(key,value)
|
||||
|
||||
|
||||
# Replace settings[key] with value
|
||||
|
@ -57,15 +63,6 @@ def replace(key,value):
|
|||
set(key,value)
|
||||
|
||||
|
||||
# Pop off the first value at key.upper()
|
||||
def pop(key):
|
||||
key = key.upper()
|
||||
global settings
|
||||
if (key in settings.keys()) == True:
|
||||
return settings[key].pop(0)
|
||||
return None
|
||||
|
||||
|
||||
def delete(key):
|
||||
key = key.upper()
|
||||
global settings
|
||||
|
@ -73,6 +70,18 @@ def delete(key):
|
|||
del settings[key]
|
||||
|
||||
|
||||
# Pop off the first value at key.upper()
|
||||
def pop(key):
|
||||
key = key.upper()
|
||||
global settings
|
||||
if (key in settings.keys()) == True:
|
||||
item = settings[key].pop(0)
|
||||
if len(settings[key]) == 0:
|
||||
delete(key)
|
||||
return item
|
||||
return None
|
||||
|
||||
|
||||
# Read settings from file
|
||||
def readfile(file):
|
||||
write("Reading file: "+file,True)
|
||||
|
@ -106,6 +115,7 @@ def clean():
|
|||
delete("args")
|
||||
delete("plugpath")
|
||||
delete("verbose")
|
||||
delete("loop")
|
||||
|
||||
|
||||
def save(path):
|
||||
|
|
|
@ -41,8 +41,9 @@ def open():
|
|||
settings.set("cliney", 0)
|
||||
|
||||
# Start loop in new thread
|
||||
thread = bt.needle.Needle(cline.loop.loop)
|
||||
thread.start()
|
||||
settings.set("loop",cline.loop.loop)
|
||||
#thread = bt.needle.Needle(cline.loop.loop)
|
||||
#thread.start()
|
||||
|
||||
settings.set("write", cline.message.insert)
|
||||
|
||||
|
@ -55,6 +56,7 @@ def close():
|
|||
|
||||
# Stop looping
|
||||
cline.loop.quit()
|
||||
settings.pop("loop")
|
||||
|
||||
# Undo ncurses initialization
|
||||
curses.nocbreak()
|
||||
|
|
|
@ -7,7 +7,7 @@ __date__ ="$Dec 7, 2009 9:12:00 AM$"
|
|||
global name, app, type, path, opt
|
||||
name = "test"
|
||||
app = "scion"
|
||||
type = "core"
|
||||
type = "extra"
|
||||
path = ""
|
||||
opt = []
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
__author__="bjschuma"
|
||||
__date__ ="$Jan 6, 2010 9:52:21 PM$"
|
||||
|
||||
|
||||
__all__ = ["button","window"]
|
|
@ -0,0 +1,30 @@
|
|||
#! /usr/bin/python
|
||||
|
||||
# To change this template, choose Tools | Templates
|
||||
# and open the template in the editor.
|
||||
|
||||
__author__="bjschuma"
|
||||
__date__ ="$Jan 6, 2010 9:55:39 PM$"
|
||||
|
||||
|
||||
import gtk
|
||||
|
||||
class Button(gtk.Button):
|
||||
def __init__(self,name,func,image=None,text=None):
|
||||
gtk.Button.__init__(self)
|
||||
box = gtk.HBox(True,0)
|
||||
# Add an image if we were given one
|
||||
if image!= None:
|
||||
box.pack_start(image,True,True,0)
|
||||
# Add text if we were given some
|
||||
if text != None:
|
||||
label = gtk.Label(text)
|
||||
label.set_line_wrap(True)
|
||||
label.set_size_request(100,100)
|
||||
label.show()
|
||||
box.pack_start(label,True,True,0)
|
||||
# Show and add callback function
|
||||
box.show()
|
||||
self.add(box)
|
||||
self.connect("clicked",func,name)
|
||||
self.show()
|
|
@ -0,0 +1,29 @@
|
|||
#! /usr/bin/python
|
||||
|
||||
# To change this template, choose Tools | Templates
|
||||
# and open the template in the editor.
|
||||
|
||||
__author__="bjschuma"
|
||||
__date__ ="$Jan 6, 2010 10:07:31 PM$"
|
||||
|
||||
import gtk
|
||||
from manager import manager
|
||||
|
||||
def quit(a,b):
|
||||
manager.run("exit")
|
||||
|
||||
|
||||
class Window(gtk.Window):
|
||||
def __init__(self, title, type=gtk.WINDOW_TOPLEVEL, icon=None):
|
||||
gtk.Window.__init__(self,type)
|
||||
self.set_title(title)
|
||||
self.connect("delete_event",quit)
|
||||
|
||||
if not (icon == None):
|
||||
self.set_icon_from_file(icon)
|
||||
|
||||
self.show()
|
||||
|
||||
|
||||
#def quit(self,a,b):
|
||||
# manager.run("exit")
|
|
@ -0,0 +1,68 @@
|
|||
# This is a simple test plugin, to make sure everything is working
|
||||
|
||||
__author__="bjschuma"
|
||||
__date__ ="$Jan 6, 2010 9:50:31 PM$"
|
||||
|
||||
|
||||
global name, app, type, path, opt
|
||||
name = "sgtk"
|
||||
app = "scion"
|
||||
type = "extra"
|
||||
path = ""
|
||||
opt = []
|
||||
|
||||
from guiGTK import *
|
||||
import gtk
|
||||
import gobject
|
||||
gobject.threads_init()
|
||||
|
||||
import settings
|
||||
global running
|
||||
running = False
|
||||
from manager import manager
|
||||
|
||||
#global thread
|
||||
|
||||
# Called when the plugin needs to perform some action
|
||||
def run(args=None):
|
||||
running = settings.get("guirunning")
|
||||
win = window.Window("Scion")
|
||||
|
||||
# Start gtk main
|
||||
if running == False:
|
||||
manager.run("disable", ["cli"] )
|
||||
settings.set("guirunning",True)
|
||||
#if settings.has("loop") == False:
|
||||
gtk.main()
|
||||
|
||||
|
||||
def loop():
|
||||
#write(settings.get("guirunning"))
|
||||
if settings.get("guirunning") == True:
|
||||
run()
|
||||
gtk.main()
|
||||
else:
|
||||
#settings.pop("loop")
|
||||
settings.pop("loop")()
|
||||
|
||||
|
||||
# Called every time the plugin is enabled
|
||||
def open():
|
||||
settings.init("guirunning",False)
|
||||
settings.set("loop",loop)
|
||||
#if settings.get("guirunning") == True:
|
||||
# run()
|
||||
# settings.set("loop",gtk.main)
|
||||
|
||||
|
||||
# Called every time the plugin is stopped
|
||||
def close():
|
||||
running = settings.get("guirunning")
|
||||
if running == True:
|
||||
gtk.main_quit()
|
||||
|
||||
|
||||
#print loop
|
||||
#settings.set("loop",loop)
|
||||
|
||||
|
Loading…
Reference in New Issue