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

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

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

revision 1.7 by joko, Wed Aug 25 22:53:41 2004 UTC revision 1.11 by xabbu, Thu Aug 26 23:10:12 2004 UTC
# Line 1  Line 1 
1  4#Boa:MDIParent:fraggleViewport  #Boa:MDIParent:fraggleViewport
2    
3    # $Id$
4    # $Log$
5    # Revision 1.11  2004/08/26 23:10:12  xabbu
6    # xmlrpc class added
7    #
8    # Revision 1.10  2004/08/26 18:19:27  joko
9    # now using FraggleTopicFrame
10    #
11    # Revision 1.9  2004/08/26 15:21:13  joko
12    # renamed namespaces
13    # added key shortcuts to menu-items
14    # correct "showAbout" code
15    #
16    
17  import os  import os
18  from wxPython.wx import *  from wxPython.wx import *
19    from wxPython.stc import *
20    
21  import fraggleDialogPrefs  import fraggleDialogPrefs
22  import fraggleCtlPreferences  import fraggleCtlPreferences
23  from fraggleDialogs import *  import FraggleAboutDialog
24    import FraggleTopicFrame
25    import FraggleXMLRPC
26    
27  def create(parent):  def create(parent):
28      return fraggleMainWin(parent)      return fraggleViewport(parent)
29    
30  [wxID_FRAGGLEVIEWPORT] = map(lambda _init_ctrls: wxNewId(), range(1))  [wxID_FRAGGLEVIEWPORT, wxID_FRAGGLEVIEWPORTBUTTONSYNC,
31     wxID_FRAGGLEVIEWPORTSTYLEDTEXTCTRL1,
32    ] = map(lambda _init_ctrls: wxNewId(), range(3))
33    
34  [wxID_FRAGGLEVIEWPORTMENU1FPREFS, wxID_FRAGGLEVIEWPORTMENU1ITEMS1,  [wxID_FRAGGLEVIEWPORTMENU1FPREFS, wxID_FRAGGLEVIEWPORTMENU1ITEMS1,
35  ] = map(lambda _init_coll_menu1_Items: wxNewId(), range(2))  ] = map(lambda _init_coll_menu1_Items: wxNewId(), range(2))
36    
37  [wxID_FRAGGLEVIEWPORTMENU2CONT, wxID_FRAGGLEVIEWPORTMENU2ABOUT,  [wxID_FRAGGLEVIEWPORTMENU2ABOUT, wxID_FRAGGLEVIEWPORTMENU2CONT,
38    ] = map(lambda _init_coll_menu2_Items: wxNewId(), range(2))
39    
40    [wxID_FRAGGLEVIEWPORTMENU2ABOUT, wxID_FRAGGLEVIEWPORTMENU2CONT,
41  ] = map(lambda _init_coll_menu2_Items: wxNewId(), range(2))  ] = map(lambda _init_coll_menu2_Items: wxNewId(), range(2))
42    
43  class fraggleViewport(wxMDIParentFrame):  class fraggleViewport(wxMDIParentFrame):
44        def _init_coll_menu2_Items(self, parent):
45            # generated method, don't edit
46    
47            parent.Append(helpString='Contents', id=wxID_FRAGGLEVIEWPORTMENU2CONT,
48                  item='Contents', kind=wxITEM_NORMAL)
49            parent.Append(helpString='About', id=wxID_FRAGGLEVIEWPORTMENU2ABOUT,
50                  item='About', kind=wxITEM_NORMAL)
51    
52      def _init_coll_menu1_Items(self, parent):      def _init_coll_menu1_Items(self, parent):
53          # generated method, don't edit          # generated method, don't edit
54            
55          parent.Append(helpString='Configure Netfraggle',          parent.Append(helpString='Configure Netfraggle',
56                id=wxID_FRAGGLEVIEWPORTMENU1FPREFS, item='Preferences',                id=wxID_FRAGGLEVIEWPORTMENU1FPREFS, item='Preferences',
57                kind=wxITEM_NORMAL)                kind=wxITEM_NORMAL)
# Line 29  class fraggleViewport(wxMDIParentFrame): Line 59  class fraggleViewport(wxMDIParentFrame):
59                id=wxID_FRAGGLEVIEWPORTMENU1ITEMS1, item='Exit',                id=wxID_FRAGGLEVIEWPORTMENU1ITEMS1, item='Exit',
60                kind=wxITEM_NORMAL)                kind=wxITEM_NORMAL)
61    
         EVT_MENU(self, wxID_FRAGGLEVIEWPORTMENU1FPREFS, self.OnMenu1items0Menu)  
         EVT_MENU(self, wxID_FRAGGLEVIEWPORTMENU1ITEMS1, self.OnMenu1items1Menu)  
   
     def _init_coll_menu2_Items(self, parent):  
         # generated method, don't edit  
   
         parent.Append(helpString='Documentation',  
               id=wxID_FRAGGLEVIEWPORTMENU2CONT, item='Contents',  
               kind=wxITEM_NORMAL)  
         parent.Append(helpString='About Netfraggle',  
               id=wxID_FRAGGLEVIEWPORTMENU2ABOUT, item='About',  
               kind=wxITEM_NORMAL)  
               
         EVT_MENU(self, wxID_FRAGGLEVIEWPORTMENU2CONT, self.OnMenu2items0Menu)  
         EVT_MENU(self, wxID_FRAGGLEVIEWPORTMENU2ABOUT, self.OnMenu2items1Menu)  
   
