|
From: creedon <icr...@us...> - 2005-06-14 03:00:07
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/system/menus In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15708 Modified Files: agent Log Message: test of some funky modal menus Index: agent =================================================================== RCS file: /cvsroot/frontierkernel/odbs/frontierRoot/system/menus/agent,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** agent 26 Mar 2005 19:41:50 -0000 1.1.1.1 --- agent 14 Jun 2005 02:59:58 -0000 1.2 *************** *** 1,3 **** FrontierVcsFile:1:scpt:system.menus.agent ! ÇChanges: Ç12/2/01; 7:32:31 PM by JES ÇIf user.radio.settings.flExpired is defined and true, do nothing. Ç1/28/01; 10:43:51 AM by DW ÇWe found a performance bottleneck in Radio. When it's enabling and disabling commands in the File menu, it's calling window.frontmost (apparently) six times per second. This is a fairly slow verb (it can be optimized). So we cache the value in system.temp.windowFrontmost. This is then used by pike.isFileMenuItemEnabled. ÇAlso noted that it's called a few times on every keystroke. Ç10/11/00; 10:25:30 PM by PBS ÇIf Radio UserLand, add or remove Outliner and HTML menus. ÇSome time in 1991 DW ÇAdd or remove menus depending on frontmost window if defined (user.radio.settings.flExpired) { if user.radio.settings.flExpired { return (true)}}; system.temp.windowFrontmost = window.frontmost (); //cache it local (adr = system.temp.windowFrontmost); local (typefront = window.getType (adr)); if typefront == system.menus.data.currentMenuType { Çno change, nothing to do return (true)}; bundle { //handle Outliner and HTML menus if system.environment.isPike { menu.remove (@system.menus.menubar); //Outliner menu.remove (@html.menu.theMenu); case typefront { outlineType { menu.install (@system.menus.menubar); //Outliner menu menu.install (@html.menu.theMenu)}; scriptType; tableType; menubarType { menu.install (@system.menus.menubar)}}}}; //Outliner menu local (adrold = @system.menus.modals.[system.menus.data.currentMenuType]); if defined (adrold^) { menu.remove (adrold)}; local (adrnew = @system.menus.modals.[typefront]); if defined (adrnew^) { menu.install (adrnew)}; system.menus.data.currentMenuType = typefront; return (true) \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:scpt:system.menus.agent ! ÇChanges Ç6/12/05; 11:47:46 PM by TAC Ça test of some funky modal menus Ç12/2/01; 7:32:31 PM by JES ÇIf user.radio.settings.flExpired is defined and true, do nothing. Ç1/28/01; 10:43:51 AM by DW ÇWe found a performance bottleneck in Radio. When it's enabling and disabling commands in the File menu, it's calling window.frontmost (apparently) six times per second. This is a fairly slow verb (it can be optimized). So we cache the value in system.temp.windowFrontmost. This is then used by pike.isFileMenuItemEnabled. ÇAlso noted that it's called a few times on every keystroke. Ç10/11/00; 10:25:30 PM by PBS ÇIf Radio UserLand, add or remove Outliner and HTML menus. ÇSome time in 1991 DW ÇAdd or remove menus depending on frontmost window if defined (user.radio.settings.flExpired) { if user.radio.settings.flExpired { return (true)}}; system.temp.windowFrontmost = window.frontmost (); //cache it local (adr = system.temp.windowFrontmost); local (typefront = window.getType (adr)); if typefront == system.menus.data.currentMenuType { Çno change, nothing to do return (true)}; bundle { //handle Outliner and HTML menus if system.environment.isPike { menu.remove (@system.menus.menubar); //Outliner menu.remove (@html.menu.theMenu); case typefront { outlineType { menu.install (@system.menus.menubar); //Outliner menu menu.install (@html.menu.theMenu)}; scriptType; tableType; menubarType { menu.install (@system.menus.menubar)}}}}; //Outliner menu Çbundle // 6/12/05; 11:48:27 PM by TAC - old code Çlocal (adrold = @system.menus.modals.[system.menus.data.currentMenuType]) Çif defined (adrold^) Çmenu.remove (adrold) Ç Çlocal (adrnew = @system.menus.modals.[typefront]) Çif defined (adrnew^) Çmenu.install (adrnew) bundle { // 6/12/05; 11:48:43 PM by TAC - handle modal menus bundle { // remove case system.menus.data.currentMenuType { menubarType { try { menu.remove (@system.temp.Frontier.menus.mbar)}}; outlineType { try { menu.remove (@system.temp.Frontier.menus.optx)}}; scriptType { try { menu.remove (@system.temp.Frontier.menus.scpt)}}; tableType { try { menu.remove (@system.temp.Frontier.menus.tabl)}}; wptextType { try { menu.remove (@system.temp.Frontier.menus.wptx)}}}}; bundle { // add case typeFront { menubarType; outlineType; scriptType; tableType; wpTextType { menu.install (system.menus.buildModalMenu (typeFront))}}}}; system.menus.data.currentMenuType = typeFront; return (true) \ No newline at end of file |