--- nfo/projects/netfraggle/bin/fraggleViewport.py 2004/08/26 18:19:27 1.10 +++ nfo/projects/netfraggle/bin/fraggleViewport.py 2004/08/27 03:25:44 1.13 @@ -1,7 +1,16 @@ #Boa:MDIParent:fraggleViewport -# $Id: fraggleViewport.py,v 1.10 2004/08/26 18:19:27 joko Exp $ +# $Id: fraggleViewport.py,v 1.13 2004/08/27 03:25:44 joko Exp $ # $Log: fraggleViewport.py,v $ +# Revision 1.13 2004/08/27 03:25:44 joko +# added FraggleTaskBarMenu +# +# Revision 1.12 2004/08/27 00:05:22 joko +# fix for icon-path and wxTaskBarIcon-events +# +# Revision 1.11 2004/08/26 23:10:12 xabbu +# xmlrpc class added +# # Revision 1.10 2004/08/26 18:19:27 joko # now using FraggleTopicFrame # @@ -13,11 +22,14 @@ import os from wxPython.wx import * +from wxPython.stc import * +from fraggleConstants import * import fraggleDialogPrefs import fraggleCtlPreferences import FraggleAboutDialog import FraggleTopicFrame +import FraggleXMLRPC def create(parent): return fraggleViewport(parent) @@ -30,7 +42,34 @@ [wxID_FRAGGLEVIEWPORTMENU2ABOUT, wxID_FRAGGLEVIEWPORTMENU2CONT, ] = map(lambda _init_coll_menu2_Items: wxNewId(), range(2)) +[wxID_FRAGGLEVIEWPORTMENU2ABOUT, wxID_FRAGGLEVIEWPORTMENU2CONT, +] = map(lambda _init_coll_menu2_Items: wxNewId(), range(2)) + +[wxID_FRAGGLEVIEWPORTFRAGGLETASKBARMENUITEMSEXIT, + wxID_FRAGGLEVIEWPORTFRAGGLETASKBARMENUITEMSRESTORE, + wxID_FRAGGLEVIEWPORTFRAGGLETASKBARMENUITEMSSYNC, +] = map(lambda _init_coll_FraggleTaskBarMenu_Items: wxNewId(), range(3)) + class fraggleViewport(wxMDIParentFrame): + def _init_coll_FraggleTaskBarMenu_Items(self, parent): + # generated method, don't edit + + restore = parent.Append(helpString='Restore', + id=wxID_FRAGGLEVIEWPORTFRAGGLETASKBARMENUITEMSRESTORE, + item='Restore', kind=wxITEM_NORMAL) + parent.Append(helpString='Sync enabled', + id=wxID_FRAGGLEVIEWPORTFRAGGLETASKBARMENUITEMSSYNC, + item='Sync enabled', kind=wxITEM_CHECK) + parent.Append(helpString='Exit', + id=wxID_FRAGGLEVIEWPORTFRAGGLETASKBARMENUITEMSEXIT, item='Exit', + kind=wxITEM_NORMAL) + #EVT_MENU_OPEN(restore, + # self.OnFraggleTaskBarMenuItemsrestoreMenu) + #EVT_MENU_OPEN(restore, wxID_FRAGGLEVIEWPORTFRAGGLETASKBARMENUITEMSRESTORE, + # self.OnFraggleTaskBarMenuItemsrestoreMenu) + #EVT_MENU(self, wxID_FRAGGLEVIEWPORTFRAGGLETASKBARMENUITEMSEXIT, + # self.OnFraggleTaskBarMenuItemsexitMenu) + def _init_coll_menu2_Items(self, parent): # generated method, don't edit @@ -64,19 +103,22 @@ self.menu2 = wxMenu(title='') + self.FraggleTaskBarMenu = wxMenu(title=u'NetFraggle') + self._init_coll_menuBar1_Menus(self.menuBar1) self._init_coll_menu1_Items(self.menu1) self._init_coll_menu2_Items(self.menu2) + self._init_coll_FraggleTaskBarMenu_Items(self.FraggleTaskBarMenu) def _init_ctrls(self, prnt): # generated method, don't edit wxMDIParentFrame.__init__(self, id=wxID_FRAGGLEVIEWPORT, - name='fraggleViewport', parent=prnt, pos=wxPoint(237, 287), - size=wxSize(485, 310), + name='fraggleViewport', parent=prnt, pos=wxPoint(338, 296), + size=wxSize(435, 296), style=wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL, - title='NetFraggle') + title='NetFraggle 0.0.1') self._init_utils() - self.SetClientSize(wxSize(477, 283)) + self.SetClientSize(wxSize(427, 269)) self.SetMenuBar(self.menuBar1) def __init_preferences__(self): @@ -86,22 +128,43 @@ self.dialogPrefs.updateConfig() # new as of 2004-08-26: TopicFrame - self.topicFrame = FraggleTopicFrame.create(self) + # new as of 2004-08-27: pass configList to TopicFrame + self.topicFrame = FraggleTopicFrame.create(self, self.preferencesCtl.configList) self.topicFrame.Move(wxPoint(10, 10)) #frame.Show() #frame.Destroy() + def __init_xmlrpc__(self): + #self.xml_rpc = FraggleXMLRPC.create(self, self.preferencesCtl.configList) + pass + def __init_taskbar_icon__(self): + if os.name == 'posix': + pass + elif os.name == 'nt': + self.tbicon = wxTaskBarIcon() + #icon = wxIcon('mixxx.ico', wxBITMAP_TYPE_ICO) + icon = wxIcon(os.path.join(APPLOCATION, 'mixxx.ico'), wxBITMAP_TYPE_ICO) + self.tbicon.SetIcon(icon, '') + EVT_TASKBAR_LEFT_DCLICK(self.tbicon, self.OnTaskBarLeftDClick) + EVT_TASKBAR_RIGHT_UP(self.tbicon, self.OnTaskBarRightClick) + EVT_MENU(self.tbicon, wxID_FRAGGLEVIEWPORTFRAGGLETASKBARMENUITEMSRESTORE, self.OnTaskBarAppRestore) + EVT_MENU(self.tbicon, wxID_FRAGGLEVIEWPORTFRAGGLETASKBARMENUITEMSEXIT, self.OnTaskBarAppExit) + + #EVT_BUTTON(self.updateButton, wxID_FRAGGLETOPICFRAMEUPDATEBUTTON, + # self.OnUpdateButtonButton) + def __init__(self, parent): self._init_ctrls(parent) self.__init_preferences__() + self.__init_taskbar_icon__() + self.__init_xmlrpc__() - def OnMenu1items0Menu(self, event): try: self.dialogPrefs.ShowModal() finally: - pass + self.dialogPrefs.Hide() event.Skip() def OnMenu1items1Menu(self, event): @@ -122,3 +185,24 @@ dlg.ShowModal() dlg.Destroy() + def OnTaskBarLeftDClick(self, event): + #event.Skip() + #self.SetFocus() + if self.IsIconized(): + self.Restore() + else: + self.Iconize() + + def OnTaskBarRightClick(self, event): + #event.Skip() + self.tbicon.PopupMenu(self.FraggleTaskBarMenu) + + def OnTaskBarAppRestore(self, event): + self.Restore() + #event.Skip() + + def OnTaskBarAppExit(self, event): + #event.Skip() + #self.Destroy() + self.Close(True) +