62      def _init_coll_menuBar1_Menus(self, parent):      def _init_coll_menuBar1_Menus(self, parent):
63          # generated method, don't edit          # generated method, don't edit
64    
65          parent.Append(menu=self.menu1, title='File')          parent.Append(menu=self.menu1, title='&File')
66          parent.Append(menu=self.menu2, title='Help')          parent.Append(menu=self.menu2, title='&Help')
67    
68      def _init_utils(self):      def _init_utils(self):
69          # generated method, don't edit          # generated method, don't edit
# Line 67  class fraggleViewport(wxMDIParentFrame): Line 81  class fraggleViewport(wxMDIParentFrame):
81      def _init_ctrls(self, prnt):      def _init_ctrls(self, prnt):
82          # generated method, don't edit          # generated method, don't edit
83          wxMDIParentFrame.__init__(self, id=wxID_FRAGGLEVIEWPORT,          wxMDIParentFrame.__init__(self, id=wxID_FRAGGLEVIEWPORT,
84                name='fraggleViewport', parent=prnt, pos=wxPoint(277, 313),                name='fraggleViewport', parent=prnt, pos=wxPoint(525, 292),
85                size=wxSize(683, 307),                size=wxSize(341, 296),
86                style=wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL,                style=wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL,
87                title='wxMDIParentFrame1')                title='NetFraggle 0.0.1')
88          self._init_utils()          self._init_utils()
89          self.SetClientSize(wxSize(683, 284))          self.SetClientSize(wxSize(341, 273))
90          self.SetMenuBar(self.menuBar1)          self.SetMenuBar(self.menuBar1)
91    
92            self.buttonsync = wxButton(id=wxID_FRAGGLEVIEWPORTBUTTONSYNC,
93                  label='Sync', name='buttonsync', parent=self, pos=wxPoint(104,
94                  240), size=wxSize(136, 24), style=0)
95            EVT_BUTTON(self.buttonsync, wxID_FRAGGLEVIEWPORTBUTTONSYNC,
96                  self.OnButtonsyncButton)
97    
98            self.styledTextCtrl1 = wxStyledTextCtrl(id=wxID_FRAGGLEVIEWPORTSTYLEDTEXTCTRL1,
99                  name='styledTextCtrl1', parent=self, pos=wxPoint(8, 16),
100                  size=wxSize(328, 216), style=0)
101    
102      def __init_preferences__(self):      def __init_preferences__(self):
103          self.preferencesCtl = fraggleCtlPreferences.create(self)          self.preferencesCtl = fraggleCtlPreferences.create(self)
104          self.dialogPrefs = fraggleDialogPrefs.create(self)          self.dialogPrefs = fraggleDialogPrefs.create(self)
105          self.dialogPrefs.loadConfig()          self.dialogPrefs.loadConfig()
106          self.dialogPrefs.updateConfig()          self.dialogPrefs.updateConfig()
107    
108            # new as of 2004-08-26: TopicFrame
109            self.topicFrame = FraggleTopicFrame.create(self)
110            self.topicFrame.Move(wxPoint(10, 10))
111            
112            #frame.Show()
113            #frame.Destroy()
114        def __init_xmlrpc__(self):
115            self.xml_rpc = FraggleXMLRPC.create(self, self.preferencesCtl.configList)
116                    
117        def __init_taskbar_icon__(self):
118            if os.name == 'posix':
119                pass
120            elif os.name == 'nt':
121                self.tbicon = wxTaskBarIcon()
122                icon = wxIcon('mixxx.ico', wxBITMAP_TYPE_ICO)
123                self.tbicon.SetIcon(icon, '')
124                wxEVT_TASKBAR_LEFT_DCLICK(self.tbicon, self.OnTaskBarLeftDClick)
125                wxEVT_TASKBAR_RIGHT_UP(self.tbicon, self.OnTaskBarRightClick)
126        
127      def __init__(self, parent):      def __init__(self, parent):
128          self._init_ctrls(parent)          self._init_ctrls(parent)
129          self.__init_preferences__()          self.__init_preferences__()
130            self.__init_taskbar_icon__()
131      def showPrefs(self, event):          self.__init_xmlrpc__()
132          """Show preferences screen"""          
133        def OnMenu1items0Menu(self, event):
134          try:          try:
135              self.dialogPrefs.ShowModal()              self.dialogPrefs.ShowModal()
136          finally:          finally:
137              self.dialogPrefs.Destroy()              self.dialogPrefs.Hide()
138          #event.Skip()          event.Skip()
           
     def showHelp(self):  
         """Show help"""  
         try:  
             import webbrowser  
             webbrowser.open("file://"+os.path.join(PEARSLOCATION, "docs/index.html"), 1)  
         except:  
             dlg = wxScrolledMessageDialog(parent=self,  
                     caption="Help",  
                     msg="""PEARS - alternative help (see the docs directory in your Pears folder for more elaborate information)  
                       
     Pears is a relatively simple three-pane news feed aggregator (RSS/RDF reader).  
           
     The left pane contains the list of feeds. You can add feeds using the Feeds menu. Right-click on a feed to update, single-click to view cached contents.  
           
     The right pane contains a list of the topics available in the feed. Single-click to open the contents of a topic in the viewer window at the bottom. Right-click to toggle read/unread status.  
           
     Everything is cached in Python structures stored as plain text in your Home directory (in a subdirectory called '.pears'). Use the About screen to see exactly where that is on your system.  
     """)  
             dlg.ShowModal()  
             dlg.Destroy()  
           
     def showAbout(self):  
         """Show about screen"""  
         dlg = AboutDialog(parent=self, id=-1, title="About Pears")  
         dlg.ShowModal()  
         dlg.Destroy()  
           
     def doExit(self):  
         """Shut down the program"""  
         self.Close(True)  
         self.Destroy()  
           
     def OnMenu1items0Menu(self, event):  
         self.showPrefs(event)  
         #event.Skip()  
