The Inbox: MorphicExtras-dtl.215.mcz

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

The Inbox: MorphicExtras-dtl.215.mcz

commits-2
David T. Lewis uploaded a new version of MorphicExtras to project The Inbox:
http://source.squeak.org/inbox/MorphicExtras-dtl.215.mcz

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

Name: MorphicExtras-dtl.215
Author: dtl
Time: 12 November 2017, 10:49:12.947981 am
UUID: f2cff994-4297-4693-8d24-3c78b286a1ca
Ancestors: MorphicExtras-dtl.214

Use "self world" instead of "Project current word" in Morph methods, and update a couple more methods.

=============== Diff against MorphicExtras-dtl.214 ===============

Item was changed:
  ----- Method: BookMorph>>loadImagesIntoBook (in category 'menu') -----
  loadImagesIntoBook
  "PowerPoint stores GIF presentations as individual slides named Slide1, Slide2, etc.
  Load these into the book.  mjg 9/99"
 
  | directory filenumber form newpage |
  directory := ((StandardFileMenu oldFileFrom: FileDirectory default)
  ifNil: [^nil]) directory.
  directory isNil ifTrue: [^nil].
 
  "Start loading 'em up!!"
  filenumber := 1.
  [directory fileExists: 'Slide' , filenumber asString] whileTrue:
  [Transcript
  show: 'Slide' , filenumber asString;
  cr.
  Smalltalk bytesLeft < 1000000
  ifTrue:
  ["Make some room"
 
  (self valueOfProperty: #url) isNil
  ifTrue: [self savePagesOnURL]
  ifFalse: [self saveAsNumberedURLs]].
  form := Form
  fromFileNamed: (directory fullNameFor: 'Slide' , filenumber asString).
  newpage := PasteUpMorph new extent: form extent.
+ newpage addMorph: (self world drawingClass withForm: form).
- newpage addMorph: (Project current world drawingClass withForm: form).
  self pages addLast: newpage.
  filenumber := filenumber + 1].
 
  "After adding all, delete the first page."
  self goToPage: 1.
  self deletePageBasic.
 
  "Save the book"
  (self valueOfProperty: #url) isNil
  ifTrue: [self savePagesOnURL]
  ifFalse: [self saveAsNumberedURLs]!

Item was changed:
  ----- Method: GeePrinterPage>>fullDrawPostscriptOn: (in category 'Postscript Canvases') -----
  fullDrawPostscriptOn: aCanvas
 
  | s |
  s := TextMorph new
  beAllFont: (TextStyle default fontOfSize: 30);
  contentsAsIs: '   Drawing page ',pageNumber printString,' of ',totalPages printString,'     '.
  s layoutChanged; fullBounds.
  s := AlignmentMorph newRow
  hResizing: #shrinkWrap;
  vResizing: #shrinkWrap;
  addMorph: s;
  color: Color yellow.
  s position: Display center - (s width // 2 @ 0).
+ Project current world addMorphFront: s;
+ displayWorld.
- World addMorphFront: s.
- World displayWorld.
  printSpecs drawAsBitmapFlag ifTrue: [
  aCanvas paintImage: self pageAsForm at: 0@0
  ] ifFalse: [
  aCanvas
  translateTo: bounds origin negated
  clippingTo: (0@0 extent: bounds extent)
  during: [ :c |
  pasteUp fullDrawForPrintingOn: c
  ].
  ].
  s delete.
 
  !

Item was changed:
  RectangleMorph subclass: #GradientFillMorph
  instanceVariableNames: 'fillColor2 gradientDirection colorArray colorDepth'
  classVariableNames: ''
  poolDictionaries: ''
  category: 'MorphicExtras-Widgets'!
 
+ !GradientFillMorph commentStamp: 'dtl 11/11/2017 22:32' prior: 0!
- !GradientFillMorph commentStamp: 'nice 3/25/2010 23:01' prior: 0!
  Class GradientFillMorph is obsolete. For getting gradient fills use a BorderedMorph with an appropriate fill style, e.g.,
 
  | morph fs |
  morph := BorderedMorph new.
  fs := GradientFillStyle ramp: {0.0 -> Color red. 1.0 -> Color green}.
  fs origin: morph bounds center.
  fs direction: (morph bounds width // 2) @ 0.
  fs radial: true.
  morph fillStyle: fs.
+ Project current world primaryHand attachMorph: morph.
- World primaryHand attachMorph: morph.
 
  Here's the old (obsolete) comment:
  GradientFills cache an array of bitpatterns for the colors across their rectangle.  It costs a bit of space, but makes display fast enough to eschew the use of a bitmap.  The array must be recomputed whenever the colors, dimensions or display depth change.!

Item was changed:
  ----- Method: GraphicalDictionaryMenu>>handMeOne (in category 'menu commands') -----
  handMeOne
+ self currentHand attachMorph: (self world drawingClass new form: (formChoices at: currentIndex))!
- self currentHand attachMorph: (Project current world drawingClass new form: (formChoices at: currentIndex))!

Item was changed:
  ----- Method: ProjectSorterMorph>>addControls (in category 'initialization') -----
  addControls
  "Add the control bar at the top of the tool."
 
  | b r partsBinButton newButton aWrapper |
+ newButton := ImageMorph new image: (World project makeThumbnail scaledToSize: 48@36).
- newButton := ImageMorph new image: (Project current makeThumbnail scaledToSize: 48@36).
  newButton on: #mouseDown send: #insertNewProject: to: self.
  newButton setBalloonText: 'Make a new Project' translated.
  (partsBinButton := UpdatingThreePhaseButtonMorph checkBox)
  target: self;
  actionSelector: #togglePartsBinStatus;
  arguments: #();
  getSelector: #getPartsBinStatus.
  (r := AlignmentMorph newRow)
  color: Color transparent;
  borderWidth: 0;
  layoutInset: 0;
  cellInset: 10@0;
  wrapCentering: #center;
  cellPositioning: #leftCenter;
  hResizing: #shrinkWrap;
  vResizing: #shrinkWrap;
  extent: 5@5.
  b := SimpleButtonMorph new target: self; color: self defaultColor darker;
  borderColor: Color black.
  r addMorphBack: (self wrapperFor: (b label: 'Okay' translated font: ScriptingSystem fontForEToyButtons; actionSelector: #acceptSort)).
  b := SimpleButtonMorph new target: self; color: self defaultColor darker;
  borderColor: Color black.
  r addMorphBack: (self wrapperFor: (b label: 'Cancel' translated font: ScriptingSystem fontForEToyButtons; actionSelector: #delete));
  addTransparentSpacerOfSize: 8 @ 0;
  addMorphBack: (self wrapperFor: (newButton));
  addTransparentSpacerOfSize: 8 @ 0.
 
  aWrapper := AlignmentMorph newRow beTransparent.
  aWrapper cellInset: 0; layoutInset: 0; borderWidth: 0.
  aWrapper
  addMorphBack: (self wrapperFor: partsBinButton);
  addMorphBack: (self wrapperFor: (StringMorph contents: 'Parts bin' translated font: ScriptingSystem fontForEToyButtons) lock).
  r addMorphBack: aWrapper.
 
  self addMorphFront: r.
  !

Item was changed:
  ----- Method: SpeakerMorph>>addGraphic (in category 'initialization') -----
  addGraphic
 
  | graphic |
+ graphic := self world drawingClass withForm: self speakerGraphic.
- graphic := Project current world drawingClass withForm: self speakerGraphic.
  graphic position: bounds center - (graphic extent // 2).
  self addMorph: graphic.
  !

Item was changed:
  ----- Method: TabbedPalette class>>authoringPrototype (in category 'scripting') -----
  authoringPrototype
  | aTabbedPalette aBook aTab |
  aTabbedPalette := self new markAsPartsDonor.
  aTabbedPalette pageSize: 200 @ 300.
  aTabbedPalette tabsMorph highlightColor: Color red regularColor: Color blue.
  aTabbedPalette addMenuTab.
 
  aBook := BookMorph new setNameTo: 'one'; pageSize: aTabbedPalette pageSize.
  aBook color: Color blue muchLighter.
  aBook removeEverything; insertPage; showPageControls.
+ aBook currentPage addMorphBack: (self world drawingClass withForm: ScriptingSystem squeakyMouseForm).
- aBook currentPage addMorphBack: (Project current world drawingClass withForm: ScriptingSystem squeakyMouseForm).
  aTab := aTabbedPalette addTabForBook: aBook.
 
  aBook := BookMorph new setNameTo: 'two'; pageSize: aTabbedPalette pageSize.
  aBook color: Color red muchLighter.
  aBook removeEverything; insertPage; showPageControls.
  aBook currentPage addMorphBack: CurveMorph authoringPrototype.
  aTabbedPalette addTabForBook: aBook.
 
  aTabbedPalette selectTab: aTab.
 
  aTabbedPalette beSticky.
  aTabbedPalette tabsMorph hResizing: #spaceFill.
  ^ aTabbedPalette!

Item was changed:
  ----- Method: TabbedPalette>>addMenuTab (in category 'palette menu') -----
  addMenuTab
  "Add the menu tab.  This is ancient code, not much in the spirit of anything current"
 
  | aMenu aTab aGraphic sk |
  aMenu := MenuMorph new defaultTarget: self.
  aMenu stayUp: true.
  "aMenu add:  'clear' translated action: #showNoPalette."
  aMenu add:  'sort tabs' translated action: #sortTabs:.
  aMenu add:  'choose new colors for tabs' translated action: #recolorTabs.
  aMenu setProperty: #paletteMenu toValue: true.
  "aMenu add:  'make me the Standard palette' translated action: #becomeStandardPalette."
  aTab := self addTabForBook: aMenu  withBalloonText: 'a menu of palette-related controls' translated.
  aTab highlightColor: tabsMorph highlightColor; regularColor: tabsMorph regularColor.
  tabsMorph laySubpartsOutInOneRow; layoutChanged.
 
  aGraphic := ScriptingSystem formAtKey: 'TinyMenu'.
  aGraphic ifNotNil:
  [aTab removeAllMorphs.
+ aTab addMorph: (sk := self world drawingClass withForm: aGraphic).
- aTab addMorph: (sk := Project current world drawingClass withForm: aGraphic).
  sk position: aTab position.
  sk lock.
  aTab fitContents].
  self layoutChanged!