[Pkg] The Trunk: Morphic-mt.1222.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Aug 2 12:16:12 UTC 2016


Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-mt.1222.mcz

==================== Summary ====================

Name: Morphic-mt.1222
Author: mt
Time: 2 August 2016, 2:15:22.215941 pm
UUID: 217156d7-7610-cc46-87a9-c78a24aadec0
Ancestors: Morphic-mt.1221

Clean-up structure of help texts. Remove duplicates. Favor our help system instead of spreading elaborate help texts throughout the system.

=============== Diff against Morphic-mt.1221 ===============

Item was removed:
- ----- Method: TextStyle class>>fontSizeSummary (in category '*Morphic-user interface') -----
- fontSizeSummary
- 	"Open a text window with a simple summary of the available sizes in each of the fonts in the system."
- 
- 	"TextStyle fontSizeSummary"
- 	| aString aList |
- 	aList := self knownTextStyles.
- 	aString := String streamContents:
- 		[:aStream |
- 			aList do: [:aStyleName |
- 				aStream nextPutAll:
- 					aStyleName, '  ',
- 					(self fontPointSizesFor: aStyleName) asArray storeString.
- 				aStream cr]].
- 	(StringHolder new contents: aString)
- 		openLabel: 'Font styles and sizes' translated!

Item was changed:
  ----- Method: TheWorldMainDockingBar>>aboutSqueak (in category 'menu actions') -----
  aboutSqueak
+ 	
+ 	| m |
+ 	 m := SystemReporter open.
+ 	 m label: 'About Squeak' translated.!
- 	false
- 		ifTrue:
- 			[UserDialogBoxMorph
- 				inform: Smalltalk systemInformationString withCRs
- 				title: 'About Squeak...' translated
- 				at: World center]
- 		ifFalse:
- 			[| m |
- 			 m := SystemReporter open.
- 			 m label: 'About Squeak...' translated.
- 			 m setConstrainedPosition: World center - (m bounds extent / 2)
- 				hangOut: false]!

Item was added:
+ ----- Method: TheWorldMainDockingBar>>commandKeyHelp (in category 'submenu - help') -----
+ commandKeyHelp
+ 	"Open a window giving command key help."
+ 
+ 	self
+ 		openHelp: #SqueakTutorialsCommandKey
+ 		topic: nil
+ 		styled: false!

Item was changed:
  ----- Method: TheWorldMainDockingBar>>extendingTheSystem (in category 'submenu - help') -----
  extendingTheSystem
