[Pkg] The Trunk: Morphic-kb.243.mcz
commits at source.squeak.org
commits at source.squeak.org
Sat Nov 21 03:14:28 UTC 2009
Andreas Raab uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-kb.243.mcz
==================== Summary ====================
Name: Morphic-kb.243
Author: kb
Time: 20 November 2009, 6:02:23 am
UUID: 644ac6da-ec24-8c48-b190-a17e67370545
Ancestors: Morphic-kb.242
- fix: #releaseSelection: prevented clearing the selection of MenuMorph when disappearing. This caused at least some of the glitches.
- refactored TheWorldMainDockingBar to build a DockingBarMorph without blocks, but with tragets, selectors and arguments.
=============== Diff against Morphic-kb.242 ===============
Item was added:
+ ----- Method: MenuItemMorph>>subMenuUpdater:selector:arguments: (in category 'accessing') -----
+ subMenuUpdater: updater selector: selector arguments: arguments
+
+ subMenu := UpdatingMenuMorph new.
+ subMenu updater: updater updateSelector: selector arguments: arguments.
+ self changed.
+ !
Item was added:
+ ----- Method: TheWorldMainDockingBar>>saveAndQuitSqueak (in category 'menu actions') -----
+ saveAndQuitSqueak
+
+ SmalltalkImage current snapshot: true andQuit: true!
Item was added:
+ ----- Method: TheWorldMainDockingBar>>saveImageAs (in category 'menu actions') -----
+ saveImageAs
+
+ SmalltalkImage current saveAs!
Item was changed:
----- Method: TheWorldMainDockingBar>>newProjectMenuItemsOn: (in category 'submenu - projects') -----
newProjectMenuItemsOn: menu
Project allSubclasses do: [ :each |
menu addItem: [ :item |
item
contents: ('New ', each name) translated;
help: ('Start a new ', each name) translated;
+ target: self;
+ selector: #newProject:;
+ arguments: { each } ] ]!
- action: [ ProjectViewMorph openOn: each new ] ] ]!
Item was added:
+ ----- Method: TheWorldMainDockingBar>>newProject: (in category 'menu actions') -----
+ newProject: projectClass
+
+ ProjectViewMorph openOn: projectClass new!
Item was added:
+ ----- Method: TheWorldMainDockingBar>>save (in category 'menu actions') -----
+ save
+
+ SmalltalkImage current snapshot: true andQuit: false!
Item was changed:
----- Method: TheWorldMainDockingBar>>windowMenuFor:on: (in category 'submenu - windows') -----
windowMenuFor: window on: menu
menu
addItem: [ :item |
item
contents: 'Close';
+ target: window;
+ selector: #delete ];
- action: [ window delete ] ];
addItem: [ :item |
item
contents: 'Toggle Full Screen';
+ target: window;
+ selector: #expandBoxHit ]!
- action: [ window expandBoxHit ] ]!
Item was added:
+ ----- Method: MenuItemMorph>>subMenuUpdater:selector: (in category 'accessing') -----
+ subMenuUpdater: updater selector: selector
+
+ subMenu := UpdatingMenuMorph new.
+ subMenu updater: updater updateSelector: selector.
+ self changed.
+ !
Item was changed:
----- Method: TheWorldMainDockingBar>>workspaceMenuItemOn: (in category 'submenu - tools') -----
workspaceMenuItemOn: menu
menu addItem: [ :item |
item
contents: 'Workspace' translated;
help: 'Open a Workspace' translated;
icon: (self colorIcon: Preferences workspaceWindowColor);
+ target: StandardToolSet;
+ selector: #openWorkspace ]!
- action: [ StandardToolSet openWorkspace ] ]!
Item was changed:
----- Method: TheWorldMainDockingBar>>transcriptMenuItemOn: (in category 'submenu - tools') -----
transcriptMenuItemOn: menu
menu addItem: [ :item |
item
contents: 'Transcript' translated;
help: 'Open the Transcript' translated;
icon: (self colorIcon: Preferences transcriptWindowColor);
+ target: Transcript;
+ selector: #open ]!
- action: [ Transcript open ] ]!
Item was changed:
----- Method: TheWorldMainDockingBar>>loadProjectMenuItemOn: (in category 'submenu - projects') -----
loadProjectMenuItemOn: menu
menu addItem: [ :item |
item
contents: 'Load Project' translated;
help: 'Load a project from a file' translated;
icon: MenuIcons smallLoadProjectIcon;
+ target: self;
+ selector: #loadProject ]!
- action: [ World worldMenu loadProject ] ]!
Item was changed:
----- Method: TheWorldMainDockingBar>>newProjectMenuItemOn: (in category 'submenu - projects') -----
newProjectMenuItemOn: menu
menu addItem: [ :item |
item
contents: 'New Project' translated;
help: 'Start a new MorphicProject' translated;
icon: MenuIcons smallProjectIcon;
+ target: self;
+ selector: #newProject:;
+ arguments: { MorphicProject };
- action: [ ProjectViewMorph openOn: MorphicProject new ];
addSubMenu: [ :subMenu |
self newProjectMenuItemsOn: subMenu ] ]!
Item was changed:
----- Method: TheWorldMainDockingBar>>monticelloBrowserMenuItemOn: (in category 'submenu - tools') -----
monticelloBrowserMenuItemOn: menu
menu addItem: [ :item |
item
contents: 'Monticello Browser' translated;
help: 'Open a Monticello Browser' translated;
icon: (self colorIcon: MCTool basicNew defaultBackgroundColor);
+ target: MCWorkingCopyBrowser;
+ selector: #open ]!
- action: [ MCWorkingCopyBrowser open ] ]!
Item was changed:
----- Method: UpdatingMenuMorph>>updateMenu (in category 'update') -----
updateMenu
"Reconstitute the menu by first removing the contents and then building it afresh"
self removeAllMorphs.
+ arguments
+ ifNil: [ updater perform: updateSelector with: self ]
+ ifNotNil: [
+ updater
+ perform: updateSelector
+ withArguments: arguments, { self } ]
+ !
- updater perform: updateSelector with: self
-
- !
Item was changed:
----- Method: TheWorldMainDockingBar>>saveAsMenuItemOn: (in category 'submenu - squeak') -----
saveAsMenuItemOn: menu
menu addItem: [ :item |
item
contents: 'Save Image As...' translated;
help: 'Save the current state of Squeak on disk under a new name' translated;
icon: MenuIcons smallSaveAsIcon;
+ target: self;
+ selector: #saveImageAs ]!
- action: [ SmalltalkImage current saveAs ] ]!
Item was changed:
MenuMorph subclass: #UpdatingMenuMorph
+ instanceVariableNames: 'updater updateSelector arguments'
- instanceVariableNames: 'updater updateSelector'
classVariableNames: ''
poolDictionaries: ''
category: 'Morphic-Menus'!
Item was changed:
----- Method: TheWorldMainDockingBar>>jumpToProjectMenuItemOn: (in category 'submenu - projects') -----
jumpToProjectMenuItemOn: menu
menu addItem: [ :item |
item
contents: 'Jump To Project' translated;
icon: MenuIcons smallForwardIcon;
+ subMenuUpdater: self
+ selector: #updateJumpToProjectSubMenu: ]!
- addUpdatingSubMenu: [ :subMenu |
- subMenu defaultTarget: Project.
- Project buildJumpToMenu: subMenu ] ]!
Item was changed:
----- Method: TheWorldMainDockingBar>>quitMenuItemOn: (in category 'submenu - squeak') -----
quitMenuItemOn: menu
menu addItem: [ :item |
item
contents: 'Quit' translated;
help: 'Quit out of Squeak' translated;
icon: MenuIcons smallQuitIcon;
+ target: self;
+ selector: #quitSqueak ]!
- action: [
- SmalltalkImage current
- snapshot: (
- self
- confirm: 'Save changes before quitting?' translated
- orCancel: [ ^self ])
- andQuit: true ] ]!
Item was changed:
----- Method: TheWorldMainDockingBar>>saveMenuItemOn: (in category 'submenu - squeak') -----
saveMenuItemOn: menu
menu addItem: [ :item |
item
contents: 'Save Image' translated;
help: 'Save the current state of Squeak on disk' translated;
icon: MenuIcons smallSaveIcon;
+ target: self;
+ selector: #saveImage ]!
- action: [ SmalltalkImage current snapshot: true andQuit: false ] ]!
Item was added:
+ ----- Method: TheWorldMainDockingBar>>saveImage (in category 'menu actions') -----
+ saveImage
+
+ SmalltalkImage current saveSession!
Item was changed:
----- Method: TheWorldMainDockingBar>>saveProjectMenuItemOn: (in category 'submenu - projects') -----
saveProjectMenuItemOn: menu
menu addItem: [ :item |
item
contents: 'Save Project' translated;
help: 'Save this project on a file' translated;
icon: MenuIcons smallPublishIcon;
+ target: World;
+ selector: #saveOnFile ]!
- action: [ World saveOnFile ] ]!
Item was changed:
----- Method: TheWorldMainDockingBar>>testRunnerMenuItemOn: (in category 'submenu - tools') -----
testRunnerMenuItemOn: menu
menu addItem: [ :item |
item
contents: 'Test Runner' translated;
help: 'Open the Test Runner' translated;
icon: (self colorIcon: TestRunner basicNew defaultBackgroundColor);
+ target: TestRunner;
+ selector: #open ]!
- action: [ TestRunner open ] ]!
Item was added:
+ ----- Method: TheWorldMainDockingBar>>quitSqueak (in category 'menu actions') -----
+ quitSqueak
+
+ ^SmalltalkImage current
+ snapshot: (
+ self
+ confirm: 'Save changes before quitting?' translated
+ orCancel: [ ^self ])
+ andQuit: true
+
+ !
Item was added:
+ ----- Method: TheWorldMainDockingBar>>loadProject (in category 'menu actions') -----
+ loadProject
+
+ World worldMenu loadProject!
Item was changed:
----- Method: TheWorldMainDockingBar>>updateMenuItemOn: (in category 'submenu - squeak') -----
updateMenuItemOn: menu
menu addItem: [ :item |
item
contents: 'Update Squeak' translated;
help: 'Load latest code updates via the internet' translated;
+ target: self;
+ selector: #updateSqueak ]!
- action: [ Utilities updateFromServer ] ]!
Item was changed:
----- Method: TheWorldMainDockingBar>>saveAsNewVersionMenuItemOn: (in category 'submenu - squeak') -----
saveAsNewVersionMenuItemOn: menu
menu addItem: [ :item |
item
contents: 'Save As New Version' translated;
help: 'Save the current state of Squeak on disk under a version-stamped name' translated;
icon: MenuIcons smallSaveAsIcon;
+ target: self;
+ selector: #saveAsNewVersion ]!
- action: [ SmalltalkImage current saveAsNewVersion ] ]!
Item was added:
+ ----- Method: TheWorldMainDockingBar>>updateSqueak (in category 'menu actions') -----
+ updateSqueak
+
+ Utilities updateFromServer!
Item was changed:
----- Method: TheWorldMainDockingBar>>aboutMenuItemOn: (in category 'submenu - squeak') -----
aboutMenuItemOn: menu
menu addItem: [ :item |
item
contents: 'About Squeak...' translated;
+ target: self;
+ selector: #aboutSqueak ]!
- action: [ ] ]!
Item was changed:
----- Method: TheWorldMainDockingBar>>windowsMenuOn: (in category 'construction') -----
windowsMenuOn: aDockingBar
aDockingBar addItem: [ :item |
item
contents: 'Windows' translated;
+ subMenuUpdater: self
+ selector: #listWindowsOn: ]
- addUpdatingSubMenu: [ :menu |
- self listWindowsOn: menu ] ]
!
Item was changed:
----- Method: TheWorldMainDockingBar>>saveAndQuitMenuItemOn: (in category 'submenu - squeak') -----
saveAndQuitMenuItemOn: menu
menu addItem: [ :item |
item
contents: 'Save And Quit' translated;
help: 'Save the current state of Squeak on disk, and quit out of Squeak' translated;
icon: MenuIcons smallQuitIcon;
+ target: self;
+ selector: #saveAndQuitSqueak ]!
- action: [ SmalltalkImage current snapshot: true andQuit: true ] ]!
Item was changed:
----- Method: TheWorldMainDockingBar>>previousProjectMenuItemOn: (in category 'submenu - projects') -----
previousProjectMenuItemOn: menu
menu addItem: [ :item |
item
contents: 'Previous Project' translated;
help: 'Return to the most-recently-visited project' translated;
icon: MenuIcons smallBackIcon;
+ target: World;
+ selector: #goBack ]!
- action: [ World goBack ] ]!
Item was changed:
----- Method: TheWorldMainDockingBar>>browserMenuItemOn: (in category 'submenu - tools') -----
browserMenuItemOn: menu
menu addItem: [ :item |
item
contents: 'Browser' translated;
help: 'Open a browser' translated;
icon: (self colorIcon: Preferences browserWindowColor);
+ target: StandardToolSet;
+ selector: #openClassBrowser ]!
- action: [ StandardToolSet openClassBrowser ] ]!
Item was added:
+ ----- Method: TheWorldMainDockingBar>>aboutSqueak (in category 'menu actions') -----
+ aboutSqueak
+ !
Item was changed:
----- Method: TheWorldMainDockingBar>>fileListMenuItemOn: (in category 'submenu - tools') -----
fileListMenuItemOn: menu
menu addItem: [ :item |
item
contents: 'File List' translated;
help: 'Open a file list' translated;
icon: (self colorIcon: Preferences fileListWindowColor);
+ target: StandardToolSet;
+ selector: #openFileList ]!
- action: [ StandardToolSet openFileList ] ]!
Item was added:
+ ----- Method: TheWorldMainDockingBar>>saveAsNewVersion (in category 'menu actions') -----
+ saveAsNewVersion
+
+ SmalltalkImage current saveAsNewVersion!
Item was changed:
----- Method: TheWorldMainDockingBar>>listWindowsOn: (in category 'submenu - windows') -----
listWindowsOn: menu
| expanded |
expanded := SystemWindow windowsIn: World satisfying: [ :w | w isCollapsed not ].
expanded ifEmpty: [
menu addItem: [ :item |
item
contents: 'No open Windows' translated;
+ isEnabled: false ] ].
- isEnabled: false;
- action: [ ] ] ].
expanded do: [ :each |
menu addItem: [ :item |
item
contents: each label;
icon: (self colorIcon: each paneColor);
+ subMenuUpdater: self
+ selector: #windowMenuFor:on:
+ arguments: { each };
- addUpdatingSubMenu: [ :subMenu | self windowMenuFor: each on: subMenu ];
action: [ each activateAndForceLabelToShow ] ] ].!
Item was added:
+ ----- Method: UpdatingMenuMorph>>updater:updateSelector:arguments: (in category 'initialization') -----
+ updater: anObject updateSelector: aSelector arguments: anArray
+
+ updater := anObject.
+ updateSelector := aSelector.
+ arguments := anArray!
Item was added:
+ ----- Method: TheWorldMainDockingBar>>updateJumpToProjectSubMenu: (in category 'submenu - projects') -----
+ updateJumpToProjectSubMenu: subMenu
+
+ subMenu defaultTarget: Project.
+ Project buildJumpToMenu: subMenu!
Item was changed:
----- Method: MenuItemMorph>>deselect: (in category 'selecting') -----
deselect: evt
+
self isSelected: false.
subMenu ifNotNil: [
+ owner ifNotNil: [ owner activeSubmenu: nil ] ].!
- owner ifNotNil:[owner activeSubmenu: nil].
- self removeAlarm: #deselectTimeOut:].!
Item was changed:
----- Method: MenuMorph>>releasesSelection: (in category 'events') -----
releasesSelection: evt
" The MenuMorph releases its selection if the selected item releases it.
Used in #selectItem:event: "
self selectedItem ifNil: [ ^true ].
+ evt ifNil: [ ^true ].
- evt ifNil: [ ^false ].
(self selectedItem containsPoint: evt position) ifTrue: [ ^true ].
^self selectedItem releasesSelection: evt!
More information about the Packages
mailing list