forked from openlp/openlp
Not quite finished plugin interface
bzr-revno: 6
This commit is contained in:
parent
b597b8115f
commit
ba0539cb11
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,2 +0,0 @@
|
|||||||
# Ignore compiled python files
|
|
||||||
*.pyc
|
|
68
plugin.py
Normal file
68
plugin.py
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
"""
|
||||||
|
|
||||||
|
Custom classes for plugins
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
import wx
|
||||||
|
|
||||||
|
# OOSItem should be extended into a plugin-specific object that encapsulates
|
||||||
|
# the data needed for that plugin to reference back to its internal data
|
||||||
|
# (like the songid or the path to a video file)
|
||||||
|
class OOSItem:
|
||||||
|
"'Order of Service' entry item"
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
"OOSItem constructor"
|
||||||
|
|
||||||
|
self.title = "Scaffold item"
|
||||||
|
|
||||||
|
def gettitle(self):
|
||||||
|
"Accessor for title"
|
||||||
|
|
||||||
|
return self.title
|
||||||
|
|
||||||
|
def golive(self, window):
|
||||||
|
"Display this item onscreen"
|
||||||
|
pass
|
||||||
|
|
||||||
|
def blank(self, window):
|
||||||
|
"Blank the screen, plugin is allowed to keep data ready"
|
||||||
|
pass
|
||||||
|
|
||||||
|
def stop(self, window):
|
||||||
|
"Stop this plugin and destroy any canvases"
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
# OLPPlugin describes a base class which will be extended by the each particular
|
||||||
|
# plugin. The plugin provides a series of objects to the host application:
|
||||||
|
# * panel to add to the control interface (class Controller)
|
||||||
|
# * operations for `go live', `[un]blank', `stop'
|
||||||
|
class OLPPlugin(wx.Panel):
|
||||||
|
"Plugin type"
|
||||||
|
|
||||||
|
def __init__(self, parent, *args, **kwargs):
|
||||||
|
"Panel constructor"
|
||||||
|
|
||||||
|
wx.Panel.__init__(self, parent, *args, **kwargs)
|
||||||
|
|
||||||
|
oospanel = oos.OrderOfService(self)
|
||||||
|
|
||||||
|
self.goblank = wx.RadioButton(self, label="Blank Screen",
|
||||||
|
style=wx.RB_GROUP)
|
||||||
|
self.golive = wx.RadioButton(self, label="Go Live")
|
||||||
|
|
||||||
|
blankersizer = wx.BoxSizer(wx.HORIZONTAL)
|
||||||
|
blankersizer.AddStretchSpacer()
|
||||||
|
blankersizer.Add(self.goblank, 0, wx.RIGHT|wx.ALIGN_CENTER, 10)
|
||||||
|
blankersizer.Add(self.golive, 0, wx.ALIGN_CENTER)
|
||||||
|
blankersizer.AddStretchSpacer()
|
||||||
|
|
||||||
|
mainsizer = wx.BoxSizer(wx.VERTICAL)
|
||||||
|
mainsizer.Add(oospanel, 1, wx.GROW|wx.BOTTOM, 10)
|
||||||
|
mainsizer.Add(blankersizer, 0, wx.GROW)
|
||||||
|
|
||||||
|
self.SetSizer(mainsizer)
|
||||||
|
|
||||||
|
# vim: autoindent shiftwidth=4 expandtab textwidth=80
|
Loading…
Reference in New Issue
Block a user