Changeset 48
- Timestamp:
- 02/28/02 00:44:43 (7 years ago)
- Files:
-
- trunk/RBPrivate/Prototypes/ChatClient/AccountInfoMediator.py (added)
- trunk/RBPrivate/Prototypes/ChatClient/AccountInfoMediator.skin (added)
- trunk/RBPrivate/Prototypes/ChatClient/AccountManagement.skin (added)
- trunk/RBPrivate/Prototypes/ChatClient/AccountManagerMediator.py (added)
- trunk/RBPrivate/Prototypes/ChatClient/ClientModel.py (modified) (2 diffs)
- trunk/RBPrivate/Prototypes/ChatClient/Login.skin (modified) (2 diffs)
- trunk/RBPrivate/Prototypes/ChatClient/LoginMediator.py (modified) (1 diff)
- trunk/RBPrivate/Prototypes/ChatClient/MainFrame.skin (modified) (4 diffs)
- trunk/RBPrivate/Prototypes/ChatClient/MainframeMediator.py (added)
- trunk/RBPrivate/Prototypes/ChatClient/client.skin (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/RBPrivate/Prototypes/ChatClient/ClientModel.py
r45 r48 18 18 self.context = node.context 19 19 self.JabberClients = SmartSelectDict() 20 #self.LoginToClient('www.runeblade.com', 'shane.test1', 'testing', resource='RuneBlade2') 20 21 def Process(self, maxTime): 22 if self.JabberClients: 23 self.JabberClients.Process(maxTime) 21 24 22 25 def LoginToClient(self, server, username, password, resource='RuneBlade'): 23 26 jc = Client(server) 24 27 jc._SetDebug(sys.stdout, sys.stdout) 25 self.JabberClients[server, username ] = jc28 self.JabberClients[server, username, resource] = jc 26 29 27 30 # Install default handlers … … 34 37 # Login 35 38 jc.Authenticate(username, password, resource) 36 for i in xrange(5): self.JabberClients.Process(0.1) 37 39 jc.Presence() trunk/RBPrivate/Prototypes/ChatClient/Login.skin
r45 r48 1 1 <?xml version='1.0'?> 2 2 <skin:skin xmlns:skin='http://namespaces.runeblade.com/skin' xmlns:py='http://namespaces.runeblade.com/xmlPython' xmlns='http://namespaces.runeblade.com/wxPythonSkin'> 3 <frame title='RuneBlade Chat Client Login' show='1'>3 <frame title='RuneBlade Chat Client Server Login' show='1'> 4 4 <py:script contextvar='Mediator' module='LoginMediator' call='LoginMediator' /> 5 5 <layout sizerFit='1'> … … 7 7 <layout orientation='grid' args='-1, 2' sizerFit='1' sizerFlagDefault='wxALIGN_CENTER | wxALL' sizerBorderDefault='5'> 8 8 <label>Username</label><input sizerOption='1' > 9 <py: inline>self.context.Mediator.UsernameInput = self.parent().object</py:inline>9 <py:obj_variable owner='Mediator' name='UsernameInput' /> 10 10 </input> 11 11 <label>Password</label><input sizerOption='1' style='wxTE_PASSWORD'> 12 <py: inline>self.context.Mediator.PasswordInput = self.parent().object</py:inline>12 <py:obj_variable owner='Mediator' name='PasswordInput' /> 13 13 </input> 14 14 <label>Resource</label><input value='RuneBlade' sizerOption='1' > 15 <py: inline>self.context.Mediator.ResourceInput = self.parent().object</py:inline>15 <py:obj_variable owner='Mediator' name='ResourceInput' /> 16 16 </input> 17 17 <label>Server</label><input value='www.runeblade.com' sizerOption='1'> 18 <py: inline>self.context.Mediator.ServerInput = self.parent().object</py:inline>18 <py:obj_variable owner='Mediator' name='ServerInput' /> 19 19 </input> 20 20 <button default='1' label='OK'> 21 <py: inline>self.context.Mediator.OKButton = self.parent().object</py:inline>21 <py:obj_variable owner='Mediator' name='OKButton' /> 22 22 </button> 23 23 <button label='Cancel' > 24 <py: inline>self.context.Mediator.CancelButton = self.parent().object</py:inline>24 <py:obj_variable owner='Mediator' name='CancelButton' /> 25 25 </button> 26 26 </layout> trunk/RBPrivate/Prototypes/ChatClient/LoginMediator.py
r45 r48 4 4 5 5 from wxPython import wx 6 7 6 8 7 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ trunk/RBPrivate/Prototypes/ChatClient/MainFrame.skin
r42 r48 2 2 <skin:skin xmlns:skin='http://namespaces.runeblade.com/skin' xmlns:py='http://namespaces.runeblade.com/xmlPython' xmlns='http://namespaces.runeblade.com/wxPythonSkin'> 3 3 <frame title='RuneBlade Chat Client' show='1'> 4 <py:script contextvar='Mediator' module='MainframeMediator' call='MainframeMediator' /> 4 5 <menu_bar> 5 6 <menu text='File'> 6 <menu_item text=" Item 1" />7 <menu_item text="Item 2" />8 </menu>9 <menu text='Edit'>10 <menu_item text="Item 1" />11 < menu_item text="Item 2" />12 </menu>13 <menu text='View'>14 <menu_item text="Item 1" />15 < menu_item text="Item 2" />7 <menu_item text="Accounts..."> 8 <py:inline>wx.EVT_MENU(self.context.frame, parentObj.GetId(), self.context.Mediator.OnShowAccounts)</py:inline> 9 </menu_item> 10 <menu_item text="Options..."> 11 <py:inline>wx.EVT_MENU(self.context.frame, parentObj.GetId(), self.context.Mediator.OnShowOptions)</py:inline> 12 </menu_item> 13 <menu_break/> 14 <menu_item text="Exit"> 15 <py:inline>wx.EVT_MENU(self.context.frame, parentObj.GetId(), self.context.Mediator.OnExit)</py:inline> 16 </menu_item> 16 17 </menu> 17 18 <menu text='System'> 18 <menu_item text="Add Contact" /> 19 <menu_item text="Remove Contact" /> 19 <menu_item text="View Debug Streams"> 20 <py:inline>wx.EVT_MENU(self.context.frame, parentObj.GetId(), self.context.Mediator.OnTODOItem)</py:inline> 21 </menu_item> 20 22 </menu> 21 23 <menu text='Help'> 22 <menu_item text="Item 1" /> 23 <menu_item text="Item 2" /> 24 <menu_item text="RuneBlade Chat Client"> 25 <py:inline>wx.EVT_MENU(self.context.frame, parentObj.GetId(), self.context.Mediator.OnTODOItem)</py:inline> 26 </menu_item> 27 <menu_break/> 28 <menu_item text="www.runeblade.com"> 29 <py:inline>wx.EVT_MENU(self.context.frame, parentObj.GetId(), self.context.Mediator.OnTODOItem)</py:inline> 30 </menu_item> 31 <menu_item text="www.jabber.org"> 32 <py:inline>wx.EVT_MENU(self.context.frame, parentObj.GetId(), self.context.Mediator.OnTODOItem)</py:inline> 33 </menu_item> 24 34 </menu> 25 35 </menu_bar> … … 27 37 <layout sizerFit='1' sizerOption='1' sizerFlag='wxEXPAND'> 28 38 <layout sizerOption='1' sizerFlag='wxEXPAND'> 29 <notebook size='(350, 500)' sizerOption='1' sizerFlag='wxEXPAND'> 30 <column_list pagename='Chat' bgcolor='(250, 250, 255)' columns='"Contact", "Status"' style='wxLC_NO_HEADER' /> 39 <notebook size='(200, 400)' sizerOption='1' sizerFlag='wxEXPAND'> 40 <column_list pagename='Buddy List' bgcolor='(250, 250, 255)' columns='"Contact", "Status", "JID"' style='wxLC_NO_HEADER'> 41 <py:obj_variable owner='Mediator' name='BuddyList' /> 42 </column_list> 43 <!-- 31 44 <column_list pagename='Group Chat' bgcolor='(250, 255, 250)' columns='"Chat Room"' style='wxLC_NO_HEADER' /> 32 45 <styled_text pagename='System Messages' bgcolor='(255, 250, 250)'> … … 44 57 </py:inline> 45 58 </styled_text> 59 --> 46 60 </notebook> 47 61 </layout> … … 49 63 50 64 <status_bar fields='2'/> 65 <py:inline>self.context.Mediator.Initialize()</py:inline> 51 66 </frame> 52 67 </skin:skin> trunk/RBPrivate/Prototypes/ChatClient/client.skin
r45 r48 1 1 <?xml version='1.0'?> 2 2 <skin:skin xmlns:skin='http://namespaces.runeblade.com/skin' xmlns:py='http://namespaces.runeblade.com/xmlPython' xmlns='http://namespaces.runeblade.com/wxPythonSkin'> 3 <py:inline> 4 from wxPython import wx 5 self.AddNamespace(vars(wx)) 6 </py:inline> 3 7 <application> 4 <py:script contextvar='Model' module='ClientModel' call='ClientModel' />8 <py:script contextvar='Model' module='ClientModel' call='ClientModel'/> 5 9 <skin:reference>MainFrame.skin</skin:reference> 10 11 <!-- 6 12 <skin:reference>Login.skin</skin:reference> 7 8 13 <skin:reference>ChatFrame.skin</skin:reference> 9 14 <skin:reference>GroupChatFrame.skin</skin:reference> 10 15 <skin:reference>DebugFrame.skin</skin:reference> 16 --> 17 11 18 </application> 12 19 </skin:skin>
