From 8cb2cfac6ce2a4e9ba17df5512ea2585f9cb2b6d Mon Sep 17 00:00:00 2001 From: Vincent Opitz Date: Thu, 25 Apr 2019 18:34:11 +0200 Subject: [PATCH 1/6] Added Menuitems, Shapes, Started own shape class --- .../instance/insertShapeNames.st | 9 +++++++++ .../instance/newArrowShape.st | 7 +++++++ .../instance/newCircleShape.st | 8 ++++++++ .../instance/newLineShape.st | 5 +++++ .../instance/newRectangleShape.st | 5 +++++ .../instance/openInsertMenu.st | 3 ++- .../instance/openShapeChooser.st | 7 +++++++ .../PSPresentationTool.class/methodProperties.json | 8 +++++++- .../PSShapeMorph.class/README.md | 0 .../PSShapeMorph.class/instance/content..st | 4 ++++ .../PSShapeMorph.class/instance/content.st | 4 ++++ .../instance/customContextMenuContent.st | 8 ++++++++ .../PSShapeMorph.class/instance/initialize.st | 6 ++++++ .../instance/openColorDialogWIth.selecting..st | 10 ++++++++++ .../PSShapeMorph.class/methodProperties.json | 9 +++++++++ .../PSShapeMorph.class/properties.json | 14 ++++++++++++++ .../PSShapeTest.class/README.md | 0 .../PSShapeTest.class/instance/setUp.st | 5 +++++ .../PSShapeTest.class/instance/tearDown.st | 4 ++++ .../PSShapeTest.class/methodProperties.json | 6 ++++++ .../PSShapeTest.class/properties.json | 14 ++++++++++++++ 21 files changed, 134 insertions(+), 2 deletions(-) create mode 100644 packages/Presenter-Core.package/PSPresentationTool.class/instance/insertShapeNames.st create mode 100644 packages/Presenter-Core.package/PSPresentationTool.class/instance/newArrowShape.st create mode 100644 packages/Presenter-Core.package/PSPresentationTool.class/instance/newCircleShape.st create mode 100644 packages/Presenter-Core.package/PSPresentationTool.class/instance/newLineShape.st create mode 100644 packages/Presenter-Core.package/PSPresentationTool.class/instance/newRectangleShape.st create mode 100644 packages/Presenter-Core.package/PSPresentationTool.class/instance/openShapeChooser.st create mode 100644 packages/Presenter-Core.package/PSShapeMorph.class/README.md create mode 100644 packages/Presenter-Core.package/PSShapeMorph.class/instance/content..st create mode 100644 packages/Presenter-Core.package/PSShapeMorph.class/instance/content.st create mode 100644 packages/Presenter-Core.package/PSShapeMorph.class/instance/customContextMenuContent.st create mode 100644 packages/Presenter-Core.package/PSShapeMorph.class/instance/initialize.st create mode 100644 packages/Presenter-Core.package/PSShapeMorph.class/instance/openColorDialogWIth.selecting..st create mode 100644 packages/Presenter-Core.package/PSShapeMorph.class/methodProperties.json create mode 100644 packages/Presenter-Core.package/PSShapeMorph.class/properties.json create mode 100644 packages/Presenter-Tests.package/PSShapeTest.class/README.md create mode 100644 packages/Presenter-Tests.package/PSShapeTest.class/instance/setUp.st create mode 100644 packages/Presenter-Tests.package/PSShapeTest.class/instance/tearDown.st create mode 100644 packages/Presenter-Tests.package/PSShapeTest.class/methodProperties.json create mode 100644 packages/Presenter-Tests.package/PSShapeTest.class/properties.json diff --git a/packages/Presenter-Core.package/PSPresentationTool.class/instance/insertShapeNames.st b/packages/Presenter-Core.package/PSPresentationTool.class/instance/insertShapeNames.st new file mode 100644 index 0000000..ad04302 --- /dev/null +++ b/packages/Presenter-Core.package/PSPresentationTool.class/instance/insertShapeNames.st @@ -0,0 +1,9 @@ +createSlideContent +insertShapeNames + + ^ Dictionary withAll: { + 'Circle' -> [self newCircleShape]. + 'Line' -> [self newLineShape]. + 'Rectangle' -> [self newRectangleShape]. + 'Arrow' -> [self newArrowShape] + } \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSPresentationTool.class/instance/newArrowShape.st b/packages/Presenter-Core.package/PSPresentationTool.class/instance/newArrowShape.st new file mode 100644 index 0000000..f795be1 --- /dev/null +++ b/packages/Presenter-Core.package/PSPresentationTool.class/instance/newArrowShape.st @@ -0,0 +1,7 @@ +as yet unclassified +newArrowShape + + | morph | + morph := PolygonMorph new. + morph setVertices: { (0@1) . (6@1) . (6@2) . (8@0) .(6 @ -2) .( 6@ -1) . (0@ -1)}; + openInHand \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSPresentationTool.class/instance/newCircleShape.st b/packages/Presenter-Core.package/PSPresentationTool.class/instance/newCircleShape.st new file mode 100644 index 0000000..30b94b5 --- /dev/null +++ b/packages/Presenter-Core.package/PSPresentationTool.class/instance/newCircleShape.st @@ -0,0 +1,8 @@ +as yet unclassified +newCircleShape + + | circle shape | + circle := CircleMorph new. + shape :=PSShapeMorph new. + shape content: circle; + openInHand. \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSPresentationTool.class/instance/newLineShape.st b/packages/Presenter-Core.package/PSPresentationTool.class/instance/newLineShape.st new file mode 100644 index 0000000..e5b02f8 --- /dev/null +++ b/packages/Presenter-Core.package/PSPresentationTool.class/instance/newLineShape.st @@ -0,0 +1,5 @@ +as yet unclassified +newLineShape + + LineMorph new + openInHand. \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSPresentationTool.class/instance/newRectangleShape.st b/packages/Presenter-Core.package/PSPresentationTool.class/instance/newRectangleShape.st new file mode 100644 index 0000000..2e99b63 --- /dev/null +++ b/packages/Presenter-Core.package/PSPresentationTool.class/instance/newRectangleShape.st @@ -0,0 +1,5 @@ +as yet unclassified +newRectangleShape + + RectangleMorph new + openInHand. \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSPresentationTool.class/instance/openInsertMenu.st b/packages/Presenter-Core.package/PSPresentationTool.class/instance/openInsertMenu.st index 8425424..c313644 100644 --- a/packages/Presenter-Core.package/PSPresentationTool.class/instance/openInsertMenu.st +++ b/packages/Presenter-Core.package/PSPresentationTool.class/instance/openInsertMenu.st @@ -3,5 +3,6 @@ openInsertMenu self openMenuWith: { {'Text field' . #newTextField}. - {'Image' . #newImageField} + {'Image' . #newImageField}. + {'Shape' . #openShapeChooser} } \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSPresentationTool.class/instance/openShapeChooser.st b/packages/Presenter-Core.package/PSPresentationTool.class/instance/openShapeChooser.st new file mode 100644 index 0000000..bed2452 --- /dev/null +++ b/packages/Presenter-Core.package/PSPresentationTool.class/instance/openShapeChooser.st @@ -0,0 +1,7 @@ +createSlideContent +openShapeChooser + + (UIManager default + chooseFrom: self insertShapeNames keys + values: self insertShapeNames values + title: 'Choose a shape') value \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSPresentationTool.class/methodProperties.json b/packages/Presenter-Core.package/PSPresentationTool.class/methodProperties.json index 28b6e0b..b2d03fb 100644 --- a/packages/Presenter-Core.package/PSPresentationTool.class/methodProperties.json +++ b/packages/Presenter-Core.package/PSPresentationTool.class/methodProperties.json @@ -54,6 +54,7 @@ "highlightCurrentMiniature" : "LB 6/29/2018 17:22", "initialize" : "LM 7/13/2018 18:00", "insertButtonData" : "JZ 7/6/2018 15:43", + "insertShapeNames" : "VO 4/25/2019 17:20", "isInteractive" : "LB 7/6/2018 17:09", "isInteractive:" : "LB 7/6/2018 17:19", "loadCorruptionMessage" : "WoC 7/24/2018 15:44", @@ -75,14 +76,19 @@ "minimumSlideCount" : "WoC 6/22/2018 16:10", "moveCurrentSlideTo:" : "LM 7/13/2018 18:29", "moveSlideButtonData" : "JZ 7/6/2018 14:54", + "newArrowShape" : "VO 4/25/2019 17:52", + "newCircleShape" : "VO 4/25/2019 18:24", "newImageField" : "LM 5/18/2018 17:13", + "newLineShape" : "VO 4/25/2019 17:35", + "newRectangleShape" : "VO 4/25/2019 17:54", "newTextField" : "LB 5/25/2018 16:43", "nextSlide" : "LM 7/13/2018 17:36", "nextSlideButtonData" : "JZ 7/6/2018 15:23", "openFileMenu" : "WoC 7/13/2018 18:45", "openImageField:" : "LB 5/18/2018 17:35", - "openInsertMenu" : "WoC 7/13/2018 18:44", + "openInsertMenu" : "VO 4/25/2019 17:07", "openMenuWith:" : "WoC 7/13/2018 18:39", + "openShapeChooser" : "VO 4/25/2019 17:22", "openSlideLayoutChooser" : "MK 7/6/2018 16:28", "openSlideMenu" : "WoC 7/13/2018 18:42", "openSlideMoveDialog" : "WoC 7/24/2018 15:36", diff --git a/packages/Presenter-Core.package/PSShapeMorph.class/README.md b/packages/Presenter-Core.package/PSShapeMorph.class/README.md new file mode 100644 index 0000000..e69de29 diff --git a/packages/Presenter-Core.package/PSShapeMorph.class/instance/content..st b/packages/Presenter-Core.package/PSShapeMorph.class/instance/content..st new file mode 100644 index 0000000..7f2f6b5 --- /dev/null +++ b/packages/Presenter-Core.package/PSShapeMorph.class/instance/content..st @@ -0,0 +1,4 @@ +accessing +content: aMorph + + content := aMorph. \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSShapeMorph.class/instance/content.st b/packages/Presenter-Core.package/PSShapeMorph.class/instance/content.st new file mode 100644 index 0000000..a5f2cf1 --- /dev/null +++ b/packages/Presenter-Core.package/PSShapeMorph.class/instance/content.st @@ -0,0 +1,4 @@ +accessing +content + + ^ content \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSShapeMorph.class/instance/customContextMenuContent.st b/packages/Presenter-Core.package/PSShapeMorph.class/instance/customContextMenuContent.st new file mode 100644 index 0000000..a08ffbc --- /dev/null +++ b/packages/Presenter-Core.package/PSShapeMorph.class/instance/customContextMenuContent.st @@ -0,0 +1,8 @@ +accessing +customContextMenuContent + + ^ #( + - + ('Change color' #showColorDialog) + ('Change bordercolor' #showBordercolorDialog) + ) \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSShapeMorph.class/instance/initialize.st b/packages/Presenter-Core.package/PSShapeMorph.class/instance/initialize.st new file mode 100644 index 0000000..dcfee1b --- /dev/null +++ b/packages/Presenter-Core.package/PSShapeMorph.class/instance/initialize.st @@ -0,0 +1,6 @@ +accessing +initialize + + super initialize. + self delete. + self setProperty: #wantsCustomContextMenu toValue: true. \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSShapeMorph.class/instance/openColorDialogWIth.selecting..st b/packages/Presenter-Core.package/PSShapeMorph.class/instance/openColorDialogWIth.selecting..st new file mode 100644 index 0000000..3c41e67 --- /dev/null +++ b/packages/Presenter-Core.package/PSShapeMorph.class/instance/openColorDialogWIth.selecting..st @@ -0,0 +1,10 @@ +accessing +openColorDialogWIth: aColor selecting: aSymbol + + ^ (NewColorPickerMorph + on: self + originalColor: aColor + setColorSelector: aSymbol) + openNear: self fullBoundsInWorld; + yourself + \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSShapeMorph.class/methodProperties.json b/packages/Presenter-Core.package/PSShapeMorph.class/methodProperties.json new file mode 100644 index 0000000..6a7d10e --- /dev/null +++ b/packages/Presenter-Core.package/PSShapeMorph.class/methodProperties.json @@ -0,0 +1,9 @@ +{ + "class" : { + }, + "instance" : { + "content" : "VO 4/25/2019 18:07", + "content:" : "VO 4/25/2019 18:08", + "customContextMenuContent" : "VO 4/25/2019 18:20", + "initialize" : "VO 4/25/2019 18:26", + "openColorDialogWIth:selecting:" : "VO 4/25/2019 18:09" } } diff --git a/packages/Presenter-Core.package/PSShapeMorph.class/properties.json b/packages/Presenter-Core.package/PSShapeMorph.class/properties.json new file mode 100644 index 0000000..fcbe566 --- /dev/null +++ b/packages/Presenter-Core.package/PSShapeMorph.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Presenter-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + "content" ], + "name" : "PSShapeMorph", + "pools" : [ + ], + "super" : "Morph", + "type" : "normal" } diff --git a/packages/Presenter-Tests.package/PSShapeTest.class/README.md b/packages/Presenter-Tests.package/PSShapeTest.class/README.md new file mode 100644 index 0000000..e69de29 diff --git a/packages/Presenter-Tests.package/PSShapeTest.class/instance/setUp.st b/packages/Presenter-Tests.package/PSShapeTest.class/instance/setUp.st new file mode 100644 index 0000000..fa253fd --- /dev/null +++ b/packages/Presenter-Tests.package/PSShapeTest.class/instance/setUp.st @@ -0,0 +1,5 @@ +as yet unclassified +setUp + + super setUp. + \ No newline at end of file diff --git a/packages/Presenter-Tests.package/PSShapeTest.class/instance/tearDown.st b/packages/Presenter-Tests.package/PSShapeTest.class/instance/tearDown.st new file mode 100644 index 0000000..68c1bb3 --- /dev/null +++ b/packages/Presenter-Tests.package/PSShapeTest.class/instance/tearDown.st @@ -0,0 +1,4 @@ +as yet unclassified +tearDown + + super tearDown. \ No newline at end of file diff --git a/packages/Presenter-Tests.package/PSShapeTest.class/methodProperties.json b/packages/Presenter-Tests.package/PSShapeTest.class/methodProperties.json new file mode 100644 index 0000000..10b8f0c --- /dev/null +++ b/packages/Presenter-Tests.package/PSShapeTest.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + }, + "instance" : { + "setUp" : "VO 4/25/2019 16:51", + "tearDown" : "VO 4/25/2019 16:51" } } diff --git a/packages/Presenter-Tests.package/PSShapeTest.class/properties.json b/packages/Presenter-Tests.package/PSShapeTest.class/properties.json new file mode 100644 index 0000000..466272d --- /dev/null +++ b/packages/Presenter-Tests.package/PSShapeTest.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Presenter-Tests", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "PSShapeTest", + "pools" : [ + ], + "super" : "PSOnSlideTest", + "type" : "normal" } From fbc5d5392861f1c4342246a4571d1297e44b508a Mon Sep 17 00:00:00 2001 From: Julian Berger Date: Mon, 29 Apr 2019 14:28:25 +0200 Subject: [PATCH 2/6] Fix typos Remove unused variables --- .../PSPresentationTool.class/properties.json | 1 - packages/Presenter-Core.package/PSSlide.class/README.md | 2 +- .../Presenter-Core.package/PSSlide.class/properties.json | 2 +- .../PSSlideContainer.class/instance/in.tryToEvaluate..st | 1 - .../PSSlideContainer.class/methodProperties.json | 2 +- .../PSSlideContainer.class/properties.json | 1 - ...WIth.selecting..st => openColorDialogWith.selecting..st} | 2 +- .../PSTextMorph.class/instance/showBackgroundColorDialog.st | 2 +- .../PSTextMorph.class/instance/showFontColorDialog.st | 2 +- .../PSTextMorph.class/methodProperties.json | 6 +++--- 10 files changed, 9 insertions(+), 12 deletions(-) rename packages/Presenter-Core.package/PSTextMorph.class/instance/{openColorDialogWIth.selecting..st => openColorDialogWith.selecting..st} (75%) diff --git a/packages/Presenter-Core.package/PSPresentationTool.class/properties.json b/packages/Presenter-Core.package/PSPresentationTool.class/properties.json index d98bcf3..97a3aa2 100644 --- a/packages/Presenter-Core.package/PSPresentationTool.class/properties.json +++ b/packages/Presenter-Core.package/PSPresentationTool.class/properties.json @@ -8,7 +8,6 @@ "instvars" : [ "slideContainer", "presentation", - "slides", "currentSlideNumber", "presentationMode", "miniatures", diff --git a/packages/Presenter-Core.package/PSSlide.class/README.md b/packages/Presenter-Core.package/PSSlide.class/README.md index b5a4534..2d2ee72 100644 --- a/packages/Presenter-Core.package/PSSlide.class/README.md +++ b/packages/Presenter-Core.package/PSSlide.class/README.md @@ -1,5 +1,5 @@ A PSSlide is a Morph to place content on. Every morph put on a PSSlide is put into a PSContentContainer. -Whenever it is resized, all the contents are rescaled with a fixed width-to-hight ratio. +Whenever it is resized, all the contents are rescaled with a fixed width-to-height ratio. Instance Variables diff --git a/packages/Presenter-Core.package/PSSlide.class/properties.json b/packages/Presenter-Core.package/PSSlide.class/properties.json index 2502215..e1158b9 100644 --- a/packages/Presenter-Core.package/PSSlide.class/properties.json +++ b/packages/Presenter-Core.package/PSSlide.class/properties.json @@ -4,7 +4,7 @@ ], "classvars" : [ ], - "commentStamp" : "LM 7/24/2018 17:55", + "commentStamp" : "JB 4/18/2019 15:20", "instvars" : [ ], "name" : "PSSlide", diff --git a/packages/Presenter-Core.package/PSSlideContainer.class/instance/in.tryToEvaluate..st b/packages/Presenter-Core.package/PSSlideContainer.class/instance/in.tryToEvaluate..st index a8649d1..0dbaadf 100644 --- a/packages/Presenter-Core.package/PSSlideContainer.class/instance/in.tryToEvaluate..st +++ b/packages/Presenter-Core.package/PSSlideContainer.class/instance/in.tryToEvaluate..st @@ -1,6 +1,5 @@ events-processing in: aDictionary tryToEvaluate: evt - evt isKeyboard ifTrue: [ (aDictionary at: evt keyCharacter ifAbsent: []) value] \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSSlideContainer.class/methodProperties.json b/packages/Presenter-Core.package/PSSlideContainer.class/methodProperties.json index 11d9eac..c11559d 100644 --- a/packages/Presenter-Core.package/PSSlideContainer.class/methodProperties.json +++ b/packages/Presenter-Core.package/PSSlideContainer.class/methodProperties.json @@ -16,7 +16,7 @@ "ensurePreviousOwnerIsNotSubmorph" : "MK 7/24/2018 17:23", "filterEvent:for:" : "LB 7/6/2018 17:08", "handlesKeyboard:" : "WoC 6/15/2018 17:00", - "in:tryToEvaluate:" : "WoC 6/15/2018 17:07", + "in:tryToEvaluate:" : "JB 4/18/2019 17:12", "initialize" : "LM 7/13/2018 15:42", "initializeStyle" : "WoC 6/15/2018 16:00", "isCollapsed" : "LM 6/6/2018 18:13", diff --git a/packages/Presenter-Core.package/PSSlideContainer.class/properties.json b/packages/Presenter-Core.package/PSSlideContainer.class/properties.json index d67a8fd..4056f28 100644 --- a/packages/Presenter-Core.package/PSSlideContainer.class/properties.json +++ b/packages/Presenter-Core.package/PSSlideContainer.class/properties.json @@ -8,7 +8,6 @@ "instvars" : [ "currentSlide", "previousOwner", - "isInteractive", "notification" ], "name" : "PSSlideContainer", "pools" : [ diff --git a/packages/Presenter-Core.package/PSTextMorph.class/instance/openColorDialogWIth.selecting..st b/packages/Presenter-Core.package/PSTextMorph.class/instance/openColorDialogWith.selecting..st similarity index 75% rename from packages/Presenter-Core.package/PSTextMorph.class/instance/openColorDialogWIth.selecting..st rename to packages/Presenter-Core.package/PSTextMorph.class/instance/openColorDialogWith.selecting..st index d364ae1..65b6243 100644 --- a/packages/Presenter-Core.package/PSTextMorph.class/instance/openColorDialogWIth.selecting..st +++ b/packages/Presenter-Core.package/PSTextMorph.class/instance/openColorDialogWith.selecting..st @@ -1,5 +1,5 @@ styling -openColorDialogWIth: aColor selecting: aSymbol +openColorDialogWith: aColor selecting: aSymbol ^ (NewColorPickerMorph on: self diff --git a/packages/Presenter-Core.package/PSTextMorph.class/instance/showBackgroundColorDialog.st b/packages/Presenter-Core.package/PSTextMorph.class/instance/showBackgroundColorDialog.st index dd6d3d5..3119364 100644 --- a/packages/Presenter-Core.package/PSTextMorph.class/instance/showBackgroundColorDialog.st +++ b/packages/Presenter-Core.package/PSTextMorph.class/instance/showBackgroundColorDialog.st @@ -1,4 +1,4 @@ styling showBackgroundColorDialog - ^ self openColorDialogWIth: self color selecting: #color: \ No newline at end of file + ^ self openColorDialogWith: self color selecting: #color: \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSTextMorph.class/instance/showFontColorDialog.st b/packages/Presenter-Core.package/PSTextMorph.class/instance/showFontColorDialog.st index 921706a..12ba45c 100644 --- a/packages/Presenter-Core.package/PSTextMorph.class/instance/showFontColorDialog.st +++ b/packages/Presenter-Core.package/PSTextMorph.class/instance/showFontColorDialog.st @@ -1,4 +1,4 @@ styling showFontColorDialog - ^ self openColorDialogWIth: self selectionColor selecting: #selectionColor: \ No newline at end of file + ^ self openColorDialogWith: self selectionColor selecting: #selectionColor: \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSTextMorph.class/methodProperties.json b/packages/Presenter-Core.package/PSTextMorph.class/methodProperties.json index e38c143..8b3e00b 100644 --- a/packages/Presenter-Core.package/PSTextMorph.class/methodProperties.json +++ b/packages/Presenter-Core.package/PSTextMorph.class/methodProperties.json @@ -17,7 +17,7 @@ "initializeProperties" : "WoC 7/13/2018 16:28", "initializeStyle" : "WoC 7/13/2018 16:29", "initializeTextAttribute" : "LB 6/12/2018 16:48", - "openColorDialogWIth:selecting:" : "LM 7/25/2018 11:31", + "openColorDialogWith:selecting:" : "JB 4/18/2019 17:00", "rescale:" : "LB 6/17/2018 13:23", "selectionAddAttribute:" : "LB 6/8/2018 15:11", "selectionAddAttribute:onNoSelection:" : "LB 6/15/2018 19:30", @@ -27,8 +27,8 @@ "selectionFontSize" : "LB 6/8/2018 15:04", "selectionFontSize:" : "WoC 7/25/2018 13:29", "setText:" : "MK 7/6/2018 16:58", - "showBackgroundColorDialog" : "LM 7/25/2018 11:30", - "showFontColorDialog" : "LM 7/25/2018 11:32", + "showBackgroundColorDialog" : "JB 4/18/2019 17:00", + "showFontColorDialog" : "JB 4/18/2019 17:00", "showFontSizeDialog" : "LM 7/13/2018 15:14", "textEdited:" : "LB 6/17/2018 18:46", "textScale" : "WoC 7/13/2018 16:27", From 6a43fd283df62232638a81533c527a1c418d4f5c Mon Sep 17 00:00:00 2001 From: Vincent Opitz Date: Thu, 2 May 2019 13:38:14 +0200 Subject: [PATCH 3/6] lol --- .../instance/newCircleShape.st | 6 +----- .../PSPresentationTool.class/methodProperties.json | 2 +- .../PSShapeMorph.class/README.md | 0 .../PSShapeMorph.class/instance/content..st | 4 ---- .../PSShapeMorph.class/instance/content.st | 4 ---- .../instance/customContextMenuContent.st | 8 -------- .../PSShapeMorph.class/instance/initialize.st | 6 ------ .../instance/openColorDialogWIth.selecting..st | 10 ---------- .../PSShapeMorph.class/methodProperties.json | 9 --------- .../PSShapeMorph.class/properties.json | 14 -------------- .../PSShapeTest.class/instance/shape..st | 4 ++++ .../PSShapeTest.class/instance/shape.st | 4 ++++ .../PSShapeTest.class/methodProperties.json | 2 ++ .../PSShapeTest.class/properties.json | 2 +- 14 files changed, 13 insertions(+), 62 deletions(-) delete mode 100644 packages/Presenter-Core.package/PSShapeMorph.class/README.md delete mode 100644 packages/Presenter-Core.package/PSShapeMorph.class/instance/content..st delete mode 100644 packages/Presenter-Core.package/PSShapeMorph.class/instance/content.st delete mode 100644 packages/Presenter-Core.package/PSShapeMorph.class/instance/customContextMenuContent.st delete mode 100644 packages/Presenter-Core.package/PSShapeMorph.class/instance/initialize.st delete mode 100644 packages/Presenter-Core.package/PSShapeMorph.class/instance/openColorDialogWIth.selecting..st delete mode 100644 packages/Presenter-Core.package/PSShapeMorph.class/methodProperties.json delete mode 100644 packages/Presenter-Core.package/PSShapeMorph.class/properties.json create mode 100644 packages/Presenter-Tests.package/PSShapeTest.class/instance/shape..st create mode 100644 packages/Presenter-Tests.package/PSShapeTest.class/instance/shape.st diff --git a/packages/Presenter-Core.package/PSPresentationTool.class/instance/newCircleShape.st b/packages/Presenter-Core.package/PSPresentationTool.class/instance/newCircleShape.st index 30b94b5..56d1150 100644 --- a/packages/Presenter-Core.package/PSPresentationTool.class/instance/newCircleShape.st +++ b/packages/Presenter-Core.package/PSPresentationTool.class/instance/newCircleShape.st @@ -1,8 +1,4 @@ as yet unclassified newCircleShape - | circle shape | - circle := CircleMorph new. - shape :=PSShapeMorph new. - shape content: circle; - openInHand. \ No newline at end of file + CircleMorph new openInHand. \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSPresentationTool.class/methodProperties.json b/packages/Presenter-Core.package/PSPresentationTool.class/methodProperties.json index b2d03fb..13c1ca9 100644 --- a/packages/Presenter-Core.package/PSPresentationTool.class/methodProperties.json +++ b/packages/Presenter-Core.package/PSPresentationTool.class/methodProperties.json @@ -77,7 +77,7 @@ "moveCurrentSlideTo:" : "LM 7/13/2018 18:29", "moveSlideButtonData" : "JZ 7/6/2018 14:54", "newArrowShape" : "VO 4/25/2019 17:52", - "newCircleShape" : "VO 4/25/2019 18:24", + "newCircleShape" : "VO 4/30/2019 15:09", "newImageField" : "LM 5/18/2018 17:13", "newLineShape" : "VO 4/25/2019 17:35", "newRectangleShape" : "VO 4/25/2019 17:54", diff --git a/packages/Presenter-Core.package/PSShapeMorph.class/README.md b/packages/Presenter-Core.package/PSShapeMorph.class/README.md deleted file mode 100644 index e69de29..0000000 diff --git a/packages/Presenter-Core.package/PSShapeMorph.class/instance/content..st b/packages/Presenter-Core.package/PSShapeMorph.class/instance/content..st deleted file mode 100644 index 7f2f6b5..0000000 --- a/packages/Presenter-Core.package/PSShapeMorph.class/instance/content..st +++ /dev/null @@ -1,4 +0,0 @@ -accessing -content: aMorph - - content := aMorph. \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSShapeMorph.class/instance/content.st b/packages/Presenter-Core.package/PSShapeMorph.class/instance/content.st deleted file mode 100644 index a5f2cf1..0000000 --- a/packages/Presenter-Core.package/PSShapeMorph.class/instance/content.st +++ /dev/null @@ -1,4 +0,0 @@ -accessing -content - - ^ content \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSShapeMorph.class/instance/customContextMenuContent.st b/packages/Presenter-Core.package/PSShapeMorph.class/instance/customContextMenuContent.st deleted file mode 100644 index a08ffbc..0000000 --- a/packages/Presenter-Core.package/PSShapeMorph.class/instance/customContextMenuContent.st +++ /dev/null @@ -1,8 +0,0 @@ -accessing -customContextMenuContent - - ^ #( - - - ('Change color' #showColorDialog) - ('Change bordercolor' #showBordercolorDialog) - ) \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSShapeMorph.class/instance/initialize.st b/packages/Presenter-Core.package/PSShapeMorph.class/instance/initialize.st deleted file mode 100644 index dcfee1b..0000000 --- a/packages/Presenter-Core.package/PSShapeMorph.class/instance/initialize.st +++ /dev/null @@ -1,6 +0,0 @@ -accessing -initialize - - super initialize. - self delete. - self setProperty: #wantsCustomContextMenu toValue: true. \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSShapeMorph.class/instance/openColorDialogWIth.selecting..st b/packages/Presenter-Core.package/PSShapeMorph.class/instance/openColorDialogWIth.selecting..st deleted file mode 100644 index 3c41e67..0000000 --- a/packages/Presenter-Core.package/PSShapeMorph.class/instance/openColorDialogWIth.selecting..st +++ /dev/null @@ -1,10 +0,0 @@ -accessing -openColorDialogWIth: aColor selecting: aSymbol - - ^ (NewColorPickerMorph - on: self - originalColor: aColor - setColorSelector: aSymbol) - openNear: self fullBoundsInWorld; - yourself - \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSShapeMorph.class/methodProperties.json b/packages/Presenter-Core.package/PSShapeMorph.class/methodProperties.json deleted file mode 100644 index 6a7d10e..0000000 --- a/packages/Presenter-Core.package/PSShapeMorph.class/methodProperties.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "class" : { - }, - "instance" : { - "content" : "VO 4/25/2019 18:07", - "content:" : "VO 4/25/2019 18:08", - "customContextMenuContent" : "VO 4/25/2019 18:20", - "initialize" : "VO 4/25/2019 18:26", - "openColorDialogWIth:selecting:" : "VO 4/25/2019 18:09" } } diff --git a/packages/Presenter-Core.package/PSShapeMorph.class/properties.json b/packages/Presenter-Core.package/PSShapeMorph.class/properties.json deleted file mode 100644 index fcbe566..0000000 --- a/packages/Presenter-Core.package/PSShapeMorph.class/properties.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "category" : "Presenter-Core", - "classinstvars" : [ - ], - "classvars" : [ - ], - "commentStamp" : "", - "instvars" : [ - "content" ], - "name" : "PSShapeMorph", - "pools" : [ - ], - "super" : "Morph", - "type" : "normal" } diff --git a/packages/Presenter-Tests.package/PSShapeTest.class/instance/shape..st b/packages/Presenter-Tests.package/PSShapeTest.class/instance/shape..st new file mode 100644 index 0000000..aa9a0a0 --- /dev/null +++ b/packages/Presenter-Tests.package/PSShapeTest.class/instance/shape..st @@ -0,0 +1,4 @@ +accessing +shape: anObject + + shape := anObject. \ No newline at end of file diff --git a/packages/Presenter-Tests.package/PSShapeTest.class/instance/shape.st b/packages/Presenter-Tests.package/PSShapeTest.class/instance/shape.st new file mode 100644 index 0000000..13d1f15 --- /dev/null +++ b/packages/Presenter-Tests.package/PSShapeTest.class/instance/shape.st @@ -0,0 +1,4 @@ +accessing +shape + + ^ shape \ No newline at end of file diff --git a/packages/Presenter-Tests.package/PSShapeTest.class/methodProperties.json b/packages/Presenter-Tests.package/PSShapeTest.class/methodProperties.json index 10b8f0c..3d749f3 100644 --- a/packages/Presenter-Tests.package/PSShapeTest.class/methodProperties.json +++ b/packages/Presenter-Tests.package/PSShapeTest.class/methodProperties.json @@ -3,4 +3,6 @@ }, "instance" : { "setUp" : "VO 4/25/2019 16:51", + "shape" : "VO 4/30/2019 15:56", + "shape:" : "VO 4/30/2019 15:56", "tearDown" : "VO 4/25/2019 16:51" } } diff --git a/packages/Presenter-Tests.package/PSShapeTest.class/properties.json b/packages/Presenter-Tests.package/PSShapeTest.class/properties.json index 466272d..a96b80a 100644 --- a/packages/Presenter-Tests.package/PSShapeTest.class/properties.json +++ b/packages/Presenter-Tests.package/PSShapeTest.class/properties.json @@ -6,7 +6,7 @@ ], "commentStamp" : "", "instvars" : [ - ], + "shape" ], "name" : "PSShapeTest", "pools" : [ ], From 763b8d3381d67c7c7f21f6c9d1c58529306ed2bc Mon Sep 17 00:00:00 2001 From: Vincent Opitz Date: Thu, 2 May 2019 14:01:26 +0200 Subject: [PATCH 4/6] Fix tests --- .../instance/mockCompletePresentationDirectory.st | 4 +++- .../instance/mockEmptyPresentationDirectory.st | 4 +++- .../instance/testErrorReportExistsPerSlide.st | 7 +++++-- .../instance/testMorphNameIsNumber.st | 4 +++- .../PSPresentationLoaderTest.class/methodProperties.json | 8 ++++---- .../PSPresentationTest.class/instance/setUp.st | 2 +- .../instance/testLayoutedSlidesCreation.st | 2 +- .../PSPresentationTest.class/methodProperties.json | 4 ++-- 8 files changed, 22 insertions(+), 13 deletions(-) diff --git a/packages/Presenter-Tests.package/PSPresentationLoaderTest.class/instance/mockCompletePresentationDirectory.st b/packages/Presenter-Tests.package/PSPresentationLoaderTest.class/instance/mockCompletePresentationDirectory.st index 94a3caa..c50cf8c 100644 --- a/packages/Presenter-Tests.package/PSPresentationLoaderTest.class/instance/mockCompletePresentationDirectory.st +++ b/packages/Presenter-Tests.package/PSPresentationLoaderTest.class/instance/mockCompletePresentationDirectory.st @@ -6,7 +6,9 @@ mockCompletePresentationDirectory PSPresentationLoader slidesDirectoryName -> { 'slide1' -> {'1.morph'}. 'slide2' -> {}. - 'slide3' -> {'1.morph' . '2.morph' }}}. + 'slide3' -> {'1.morph' . '2.morph' }}. + PSPresentationLoader layoutsDirectoryName -> { + 'layoutTest' -> {}}}. slidesDirectory := directory / PSPresentationLoader slidesDirectoryName. slidesDirectory / 'slide1' / '1.morph' contents: PSMockMorph new. slidesDirectory / 'slide3' / '1.morph' contents: PSMockMorph new. diff --git a/packages/Presenter-Tests.package/PSPresentationLoaderTest.class/instance/mockEmptyPresentationDirectory.st b/packages/Presenter-Tests.package/PSPresentationLoaderTest.class/instance/mockEmptyPresentationDirectory.st index 00d9ae3..604c112 100644 --- a/packages/Presenter-Tests.package/PSPresentationLoaderTest.class/instance/mockEmptyPresentationDirectory.st +++ b/packages/Presenter-Tests.package/PSPresentationLoaderTest.class/instance/mockEmptyPresentationDirectory.st @@ -5,4 +5,6 @@ mockEmptyPresentationDirectory 'slides' -> { 'slide1'. 'slide2'. - 'slide5' "The number actually should not matter"}} \ No newline at end of file + 'slide5' "The number actually should not matter"} . + 'layouts' -> { + 'layoutTest'}} \ No newline at end of file diff --git a/packages/Presenter-Tests.package/PSPresentationLoaderTest.class/instance/testErrorReportExistsPerSlide.st b/packages/Presenter-Tests.package/PSPresentationLoaderTest.class/instance/testErrorReportExistsPerSlide.st index ce1dd2b..1711acb 100644 --- a/packages/Presenter-Tests.package/PSPresentationLoaderTest.class/instance/testErrorReportExistsPerSlide.st +++ b/packages/Presenter-Tests.package/PSPresentationLoaderTest.class/instance/testErrorReportExistsPerSlide.st @@ -1,12 +1,15 @@ presentation loading testErrorReportExistsPerSlide - | directory errorReport | + | directory errorReport entries | directory := self mockEmptyPresentationDirectory. self loader loadPresentationUnchecked: directory. errorReport := self loader errorReport. + + entries := (directory / self loader slidesDirectoryName) directoryNames asSet. + entries addAll: (directory / self loader layoutsDirectoryName) directoryNames asSet. self assert: errorReport keys asSet - equals: (directory / self loader slidesDirectoryName) directoryNames asSet + equals: entries description: 'The error report should contain an entry for every loaded slide, even if its empty!' \ No newline at end of file diff --git a/packages/Presenter-Tests.package/PSPresentationLoaderTest.class/instance/testMorphNameIsNumber.st b/packages/Presenter-Tests.package/PSPresentationLoaderTest.class/instance/testMorphNameIsNumber.st index dd120ce..ae61314 100644 --- a/packages/Presenter-Tests.package/PSPresentationLoaderTest.class/instance/testMorphNameIsNumber.st +++ b/packages/Presenter-Tests.package/PSPresentationLoaderTest.class/instance/testMorphNameIsNumber.st @@ -4,5 +4,7 @@ testMorphNameIsNumber | presentationDirectory | presentationDirectory := PSMockFileDirectory from: 'Presentation' -> { 'slides' -> { - 'slide1' -> {'1.morph' . '2.morph'}}}. + 'slide1' -> {'1.morph' . '2.morph'}}. + 'layouts' -> { + 'layoutTest' -> {}}}. self assert: (self loader isValidPresentationDirectory: presentationDirectory) \ No newline at end of file diff --git a/packages/Presenter-Tests.package/PSPresentationLoaderTest.class/methodProperties.json b/packages/Presenter-Tests.package/PSPresentationLoaderTest.class/methodProperties.json index 0901890..97cb51b 100644 --- a/packages/Presenter-Tests.package/PSPresentationLoaderTest.class/methodProperties.json +++ b/packages/Presenter-Tests.package/PSPresentationLoaderTest.class/methodProperties.json @@ -4,21 +4,21 @@ "instance" : { "loader" : "MK 7/20/2018 15:44", "loader:" : "MK 7/20/2018 15:44", - "mockCompletePresentationDirectory" : "LB 7/24/2018 17:33", - "mockEmptyPresentationDirectory" : "LB 7/24/2018 17:33", + "mockCompletePresentationDirectory" : "VO 5/2/2019 13:48", + "mockEmptyPresentationDirectory" : "VO 5/2/2019 13:45", "morphLoadingStreamFor:" : "MK 7/20/2018 15:48", "setUp" : "MK 7/20/2018 15:46", "testCanLoadEmptyPresentation" : "LM 7/25/2018 13:09", "testCanLoadEmptySlide" : "LM 7/25/2018 13:10", "testEmptyPresentationDirectoryIsValid" : "MK 7/20/2018 15:50", - "testErrorReportExistsPerSlide" : "WoC 7/25/2018 12:43", + "testErrorReportExistsPerSlide" : "VO 5/2/2019 13:53", "testInvalidLoadReturnsNil" : "MK 7/20/2018 15:51", "testInvalidSlideDirectoryNames" : "LB 7/24/2018 17:35", "testLoadCompletePresentation" : "LM 7/25/2018 13:12", "testMissingSlidesDirectory" : "LB 7/24/2018 17:39", "testMorphLoadIsValid" : "LM 7/25/2018 13:14", "testMorphNameIsNotNumber" : "LB 7/24/2018 17:39", - "testMorphNameIsNumber" : "LB 7/24/2018 17:39", + "testMorphNameIsNumber" : "VO 5/2/2019 13:54", "testSlidesDirectoryIsEmpty" : "LB 7/24/2018 17:39", "testSortMorphFiles" : "LM 7/25/2018 13:14", "validMorphFileData" : "LM 7/25/2018 13:14" } } diff --git a/packages/Presenter-Tests.package/PSPresentationTest.class/instance/setUp.st b/packages/Presenter-Tests.package/PSPresentationTest.class/instance/setUp.st index 162ee3e..f9ea0e9 100644 --- a/packages/Presenter-Tests.package/PSPresentationTest.class/instance/setUp.st +++ b/packages/Presenter-Tests.package/PSPresentationTest.class/instance/setUp.st @@ -3,4 +3,4 @@ setUp super setUp. self tool: (PSPresentationTool openIn: self world) model. - self presentation: tool createPresentation \ No newline at end of file + self presentation: self tool presentation. \ No newline at end of file diff --git a/packages/Presenter-Tests.package/PSPresentationTest.class/instance/testLayoutedSlidesCreation.st b/packages/Presenter-Tests.package/PSPresentationTest.class/instance/testLayoutedSlidesCreation.st index 08524f5..d1b0c09 100644 --- a/packages/Presenter-Tests.package/PSPresentationTest.class/instance/testLayoutedSlidesCreation.st +++ b/packages/Presenter-Tests.package/PSPresentationTest.class/instance/testLayoutedSlidesCreation.st @@ -1,5 +1,5 @@ accessing testLayoutedSlidesCreation "Assure that layout creation does not throw an error." - self presentation slideLayouts values do: [:each | self tool createSlideFromLayout: each value]. + self presentation slideLayouts values do: [:each | self tool createSlideFromLayout: each]. self assert: self presentation slideCount equals: (self presentation slideLayouts size + 1) \ No newline at end of file diff --git a/packages/Presenter-Tests.package/PSPresentationTest.class/methodProperties.json b/packages/Presenter-Tests.package/PSPresentationTest.class/methodProperties.json index 8ee4b28..fd008a4 100644 --- a/packages/Presenter-Tests.package/PSPresentationTest.class/methodProperties.json +++ b/packages/Presenter-Tests.package/PSPresentationTest.class/methodProperties.json @@ -4,7 +4,7 @@ "instance" : { "presentation" : "mb 4/25/2019 16:47", "presentation:" : "mb 4/25/2019 16:47", - "setUp" : "mb 4/25/2019 18:33", - "testLayoutedSlidesCreation" : "mb 4/25/2019 18:36", + "setUp" : "VO 5/2/2019 14:00", + "testLayoutedSlidesCreation" : "VO 5/2/2019 13:57", "tool" : "mb 4/25/2019 18:33", "tool:" : "mb 4/25/2019 18:33" } } From 3f33594fb8397d403550746b71e96d6cde041d54 Mon Sep 17 00:00:00 2001 From: Vincent Opitz Date: Tue, 7 May 2019 16:25:39 +0200 Subject: [PATCH 5/6] Made Arrow Great Again Added test for rectangle creation --- .../PSPresentationTool.class/instance/newArrowShape.st | 2 +- .../PSPresentationTool.class/methodProperties.json | 2 +- .../instance/testRectangleShapeIsRectangle.st | 6 ++++++ .../PSPresentationToolTest.class/methodProperties.json | 1 + 4 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 packages/Presenter-Tests.package/PSPresentationToolTest.class/instance/testRectangleShapeIsRectangle.st diff --git a/packages/Presenter-Core.package/PSPresentationTool.class/instance/newArrowShape.st b/packages/Presenter-Core.package/PSPresentationTool.class/instance/newArrowShape.st index f795be1..b7fa6f6 100644 --- a/packages/Presenter-Core.package/PSPresentationTool.class/instance/newArrowShape.st +++ b/packages/Presenter-Core.package/PSPresentationTool.class/instance/newArrowShape.st @@ -3,5 +3,5 @@ newArrowShape | morph | morph := PolygonMorph new. - morph setVertices: { (0@1) . (6@1) . (6@2) . (8@0) .(6 @ -2) .( 6@ -1) . (0@ -1)}; + morph setVertices: { (0@1) . (6@1) . (6@2) . (8@0) .(6 @ -2) .( 6@ -1) . (0@ -1)} * 10; openInHand \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSPresentationTool.class/methodProperties.json b/packages/Presenter-Core.package/PSPresentationTool.class/methodProperties.json index da74971..acff049 100644 --- a/packages/Presenter-Core.package/PSPresentationTool.class/methodProperties.json +++ b/packages/Presenter-Core.package/PSPresentationTool.class/methodProperties.json @@ -75,7 +75,7 @@ "minimumSlideCount" : "WoC 6/22/2018 16:10", "moveCurrentSlideTo:" : "LM 7/13/2018 18:29", "moveSlideButtonData" : "JZ 7/6/2018 14:54", - "newArrowShape" : "VO 4/25/2019 17:52", + "newArrowShape" : "VO 5/7/2019 16:23", "newCircleShape" : "VO 4/30/2019 15:09", "newImageField" : "LM 5/18/2018 17:13", "newLineShape" : "VO 4/25/2019 17:35", diff --git a/packages/Presenter-Tests.package/PSPresentationToolTest.class/instance/testRectangleShapeIsRectangle.st b/packages/Presenter-Tests.package/PSPresentationToolTest.class/instance/testRectangleShapeIsRectangle.st new file mode 100644 index 0000000..1b2377e --- /dev/null +++ b/packages/Presenter-Tests.package/PSPresentationToolTest.class/instance/testRectangleShapeIsRectangle.st @@ -0,0 +1,6 @@ +accessing +testRectangleShapeIsRectangle + + self tool newRectangleShape. + self assert: (self hand submorphs first isKindOf: RectangleMorph). + \ No newline at end of file diff --git a/packages/Presenter-Tests.package/PSPresentationToolTest.class/methodProperties.json b/packages/Presenter-Tests.package/PSPresentationToolTest.class/methodProperties.json index 3937d56..6e454d5 100644 --- a/packages/Presenter-Tests.package/PSPresentationToolTest.class/methodProperties.json +++ b/packages/Presenter-Tests.package/PSPresentationToolTest.class/methodProperties.json @@ -48,6 +48,7 @@ "testNotEnterNonInteractiveModeInEditMode" : "MK 7/25/2018 13:45", "testOccupiesWorldOnStep" : "MK 7/25/2018 13:13", "testPreviousSlideClampsToMin" : "WoC 7/25/2018 13:14", + "testRectangleShapeIsRectangle" : "VO 5/2/2019 14:06", "testSavingShouldProvideWarning" : "LM 7/13/2018 18:40", "testSelectSlide" : "LM 7/25/2018 13:37", "testSelectSlideClamps" : "MK 7/25/2018 13:46", From 6edc6974812d2212febc61d82ff455746be97f92 Mon Sep 17 00:00:00 2001 From: Julian Berger Date: Tue, 7 May 2019 22:26:50 +0200 Subject: [PATCH 6/6] Fix layout loading bug and refactor --- .../PSPresentation.class/class/newWithLayouts.st | 6 ++++++ .../PSPresentation.class/instance/initialize.st | 2 +- .../instance/saveLayoutsIn..st | 2 +- .../PSPresentation.class/instance/saveSlidesIn..st | 2 +- .../PSPresentation.class/methodProperties.json | 8 ++++---- .../class/layoutDirectoryPrefix.st | 4 ++++ .../class/slideDirectoryPrefix.st | 4 ++++ .../instance/checkLayoutDirectoryName..st | 4 ++++ .../instance/checkSlideDirectory..st | 5 ----- .../instance/checkSlideDirectoryName..st | 2 +- .../isValidContentDirectory.namesSatisfy..st | 5 +++++ .../instance/isValidLayoutsDirectory..st | 6 ------ .../instance/isValidPresentationDirectory..st | 4 ++-- .../instance/isValidSlidesDirectory..st | 6 ------ .../instance/layoutName..st | 4 ++++ .../instance/loadLayoutFromDirectory..st | 2 +- .../methodProperties.json | 14 ++++++++------ .../instance/initialize.st | 2 +- .../PSPresentationTool.class/methodProperties.json | 2 +- .../instance/testInvalidLayoutDirectoryNames.st | 8 ++++++++ .../instance/testLoadCompletePresentation.st | 3 ++- .../methodProperties.json | 3 ++- 22 files changed, 60 insertions(+), 38 deletions(-) create mode 100644 packages/Presenter-Core.package/PSPresentation.class/class/newWithLayouts.st create mode 100644 packages/Presenter-Core.package/PSPresentationLoader.class/class/layoutDirectoryPrefix.st create mode 100644 packages/Presenter-Core.package/PSPresentationLoader.class/class/slideDirectoryPrefix.st create mode 100644 packages/Presenter-Core.package/PSPresentationLoader.class/instance/checkLayoutDirectoryName..st delete mode 100644 packages/Presenter-Core.package/PSPresentationLoader.class/instance/checkSlideDirectory..st create mode 100644 packages/Presenter-Core.package/PSPresentationLoader.class/instance/isValidContentDirectory.namesSatisfy..st delete mode 100644 packages/Presenter-Core.package/PSPresentationLoader.class/instance/isValidLayoutsDirectory..st delete mode 100644 packages/Presenter-Core.package/PSPresentationLoader.class/instance/isValidSlidesDirectory..st create mode 100644 packages/Presenter-Core.package/PSPresentationLoader.class/instance/layoutName..st create mode 100644 packages/Presenter-Tests.package/PSPresentationLoaderTest.class/instance/testInvalidLayoutDirectoryNames.st diff --git a/packages/Presenter-Core.package/PSPresentation.class/class/newWithLayouts.st b/packages/Presenter-Core.package/PSPresentation.class/class/newWithLayouts.st new file mode 100644 index 0000000..95416a7 --- /dev/null +++ b/packages/Presenter-Core.package/PSPresentation.class/class/newWithLayouts.st @@ -0,0 +1,6 @@ +as yet unclassified +newWithLayouts + + ^ self new + loadDefaultLayouts; + yourself. \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSPresentation.class/instance/initialize.st b/packages/Presenter-Core.package/PSPresentation.class/instance/initialize.st index 5ac674c..c991739 100644 --- a/packages/Presenter-Core.package/PSPresentation.class/instance/initialize.st +++ b/packages/Presenter-Core.package/PSPresentation.class/instance/initialize.st @@ -3,4 +3,4 @@ initialize self slides: OrderedCollection new. self minimumSlideCount timesRepeat: [self createSlideBack]. - self loadDefaultLayouts. \ No newline at end of file + self slideLayouts: Dictionary new \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSPresentation.class/instance/saveLayoutsIn..st b/packages/Presenter-Core.package/PSPresentation.class/instance/saveLayoutsIn..st index bba0f93..621b6e0 100644 --- a/packages/Presenter-Core.package/PSPresentation.class/instance/saveLayoutsIn..st +++ b/packages/Presenter-Core.package/PSPresentation.class/instance/saveLayoutsIn..st @@ -6,6 +6,6 @@ saveLayoutsIn: aDirectory self slideLayouts keysAndValuesDo: [:key :value | | directoryName | - directoryName := PSPresentationLoader layoutsDirectoryName, key asString. + directoryName := PSPresentationLoader layoutDirectoryPrefix, key asString. directory createDirectory: directoryName. value saveInDirectory: directory / directoryName ] \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSPresentation.class/instance/saveSlidesIn..st b/packages/Presenter-Core.package/PSPresentation.class/instance/saveSlidesIn..st index 4f2e1dd..6b421f0 100644 --- a/packages/Presenter-Core.package/PSPresentation.class/instance/saveSlidesIn..st +++ b/packages/Presenter-Core.package/PSPresentation.class/instance/saveSlidesIn..st @@ -6,6 +6,6 @@ saveSlidesIn: aDirectory self slides doWithIndex: [:each :index | | directoryName | - directoryName := 'slide', index asString. + directoryName := PSPresentationLoader slideDirectoryPrefix, index asString. directory createDirectory: directoryName. each saveInDirectory: directory / directoryName ] \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSPresentation.class/methodProperties.json b/packages/Presenter-Core.package/PSPresentation.class/methodProperties.json index f6a48b5..dca4c53 100644 --- a/packages/Presenter-Core.package/PSPresentation.class/methodProperties.json +++ b/packages/Presenter-Core.package/PSPresentation.class/methodProperties.json @@ -1,6 +1,6 @@ { "class" : { - }, + "newWithLayouts" : "JB 5/7/2019 22:21" }, "instance" : { "addLayout:withName:" : "mb 4/25/2019 17:57", "addPSTextMorphIn:at:" : "msob 4/30/2019 16:24", @@ -22,7 +22,7 @@ "defaultDirectoryName" : "LM 7/13/2018 18:35", "deleteSlideAt:" : "WoC 7/24/2018 16:37", "indexOf:" : "LM 7/13/2018 17:55", - "initialize" : "msob 4/30/2019 16:25", + "initialize" : "JB 5/7/2019 22:23", "loadDefaultLayouts" : "msob 4/30/2019 16:25", "minimumSlideCount" : "LM 7/13/2018 17:16", "moveSlideAt:to:" : "LM 7/13/2018 18:27", @@ -30,8 +30,8 @@ "riskyOperationMessage" : "LM 7/13/2018 18:47", "save" : "LM 7/13/2018 18:48", "saveConfirmed" : "msob 4/30/2019 15:43", - "saveLayoutsIn:" : "msob 4/30/2019 15:51", - "saveSlidesIn:" : "msob 4/30/2019 16:16", + "saveLayoutsIn:" : "JB 5/7/2019 22:03", + "saveSlidesIn:" : "JB 5/7/2019 22:03", "slideAt:" : "LM 7/13/2018 18:11", "slideCount" : "LM 7/13/2018 17:34", "slideLayouts" : "mb 4/25/2019 16:57", diff --git a/packages/Presenter-Core.package/PSPresentationLoader.class/class/layoutDirectoryPrefix.st b/packages/Presenter-Core.package/PSPresentationLoader.class/class/layoutDirectoryPrefix.st new file mode 100644 index 0000000..10d1384 --- /dev/null +++ b/packages/Presenter-Core.package/PSPresentationLoader.class/class/layoutDirectoryPrefix.st @@ -0,0 +1,4 @@ +accessing +layoutDirectoryPrefix + + ^ 'layout' \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSPresentationLoader.class/class/slideDirectoryPrefix.st b/packages/Presenter-Core.package/PSPresentationLoader.class/class/slideDirectoryPrefix.st new file mode 100644 index 0000000..5ebc930 --- /dev/null +++ b/packages/Presenter-Core.package/PSPresentationLoader.class/class/slideDirectoryPrefix.st @@ -0,0 +1,4 @@ +accessing +slideDirectoryPrefix + + ^ 'slide' \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSPresentationLoader.class/instance/checkLayoutDirectoryName..st b/packages/Presenter-Core.package/PSPresentationLoader.class/instance/checkLayoutDirectoryName..st new file mode 100644 index 0000000..030b216 --- /dev/null +++ b/packages/Presenter-Core.package/PSPresentationLoader.class/instance/checkLayoutDirectoryName..st @@ -0,0 +1,4 @@ +directory checking +checkLayoutDirectoryName: aDirectoryName + + ^ aDirectoryName matchesRegex: self class layoutDirectoryPrefix , '.+' \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSPresentationLoader.class/instance/checkSlideDirectory..st b/packages/Presenter-Core.package/PSPresentationLoader.class/instance/checkSlideDirectory..st deleted file mode 100644 index 24b54ec..0000000 --- a/packages/Presenter-Core.package/PSPresentationLoader.class/instance/checkSlideDirectory..st +++ /dev/null @@ -1,5 +0,0 @@ -directory checking -checkSlideDirectory: aDirectory - - ^ (self checkSlideDirectoryName: aDirectory localName) - and: [self checkMorphsInDirectory: aDirectory] \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSPresentationLoader.class/instance/checkSlideDirectoryName..st b/packages/Presenter-Core.package/PSPresentationLoader.class/instance/checkSlideDirectoryName..st index bb7a509..00bac9e 100644 --- a/packages/Presenter-Core.package/PSPresentationLoader.class/instance/checkSlideDirectoryName..st +++ b/packages/Presenter-Core.package/PSPresentationLoader.class/instance/checkSlideDirectoryName..st @@ -1,4 +1,4 @@ directory checking checkSlideDirectoryName: aDirectoryName - ^ aDirectoryName matchesRegex: 'slide[0-9]+' \ No newline at end of file + ^ aDirectoryName matchesRegex: self class slideDirectoryPrefix , '[0-9]+' \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSPresentationLoader.class/instance/isValidContentDirectory.namesSatisfy..st b/packages/Presenter-Core.package/PSPresentationLoader.class/instance/isValidContentDirectory.namesSatisfy..st new file mode 100644 index 0000000..fafe215 --- /dev/null +++ b/packages/Presenter-Core.package/PSPresentationLoader.class/instance/isValidContentDirectory.namesSatisfy..st @@ -0,0 +1,5 @@ +directory checking +isValidContentDirectory: aDirectory namesSatisfy: aBlock + + ^ (self isValidDirectory: aDirectory) and: [aDirectory directoryNames allSatisfy: + [:each | (aBlock value: each) and: [self checkMorphsInDirectory: aDirectory / each]]] \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSPresentationLoader.class/instance/isValidLayoutsDirectory..st b/packages/Presenter-Core.package/PSPresentationLoader.class/instance/isValidLayoutsDirectory..st deleted file mode 100644 index 686f94d..0000000 --- a/packages/Presenter-Core.package/PSPresentationLoader.class/instance/isValidLayoutsDirectory..st +++ /dev/null @@ -1,6 +0,0 @@ -directory checking -isValidLayoutsDirectory: aDirectory - - ^ (self isValidDirectory: aDirectory) - and: [aDirectory directoryNames allSatisfy: [:each | - self checkMorphsInDirectory: aDirectory / each]] \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSPresentationLoader.class/instance/isValidPresentationDirectory..st b/packages/Presenter-Core.package/PSPresentationLoader.class/instance/isValidPresentationDirectory..st index 56341b9..a8fdc41 100644 --- a/packages/Presenter-Core.package/PSPresentationLoader.class/instance/isValidPresentationDirectory..st +++ b/packages/Presenter-Core.package/PSPresentationLoader.class/instance/isValidPresentationDirectory..st @@ -1,5 +1,5 @@ directory checking isValidPresentationDirectory: aDirectory - ^ (self isValidSlidesDirectory: aDirectory / self slidesDirectoryName) and: - [self isValidLayoutsDirectory: aDirectory / self layoutsDirectoryName]. \ No newline at end of file + ^ (self isValidContentDirectory: aDirectory / self slidesDirectoryName namesSatisfy: [:each | self checkSlideDirectoryName: each]) and: + [self isValidContentDirectory: aDirectory / self layoutsDirectoryName namesSatisfy: [:each | self checkLayoutDirectoryName: each]]. \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSPresentationLoader.class/instance/isValidSlidesDirectory..st b/packages/Presenter-Core.package/PSPresentationLoader.class/instance/isValidSlidesDirectory..st deleted file mode 100644 index 3bc917b..0000000 --- a/packages/Presenter-Core.package/PSPresentationLoader.class/instance/isValidSlidesDirectory..st +++ /dev/null @@ -1,6 +0,0 @@ -directory checking -isValidSlidesDirectory: aDirectory - - ^ (self isValidDirectory: aDirectory) - and: [aDirectory directoryNames allSatisfy: [:each | - self checkSlideDirectory: aDirectory / each]] \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSPresentationLoader.class/instance/layoutName..st b/packages/Presenter-Core.package/PSPresentationLoader.class/instance/layoutName..st new file mode 100644 index 0000000..658684c --- /dev/null +++ b/packages/Presenter-Core.package/PSPresentationLoader.class/instance/layoutName..st @@ -0,0 +1,4 @@ +slide loading +layoutName: aString + + ^ aString copyFrom: self class layoutDirectoryPrefix size + 1 to: aString size. \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSPresentationLoader.class/instance/loadLayoutFromDirectory..st b/packages/Presenter-Core.package/PSPresentationLoader.class/instance/loadLayoutFromDirectory..st index 6ff1caf..0789fdb 100644 --- a/packages/Presenter-Core.package/PSPresentationLoader.class/instance/loadLayoutFromDirectory..st +++ b/packages/Presenter-Core.package/PSPresentationLoader.class/instance/loadLayoutFromDirectory..st @@ -4,5 +4,5 @@ loadLayoutFromDirectory: aDirectory | slide | slide := PSSlide new. self loadMorphsFromDirectory: aDirectory intoSlide: slide. - self presentation addLayout: slide withName: aDirectory localName. + self presentation addLayout: slide withName: (self layoutName: aDirectory localName). ^ slide \ No newline at end of file diff --git a/packages/Presenter-Core.package/PSPresentationLoader.class/methodProperties.json b/packages/Presenter-Core.package/PSPresentationLoader.class/methodProperties.json index e5447b4..cde395d 100644 --- a/packages/Presenter-Core.package/PSPresentationLoader.class/methodProperties.json +++ b/packages/Presenter-Core.package/PSPresentationLoader.class/methodProperties.json @@ -1,21 +1,23 @@ { "class" : { + "layoutDirectoryPrefix" : "JB 5/7/2019 21:51", "layoutsDirectoryName" : "msob 4/30/2019 15:38", + "slideDirectoryPrefix" : "JB 5/7/2019 21:51", "slidesDirectoryName" : "LM 7/24/2018 14:46" }, "instance" : { "abandonMorph:" : "MK 7/20/2018 14:56", + "checkLayoutDirectoryName:" : "JB 5/7/2019 22:03", "checkMorphsInDirectory:" : "msob 4/30/2019 16:32", - "checkSlideDirectory:" : "msob 4/30/2019 16:33", - "checkSlideDirectoryName:" : "MK 7/20/2018 15:00", + "checkSlideDirectoryName:" : "JB 5/7/2019 22:02", "errorReport" : "MK 7/20/2018 14:20", "errorReport:" : "MK 7/20/2018 14:20", "initialize" : "LM 7/24/2018 15:30", + "isValidContentDirectory:namesSatisfy:" : "JB 5/7/2019 21:57", "isValidDirectory:" : "msob 4/30/2019 16:34", - "isValidLayoutsDirectory:" : "msob 4/30/2019 16:38", - "isValidPresentationDirectory:" : "msob 4/30/2019 16:42", - "isValidSlidesDirectory:" : "msob 4/30/2019 16:39", + "isValidPresentationDirectory:" : "JB 5/7/2019 21:59", + "layoutName:" : "JB 5/7/2019 22:19", "layoutsDirectoryName" : "msob 4/30/2019 15:38", - "loadLayoutFromDirectory:" : "msob 4/30/2019 15:35", + "loadLayoutFromDirectory:" : "JB 5/7/2019 22:17", "loadLayoutsFrom:" : "msob 4/30/2019 15:41", "loadMorphFromStream:" : "LM 7/24/2018 15:22", "loadMorphFromStream:testIn:" : "LM 7/24/2018 15:08", diff --git a/packages/Presenter-Core.package/PSPresentationTool.class/instance/initialize.st b/packages/Presenter-Core.package/PSPresentationTool.class/instance/initialize.st index ff4da69..8c5a82e 100644 --- a/packages/Presenter-Core.package/PSPresentationTool.class/instance/initialize.st +++ b/packages/Presenter-Core.package/PSPresentationTool.class/instance/initialize.st @@ -2,7 +2,7 @@ initialize-release initialize self - presentation: PSPresentation new; + presentation: PSPresentation newWithLayouts; miniatures: Dictionary new; currentSlideNumber: 0; magneticRasterActive: false; diff --git a/packages/Presenter-Core.package/PSPresentationTool.class/methodProperties.json b/packages/Presenter-Core.package/PSPresentationTool.class/methodProperties.json index acff049..2fd8c5e 100644 --- a/packages/Presenter-Core.package/PSPresentationTool.class/methodProperties.json +++ b/packages/Presenter-Core.package/PSPresentationTool.class/methodProperties.json @@ -51,7 +51,7 @@ "exportSlidesAsPNGsInDirectory:" : "WoC 7/24/2018 15:54", "fileButtonData" : "JZ 7/6/2018 15:42", "highlightCurrentMiniature" : "LB 6/29/2018 17:22", - "initialize" : "msob 4/30/2019 16:25", + "initialize" : "JB 5/7/2019 22:22", "insertButtonData" : "JZ 7/6/2018 15:43", "insertShapeNames" : "VO 4/25/2019 17:20", "isInteractive" : "LB 7/6/2018 17:09", diff --git a/packages/Presenter-Tests.package/PSPresentationLoaderTest.class/instance/testInvalidLayoutDirectoryNames.st b/packages/Presenter-Tests.package/PSPresentationLoaderTest.class/instance/testInvalidLayoutDirectoryNames.st new file mode 100644 index 0000000..f6117b4 --- /dev/null +++ b/packages/Presenter-Tests.package/PSPresentationLoaderTest.class/instance/testInvalidLayoutDirectoryNames.st @@ -0,0 +1,8 @@ +directory checking +testInvalidLayoutDirectoryNames + + | invalidSlideDirectoryNames | + invalidSlideDirectoryNames := {'12layout1' . 'LAYOUT' . 'layout' . 'slide'. 'slide1'} asOrderedCollection. + self assert: (invalidSlideDirectoryNames + noneSatisfy: [:each | (self loader checkLayoutDirectoryName: each)]) + \ No newline at end of file diff --git a/packages/Presenter-Tests.package/PSPresentationLoaderTest.class/instance/testLoadCompletePresentation.st b/packages/Presenter-Tests.package/PSPresentationLoaderTest.class/instance/testLoadCompletePresentation.st index c5a9693..fe4a9b2 100644 --- a/packages/Presenter-Tests.package/PSPresentationLoaderTest.class/instance/testLoadCompletePresentation.st +++ b/packages/Presenter-Tests.package/PSPresentationLoaderTest.class/instance/testLoadCompletePresentation.st @@ -10,4 +10,5 @@ testLoadCompletePresentation assert: presentation slideCount equals: 3; assert: presentation slides first submorphs size equals: 1; assert: presentation slides second submorphs isEmpty; - assert: presentation slides third submorphs size equals: 2 \ No newline at end of file + assert: presentation slides third submorphs size equals: 2; + assert: presentation slideLayouts keys equals: {'Test'} \ No newline at end of file diff --git a/packages/Presenter-Tests.package/PSPresentationLoaderTest.class/methodProperties.json b/packages/Presenter-Tests.package/PSPresentationLoaderTest.class/methodProperties.json index 97cb51b..3b46e54 100644 --- a/packages/Presenter-Tests.package/PSPresentationLoaderTest.class/methodProperties.json +++ b/packages/Presenter-Tests.package/PSPresentationLoaderTest.class/methodProperties.json @@ -12,9 +12,10 @@ "testCanLoadEmptySlide" : "LM 7/25/2018 13:10", "testEmptyPresentationDirectoryIsValid" : "MK 7/20/2018 15:50", "testErrorReportExistsPerSlide" : "VO 5/2/2019 13:53", + "testInvalidLayoutDirectoryNames" : "JB 5/7/2019 21:48", "testInvalidLoadReturnsNil" : "MK 7/20/2018 15:51", "testInvalidSlideDirectoryNames" : "LB 7/24/2018 17:35", - "testLoadCompletePresentation" : "LM 7/25/2018 13:12", + "testLoadCompletePresentation" : "JB 5/7/2019 22:18", "testMissingSlidesDirectory" : "LB 7/24/2018 17:39", "testMorphLoadIsValid" : "LM 7/25/2018 13:14", "testMorphNameIsNotNumber" : "LB 7/24/2018 17:39",