'From etoys4.0 of 9 October 2008 [latest update: #2299] on 13 September 2009 at 10:15:16 pm'! "Change Set: loadSaveIcons-bf Date: 12 September 2009 Author: Bert Freudenberg If running outside Sugar, use folder-like icons for load and save. In Sugar, replace load icon with the Sugar-standard insert-object icon. To test: SugarLauncher current parameters at: 'ACTIVITY_ID' put: '123' SugarLauncher current parameters removeKey: 'ACTIVITY_ID' "! !SugarNavigatorBar methodsFor: 'initialization' stamp: 'bf 9/12/2009 20:04'! findButtonAppearance "| isSugar |" "NOTE: This method is going to be removed, but we need to delete the reference to isSugar temp, otherwise file-in fails" ! ! ProjectNavigationMorph subclass: #SugarNavigatorBar instanceVariableNames: 'sugarLib highLightColor undoButton shareButton zoomButton supplies listener suppliesFlap projectNameField findButton isSugar ' classVariableNames: '' poolDictionaries: '' category: 'Sugar'! !ProjectNavigationMorph methodsFor: 'as yet unclassified' stamp: 'bf 9/12/2009 19:06'! showMenuFor: aSymbol event: evt (#(publishProject publishProjectSimple keepProject) includes: aSymbol) ifTrue: [ self doPublishButtonMenuEvent: evt. ^true "we did show the menu" ]. (#(findAProject findAProjectSimple chooseObject) includes: aSymbol) ifTrue: [ self doFindButtonMenuEvent: evt. ^true "we did show the menu" ]. (aSymbol == #stopSqueak) ifTrue: [ self doStopButtonMenuEvent: evt. ^true "we did show the menu" ]. (aSymbol == #zoom) ifTrue: [ self doZoomButtonMenuEvent: evt. ^true "we did show the menu" ]. ^false ! ! !ProjectNavigationMorph methodsFor: 'the buttons' stamp: 'sw 8/6/2009 03:40'! buttonPublish "Answer a button for publishing the project " ^ self makeButton: 'PUBLISH IT!!' translated balloonText: 'Publish (save) this project. Hold mouse button down for further options' translated for: #publishProject! ! !SugarLibrary class methodsFor: 'singleton management' stamp: 'bf 9/12/2009 20:36'! newDefault "Answer a new instance of SugarLibrary." | i | i := SugarLibrary new. i iconAt: 'new' put: self newIcon. i iconAt: 'prev' put: self prevIcon. i iconAt: 'next' put: self nextIcon. i iconAt: 'save' put: self saveIcon. i iconAt: 'open' put: self openIcon. i iconAt: 'keep' put: self keepIcon. i iconAt: 'choose' put: self chooseIcon. i iconAt: 'paint' put: self paintIcon. i iconAt: 'language' put: self languageIcon. i iconAt: 'undo' put: self undoIcon. i iconAt: 'close' put: self closeIcon. i iconAt: 'share' put: self shareIcon. i iconAt: 'miniShare' put: self miniShareIcon. i iconAt: 'supplies' put: self suppliesIcon. i iconAt: 'stop' put: self stopIcon. i iconAt: 'zoom' put: self zoomIcon. i iconAt: 'help' put: self helpIcon. i iconAt: 'miniPrivate' put: self miniPrivateIcon. i iconAt: 'private' put: self privateIcon. i iconAt: 'hideNavBar' put: self hideNavBarIcon. i iconAt: 'showNavBar' put: self showNavBarIcon. i iconAt: 'newProject' put: (i iconAt: 'new'). i iconAt: 'previousProject' put: (i iconAt: 'prev'). i iconAt: 'nextProject' put: (i iconAt: 'next'). i iconAt: 'publishProject' put: (i iconAt: 'save'). i iconAt: 'findAProjectSimple' put: (i iconAt: 'open'). i iconAt: 'keepProject' put: (i iconAt: 'keep'). i iconAt: 'chooseObject' put: (i iconAt: 'choose'). i iconAt: 'doNewPainting' put: (i iconAt: 'paint'). i iconAt: 'chooseLanguage' put: (i iconAt: 'language'). i iconAt: 'undoOrRedoLastCommand' put: (i iconAt: 'undo'). i iconAt: 'toggleSupplies' put: (i iconAt: 'supplies'). i iconAt: 'quitSqueak' put: (i iconAt: 'close'). i iconAt: 'shareThisWorld' put: (i iconAt: 'share'). i iconAt: 'shareMenu' put: (i iconAt: 'private'). i iconAt: 'chooseScreenSetting' put: (i iconAt: 'zoom'). i iconAt: 'stopSqueak' put: (i iconAt: 'stop'). i iconAt: 'toggleHelp' put: (i iconAt: 'help'). i iconAt: 'missingIcon' put: (i iconAt: 'private'). ^ i ! ! !SugarLibrary class methodsFor: 'icons' stamp: 'bf 9/12/2009 18:47'! chooseIcon ^ Form extent: 50@50 depth: 32 bits: (Base64MimeConverter mimeDecodeToBytes: '6cTjfv8AAAAT/wsLC/+4uLn/7+/v/4+Pj7r/AAAAB/9oaGkJ/wv/+fn5/xQUFLb/AAAAB/9+ f38N/wf/Li4vtv8AAAAH/35/fw3/B/8uLi+2/wAAAAf/fn9/Df8H/y4uL7b/AAAAB/9+f38N /wf/Li4vtv8AAAAH/35/fw3/B/8uLi+2/wAAAAf/fn9/Df8H/y4uL7b/AAAAB/9+f38N/wf/ Li4vtv8AAAAH/35/fw3/B/8uLi+2/wAAAAf/fn9/Df8H/y4uL7b/AAAAB/9+f38N/wf/Li4v ev8AAAAH/4aHiDr/ury+B//GyMkN/wf/vb3AOv+6vL4H/1dYWT7/AAAAB/+PkJI6/8bIygf/ y8zODf8H/8XHyjr/xsjKB/9dXl8+/wAAAAf/j5CSOv/GyMoH/8vMzg3/B//Fx8o6/8bIygf/ XV5fPv8AAAAH/4+Qkjr/xsjKB//LzM4N/wf/xcfKOv/GyMoH/11eXz7/AAAAB/+PkJIi/8bI ygv/xcfK/8XHyRL/xsjKB//LzM4N/wf/xcfKEv/GyMoL/8bHyf/Fx8ki/8bIygf/XV5fPv8A AAAH/4+Qkh7/xsjKE//X2Nj//////+7u7v/Fx8oO/8bIygf/y8zODf8H/8XHyg7/xsjKE//K y8z/+/v7///////Jyswe/8bIygf/XV5fPv8AAAAH/4+Qkhr/xsjKC//Hycv/+vr6Cf8L//Dw 8P/Fx8kK/8bIygf/y8zODf8H/8XHygr/xsjKC//Hycr//Pz8Cf8H/+Dh4h7/xsjKB/9dXl8+ /wAAAAf/j5CSHv/GyMoH/+Hh4g3/E//l5eb/xcfJ/8bIyv/LzM4N/xP/xcfK/8bIyv/Fx8r/ 9fX1Df8H/87P0B7/xsjKB/9dXl8+/wAAAAf/j5CSHv/GyMoL/8XHyf/w8PAN/w//2tvb/8bI yv/LzM4N/w//xcfK/8XHyf/r7OwN/wv/3t/g/8XHyR7/xsjKB/9dXl8+/wAAAAf/j5CSIv/G yMoL/8XHyv/4+PgN/wv/0NHS/8vMzg3/C//GyMv/4OHiDf8L/+rq6v/GyMki/8bIygf/XV5f Pv8AAAAH/4+Qkib/xsjKC//Iycv//v7+Df8H/9bX2A3/B//Z2dsN/wv/8/P0/8XHySb/xsjK B/9dXl8+/wAAAAf/j5CSKv/GyMoH/83Ozw3/B//8/PwZ/wv/+/v7/8fIySr/xsjKB/9dXl8+ /wAAAAf/j5CSLv/GyMoH/9bX2CX/B//Kyswu/8bIygf/XV5fPv8AAAAH/4+Qki7/xsjKC//H ycv/4eLiHf8H/9DR0jL/xsjKB/9dXl8+/wAAAAf/j5CSMv/GyMoL/8XHyf/s7O0V/wf/2tvc Nv/GyMoH/11eXz7/AAAAB/+PkJI2/8bIygv/xsfJ//j4+Q3/C//o6On/x8nKNv/GyMoH/11e Xz7/AAAAB/+PkJI6/8bIygf/yMjKCf8L//r6+v/GyMk6/8bIygf/XV5fPv8AAAAH/4+Qkj7/ xsjKD//Fx8j/0NHS/8fJyz7/xsjKB/9dXl8+/wAAAAf/j5CShv/GyMoH/11eXz7/AAAAB/+P kJKG/8bIygf/XV5fPv8AAAAH/4+Qkob/xsjKB/9dXl8+/wAAAAf/j5CShv/GyMoH/11eXz7/ AAAAB/+PkJKG/8bIygf/XV5fPv8AAAAH/4+Qkob/xsjKB/9dXl8+/wAAAAf/j5CShv/GyMoH /11eXz7/AAAAB/8kJCSG/zIyMwf/FxgY5l7/AAAA' readStream) contents! ! !SugarLibrary class methodsFor: 'icons' stamp: 'bf 9/12/2009 18:50'! keepIcon ^ Form extent: 50@50 depth: 32 bits: (Base64MimeConverter mimeDecodeToBytes: '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 mpqa/4qKiv/AwMAJ/xP/4ODg/3x8fP+0tLT//Pz8If8T/7Gxsf+Dg4P/jY2N/8rKyg3/F//C wsL/gYGB/46Ojv9OTk7/AgICUv8AAAAr/0pKSv+ZmZn/ioqK/76+vv/9/f3//////+Dg4P98 fHz/tLS0//z8/CH/E/+xsbH/g4OD/42Njf/KysoN/xf/wsLC/4GBgf+Ojo7/Tk5O/wICAlL/ AAAAK/9KSkr/mZmZ/4qKiv++vr7//f39///////g4OD/fHx8/7S0tP/8/Pwh/xP/sbGx/4OD g/+NjY3/ysrKDf8X/8LCwv+BgYH/jo6O/05OTv8CAgJS/wAAACv/SkpK/5mZmf+Kior/vr6+ //39/f//////4ODg/3x8fP+0tLT//Pz8If8T/7Kysv+Dg4P/jY2N/8rKyg3/F//CwsL/gYGB /46Ojv9OTk7/AgICUv8AAAAr/0hISP+ZmZn/ioqK/7+/v//+/v7//////+Dg4P98fHz/tLS0 //z8/B3/F//7+/v/p6en/4SEhP+MjIz/yMjIDf8X/8LCwv+BgYH/jo6O/05OTv8CAgJS/wAA ABP/TU1N/5mZmf+Kior/vb29Cf8T/+Dg4P98fHz/tLS0//z8/Bn/G//n5+f/uLi4/46Ojv+K ior/jIyM/9zc3A3/F//CwsL/gYGB/46Ojv9OTk7/AgICSv8AAAAz/xUVFf9GRkb/eHh4/5GR kf+Li4v/nZ2d/8PDw//09PT/4eHh/3x8fP+0tLT//Pz8Df8n//f39//Z2dn/vb29/5qamv+F hYX/i4uL/4aGhv+urq7//f39Df8X/8LCwv+BgYH/jo6O/05OTv8CAgJK/wAAAC//PDw8/6en p/+VlZX/ioqK/4yMjP+Dg4P/goKC/9vb2//i4uL/fHx8/7W1tQn/K//j4+P/wsLC/6ioqP+R kZH/hISE/4iIiP+Li4v/g4OD/6mpqf/v7+8R/xf/wsLC/4GBgf+Ojo7/Tk5O/wICAkr/AAAA W/8XFxf/NjY2/2VlZf+Tk5P/i4uL/6urq//Nzc3/9fX1/+Li4v9+fn7/q6ur/8/Pz/+vr6// l5eX/4iIiP+EhIT/iYmJ/4qKiv+Ghob/mJiY/8jIyP/09PQV/xf/wsLC/4GBgf+Ojo7/Tk5O /wICAlL/AAAAE/9JSUn/mZmZ/4qKiv/BwcEJ/xP/0dHR/4SEhP+Pj4//kJCQCv+Hh4cb/4mJ if+Li4v/j4+P/6mpqf/U1NT/8fHxHf8X/8LCwv+BgYH/jo6O/05OTv8CAgJS/wAAAEP/SUlJ /5mZmf+Li4v/tra2/83Nzf+np6f/kZGR/4yMjP+Li4v/ioqK/4yMjP+Pj4//mpqa/8LCwv/o 6Oj/+fn5Jf8X/7a2tv+EhIT/j4+P/0dHR/8BAQFS/wAAABf/SkpK/5mZmf+MjIz/jY2N/4yM jAr/ioqKDv+MjIwT/4+Pj/+rq6v/0dHR/9fX1wr/2dnZB//X19ca/9bW1hv/2tra/8fHx/+X l5f/iYmJ/5KSkv8uLi5W/wAAAAv/S0tL/5qamgr/jIyMB/+Li4sa/4yMjAr/i4uLMv+KiooT /4yMjP+UlJT/fHx8/w4ODlb/AAAAC/9KSkr/n5+fVv+WlpYX/5WVlf+Xl5f/lpaW/39/f/8q Kipa/wAAAA//Hh4e/1hYWP9gYGBW/15eXg//X19f/09PT/8gICBm/wAAAAf/BQUFUv8EBAQL /wUFBf8EBATirv8AAAA=' readStream) contents! ! !SugarLibrary class methodsFor: 'icons' stamp: 'bf 9/12/2009 18:52'! openIcon ^ Form extent: 50@50 depth: 32 bits: (Base64MimeConverter mimeDecodeToBytes: '6cThZv8AAAAv/xISEv8zMzP/SUlJ/19fX/91dXX/ioqK/6CgoP+2trb/zMzM/66urv8aGhqa /wAAAAv/UFBQ//X19SX/B/94eHia/wAAAAf/jo6OKf8H/35+fpr/AAAAG/8SEhL/oKCg/6Gh of+MjIz/d3d3/7m5uRX/B/9oaGiq/wAAAAf/fHx8Gf8H/1JSUqL/AAAAC/8BAQH/ampqCf8P //7+/v//////8fHxCf8H/zw8PKL/AAAAK/9aWlr//v7+///////+/v7//////+Tk5P+6urr/ //////7+/v8nJyee/wAAAAv/SkpK//39/Q3/D//r6+v/DAwM/83NzQn/B/8RERGa/wAAAAv/ Ojo6//z8/A3/G//x8fH/FBQU/wAAAP/i4uL///////r6+pr/AAAAC/8fHx//+vr6Df8L//b2 9v8dHR0K/wAAAA//9/f3///////m5uaa/wAAAAv/oqKi//7+/gn/C//5+fn/KCgoDv8AAAAP /8PDw///////qampgv8AAAAH/wEBARb/AAAAB/+Ojo4J/wv/+/v7/zc3NxL/AAAAD/8RERH/ TExM/wQEBDr/AAAAB/8BAQEy/wAAAAf/AQEBLv8AAAAP/5iYmP++vr7/MTEx0v8AAAAH/wEB ATr/AAAAD/8gICD/bm5u/5SUlBr/qKioE/+kpKT/hISE/1NTU/8JCQmS/wAAAAv/QEBA/6qq qg7/ra2tB/+srKwW/62trRP/rKys/66urv+QkJD/EBAQNv8AAAAH/wEBAVL/AAAAE/8YGBj/ qamp/62trf+urq4K/62trQf/rq6uIv+tra0H/3l5eTL/AAAAB/8BAQEO/wAAAAf/AQEBRv8A AAAH/25ubg7/ra2tC/+/v7//0tLSFv/T09Mb/83Nzf+zs7P/rq6u/62trf+urq7/GxsbKv8A AAAH/wEBAVL/AAAAD/8BAQH/AAAA/5mZmQr/ra2tB/+/v78h/wf/7OzsDv+tra0P/6qqqv+o qKj/qampFv+oqKgO/6mpqRf/qKio/6Ojo/+CgoL/SEhI/wEBAUb/AAAAB/8HBwcO/62trQf/ 2NjYIf8H//7+/kr/ra2tC/+CgoL/CQkJQv8AAAAH/wsLCw7/ra2tB//c3Nwl/w//y8vL/62t rf+srKxC/62trQf/c3NzQv8AAAAH/wsLCw7/ra2tB//b29sl/wv/+vr6/9vb2w7/09PTC//S 0tL/1NTUIv/T09Mb/8zMzP+vr6//ra2t/66urv+tra3/IyMjIv8AAAAH/wEBARr/AAAAB/8L CwsO/62trQf/29vbMf8H//7+/in/D//+/v7//////+rq6g7/ra2tB/9TU1M+/wAAAAf/CwsL Dv+tra0H/9zc3Gn/B/+0tLQK/62trQf/ZmZmEv8AAAAH/wEBASr/AAAAB/8KCgoO/62trQf/ 29vbUf8H//7+/hX/B/+1tbUK/62trQf/ZmZmPv8AAAAH/wsLCw7/ra2tB//b29sN/xf/+Pj4 /9bW1v/FxcX/v7+//76+vgr/v7+/D/++vr7/v7+//8DAwBb/v7+/B/++vr4e/7+/vwf/sLCw Cv+tra0b/5mZmf+IiIj/h4eH/3R0dP9JSUn/BQUFKv8AAAAH/wsLCw7/ra2tB//b29sJ/wv/ 5eXl/7Kysgr/ra2tB/+urq4K/62trQf/rKysLv+tra0H/66urg7/ra2tB/+urq4i/62trQv/ kpKS/xISEib/AAAAB/8LCwsO/62trRP/29vb///////y8vL/sLCwev+tra0X/6ysrP+tra3/ e3t7/wAAAP8BAQEe/wAAAAf/CwsLDv+tra0f/9ra2v/+/v7/vr6+/62trf+urq7/ra2t/7e3 t1b/xMTEB//Dw8MO/8TExAv/w8PD/7Ozsw7/ra2tB/8SEhIi/wAAAAf/CwsLDv+tra0L/9vb 2//c3NwO/62trQv/wsLC//7+/mn/B//j4+MO/62trQf/ISEhHv8AAAAP/wEBAf8LCwv/rKys Cv+tra0L/9vb2/+9vb0K/62trQv/sbGx//X19W3/B//U1NQO/62trQf/GhoaIv8AAAAH/wsL Cw7/ra2tB//X19cK/62trQv/rKys/9HR0W3/C//8/Pz/s7OzCv+tra0L/5SUlP8BAQEi/wAA AAf/CwsLDv+tra0H/8nJyQ7/ra2tB//q6upt/wf/3d3dDv+tra0H/0dHRyb/AAAAB/8LCwsO /62trQf/u7u7Cv+tra0L/7Gxsf/9/f1Z/wf//v7+Df8L//7+/v+5ubkK/62trQv/oKCg/wcH Byb/AAAAB/8LCwsO/62trQf/r6+vCv+tra0H/8nJyRn/B//+/v5R/wf/5ubmDv+tra0H/1pa Wir/AAAAB/8LCwsa/62trQf/4eHhbf8H/8DAwAr/ra2tE/+oqKj/EBAQ/wAAAP8BAQEi/wAA AAf/CwsLFv+tra0L/66urv/6+vpp/wf/7u7uDv+tra0H/2pqai7/AAAAB/8LCwsS/62trQv/ rq6u/8DAwA3/B//+/v5d/xf/ycnJ/66urv+tra3/rq6u/x4eHi7/AAAAB/8LCwsW/62trQf/ 2NjYaf8L//X19f+urq4K/62trQf/fX19Mv8AAAAH/wsLCwr/ra2tB/+srKwK/62trQf/8fHx af8H/9HR0Q7/ra2tB/8vLy8y/wAAAAf/CwsLEv+tra0H/7e3t2n/C//6+vr/sbGxCv+tra0H /46Ojjb/AAAAC/8LCwv/rq6uDv+tra0H/8/Pz2n/B//a2toK/62trQv/rq6u/0BAQBr/AAAA B/8BAQEa/wAAAAf/CwsLEv+tra0H/+jo6Gn/B/+2trYK/62trQv/nJyc/wQEBDb/AAAAB/8L CwsS/62trQf/x8fHZv/JyckH/8TExA7/ra2tB/9TU1M6/wAAAAf/CwsLev+tra0H/66urgr/ ra2tC/+mpqb/DAwMOv8AAAAL/wEBAf+qqqp2/62trQf/rKysCv+tra0H/2RkZD7/AAAAE/8B AQH/S0tL/6CgoP+fn59y/5OTkw//kZGR/11dXf8LCwvhuv8AAAA=' readStream) contents! ! !SugarLibrary class methodsFor: 'icons' stamp: 'bf 9/12/2009 18:53'! saveIcon ^ Form extent: 50@50 depth: 32 bits: (Base64MimeConverter mimeDecodeToBytes: '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 AQEBIv8AAAAH/wsLCxb/ra2tC/+urq7/+vr6af8H/+7u7g7/ra2tB/9qamou/wAAAAf/CwsL Ev+tra0L/66urv/AwMAN/wf//v7+Xf8X/8nJyf+urq7/ra2t/66urv8eHh4u/wAAAAf/CwsL Fv+tra0H/9jY2Gn/C//19fX/rq6uCv+tra0H/319fTL/AAAAB/8LCwsK/62trQf/rKysCv+t ra0H//Hx8Wn/B//R0dEO/62trQf/Ly8vMv8AAAAH/wsLCxL/ra2tB/+3t7dp/wv/+vr6/7Gx sQr/ra2tB/+Ojo42/wAAAAv/CwsL/66urg7/ra2tB//Pz89p/wf/2traCv+tra0L/66urv9A QEAa/wAAAAf/AQEBGv8AAAAH/wsLCxL/ra2tB//o6Ohp/wf/tra2Cv+tra0L/5ycnP8EBAQ2 /wAAAAf/CwsLEv+tra0H/8fHx2b/ycnJB//ExMQO/62trQf/U1NTOv8AAAAH/wsLC3r/ra2t B/+urq4K/62trQv/pqam/wwMDDr/AAAAC/8BAQH/qqqqdv+tra0H/6ysrAr/ra2tB/9kZGQ+ /wAAABP/AQEB/0tLS/+goKD/n5+fcv+Tk5MP/5GRkf9dXV3/CwsL4br/AAAA' readStream) contents! ! !SugarNavigatorBar methodsFor: 'initialization' stamp: 'bf 9/13/2009 22:13'! checkSugarButtons | wasSugar | (owner hasProperty: #collapsedMode) ifTrue: [^self]. wasSugar := isSugar == true. isSugar := SugarLauncher isRunningInSugar. wasSugar = isSugar ifFalse: [ submorphs do: [:e | e delete]. self addButtons]! ! !SugarNavigatorBar methodsFor: 'initialization' stamp: 'bf 9/12/2009 20:43'! initialize super initialize. self layoutInset: 0@0; hResizing: #rigid; vResizing: #rigid; cellPositioning: #topLeft. self cornerStyle: #square. self resistsRemoval: true. self beSticky. self makeGray. ! ! !SugarNavigatorBar methodsFor: 'initialization' stamp: 'bf 9/12/2009 20:15'! makeTheSimpleButtons "Add the buttons for use in normal kids' mode." ^ {self buttonHelp. self makeProjectNameLabel. "self buttonNewProject." self buttonPrev. self buttonNext. self buttonPaint. self buttonSupplies. }, " ( Preferences includeSoundControlInNavigator ifTrue: [{self buttonSound}] ifFalse: [#()] )," { self buttonUndo. self buttonLanguage. }, "see zoomAndShareButtonAppearance" (SugarLauncher isRunningInSugar ifTrue: [{ self buttonShare. #spacer. self buttonChoose. self buttonKeep. self buttonStop. }] ifFalse: [{ self buttonZoom. #spacer. self buttonFind. self buttonPublish. self buttonQuit}] ), (Preferences navControlInNavBar ifTrue: [{self buttonHideNavBar}] ifFalse: [#()])! ! !SugarNavigatorBar methodsFor: 'morphic interaction' stamp: 'bf 9/13/2009 20:34'! step self checkSugarButtons. self checkForResize. self undoButtonAppearance. ! ! !SugarNavigatorBar methodsFor: 'buttons creation' stamp: 'bf 9/12/2009 20:19'! buttonKeep "Answer a button for saving the project in the Journal" ^ self makeButton: 'PUBLISH IT!!' translated balloonText: 'Keep a copy of the current project in the Journal. Hold mouse button down for further options.' translated for: #keepProject! ! !SugarNavigatorBar methodsFor: 'buttons creation' stamp: 'bf 9/12/2009 20:00'! buttonZoom "Build and return a fresh Zoom button for me." ^self makeButton: 'zoom' balloonText: 'Click here to toggle using the full screen.' translated for: #zoom ! ! !SugarNavigatorBar methodsFor: 'the actions' stamp: 'bf 9/12/2009 20:04'! keepProject ^SugarLauncher current save! ! !InteriorSugarNavBar methodsFor: 'buttons' stamp: 'bf 9/12/2009 20:04'! keepProject "But don't..."! ! !SugarNavTab methodsFor: 'initialization' stamp: 'bf 9/13/2009 22:10'! hideNavBar "Hide the nav bar." self setProperty: #collapsedMode toValue: true. referent delete. referent showOnlyShowNavBarButton. self hResizing: #shrinkWrap. referent layoutInset: 0@0. self edgeToAdhereTo: #topRight. self occupyTopRightCorner. self addMorphBack: referent! ! SugarNavigatorBar removeSelector: #buttonFind! SugarNavigatorBar removeSelector: #findButtonAppearance! SugarNavigatorBar removeSelector: #publishProject! SugarNavigatorBar removeSelector: #zoomAndShareButtonAppearance! ProjectNavigationMorph subclass: #SugarNavigatorBar instanceVariableNames: 'sugarLib highLightColor undoButton shareButton supplies listener suppliesFlap projectNameField isSugar' classVariableNames: '' poolDictionaries: '' category: 'Sugar'! "Postscript:" SugarLibrary clearDefault. Flaps disableGlobalFlaps: false. Flaps enableEToyFlaps. !