139    
140      def OnMenu1items1Menu(self, event):      def OnMenu1items1Menu(self, event):
141          self.doExit()          self.Destroy()
142            event.Skip()
143    
144    
145      def OnMenu2items0Menu(self, event):      def OnMenu2items0Menu(self, event):
146          self.showHelp()          try:
147                self.dialogPrefs.ShowModal()
148            finally:
149                pass
150            event.Skip()
151    
152      def OnMenu2items1Menu(self, event):      def OnMenu2items1Menu(self, event):
153          self.showAbout()          """Show about screen"""
154            dlg = FraggleAboutDialog.create(self)
155  class fraggleMainWin(fraggleViewport):          dlg.ShowModal()
156      def _init_coll_menu1_Items(self, parent):          dlg.Destroy()
   
         if os.name == 'posix':  
             super(fraggleMainWin, self)._init_coll_menu1_Items(parent)  
         elif os.name == 'nt':  
             parent.Append(wxID_FRAGGLEVIEWPORTMENU1FPREFS, 'Configure Netfraggle', "", wxITEM_NORMAL)  
             parent.Append(wxID_FRAGGLEVIEWPORTMENU1ITEMS1, 'Exit Netfraggle', "", wxITEM_NORMAL)  
   
         EVT_MENU(self, wxID_FRAGGLEVIEWPORTMENU1FPREFS, self.OnMenu1items0Menu)  
         EVT_MENU(self, wxID_FRAGGLEVIEWPORTMENU1ITEMS1, self.OnMenu1items1Menu)  
   
     def _init_coll_menu2_Items(self, parent):  
157    
158          if os.name == 'posix':      def OnTaskBarLeftDClick(self, event):
159              super(fraggleMainWin, self)._init_coll_menu2_Items(parent)          event.Skip()
160          elif os.name == 'nt':          
161              parent.Append(wxID_FRAGGLEVIEWPORTMENU2CONT, 'Contents', "", wxITEM_NORMAL)      def OnTaskBarRightClick(self, event):
162              parent.Append(wxID_FRAGGLEVIEWPORTMENU2ABOUT, 'About', "", wxITEM_NORMAL)          event.Skip()
               
         EVT_MENU(self, wxID_FRAGGLEVIEWPORTMENU2CONT, self.OnMenu2items0Menu)  
         EVT_MENU(self, wxID_FRAGGLEVIEWPORTMENU2ABOUT, self.OnMenu2items1Menu)  
163    
164        def OnButtonsyncButton(self, event):
165            fragglexml = self.xml_rpc.FraggleSync()
166            print fragglexml
167            import codecs
168            (UTF8_encode, UTF8_decode,
169                UTF8_streamreader, UTF8_streamwriter) = codecs.lookup('UTF-8')        
170            text = UTF8_decode(repr(fragglexml))[0]
171            text = fragglexml.data
172            self.styledTextCtrl1.AddText(text)
173            event.Skip()

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

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