Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-mt.1539.mcz ==================== Summary ==================== Name: Morphic-mt.1539 Author: mt Time: 23 September 2019, 2:21:49.394954 pm UUID: 73a17c57-fcfe-ab48-98c4-592cd316443b Ancestors: Morphic-ct.1538 Try to improve usability of the world's docking bar "Projects" menu: - gray-out items that are not useful - revise action words in labels - add "enter parent project" ... assuming that users now about the tree-structure of projects - separate "close this project" with a line =============== Diff against Morphic-ct.1538 =============== Item was added: + ----- Method: MenuMorph>>addUpdatingItem: (in category 'construction') ----- + addUpdatingItem: aBlock + | item | + item := UpdatingMenuItemMorph new. + aBlock value: item. + self addMenuItem: item! Item was added: + ----- Method: TheWorldMainDockingBar>>canCloseProject (in category 'submenu - projects') ----- + canCloseProject + + ^ self canEnterParentProject! Item was added: + ----- Method: TheWorldMainDockingBar>>canEnterParentProject (in category 'submenu - projects') ----- + canEnterParentProject + + ^ Project current isTopProject not! Item was added: + ----- Method: TheWorldMainDockingBar>>canEnterPreviousProject (in category 'submenu - projects') ----- + canEnterPreviousProject + + ^ Project current previousProject notNil! Item was added: + ----- Method: TheWorldMainDockingBar>>closeProject (in category 'submenu - projects') ----- + closeProject + + Project current close.! Item was changed: ----- Method: TheWorldMainDockingBar>>closeProjectMenuItemOn: (in category 'submenu - projects') ----- closeProjectMenuItemOn: menu + menu addUpdatingItem: [ :item | - menu addItem: [ :item | item + contents: 'Close This Project' translated; - contents: 'Close Project' translated; help: 'Close this project and return to parent one' translated; + target: self; + selector: #closeProject; + enablementSelector: #canCloseProject ]! - target: Project current; - selector: #close ]! Item was added: + ----- Method: TheWorldMainDockingBar>>enterParentProject (in category 'submenu - projects') ----- + enterParentProject + + ^ Project returnToParentProject! Item was added: + ----- Method: TheWorldMainDockingBar>>enterPreviousProject (in category 'submenu - projects') ----- + enterPreviousProject + + ^ Project returnToPreviousProject! Item was changed: ----- Method: TheWorldMainDockingBar>>jumpToProjectMenuItemOn: (in category 'submenu - projects') ----- jumpToProjectMenuItemOn: menu menu addItem: [ :item | item + contents: 'Enter Project' translated; - contents: 'Jump To Project' translated; icon: MenuIcons smallProjectJumpIcon; subMenuUpdater: self selector: #updateJumpToProjectSubMenu: ]! 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 and enter it on success' translated; - help: 'Load a project from a file' translated; target: self; selector: #loadProject ]! Item was changed: ----- Method: TheWorldMainDockingBar>>newProjectMenuItemOn: (in category 'submenu - projects') ----- newProjectMenuItemOn: menu Project allSubclasses do: [ :each | menu addItem: [ :item | item + contents: ('Create ', each name) translated; + help: ('Create a new ', each name, ' and open a viewer for it.') translated; - contents: ('New ', each name) translated; - help: ('Start a new ', each name) translated; target: self; selector: #newProject:; arguments: { each } ] ] ! Item was added: + ----- Method: TheWorldMainDockingBar>>parentProjectMenuItemOn: (in category 'submenu - projects') ----- + parentProjectMenuItemOn: menu + + menu addUpdatingItem: [ :item | + item + contents: 'Enter Parent Project' translated; + help: 'Return to the parent project' translated; + target: self; + selector: #enterParentProject; + enablementSelector: #canEnterParentProject ]! Item was changed: ----- Method: TheWorldMainDockingBar>>previousProjectMenuItemOn: (in category 'submenu - projects') ----- previousProjectMenuItemOn: menu + menu addUpdatingItem: [ :item | - menu addItem: [ :item | item + contents: 'Enter Previous Project' translated; - contents: 'Previous Project' translated; help: 'Return to the most-recently-visited project' translated; + target: self; + selector: #enterPreviousProject; + enablementSelector: #canEnterPreviousProject ]! - target: Project current world; - selector: #goBack ]! Item was changed: ----- Method: TheWorldMainDockingBar>>projectsMenuOn: (in category 'construction') ----- projectsMenuOn: aDockingBar aDockingBar addItem: [ :item | item contents: 'Projects' translated; addSubMenu: [ :menu | self newProjectMenuItemOn: menu. menu addLine. self saveProjectMenuItemOn: menu; loadProjectMenuItemOn: menu. menu addLine. self + parentProjectMenuItemOn: menu; previousProjectMenuItemOn: menu; + jumpToProjectMenuItemOn: menu. + menu addLine. + self closeProjectMenuItemOn: menu ] ] - jumpToProjectMenuItemOn: menu; - closeProjectMenuItemOn: menu ] ] ! |
Free forum by Nabble | Edit this page |