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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

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

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.7

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