--- nfo/projects/netfraggle/bin/fraggleViewport.py 2004/08/27 00:05:22 1.12 +++ nfo/projects/netfraggle/bin/fraggleViewport.py 2004/09/21 18:12:19 1.21 @@ -1,7 +1,42 @@ #Boa:MDIParent:fraggleViewport -# $Id: fraggleViewport.py,v 1.12 2004/08/27 00:05:22 joko Exp $ +# $Id: fraggleViewport.py,v 1.21 2004/09/21 18:12:19 xabbu Exp $ # $Log: fraggleViewport.py,v $ +# Revision 1.21 2004/09/21 18:12:19 xabbu +# U in __init_modules -> self.modulesCtl.SetViewport(self) will be set +# +# Revision 1.20 2004/09/05 10:09:26 xabbu +# + Bug that menues where displayed incorrectly on nt like os resolved. +# + Removed OS dependend menu creation in faggleMain -> moved to fraggleViewPort +# + Modules configuration dialog can be displayed by selecting Files->Modules now +# +# Revision 1.19 2004/09/05 00:21:10 xabbu +# +Fixed File Menu Modules item on Posix system. Gotta do testing on Windows with it. +# +# Revision 1.18 2004/09/04 20:26:01 xabbu +# +Added a button to the Preferences tab for showing the Modules Dialog. +# Todo: When the module dialog is shown, it is still being blocked by the preferences dialog. I am not sure why but will have to look into it further. +# +# +Added modules directory +# +# Revision 1.17 2004/09/01 21:43:30 xabbu +# +Moved funtion getDefaultDir from FraggleCtlPreferences to FraggleEngine for more convenience +# +FraggleCtlModules class creation for handling content modules +# +# Revision 1.16 2004/08/30 13:06:40 joko +# U now gets preferences via self.engine +# +# Revision 1.15 2004/08/27 21:14:02 xabbu +# TopicDetails can now be closed. +# GUI change on Preferences Dialog in order to prepare multiple server profiles. +# Small bugfixes to get the new topic windows working on posix platform. +# +# Revision 1.14 2004/08/27 04:39:06 joko +# cleanup +# +# 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 # @@ -23,7 +58,7 @@ from fraggleConstants import * import fraggleDialogPrefs -import fraggleCtlPreferences +import FraggleDialogModules import FraggleAboutDialog import FraggleTopicFrame import FraggleXMLRPC @@ -33,8 +68,9 @@ [wxID_FRAGGLEVIEWPORT] = map(lambda _init_ctrls: wxNewId(), range(1)) -[wxID_FRAGGLEVIEWPORTMENU1FPREFS, wxID_FRAGGLEVIEWPORTMENU1ITEMS1, -] = map(lambda _init_coll_menu1_Items: wxNewId(), range(2)) +[wxID_FRAGGLEVIEWPORTMENU1FMODULES, wxID_FRAGGLEVIEWPORTMENU1FPREFS, + wxID_FRAGGLEVIEWPORTMENU1ITEMS1, +] = map(lambda _init_coll_menu1_Items: wxNewId(), range(3)) [wxID_FRAGGLEVIEWPORTMENU2ABOUT, wxID_FRAGGLEVIEWPORTMENU2CONT, ] = map(lambda _init_coll_menu2_Items: wxNewId(), range(2)) @@ -42,7 +78,25 @@ [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 + + 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) + def _init_coll_menu2_Items(self, parent): # generated method, don't edit @@ -54,12 +108,19 @@ def _init_coll_menu1_Items(self, parent): # generated method, don't edit + parent.Append(helpString='Configure Modules', + id=wxID_FRAGGLEVIEWPORTMENU1FMODULES, item='Modules', + kind=wxITEM_NORMAL) parent.Append(helpString='Configure Netfraggle', id=wxID_FRAGGLEVIEWPORTMENU1FPREFS, item='Preferences', kind=wxITEM_NORMAL) parent.Append(helpString='Exit Netfraggle', id=wxID_FRAGGLEVIEWPORTMENU1ITEMS1, item='Exit', kind=wxITEM_NORMAL) + EVT_MENU(self, wxID_FRAGGLEVIEWPORTMENU1FMODULES, + self.OnMenu1FmodulesMenu) + EVT_MENU(self, wxID_FRAGGLEVIEWPORTMENU1FPREFS, self.OnMenu1FprefsMenu) + EVT_MENU(self, wxID_FRAGGLEVIEWPORTMENU1ITEMS1, self.OnMenu1Items1Menu) def _init_coll_menuBar1_Menus(self, parent): # generated method, don't edit @@ -70,41 +131,51 @@ def _init_utils(self): # generated method, don't edit self.menuBar1 = wxMenuBar() - self.menuBar1.SetAutoLayout(1) + self.menuBar1.SetAutoLayout(0) self.menu1 = wxMenu(title='') 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(338, 296), - size=wxSize(435, 296), + name='fraggleViewport', parent=prnt, pos=wxPoint(335, 382), + size=wxSize(435, 250), style=wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL, title='NetFraggle 0.0.1') self._init_utils() - self.SetClientSize(wxSize(427, 269)) + self.SetClientSize(wxSize(427, 223)) self.SetMenuBar(self.menuBar1) + def __init_modules__(self): + self.modulesCtl = self.engine.modules + self.modulesCtl.SetViewport(self) + self.dialogModules = FraggleDialogModules.create(self) + def __init_preferences__(self): - self.preferencesCtl = fraggleCtlPreferences.create(self) + self.preferencesCtl = self.engine.preferences self.dialogPrefs = fraggleDialogPrefs.create(self) self.dialogPrefs.loadConfig() self.dialogPrefs.updateConfig() # new as of 2004-08-26: TopicFrame + # new as of 2004-08-27: pass configList to TopicFrame self.topicFrame = FraggleTopicFrame.create(self) - self.topicFrame.Move(wxPoint(10, 10)) + self.topicFrame.Move(wxPoint(5, 5)) #frame.Show() #frame.Destroy() def __init_xmlrpc__(self): - self.xml_rpc = FraggleXMLRPC.create(self, self.preferencesCtl.configList) + #self.xml_rpc = FraggleXMLRPC.create(self, self.preferencesCtl.configList) + pass def __init_taskbar_icon__(self): if os.name == 'posix': @@ -116,12 +187,14 @@ 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): + import __main__ + self.engine = __main__.engine self._init_ctrls(parent) + self.__init_modules__() self.__init_preferences__() self.__init_taskbar_icon__() self.__init_xmlrpc__() @@ -138,12 +211,12 @@ event.Skip() - def OnMenu2items0Menu(self, event): - try: - self.dialogPrefs.ShowModal() - finally: - pass - event.Skip() + #def OnMenu2items0Menu(self, event): + # try: + # self.dialogPrefs.ShowModal() + # finally: + # pass + # event.Skip() def OnMenu2items1Menu(self, event): """Show about screen""" @@ -154,14 +227,36 @@ def OnTaskBarLeftDClick(self, event): #event.Skip() #self.SetFocus() - self.Restore() + 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) + + def OnMenu1FmodulesMenu(self, event): + self.dialogModules.Show() event.Skip() - def OnButtonsyncButton(self, event): - fragglexml = self.xml_rpc.FraggleSync() - print fragglexml - #text = fragglexml.data - self.styledTextCtrl1.AddText(fragglexml) + def OnMenu1FprefsMenu(self, event): + try: + self.dialogPrefs.ShowModal() + finally: + pass event.Skip() + + def OnMenu1Items1Menu(self, event): + self.Destroy() + event.Skip() +