+ 	
+ 	self
+ 		openHelp: #SqueakProjectHelp
+ 		topic: #extendingTheSystem
+ 		styled: false.!
- 	^'SqueakMap is an integrated catalog of external applications for Squeak.  It is accessible from the "Apps" menu.  This catalog does not host the projects, it merely documents the load scripts required to correctly bring them into the image.
- 
- Many SqueakMap packages use Installer, which defines several packages in its package-definitions protocol.  Any of these can be loaded with an expression like the following:
- 
- 	Installer new merge: #openGL
- 
- Change #openGL to the selector name of the package you want to load.  The latest version of that package and all of its prerequisites will be merged into the image.  Merging a package is no different from loading it unless the package is already loaded, in which case it is upgraded to the latest version in a way that preserves any local changes you may already have made.
- 
- ---------------
- This remainder of this workspace documents load-scripts for packages that are not documented in either SqueakMap or Installer.
- 
- OCompletion
- "Provides source code completion as you type"
- (Installer ss project: ''OCompletion'') install: ''Ocompletion''.
- (Smalltalk at: #ECToolSet) register.
- (Smalltalk at: #ToolSet) default: (Smalltalk at: #ECToolSet).
- 
- Omnibrowser
- "Including Refactoring engine"
- (Installer ss project: ''MetacelloRepository'') install: ''ConfigurationOfOmniBrowser''.
- ((Smalltalk at: #ConfigurationOfOmniBrowser) project perform: #lastVersion) load: #( Dev ).
- 
- Pier CMS
- "Pier CMS: http://www.piercms.com"
- (Installer ss project: ''MetacelloRepository'') install: ''ConfigurationOfPier2''.
- (Smalltalk at: #ConfigurationOfPier2) load.
- 
- (Installer lukas project: ''pier2'') install: ''Pier-Blog''.
- (Installer lukas project: ''pier2'') install: ''Pier-Book''.
- (Installer lukas project: ''pier2addons'') install: ''Pier-Setup''.
- (Smalltalk at: #PRDistribution)  new register.
- 
- Open Cobalt
- "http://opencobalt.org (Best to run this from an image in an open cobalt directory)"
- Installer ss project: ''TweakCore''; install: ''update''.
- [Installer ss project: ''TweakExtras''; install: ''update'']
- 	on: (Smalltalk at: #CUnsynchronizedModification) do: [:ex | ex resume].
- Installer cobalt project: ''Tweak'';
- 	answer: ''Would you like to conserve memory at all costs?'' with: true;
- 	answer: ''Password for interactive VNC connections?'' with: ''cobalt'';
- 	answer: ''Would you like to add the RFBServer to the World open menu?'' with: true;
- 	install: ''update''
- !!
- ]style[(9 309 19 252 6 126 8 237 11 209 11 210 8 386 11 547)dSMLoaderPlus open;;,,d| newBrowser |
- newBrowser := Browser new selectSystemCategory: ''Installer-Core''; selectClass: Installer; metaClassIndicated: false; selectMessageCategoryNamed: ''package-definitions''; selectMessageNamed: #openGL.
- Browser openBrowserView: (newBrowser openMessageCatEditString: nil) label: ''External Package Definitions'';;,,i,,u,,bu,,bu,,bu,,bu,!!' readStream nextChunkText!

Item was added:
+ ----- Method: TheWorldMainDockingBar>>fontSizeSummary (in category 'submenu - help') -----
+ fontSizeSummary
+ 	
+ 	self
+ 		openHelp: #SqueakToolsHelp
+ 		topic: #fontSizeSummary
+ 		styled: false.!

Item was changed:
  ----- Method: TheWorldMainDockingBar>>helpMenuOn: (in category 'submenu - help') -----
  helpMenuOn: aDockingBar
  
  	aDockingBar addItem: [ :it |
  		it	contents: 'Help' translated;
+ 			addSubMenu: [ :menu | 
+ 				menu addItem: [:item |
+ 						item
+ 							contents: 'Squeak Help' translated;
+ 							help: 'Integrated Help System' translated;
+ 							target: self;
+ 							selector: #squeakHelp].
+ 				
+ 				menu addLine.
+ 				
- 			addSubMenu: [ :menu |  'Todo'.
  				menu addItem:[:item|
  					item
  						contents: 'Online Resources' translated;
  						help: 'Online resources for Squeak' translated;
  						target: self;
  						icon: MenuIcons smallHelpIcon;
+ 						selector: #squeakOnlineResources].
- 						selector: #showWelcomeText:label:in:;
- 						arguments: {
- 							#squeakOnlineResources. 
- 							'Squeak Online Resources'. 
- 							(140 at 140 extent: 560 at 360)
- 						}].
  				menu addItem:[:item|
  					item
  						contents: 'Keyboard Shortcuts' translated;
  						help: 'Keyboard bindings used in Squeak' translated;
+ 						target: self;
+ 						selector: #commandKeyHelp ].
- 						target: Utilities;
- 						selector: #openCommandKeyHelp ].
  				menu addItem:[:item|
  					item
  						contents: 'Font Size Summary' translated;
+ 						help: 'Font size summary.' translated;
+ 						target: self;
- 						help: 'Font size summary from the old Squeak 3.10.2 help menu.' translated;
- 						target: TextStyle;
  						selector: #fontSizeSummary ].
  				menu addItem:[:item|
  					item
  						contents: 'Useful Expressions' translated;
+ 						help: 'Useful expressions' translated;
+ 						target: self;
+ 						selector: #usefulExpressions ].
- 						help: 'Useful expressions from the old Squeak 3.10.2 help menu.' translated;
- 						target: Utilities;
- 						selector: #openStandardWorkspace ].
- 				(Smalltalk classNamed: #SystemReporter) ifNotNil: [:classSystemReporter |
- 					menu addItem: [:item |
- 						item
- 							contents: 'About this System' translated;
- 							help: 'SystemReporter status of the image and runtime environment' translated;
- 							target: classSystemReporter;
- 							selector: #open]].
  				menu addLine.
  				menu addItem:[:item|
  					item
  						contents: 'Extending the system' translated;
  						help: 'Includes code snippets to evaluate for extending the system' translated;
  						target: self;
  						icon: MenuIcons smallHelpIcon;
+ 						selector: #extendingTheSystem].
- 						selector: #showWelcomeText:label:in:;
- 						arguments: {
- 							#extendingTheSystem. 
- 							'How to extend the system'. 
- 							(140 at 140 extent: 560 at 360)
- 						}].
  				menu addLine.
+ 				
+ 			menu addItem:[:item|
+ 				item
+ 					contents: 'Release Notes' translated;
+ 					help: 'Changes in this release' translated ;
+ 					target: self;
+ 					selector: #releaseNotes].
+ 			menu addItem:[:item|
+ 				item
+ 					contents: 'Working With Squeak' translated;
+ 					help: 'Information for new users' ;
+ 					target: self;
+ 					selector: #workingWithSqueak].
+ 			menu addItem:[:item|
+ 				item
+ 					contents: 'The Squeak User Interface' translated;
+ 					help: 'Descriptions of some of the more-unusual UI elements in Squeak' ;
+ 					target: self;
+ 					selector: #squeakUserInterface].
+ 			menu addItem:[:item|
+ 				item
+ 					contents: 'License Information' translated;
+ 					help: String empty ;
+ 					target: self;
+ 					selector: #licenseInformation].				
+ 				
+ 		
+ 			menu addLine.
+ 			menu addItem: [:item |
+ 				item
+ 					contents: 'About Squeak' translated;
+ 					help: 'SystemReporter status of the image and runtime environment' translated;
+ 					target: self;
+ 					selector: #aboutSqueak].
+ 		]]!
- 				menu addItem:[:item|
- 					item
- 						contents: 'Welcome Workspaces' translated;
- 						help: 'The Welcome Workspaces' translated;
- 						addSubMenu:[:submenu| self welcomeWorkspacesOn: submenu]].
- 				(Smalltalk classNamed: #HelpBrowser) ifNotNil: [:classHelpBrowser |
- 					(Smalltalk classNamed: #TerseGuideHelp) ifNotNil: [:classTerseGuideHelp |
- 						menu addLine.
- 						menu addItem: [:item |
- 							item
- 								contents: 'Terse Guide to Squeak' translated;
- 								help: 'Concise information about language and environment' translated;
- 								target: classHelpBrowser;
- 								selector: #openForCodeOn:;
- 								arguments: { classTerseGuideHelp }]].
- 					menu addLine.
- 					menu addItem: [:item |
- 						item
- 							contents: 'Help Browser' translated;
- 							help: 'Integrated Help System' translated;
- 							target: classHelpBrowser;
- 							selector: #open]]]]!

Item was changed:
  ----- Method: TheWorldMainDockingBar>>licenseInformation (in category 'submenu - help') -----
  licenseInformation
+ 	
+ 	self
+ 		openHelp: #SqueakLicenseHelp
+ 		topic: #officialLicense
+ 		styled: false.!
- 	"Should NOT be edited interactively"
- 	^Smalltalk license asText!

Item was added:
+ ----- Method: TheWorldMainDockingBar>>openHelp:topic:styled: (in category 'submenu - help') -----
+ openHelp: bookSymbol topic: topicSymbol styled: boolean
+ 
+ 	| openSelector |
+ 	openSelector := boolean ifTrue: [#openCodeOn:] ifFalse: [#openOn:].
+ 
+ 	(Smalltalk classNamed: 'HelpBrowser')
+ 		ifNil: [self inform: 'Sorry, there is no help system installed.' translated]
+ 		ifNotNil: [:helpClass |
+ 			(Smalltalk classNamed: bookSymbol)
+ 				ifNil: [self inform: 'Sorry, the help book you requested does not exist.']
+ 				ifNotNil: [:book |
+ 					topicSymbol
+ 						ifNil: [(helpClass perform: openSelector with: book) model showFirstTopic]
+ 						ifNotNil: [helpClass perform: openSelector with: (book perform: topicSymbol)]]]!

Item was changed:
  ----- Method: TheWorldMainDockingBar>>releaseNotes (in category 'submenu - help') -----
  releaseNotes
+ 	
+ 	self
+ 		openHelp: #SqueakReleaseNotes
+ 		topic: nil
+ 		styled: false.!
- 	^'Squeak 5.0
- Release Notes
- 
- A New Memory Model and Virtual Machine
- 
- Fast Become
- Squeak 5 introduces a new object model and VM known as "Spur".  Presented [1] by Eliot Miranda and Clément Béra at the International Symposium on Memory Management in year 2015, this new VM retains the direct-pointer representation of objects in previous Squeak versions but now without requiring a full scan of the heap for become.  This is done by introducing hidden forwarding objects which allow references to be updated lazily as they are encountered.  Spur''s innovation is in avoiding explicit read barriers in all common cases.
- 
- Additional Immediate Types
- The new Spur memory model supports immediate Characters, so that Characters with unicode greater than 255 can be tested via #==, and wide string access is much faster.  The 64-bit version, still under development, also provides immediate floats, occupying the middle 8th of the double precision exponent range.
- 
- Simplified and Ready for 64-bit
- Internally Spur uses a 64-bit object header, a representation shared between the 32-bit and 64-bit versions, and one that is significantly simpler than the three different header sizes used in the previous version.  This simplicity means that the JIT now generates code to implement more primitives, in particular new and new:, resulting in significantly higher performance, at the cost of a 15% increase in image size.
- 
- Enhanced Memory Management
- Spur has a segmented heap, allowing the heap to grow and shrink a segment at a time.  It provides per-object pinning to ensure specific objects will not be moved by the garbage collector, hence simplifying the FFI.  Spur provides Ephemerons which allow for per-object finalization and the prevention of uncollectable cycles, for example in global property lists like DependentsFields (although this support has yet to be applied to the system).
- 
- 
- Squeak now runs on ARM
- 
- As a natural output of the Scratch application on Rasberry Pi project, the Spur VM can now run on the Rasberry Pi.
- 
- 
- The Future of Spur
- 
- Work is underway on an innovative adaptive optimizer/speculative inliner, and a 64-bit JIT for x64, and a global incremental mark-sweep collector is planned.  See [2].
- 
- [1] -- http://conf.researchr.org/event/ismm-2015/ismm-2015-papers-a-partial-read-barrier-for-efficient-support-of-live-object-oriented-programming
- [2] -- http://www.mirandabanda.org/cogblog/cog-projects/
- !!
- ]style[(10 1 13 40 2 11 537 26 313 31 422 26 448 22 119 19 374)a2bFBitstreamVeraSerif#32.0,FBitstreamVeraSans#20.0a2,a2FBitstreamVeraSerif#24.0-,FBitstreamVeraSans#20.0,,b,,b,,b,,b,,FBitstreamVeraSans#20.0,,FBitstreamVeraSans#20.0,!!' readStream nextChunkText!

Item was removed:
- ----- Method: TheWorldMainDockingBar>>showSqueakResources (in category 'submenu - help') -----
- showSqueakResources
- 	^(StringHolder new contents:
- 'Squeak web sites:
- 	http://www.squeak.org	- The main Squeak site.
- 	http://news.squeak.org	- The Weekly Squeak
- 	http://board.squeak.org	- The Squeak Oversight Board
- 	http://ftp.squeak.org	- Downloads for many Squeak versions.
- 	http://squeakvm.org	- Development of the Squeak virtual machine
- 	
- Squeak-dev - The main Squeak mailing list.
- 	http://lists.squeakfoundation.org/mailman/listinfo/squeak-dev
- 	http://dir.gmane.org/gmane.comp.lang.smalltalk.squeak.general
- 	http://n4.nabble.com/Squeak-Dev-f45488.html
- 
- Squeak-Beginners - The place to ask even the most basic questions.
- 	http://lists.squeakfoundation.org/mailman/listinfo/beginners
- 	http://dir.gmane.org/gmane.comp.lang.smalltalk.squeak.beginners
- 	http://n4.nabble.com/Squeak-Beginners-f107673.html
- 
- Squeak By Example: 
- 	http://www.squeakbyexample.org/
- 
- Squeak, Open Personal Computing and Multimedia (The NuBlue Book - Draft):
- 	http://coweb.cc.gatech.edu/squeakbook/
- 	http://stephane.ducasse.free.fr/FreeBooks/CollectiveNBlueBook/
- 
- Squeak, Open Personal Computing for Multimedia (The White Book - Draft):
- 	http://www.cc.gatech.edu/~mark.guzdial/drafts/
- 	http://stephane.ducasse.free.fr/FreeBooks/GuzdialBookDrafts/
- 
- More Books about Squeak and Smalltalk:
- 	http://stephane.ducasse.free.fr/FreeBooks.html
- 
- ') openLabel: 'Squeak Online Resources'!

Item was removed:
- ----- Method: TheWorldMainDockingBar>>showWelcomeText:label:in: (in category 'submenu - help') -----
- showWelcomeText: aSelector label: labelString in: bounds
- 	"Show a welcome text. Linked in here so that the text can be edited
- 	by changing the acceptBlock below."
- 	| acceptBlock window |
- 	"Change the following to allow editing the text"
- 	true ifTrue:[
- 		acceptBlock := [:text|
- 			self class
- 				compile: aSelector,'
- 	^', (String streamContents:[:s| s nextChunkPutWithStyle: text]) storeString, ' readStream nextChunkText'
- 				classified: (self class organization categoryOfElement: aSelector).
- 		].
- 	].
- 
- 	window := UIManager default 
- 		edit: (self perform: aSelector)
- 		label: labelString
- 		accept: acceptBlock.
- 	window bounds: bounds.
- !

Item was added:
+ ----- Method: TheWorldMainDockingBar>>squeakHelp (in category 'submenu - help') -----
+ squeakHelp
+ 
+ 	(Smalltalk classNamed: 'HelpBrowser')
+ 		ifNil: [self inform: 'Sorry, there is no help system installed.' translated]
+ 		ifNotNil: [:helpClass | helpClass open].!

Item was changed:
  ----- Method: TheWorldMainDockingBar>>squeakOnlineResources (in category 'submenu - help') -----
  squeakOnlineResources
- 	^'Squeak web sites
- 	Main Squeak site						http://www.squeak.org
- 	Weekly Squeak							http://news.squeak.org
- 	Oversight Board						http://board.squeak.org
- 	Downloads for many versions			http://ftp.squeak.org
- 	Development of the virtual machine	http://squeakvm.org
- 	Google+ Page
- 		https://plus.google.com/u/0/b/115950529692424242526/
  	
+ 	self
+ 		openHelp: #SqueakProjectHelp
+ 		topic: #squeakResourcesOnline
+ 		styled: false.!
- Squeak-dev - The main Squeak mailing list
- 	http://lists.squeakfoundation.org/mailman/listinfo/squeak-dev
- 	http://dir.gmane.org/gmane.comp.lang.smalltalk.squeak.general
- 	http://n4.nabble.com/Squeak-Dev-f45488.html
- 
- Squeak-Beginners - The place to ask even the most basic questions
- 	http://lists.squeakfoundation.org/mailman/listinfo/beginners
- 	http://dir.gmane.org/gmane.comp.lang.smalltalk.squeak.beginners
- 	http://n4.nabble.com/Squeak-Beginners-f107673.html
- 
- Squeak By Example
- 	http://www.squeakbyexample.org/
- 
- Squeak, Open Personal Computing and Multimedia
- 	http://coweb.cc.gatech.edu/squeakbook/
- 	http://stephane.ducasse.free.fr/FreeBooks/CollectiveNBlueBook/
- 
- Squeak, Open Personal Computing for Multimedia
- 	http://www.cc.gatech.edu/~mark.guzdial/drafts/
- 	http://stephane.ducasse.free.fr/FreeBooks/GuzdialBookDrafts/
- 
- More Books about Squeak and Smalltalk
- 	http://stephane.ducasse.free.fr/FreeBooks.html
- !!
- ]style[(16 316 41 173 65 181 17 35 46 106 46 112 37 49)bu,,bu,,bu,,bu,,bu,,bu,,bu,!!' readStream nextChunkText!

Item was changed:
  ----- Method: TheWorldMainDockingBar>>squeakUserInterface (in category 'submenu - help') -----
  squeakUserInterface
+ 	
+ 	self
+ 		openHelp: #SqueakProjectHelp
+ 		topic: #squeakUserInterface
+ 		styled: false.!
- 	^'The Squeak UI has some unusual elements that you may not have seen before.  Here is a brief introduction to those elements:
- 
- Projects
- A project is an entire Squeak desktop full of windows.  Projects can be used to change quickly from one task to another.  An inactive project is represented by a project window, which shows a thumbnail of its state.  Project windows are actually more like doors than windows, since you can enter the project just by clicking on them.  You can create a new project by choosing ''open...project'' from the screen menu.  To exit a project (and return to its parent project), choose ''previous project'' from the screen menu.  Each project maintains its own set of windows and other information.
- 
- Morphic Halos
- In a morphic project, pressing cmd-click (Mac) or alt-click (Windows) on a graphical object (e.g. a window) will surround it with a constellation of colored circles.  These are called "halo handles."  Additional clicks will cycle through the halos for the other graphical objects in the nesting structure.  If you hold down the Shift key while cmd/alt-clicking, the nested morphs will be traversed from innermost outward.  Clicking without the cmd/alt key will dismiss the halo.  While the halo is up, letting the cursor linger over one of the halo handles for a few seconds will cause a balloon to pop up with the name of that handle.  Three useful handles are the top-left "X" handle (delete), the bottom-right yellow handle (resize), and the brown handle (slide the object within its containing object).  Halos allow complex graphical objects to be explored - or even disassembled (using the black halo handle).  Usually no harm results from taking apart an object; you can just discard the pieces and create a new one.
- 
- Flaps
- To enable Flaps, click on the desktop to show the world menu, choose the "Flaps..." menu and "show shared tags". Tabs labeled "Squeak", "Tools", "Supplies", etc., will appear along the edges of the Squeak desktop.  Click on any tab to open the corresponding flap.  Drag a tab to resize the flap and to relocate the tab.  Bring up the halo on any tab and click on its menu handle to be presented with many options relating to the flap.  Use the "Flaps..." menu, reached via the desktop menu, to control which flaps are visible and for other flap-related options and assistance.
- 
- Parts Bins
- You can obtain new objects in many ways.  The "Objects Catalog" (choose "objects'' from the world menu or open the objects flap) and several of the standard flaps (e.g. "Tools" and "Supplies") serve as "Parts Bins" the for new objects.  Drag any icon you see in a Parts Bin and a fresh copy of the kind of object it represents will appear "in your hand"; click to deposit the new object anywhere you wish.  You can also add your own objects to any of the flaps - just drag your object over the tab, wait for the flap to pop open, then drop the object at the desired position in the flap.
- !!' readStream nextChunkText!

Item was added:
+ ----- Method: TheWorldMainDockingBar>>terseGuideToSqueak (in category 'submenu - help') -----
+ terseGuideToSqueak
+ 
+ 	self
+ 		openHelp: #TerseGuideHelp
+ 		topic: nil
+ 		styled: false.!

Item was added:
+ ----- Method: TheWorldMainDockingBar>>usefulExpressions (in category 'submenu - help') -----
+ usefulExpressions
+ 	
+ 	self
+ 		openHelp: #SqueakTutorials
+ 		topic: #usefulExpressions
+ 		styled: false.!

Item was removed:
- ----- Method: TheWorldMainDockingBar>>welcomeWorkspacesOn: (in category 'submenu - help') -----
- welcomeWorkspacesOn: menu
- 	| versionString | versionString := SystemVersion current version last: 3.
- 	menu addItem:[:item|
- 		item
- 			contents: (versionString, ' Release Notes') translated;
- 			help: 'Improvements in this release' translated ;
- 			target: self;
- 			selector: #showWelcomeText:label:in:;
- 			arguments: {
- 				#releaseNotes.
- 				(versionString, ' Release Notes') translated. 
- 				(200 at 200 extent: 500 at 300)
- 			}].
- 	menu addItem:[:item|
- 		item
- 			contents: 'Working With Squeak' translated;
- 			help: 'Information for new users' ;
- 			target: self;
- 			selector: #showWelcomeText:label:in:;
- 			arguments: {
- 				#workingWithSqueak. 
- 				'Working With Squeak'. 
- 				(180 at 180 extent: 500 at 300)
- 			}].
- 	menu addItem:[:item|
- 		item
- 			contents: 'The Squeak User Interface' translated;
- 			help: 'Descriptions of some of the more-unusual UI elements in Squeak' ;
- 			target: self;
- 			selector: #showWelcomeText:label:in:;
- 			arguments: {
- 				#squeakUserInterface. 
- 				'The Squeak User Interface'. 
- 				(160 at 160 extent: 500 at 300)
- 			}].
- 	menu addItem:[:item|
- 		item
- 			contents: 'License Information' translated;
- 			help: String empty ;
- 			target: self;
- 			selector: #showWelcomeText:label:in:;
- 			arguments: {
- 				#licenseInformation. 
- 				'License Information'. 
- 				(200 at 200 extent: 500 at 300)
- 			}].!

Item was changed:
  ----- Method: TheWorldMainDockingBar>>workingWithSqueak (in category 'submenu - help') -----
  workingWithSqueak
+ 	
+ 	self
+ 		openHelp: #SqueakProjectHelp
+ 		topic: #workingWithSqueak
+ 		styled: false.!
- 	^'Starting and Quitting
- Like most Smalltalks, the machine-executable portion is a relatively small program known as the "virtual machine" (VM).  The VM''s job is to provide services from the physical machine to real Smalltalk objects.  Services like input and output.  The Smalltalk system, including all data and code, is a system of objects, built from the ground up, and interpreted by this virtual computer.  This affords Smalltalk system platform portability.
- 
- Smalltalk cannot run without the VM.  The VM can''t do anything useful except process Smalltalk systems.
- 
- To start the system, drag the ".image" data file to the VM executable "squeak".  There are myriad command-line options for starting the system via the command-line (see squeak --help).  By default, the system will open on the screen in a single OS window.
- 
- To quit a Squeak session, choose ''quit'' from the menu bar.  If you save, the image file will be overwritten and resume from that place the next time it''s launched.
- 
- The Image File
- Squeak is an environment built in its own objects from the ground up, including one or more end-user applications.  All of the objects in the system -- Classes, Dictionaries, Windows, Customers and other objects that make up the Squeak environment are stored in a binary ".image" file.  This is the "object-data file" loaded by the VM when Squeak is launched.
- 
- When an image is started, every object resumes exactly from where it was last saved.
- 
- The Sources File
- Smalltalk is traditionally includes the source code in the running system.  However, keeping multiple copies of the same source code in all images files is wasteful.  Therefore, the source code itself is kept in a read-only .sources file and accessed by all images.  The image files merely have pointers into this file, which is read on-the-fly to present original source code.
- 
- The code of the base system is stored in the file "SqueakV46.sources".  This file does not change except between releases of Squeak.  Normally this file should be placed in the folder containing the VM executable.
- 
- The Changes File
- The purpose of Squeak is to develop new programs and systems.  Code changes to the running system are effective immediately.  But since multiple images can be running, they cannot all update the .sources file safely.  Therefore, each image file is accompanied by a ".changes" file which contains source code changes for that and only that Smalltalk system..
- 
- The changes file is important for project work.  It keeps a sequential log of development activity for the purpose of recovering work performed since the last image-save.  Any of several events could lead to the need to recover work, including a power-outage or making an erroneous change to code required to keep the system running.
- 
- The changes file does not consume memory space, so Squeak is able to keep a complete history of all program changes.  This makes it easy to examine or even reinstate older versions of methods (see ''versions'' option in browser selector pane).  This encourages experimentation, since you can easily revert to the original versions of any set of methods.
- 
- In extreme cases where sources and/or changes files are not available, the system can still run, and will automatically decompile the bytecode methods in image memory, if necessary, into readable and editable versions of the original source code (only comments and temporary variable names are lost).
- 
- Transferring Code-Snippets Between Images
- In addition to the ''save'' command that saves the entire state of the system, the code of individual methods, categories or classes may be ''filed out'' and then filed-in to another image.
- 
- Packages
- The code of an entire project is encapsulated by a Package.  This allows users to share their code with other users.  Code of packages are delineated by the categories of their classes, and methods.  The Monticello browser is then used to wrap that code into a Package object which can be saved to a Monticello repository at http://ss3.gemtalksystems.com/ss.
- 
- Some projects end up using the resources provided by several packages, resulting in a hierarchy of packages that make up a system.  Installer can be used to install such systems.!!
- ]style[(21 970 14 448 16 396 11 188 16 321 4 1025 41 188 8 52 10 55 2 420)bu,,bu,,bu,,u,,bu,,u,,bu,,bu,,i,,i,!!' readStream nextChunkText!

Item was changed:
  ----- Method: TheWorldMenu>>helpMenu (in category 'construction') -----
  helpMenu
          "Build the help menu for the world."
          |  menu |
  
    	menu := self menu: 'help...'.
  
          self fillIn: menu from:
          {
                  {'about this system...'. {Smalltalk. #aboutThisSystem}. 'current version information.'}.
                  {'update code from server'. {MCMcmUpdater. #updateFromServer}. 'load latest code updates via the internet'}.
                  {'preferences...'. {self. #openPreferencesBrowser}. 'view and change various options.'}.
  			 {'set language...' . {Project. #chooseNaturalLanguage}. 'choose the language in which tiles should be displayed.'} .
                  nil.
+                {'command-key help'. { TheWorldMainDockingBar instance . #commandKeyHelp}. 'summary of keyboard shortcuts.'}
-                {'command-key help'. { Utilities . #openCommandKeyHelp}. 'summary of keyboard shortcuts.'}
  	}.
  
  	self addGestureHelpItemsTo: menu.
  
  	self fillIn: menu from:
  	{
                  {'world menu help'. { self . #worldMenuHelp}. 'helps find menu items buried in submenus.'}.
                          "{'info about flaps' . { Utilities . #explainFlaps}. 'describes how to enable and use flaps.'}."
                  {'font size summary' . { TextStyle . #fontSizeSummary}.  'summary of names and sizes of available fonts.'}.
                  {'useful expressions' . { Utilities . #openStandardWorkspace}. 'a window full of useful expressions.'}.
  			 {'annotation setup...' . { Preferences . #editAnnotations}. 'Click here to get a little window that will allow you to specify which types of annotations, in which order, you wish to see in the annotation panes of browsers and other tools'}.
  			nil.
                  {'graphical imports' . { Imports default . #viewImages}.  'view the global repository called ImageImports; you can easily import external graphics into ImageImports via the FileList'}.
                  {'standard graphics library' . { ScriptingSystem . #inspectFormDictionary}.  'lets you view and change the system''s standard library of graphics.'}.
                  nil.
                  {'telemorphic...' . {self. #remoteDo}.  'commands for doing multi-machine "telemorphic" experiments'}.
                  {#soundEnablingString . { SoundService . #toggleSoundEnabled}. 'turning sound off will completely disable Squeak''s use of sound.'}.
                  nil.
  
                  {'set author initials...' . { Utilities . #setAuthorInitials }. 'supply initials to be used to identify the author of code and other content.'}.
                  {'vm statistics' . { self . #vmStatistics}.  'obtain some intriguing data about the vm.'}.
  			  nil.
  			  {'purge undo records' . { CommandHistory . #resetAllHistory }. 'save space by removing all the undo information remembered in all projects.'}.
                  {'space left' . { self . #garbageCollect}. 'perform a full garbage-collection and report how many bytes of space remain in the image.'}.
          }.
  
  	^menu
  
  !

Item was changed:
+ (PackageInfo named: 'Morphic') postscript: 'TheWorldMainDockingBar updateInstances. "..."'!
- (PackageInfo named: 'Morphic') postscript: 'TheWorldMainDockingBar updateInstances.'!



More information about the Packages mailing list