view inkscape/firefox/testsoap.py @ 1214:e55499f7505a

Fix the issues with multiple framelines - For multiple framelines, user move mouse from one frameline to another, the frame is not showed correctly. - Old implementation always draw normal frame on the frameline where mouse just leaving. - It is fixed by detecting leave-notify event and removing hover mark. - When user active a frame on a frameline that is not what old active frame is at, the old active frame is not deactivated. - It is fixed by calling frameline.deactive() of a frameline when a frame is activated on another frameline.
author Thinker K.F. Li <thinker@codemud.net>
date Wed, 05 Jan 2011 17:56:14 +0800
parents d5327265da1e
children
line wrap: on
line source

from twisted.web import soap
from twisted.internet import reactor
import sys,os
class Inkscape(object):
	def __init__(self):
		self.server = soap.Proxy('http://localhost:8080')
	def PUBLISH(self):
		return self.server.callRemote('PUBLISH')
	def SCENE(self,n):
		return self.server.callRemote('SCENE',n)
	def START(self):
		return self.server.callRemote('START')
	def INSERTKEY(self,layer,n):
		return self.server.callRemote('INSERTKEY',layer,n)
	def EXTENDSCENE(self,layer,n):
		return self.server.callRemote('EXTENDSCENE',layer,n)
	def GETDOC(self):
		return self.server.callRemote('GETDOC')


def quitSession(result):
	print [result]
	reactor.stop()
def quitError(result):
	print "Error"
	print[result]
	reactor.stop()


ink = Inkscape()

if sys.argv[1] == 'PUBLISH':
	d = ink.PUBLISH()
elif sys.argv[1] == 'SCENE':
	d = ink.SCENE(sys.argv[2])
elif sys.argv[1] == 'START':
	d = ink.START()
elif sys.argv[1] == 'INSERTKEY':
	d = ink.INSERTKEY(sys.argv[2], sys.argv[3])
elif sys.argv[1] == 'GETDOC':
	d = ink.GETDOC()
elif sys.argv[1] == 'EXTENDSCENE':
	d = ink.EXTENDSCENE(sys.argv[2],sys.argv[3])
else:
	print 'Unknown command %s' % sys.argv[1]
	sys.exit(-1)
d.addCallback(quitSession)
d.addErrback(quitError)


reactor.run()