The Trunk: Morphic-mt.1539.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Morphic-mt.1539.mcz

commits-2
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 ] ]
  !