Esempio n. 1
0
def capture(target_uri):
	app = None
	window = None
	widget = None

	target_parts = target_uri.split('/')
	if len(target_parts) >= 1:
		# load the app
		class_name = to_pascalcase(target_parts[0])
		app_class = get_class(target_parts[0], class_name)
		app = app_class()
		app.open()
		if not app:
			print "Unable to load '%s' app" % class_name
			return

		if len(target_parts) >= 2:
			# load the window (from within app)
			class_name = to_pascalcase(target_parts[1])
			for window_class in app.windows:
				if window_class.__name__ == class_name:
					window = app.init_window(window_class)
					break
			if not window:
				print "Unable to load '%s' window" % class_name
				return

			if len(target_parts) >= 3:
				# load the widget (from within window)
				widget_name = target_parts[2]
				for widget_instance in window.widgets:
					if widget_instance.name == widget_name:
						widget = widget_instance
						break
				if not widget:
					print "Unable to load '%s' widget" % widget_name
					return

				parent_widget = widget
				for i in range(3, len(target_parts)):
					# load the widget (from within widget)
					widget_name = target_parts[i]
					for widget_instance in widget.widgets:
						if widget_instance.name == widget_name:
							widget = widget_instance
							break
					if widget == parent_widget:
						print "Unable to load '%s' widget" % widget_name
						return

				widget.capture_screenshots()
			else:
				window.capture_screenshots()
		else:
			app.capture_screenshots()
Esempio n. 2
0
def create_app(name):
	f = open(os.path.join(name, "%s.py" % name), "w")

	f.write("from sikwidgets.application import Application\n")
	f.write("from windows.%s_window import %sWindow\n" % (name, to_pascalcase(name)))
	f.write("\n")
	f.write("class %s(Application):\n" % to_pascalcase(name))
	f.write("\topen_cmd = ''\n")
	f.write("\twindows = [%sWindow]\n" % to_pascalcase(name))

	f.close()
Esempio n. 3
0
def create_window(name):
	windows_path = os.path.join(name, "windows")
	f = open(os.path.join(windows_path, "%s_window.py" % name), "w")

	f.write("from sikwidgets.window import Window\n")
	f.write("from sikwidgets.region_group import RegionGroup\n")
	f.write("\n")
	f.write("class %sWindow(Window):\n" % to_pascalcase(name))
	f.write("\tdef contains(self):\n")
	f.write("\t\tpass")

	f.close()