/[cvs]/nfo/projects/netfraggle/bin/FraggleTopicFrame.py
ViewVC logotype

Contents of /nfo/projects/netfraggle/bin/FraggleTopicFrame.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.7 - (show annotations)
Wed Sep 15 22:31:27 2004 UTC (19 years, 9 months ago) by xabbu
Branch: MAIN
Changes since 1.6: +11 -9 lines
File MIME type: text/x-python
+ in function OnUpdateButtonButton call to fraggleSync replaced with syncTopics
+ topics are being recieved from the server now

1 #Boa:MDIChild:FraggleTopicFrame
2
3 # $Id: FraggleTopicFrame.py,v 1.6 2004/08/31 02:25:34 joko Exp $
4 # $Log: FraggleTopicFrame.py,v $
5 # Revision 1.6 2004/08/31 02:25:34 joko
6 # U removed FraggleTopicDetailFrame in favor of FraggleItemFrame and FraggleListFrame
7 # U now clearing topicListBox before updating it
8 #
9 # Revision 1.5 2004/08/30 13:06:16 joko
10 # U now gets config via self.engine
11 #
12 # Revision 1.4 2004/08/27 21:14:02 xabbu
13 # TopicDetails can now be closed.
14 # GUI change on Preferences Dialog in order to prepare multiple server profiles.
15 # Small bugfixes to get the new topic windows working on posix platform.
16 #
17 # Revision 1.3 2004/08/27 04:47:35 joko
18 # instance of FraggleEngine now available in self.engine
19 # added event handler "OnTopicListBoxListboxDclick" and logic to open "FraggleTopicDetailFrame"s
20 #
21 # Revision 1.2 2004/08/27 03:13:50 joko
22 # added listbox for topics and button for update/sync
23 #
24 # Revision 1.1 2004/08/26 17:23:30 joko
25 # initial commit
26 #
27
28 from wxPython.wx import *
29 from wxPython.stc import *
30
31 import FraggleItemFrame
32 import FraggleListFrame
33
34 def create(parent):
35 return FraggleTopicFrame(parent)
36
37 [wxID_FRAGGLETOPICFRAME, wxID_FRAGGLETOPICFRAMETOPICLISTBOX,
38 wxID_FRAGGLETOPICFRAMEUPDATEBUTTON,
39 ] = map(lambda _init_ctrls: wxNewId(), range(3))
40
41 class FraggleTopicFrame(wxMDIChildFrame):
42 def _init_ctrls(self, prnt):
43 # generated method, don't edit
44 wxMDIChildFrame.__init__(self, id=wxID_FRAGGLETOPICFRAME, name='',
45 parent=prnt, pos=wxPoint(494, 328), size=wxSize(169, 192),
46 style=wxSIMPLE_BORDER | wxDEFAULT_FRAME_STYLE, title='Topics')
47 self._init_utils()
48 self.SetClientSize(wxSize(169, 192))
49
50 self.updateButton = wxButton(id=wxID_FRAGGLETOPICFRAMEUPDATEBUTTON,
51 label=u'&Update', name=u'updateButton', parent=self,
52 pos=wxPoint(0, 168), size=wxSize(168, 23), style=0)
53 EVT_BUTTON(self.updateButton, wxID_FRAGGLETOPICFRAMEUPDATEBUTTON,
54 self.OnUpdateButtonButton)
55
56 self.topicListBox = wxListBox(choices=[],
57 id=wxID_FRAGGLETOPICFRAMETOPICLISTBOX, name=u'topicListBox',
58 parent=self, pos=wxPoint(0, 0), size=wxSize(168, 168), style=0)
59 EVT_LISTBOX_DCLICK(self.topicListBox,
60 wxID_FRAGGLETOPICFRAMETOPICLISTBOX,
61 self.OnTopicListBoxListboxDclick)
62
63 def _init_utils(self):
64 # generated method, don't edit
65 pass
66
67 def __init__(self, parent):
68 self.parent = parent
69
70 # render widgets
71 self._init_ctrls(parent)
72
73 # get engine-instance (singleton)
74 import __main__
75 self.engine = __main__.engine
76
77 def OnUpdateButtonButton(self, event):
78 #event.Skip()
79 self.engine.syncTopics()
80 topics = self.engine.getTopics()
81 #print topics
82 self.topicListBox.Clear()
83 i = 0
84 for topic in topics:
85 self.topicListBox.Append(topics[topic], i)
86 i = i + 1
87
88 def OnTopicListBoxListboxDclick(self, event):
89 #event.Skip()
90 #print event
91
92 # get "ClientData" of current selected entry from widget
93 sel = self.topicListBox.GetSelection()
94 seldata = self.topicListBox.GetClientData(sel)
95
96 # determine if to activate an existing window or if to create a new one
97 win = self.parent.FindWindowByName(str(seldata))
98 if win:
99 win.Raise()
100 win.SetFocus()
101 return
102
103 # resolve associated topic entry
104 topics = self.engine.getTopics()
105 title = topics[str(seldata)]
106 #print title
107
108 frame = FraggleListFrame.create(self.parent)
109 frame.SetName(str(seldata))
110 frame.SetTitle(title)
111
112 # calculate new position (right beside the TopicFrame (us))
113 pos = self.GetPosition() + wxPoint(self.GetSize().GetWidth() + 5, 0)
114 frame.Move(pos)
115 self.parent.Fit()
116
117 frame.load_content()
118
119

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed