Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import wx
- from twisted.internet import wxreactor
- wxreactor.install()
- from twisted.application import service
- from twisted.internet import reactor
- from twisted.web import server
- from txjsonrpc.web import jsonrpc
- import json
- #---------------------------------------------------------------------------
- class MyFrame(wx.Frame):
- def __init__(
- self, parent, ID, title, pos=wx.DefaultPosition,
- size=wx.DefaultSize, style=wx.DEFAULT_FRAME_STYLE
- ):
- wx.Frame.__init__(self, parent, ID, title, pos, size, style)
- # begin wxGlade: MyFrame.__init__
- self.text_ctrl_status = wx.TextCtrl(self, -1, "Status Quick brown fox jumps offer the lazy dog", style=wx.TE_READONLY)
- self.sizer_3_staticbox = wx.StaticBox(self, -1, "STATUS")
- self.text_ctrl_nomor = wx.TextCtrl(self, -1, "Nomor Quick brown fox jumps offer the lazy dog", style=wx.TE_READONLY)
- self.sizer_4_staticbox = wx.StaticBox(self, -1, "Nomor")
- self.text_ctrl_nama = wx.TextCtrl(self, -1, "Bapak Bino Oetomo (0817261234567890)")
- self.sizer_11_staticbox = wx.StaticBox(self, -1, "Nama/Phone")
- self.text_ctrl_alamat = wx.TextCtrl(self, -1, "Arteri Utara 107-A\nRT-3 / RW-5\nNandan", style=wx.TE_MULTILINE | wx.TE_READONLY | wx.TE_WORDWRAP)
- self.sizer_12_staticbox = wx.StaticBox(self, -1, "Alamat")
- self.text_ctrl_arahan = wx.TextCtrl(self, -1, "Dari tugu , Keutara\nPrapatan Ringroad, belok kanan masuk Jalur lambat\nKiri pertama masuk utara\nCustomer ada di pojok barat utara\nEx. Resto Asia", style=wx.TE_MULTILINE | wx.TE_READONLY)
- self.sizer_13_staticbox = wx.StaticBox(self, -1, "Arahan")
- # end wxGlade
- self.ShowFullScreen(True, style=wx.FULLSCREEN_ALL)
- # begin wxGlade: MyFrame.__set_properties
- self.SetTitle("Sistem Kendali Armada Taxi")
- self.SetFont(wx.Font(10, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, "Sans"))
- self.text_ctrl_status.SetFont(wx.Font(14, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 1, "Sans"))
- self.text_ctrl_nomor.SetFont(wx.Font(14, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 1, "Sans"))
- self.text_ctrl_nama.SetFont(wx.Font(14, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, "Sans"))
- self.text_ctrl_alamat.SetFont(wx.Font(14, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, "Sans"))
- self.text_ctrl_arahan.SetFont(wx.Font(14, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, "Sans"))
- # end wxGlade
- self.sizer_3_staticbox.SetForegroundColour((255,0,0))
- self.sizer_3_staticbox.SetFont(wx.Font(12, wx.DEFAULT, wx.BOLD, wx.BOLD, 1, "Sans"))
- self.sizer_4_staticbox.SetForegroundColour((255,0,0))
- self.sizer_4_staticbox.SetFont(wx.Font(12, wx.DEFAULT, wx.BOLD, wx.BOLD, 1, "Sans"))
- self.sizer_11_staticbox.SetForegroundColour((255,0,0))
- self.sizer_11_staticbox.SetFont(wx.Font(12, wx.DEFAULT, wx.BOLD, wx.BOLD, 1, "Sans"))
- self.sizer_12_staticbox.SetForegroundColour((255,0,0))
- self.sizer_12_staticbox.SetFont(wx.Font(12, wx.DEFAULT, wx.BOLD, wx.BOLD, 1, "Sans"))
- self.sizer_13_staticbox.SetForegroundColour((255,0,0))
- self.sizer_13_staticbox.SetFont(wx.Font(12, wx.DEFAULT, wx.BOLD, wx.BOLD, 1, "Sans"))
- # begin wxGlade: MyFrame.__do_layout
- sizer_1 = wx.BoxSizer(wx.VERTICAL)
- sizer_9 = wx.BoxSizer(wx.VERTICAL)
- sizer_10 = wx.BoxSizer(wx.VERTICAL)
- self.sizer_13_staticbox.Lower()
- sizer_13 = wx.StaticBoxSizer(self.sizer_13_staticbox, wx.VERTICAL)
- self.sizer_12_staticbox.Lower()
- sizer_12 = wx.StaticBoxSizer(self.sizer_12_staticbox, wx.VERTICAL)
- self.sizer_11_staticbox.Lower()
- sizer_11 = wx.StaticBoxSizer(self.sizer_11_staticbox, wx.VERTICAL)
- sizer_2 = wx.BoxSizer(wx.HORIZONTAL)
- self.sizer_4_staticbox.Lower()
- sizer_4 = wx.StaticBoxSizer(self.sizer_4_staticbox, wx.HORIZONTAL)
- self.sizer_3_staticbox.Lower()
- sizer_3 = wx.StaticBoxSizer(self.sizer_3_staticbox, wx.HORIZONTAL)
- sizer_3.Add(self.text_ctrl_status, 1, wx.EXPAND | wx.ALIGN_CENTER_VERTICAL, 0)
- sizer_2.Add(sizer_3, 1, 0, 0)
- sizer_4.Add(self.text_ctrl_nomor, 1, wx.ALIGN_CENTER_VERTICAL, 0)
- sizer_2.Add(sizer_4, 1, 0, 0)
- sizer_1.Add(sizer_2, 0, wx.EXPAND, 1)
- sizer_11.Add(self.text_ctrl_nama, 1, wx.EXPAND, 0)
- sizer_10.Add(sizer_11, 0, wx.EXPAND, 0)
- sizer_12.Add(self.text_ctrl_alamat, 1, wx.EXPAND, 0)
- sizer_10.Add(sizer_12, 0, wx.EXPAND, 0)
- sizer_13.Add(self.text_ctrl_arahan, 1, wx.EXPAND, 0)
- sizer_10.Add(sizer_13, 1, wx.EXPAND, 0)
- sizer_9.Add(sizer_10, 1, wx.EXPAND, 0)
- sizer_1.Add(sizer_9, 1, wx.EXPAND, 0)
- self.SetSizer(sizer_1)
- sizer_1.Fit(self)
- self.Layout()
- # end wxGlade
- def OnCloseMe(self, event):
- self.Close(True)
- reactor.stop()
- def OnCloseWindow(self, event):
- self.Destroy()
- reactor.stop()
- #---------------------------------------------------------------------------
- class MyRPC(wx.App, jsonrpc.JSONRPC):
- def OnInit(self):
- self.frame = MyFrame(None, -1, '')
- self.frame.Show(True)
- self.SetTopWindow(self.frame)
- self.allowNone = True
- self.useDateTime = False
- return True
- """
- text_ctrl_status --->MODE
- text_ctrl_nomor --->AUCID
- text_ctrl_nama --->CUSNAME
- text_ctrl_alamat --->CUSADDR/CUSCLUE
- text_ctrl_arahan --->CUSDIR
- """
- # some XML-RPC function calls for twisted server
- def jsonrpc_stop(self,x='stop'):
- """Closes the wx application."""
- print "INI STOP"
- self.frame.Close() # Sending closing event
- return 'Shutdown initiated'
- def jsonrpc_title(self, x):
- """Return all passed args."""
- self.frame.SetTitle(x)
- return x.upper()
- def jsonrpc_setdisplay(self,line):
- self.frame.text_ctrl_status.SetValue(line['MODE'])
- self.frame.text_ctrl_nomor.SetValue(str(line['AUCID']))
- self.frame.text_ctrl_nama.SetValue(line['CUSNAME'])
- if line['MODE']=='AUCTION':
- self.frame.text_ctrl_alamat.SetValue(line['CUSCLUE'])
- else:
- self.frame.text_ctrl_alamat.SetValue(line['CUSADDR'])
- self.frame.text_ctrl_arahan.SetValue(line['CUSDIR'])
- self.frame.ShowFullScreen(True, style=wx.FULLSCREEN_ALL)
- return 'OK'
- def jsonrpc_hidescreen(self,x):
- #Here to hide the screen
- return 'OK'
- def jsonrpc_risescreen(self,x):
- #Here to Show/Rise/recreate the screen
- return 'OK'
- if __name__ == '__main__':
- # Initiliaze MyApp
- app = MyRPC(False) # False -> printing stdout/stderr to shell,
- # not in an additional wx window
- # Make wx application twisted aware
- # Must have to start "wxreactor.install()" on top before
- reactor.registerWxApp(app)
- # Make a XML-RPC Server listening to port 50009
- reactor.listenTCP(50009, server.Site(app))
- # Start both reactor parts (wx MainLoop and XML-RPC server)
- reactor.run()
Advertisement
Add Comment
Please, Sign In to add comment