|
From: creedon <icr...@us...> - 2005-09-05 16:17:55
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/system/menus In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25917 Modified Files: agent buildModalMenu Log Message: now two styles of modal menus, compact and full Index: buildModalMenu =================================================================== RCS file: /cvsroot/frontierkernel/odbs/frontierRoot/system/menus/buildModalMenu,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** buildModalMenu 14 Jun 2005 02:50:57 -0000 1.1 --- buildModalMenu 5 Sep 2005 16:17:47 -0000 1.2 *************** *** 1,3 **** FrontierVcsFile:1:scpt:system.menus.buildModalMenu ! ÇChanges Ç11/18/04; 7:00:21 PM by TAC - created, used for building more compact modal menus on buildModalMenu (windowType) { local { flCreate = false; menuType}; case windowType { menubarType { menuType = outlineType}} else { menuType = windowType}; if defined (system.temp.Frontier.menus.[windowType]) { local { t1 = timeModified (@system.menus.modals.[menuType]); t2 = timeModified (this); t3 = timeModified (@system.temp.Frontier.menus.[windowType])}; if t1 > t3 or t2 > t3 { flCreate = true}} else { flCreate = true}; if flCreate { local { adrMenu}; on addHtmlMenu (adr) { html.menu.init (); menu.addSubMenu (adr, "", @system.verbs.builtins.html.menu.theMenu)}; if not (defined (system.temp.Frontier.menus)) { new (tableType, @system.temp.Frontier.menus)}; adrMenu = @system.temp.Frontier.menus.[windowType]; adrMenu^ = system.menus.modals.[menuType]; Çif menuType == menubarType ÇadrMenu^ = system.menus.modals.[outlineType] Çelse case windowType { menubarType { menu.deleteMenuCommand (adrMenu, "Outline", "HTML"); menu.deleteMenuCommand (adrMenu, "Outline", "-")}; outlineType; wptextType { addHtmlMenu (adrMenu)}; scriptType; tableType { local { m = system.menus.modals.[outlineType]}; menu.deleteMenuCommand (@m, "Outline", "HTML"); menu.deleteMenuCommand (@m, "Outline", "-"); addHtmlMenu (adrMenu); menu.addSubMenu (adrMenu, "", @m)}}}; return (@system.temp.Frontier.menus.[windowType])} \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:scpt:system.menus.buildModalMenu ! ÇChanges Ç8/23/05; 7:25:36 PM by TAC Çnow two styles of modal menus, compact and full Ç11/18/04; 7:00:21 PM by TAC Ç - created on buildModalMenu (windowType) { local { flCreate = false; menuType}; case windowType { menubarType { menuType = outlineType}} else { menuType = windowType}; if defined (system.temp.Frontier.menus.[windowType]) { local { t1; t2 = timeModified (this); t3 = timeModified (@system.temp.Frontier.menus.[windowType])}; if windowType == 'html' { t1 = timeModified (@system.verbs.builtins.html.menu.theMenu)} else { t1 = timeModified (@system.menus.modals.[menuType])}; if t1 > t3 or t2 > t3 { flCreate = true}} else { flCreate = true}; if flCreate { local { adrMenu}; on addHtmlMenu (adr) { menu.addSubMenu (adr, "", @system.verbs.builtins.html.menu.theMenu)}; if not (defined (system.temp.Frontier.menus)) { new (tableType, @system.temp.Frontier.menus)}; adrMenu = @system.temp.Frontier.menus.[windowType]; if windowType == 'html' { adrMenu^ = system.verbs.builtins.html.menu.theMenu} else { adrMenu^ = system.menus.modals.[menuType]}; case windowType { menubarType { menu.deleteMenuCommand (adrMenu, "Outline", "HTML"); menu.deleteMenuCommand (adrMenu, "Outline", "-")}; outlineType { if user.prefs.flCompactModalMenus { addHtmlMenu (adrMenu)} else { menu.deleteMenuCommand (adrMenu, "Outline", "HTML"); menu.deleteMenuCommand (adrMenu, "Outline", "-")}}; wptextType { if user.prefs.flCompactModalMenus { addHtmlMenu (adrMenu)} else { menu.deleteMenuCommand (adrMenu, "WP", "HTML"); menu.deleteMenuCommand (adrMenu, "WP", "-")}}; scriptType { if user.prefs.flCompactModalMenus { local { m = system.menus.modals.[outlineType]}; menu.deleteMenuCommand (@m, "Outline", "HTML"); menu.deleteMenuCommand (@m, "Outline", "-"); addHtmlMenu (adrMenu); menu.addSubMenu (adrMenu, "", @m)} else { menu.deleteMenuCommand (adrMenu, "Script", "Outline"); menu.deleteMenuCommand (adrMenu, "Script", "HTML"); menu.deleteMenuCommand (adrMenu, "Script", "-")}}; tableType { if user.prefs.flCompactModalMenus { local { m = system.menus.modals.[outlineType]}; menu.deleteMenuCommand (@m, "Outline", "HTML"); menu.deleteMenuCommand (@m, "Outline", "-"); addHtmlMenu (adrMenu); menu.addSubMenu (adrMenu, "", @m)} else { menu.deleteMenuCommand (adrMenu, "Table", "Outline"); menu.deleteMenuCommand (adrMenu, "Table", "HTML"); menu.deleteMenuCommand (adrMenu, "Table", "-")}}}}; return (@system.temp.Frontier.menus.[windowType])} \ No newline at end of file Index: agent =================================================================== RCS file: /cvsroot/frontierkernel/odbs/frontierRoot/system/menus/agent,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** agent 14 Jun 2005 02:59:58 -0000 1.2 --- agent 5 Sep 2005 16:17:47 -0000 1.3 *************** *** 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 --- 1,3 ---- FrontierVcsFile:1:scpt:system.menus.agent ! ÇChanges Ç8/23/05; 7:25:36 PM by TAC Çnow two styles of modal menus, compact and full Ç6/12/05; 11:47:46 PM by TAC Çimplement compact 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 try { menu.remove (@system.temp.Frontier.menus.[system.menus.data.currentMenuType])}; case system.menus.data.currentMenuType { ÇmenubarType outlineType { if not (user.prefs.flCompactModalMenus) { try { menu.remove (@system.temp.Frontier.menus.html)}}}; scriptType { if not (user.prefs.flCompactModalMenus) { try { menu.remove (@system.temp.Frontier.menus.optx)}; try { menu.remove (@system.temp.Frontier.menus.html)}}}; tableType { if not (user.prefs.flCompactModalMenus) { try { menu.remove (@system.temp.Frontier.menus.optx)}; try { menu.remove (@system.temp.Frontier.menus.html)}}}; wptextType { if not (user.prefs.flCompactModalMenus) { try { menu.remove (@system.temp.Frontier.menus.html)}}}}}; Ç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 Çif user.prefs.flCompactModalMenus Çtry Çmenu.remove (@system.temp.Frontier.menus.scpt) Çelse Çtry Çmenu.remove (@system.temp.Frontier.menus.scpt) Çtry Çmenu.remove (@system.temp.Frontier.menus.optx) Çtry Çmenu.remove (@system.temp.Frontier.menus.html) ÇtableType Çif user.prefs.flCompactModalMenus Çtry Çmenu.remove (@system.temp.Frontier.menus.tabl) Çelse Çtry Çmenu.remove (@system.temp.Frontier.menus.tabl) Çtry Çmenu.remove (@system.temp.Frontier.menus.optx) Çtry Çmenu.remove (@system.temp.Frontier.menus.html) ÇwptextType Çif user.prefs.flCompactModalMenus Çtry Çmenu.remove (@system.temp.Frontier.menus.wptx) Çelse bundle { // add if not (defined (system.temp.Frontier.menus)) { new (tableType, @system.temp.Frontier.menus)}; case typeFront { menubarType { menu.install (system.menus.buildModalMenu (typeFront))}; outlineType { menu.install (system.menus.buildModalMenu (typeFront)); if not (user.prefs.flCompactModalMenus) { menu.install (system.menus.buildModalMenu ('html'))}}; scriptType { menu.install (system.menus.buildModalMenu (typeFront)); if not (user.prefs.flCompactModalMenus) { menu.install (system.menus.buildModalMenu (outlineType)); menu.install (system.menus.buildModalMenu ('html'))}}; tableType { menu.install (system.menus.buildModalMenu (typeFront)); if not (user.prefs.flCompactModalMenus) { menu.install (system.menus.buildModalMenu (outlineType)); menu.install (system.menus.buildModalMenu ('html'))}}; wpTextType { menu.install (system.menus.buildModalMenu (typeFront)); if not (user.prefs.flCompactModalMenus) { menu.install (system.menus.buildModalMenu ('html'))}}}}}; system.menus.data.currentMenuType = typeFront; return (true) \ No newline at end of file |