Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Develop #20

Merged
merged 93 commits into from
Oct 19, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
93 commits
Select commit Hold shift + click to select a range
de7a356
Possible fix for #6
LeonMatthes Aug 14, 2018
63e578c
Recategorized all uncategorized in ColorfulMorph
LeonMatthes Aug 14, 2018
3ec5abd
Enter commit log message here
LeonMatthes Aug 14, 2018
a3519ae
Fix small typo
LeonMatthes Aug 14, 2018
6a00b3e
Added compatibility for newest version of trunk
LeonMatthes Aug 28, 2018
cd3bbb6
Work on #7
LeonMatthes Aug 28, 2018
d9a0d35
Improvements to PolygonMorph lectures
LeonMatthes Aug 29, 2018
3daccc6
Closes #10
LeonMatthes Aug 29, 2018
ce3542e
Fixes #6
LeonMatthes Aug 29, 2018
ff05fb3
Closes #9
LeonMatthes Aug 29, 2018
1d0bb68
Closes #9
LeonMatthes Aug 29, 2018
8aa998a
Closes #7
LeonMatthes Sep 1, 2018
ac6813a
minor improvements, classified some methods, refactored method icon
Jeilef Sep 5, 2018
46b750c
started refactoring of lecture structure. structure is now held in a …
Jeilef Sep 6, 2018
45ac9bf
Closes #11
LeonMatthes Sep 6, 2018
b047063
Enter commit log message here
LeonMatthes Sep 6, 2018
260e9e4
"Access an image" lecture now checks for correct file endings.
LeonMatthes Sep 6, 2018
abd74e4
Reset all lectures (remove accidental solution uploads)
LeonMatthes Sep 6, 2018
c510e57
moved from dictionary to subclass structure
Jeilef Sep 6, 2018
70117ca
Closes #12
LeonMatthes Sep 6, 2018
0046066
No longer allow the creation of new methods during user code compilation
LeonMatthes Sep 6, 2018
181de74
Rebound ActiveWorld in CreatePolygon lecture to enable openInWorld
LeonMatthes Sep 7, 2018
7cc2444
moved from singleton to classes
Jeilef Sep 7, 2018
8cda29e
categories are classes and lectures objects
Jeilef Sep 7, 2018
4626572
Potential fix for an issue, which may be caused by incorrect switchin…
LeonMatthes Sep 7, 2018
20746ad
Remove "Widgets" dependency
LeonMatthes Sep 7, 2018
374e47f
Fix test failures due to incomplete MockLecture implementation
LeonMatthes Sep 7, 2018
144470d
Potential fix for Squeak 5.0/1 test failures
LeonMatthes Sep 7, 2018
93b7abf
Replace missing method in Squeak 5.0
LeonMatthes Sep 7, 2018
191f4d1
fixed bug regarding the red and green icons indicating whether the le…
Jeilef Sep 7, 2018
bd21b9c
Remove regex from extractParameterNames, as it is not available in Sq…
LeonMatthes Sep 7, 2018
5b96c35
Merge branch 'develop'. TL;DR: I refactored the structure of lectures.
Jeilef Sep 7, 2018
1a361c7
started fixing tests. wanted to push, so you are up to date what I am…
Jeilef Sep 7, 2018
dfb3282
Merge branch 'develop' of https://github.com/hpi-swa-teaching/SWT18-P…
Jeilef Sep 7, 2018
58bac4e
Improved description text for Introduction lectures
LeonMatthes Sep 10, 2018
c13d2e1
Improved lecture description of the Images category
LeonMatthes Sep 10, 2018
77b329d
Improve lecture descriptions of Events category
LeonMatthes Sep 10, 2018
0e4c80d
Improve lecture descriptions of Polygons category
LeonMatthes Sep 10, 2018
a010515
fixed some tests. resetLecture now works?
Jeilef Sep 11, 2018
84302d7
fixed all tests
Jeilef Sep 11, 2018
f72e3bd
new collision lecture, description still missing
Jeilef Sep 12, 2018
6bb9246
added description
Jeilef Sep 12, 2018
f18538b
extended the spy a little. not in use yet. fixed all tests
Jeilef Sep 14, 2018
4b208cc
added tests for the spy
Jeilef Sep 14, 2018
ec6d8b8
extended spy so that it can now find methods called by methods - they…
Jeilef Sep 18, 2018
83be7ea
new Spy can find internal calls
Jeilef Sep 19, 2018
b33b689
compatibility improvements for earlier squeak versions
Jeilef Sep 22, 2018
aef905d
lock-lecture
Jeilef Sep 25, 2018
9e4c686
clipping lecture
Jeilef Sep 26, 2018
c020b0f
basic rotation lecture
Jeilef Oct 4, 2018
2c57570
removed Etoys-dependency, new rotation lecture explaning Flex shells
Jeilef Oct 4, 2018
dd0568f
added html text for LockMorph lecture
Jeilef Oct 4, 2018
bf14f00
added test for CollisionMorph
Jeilef Oct 4, 2018
dc19021
removed useless method. tested resetSelectedLecture
Jeilef Oct 4, 2018
a69a768
tested Spy further
Jeilef Oct 4, 2018
c08c844
tested browser, collision morph
Jeilef Oct 4, 2018
8f481ff
Polish descriptions and error messages for lectures 5 and 6.
stlutz Oct 15, 2018
89b9c94
Merge pull request #19 from stlutz/develop
stlutz Oct 15, 2018
d4e9755
Typo hunting and some rephrasing for lecture descriptions.
stlutz Oct 15, 2018
17eef69
Use the same coding style for all solutions.
stlutz Oct 15, 2018
fed861b
Fix stepping test
LeonMatthes Oct 15, 2018
b291440
code editor now check code on save. This results in truely saving the…
Jeilef Oct 16, 2018
45dea34
Some lectures were already solved!
LeonMatthes Oct 17, 2018
6b19940
Change MotuCreateMorph and MotuCreatePolygonMorph
LeonMatthes Oct 18, 2018
4733092
Try to fix Linux-Squeak-5.1 test failure
LeonMatthes Oct 18, 2018
ad8a496
Remove infite loop in scene graph
LeonMatthes Oct 18, 2018
2c89a09
Remove invalid references to TARTestAutoRunner
LeonMatthes Oct 18, 2018
e7720b2
Fix small logic error
LeonMatthes Oct 18, 2018
d4ce5a9
Remove invalid references to "lecture" in MotuBrowser
LeonMatthes Oct 18, 2018
3cc7884
Remove another invalid reference to "lecture"
LeonMatthes Oct 18, 2018
4c80b5d
Fix baseline dependency graph
LeonMatthes Oct 18, 2018
2ce8d16
Investigating segfaults
LeonMatthes Oct 18, 2018
adf39dd
Investigating segfault
LeonMatthes Oct 18, 2018
8581f8f
Add output to DNU
LeonMatthes Oct 18, 2018
ca6c443
Remove indirection from DNU
LeonMatthes Oct 18, 2018
5b77e40
Move printout up in DNU
LeonMatthes Oct 18, 2018
0655f5f
Remove potentially critical code from MotuCreateMorph
LeonMatthes Oct 18, 2018
8963831
This should be broken again
LeonMatthes Oct 18, 2018
c9cdb09
Added more debugging information
LeonMatthes Oct 18, 2018
9695f45
this should break again
LeonMatthes Oct 18, 2018
fdcd68e
Fix possible wrong return of ProtoObject in findImplementingClass:in:
LeonMatthes Oct 18, 2018
9517889
only test MotuCreateMorph
LeonMatthes Oct 18, 2018
2bf30cc
don't test MotuCreateMorph
LeonMatthes Oct 18, 2018
de00cb0
Remove most of findCallsIn:
LeonMatthes Oct 18, 2018
1a8fa4a
Readd internalMethods call
LeonMatthes Oct 18, 2018
ab45cdf
Emptied findCallsIn:
LeonMatthes Oct 18, 2018
ef3f048
Remove findCallsIn:
LeonMatthes Oct 18, 2018
f481ea3
Change Morph to PolygonMorph in MotuCreateMorph solution
LeonMatthes Oct 18, 2018
f7e1232
Make Squeak-5.0 allowed failure on develop
LeonMatthes Oct 18, 2018
123f04c
Remove MotuSpy from MotuCreateMorph
LeonMatthes Oct 19, 2018
7c5e2e9
Merge branch 'develop' of https://github.com/hpi-swa-teaching/SWT18-P…
LeonMatthes Oct 19, 2018
b4097a0
Add VB-Regex to Squeak5.0 dependencies
LeonMatthes Oct 19, 2018
0126809
Remove debugging information
LeonMatthes Oct 19, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@ baseline: spec
spec
for: #'common'
do: [
spec package: 'VB-Regex' with: [
spec repository: 'http://www.squeaksource.com/Regex'].

spec
baseline: 'Widgets' with:
[ spec repository: 'github://hpi-swa/widgets:master/repository' ];
yourself.
spec

package: 'MorphicTutorial-Core' with: [spec requires: #('Widgets')];
package: 'MorphicTutorial-Lectures';
package: 'MorphicTutorial-Lectures' with: [
(Smalltalk version = 'Squeak5.0')
ifTrue: [spec requires: #('VB-Regex')]];
package: 'MorphicTutorial-Core' with: [spec requires: #('MorphicTutorial-Lectures')];
package: 'MorphicTutorial-TestMocks' with: [spec requires: #('MorphicTutorial-Core' 'MorphicTutorial-Lectures' )];
package: 'MorphicTutorial-Tests' with: [spec requires: #('MorphicTutorial-Core' 'MorphicTutorial-Lectures' )];
yourself.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
"class" : {
},
"instance" : {
"baseline:" : "js 5/21/2018 19:30" } }
"baseline:" : "LM 10/19/2018 13:26" } }
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
style
aboutToStyle: aStyler

aStyler parseAMethod: self selectedLecture simulateWorkspace not.
^ self selectedLecture simulateWorkspace not
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
building
buildContextBarWith: aBuilder

^ aBuilder pluggableTextSpec new
^ aBuilder pluggableCodePaneSpec new
model: self;
getText: #contextBarContent;
color: #contextBarColor;
readOnly: true;
indicateUnacceptedChanges: false;
frame: (LayoutFrame new
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@ buildDescriptionBoxWith: aBuilder
indicateUnacceptedChanges: false;
frame: (LayoutFrame new
leftFraction: 0;
topFraction: 0.67;
topFraction: 0.45;
rightFraction: 0.33;
bottomFraction: 1)
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@ buildLectureListWith: aBuilder
leftFraction: 0;
topFraction: 0;
rightFraction: 0.33;
bottomFraction: 0.67)
bottomFraction: 0.45)
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ editor and playground
categoryList

"We have to cache the list here, so that the TreeView will not fold the whole tree while updating the green/red-icons"
categoryList ifNil: [categoryList := MotuLectureCategory allCategories].
categoryList ifNil: [categoryList := MotuLecture lectureCategories].
^ categoryList
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
accessing
codeEditor

codeEditor ifNil: [self codeEditor: MotuEditor new].
codeEditor ifNil: [self codeEditor: (MotuEditor new actionOnSave: [self evaluateCode])].
^ codeEditor

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,5 @@ content
contextBarContent

^ self selectedLecture simulateWorkspace
ifTrue: [ ^ 'Workspace' ]
ifFalse: [ ^ ('<b><a href="code://',
self selectedLecture lectureMethod methodClass name asString,
'">', self selectedLecture lectureMethod methodClass name asString,
'</a></b>'
) asHtmlText,
(Text string: ' >> ' attribute: (TextEmphasis bold)),
(Text string: self selectedLecture lectureMethod selector asString attribute: (TextEmphasis bold))]
ifTrue: [ ^ self contextBarWorkspaceContent ]
ifFalse: [ ^ self selectedLecture methodName ]
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
content
contextBarWorkspaceContent

| content |
content := 'Workspace'.
self selectedLecture parameterNames
ifNotEmpty: [:parameters |
content := content, ', provided parameters: '.
parameters do: [:each |
content := content, each, ' ']].
^ content
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ initialize
super initialize.
self playground: MotuPlayground new.
self selectedLecture: nil.
self showSolution: false
self showSolution: false.
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
state
readyToEvaluateCode
^ self selectedLecture enableEvaluation and: [ self showSolution not]
^ self selectedLecture enableEvaluation and: [self showSolution not]
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
accessing
selectedLecture: anObject

(anObject isKindOf: MotuLectureCategory) ifTrue: [^ self ].
anObject isBehavior ifTrue: [^ self ].

selectedLecture ifNotNil: [selectedLecture removeDependent: self].
selectedLecture := anObject ifNil: [ MotuNilLecture new ].
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
style
windowColorToUse
^ Color veryVeryLightGray
^ Color green muchDarker darker
Original file line number Diff line number Diff line change
Expand Up @@ -4,44 +4,45 @@
"defaultLabel" : "ps 7/22/2018 23:19",
"open" : "ps 7/22/2018 23:19" },
"instance" : {
"aboutToStyle:" : "LM 9/1/2018 12:39",
"buildCodeEditorWith:" : "js 6/27/2018 13:43",
"buildCodeStatusBarWith:" : "js 6/16/2018 10:30",
"buildContextBarWith:" : "js 6/16/2018 10:32",
"buildDescriptionBoxWith:" : "till-later 5/2/2018 21:06",
"buildContextBarWith:" : "LM 9/1/2018 12:48",
"buildDescriptionBoxWith:" : "LM 9/10/2018 16:41",
"buildEvaluateButtonWith:" : "js 7/9/2018 11:54",
"buildLectureListWith:" : "ps 6/9/2018 19:35",
"buildLectureListWith:" : "LM 9/10/2018 16:41",
"buildPlaygroundPanelWith:" : "js 6/16/2018 10:30",
"buildResetLectureButtonWith:" : "js 7/9/2018 11:54",
"buildSolutionToggleButtonWith:" : "js 7/9/2018 11:32",
"buildWith:" : "js 7/9/2018 11:32",
"categoryList" : "ps 7/21/2018 10:21",
"categoryList" : "je 9/6/2018 11:33",
"closeAllAutoCompletionMorphs" : "hks 7/24/2018 16:46",
"codeEditor" : "hks 5/22/2018 14:48",
"codeEditor" : "JE 10/16/2018 16:49",
"codeEditor:" : "ps 7/21/2018 10:22",
"codeStatusBarColor" : "ps 7/21/2018 10:22",
"codeStatusBarContent" : "ps 7/21/2018 10:22",
"codeStatusBarContentStyled" : "ps 7/21/2018 10:23",
"codeStatusBarHeight" : "hks 6/11/2018 15:26",
"codeStatusBarTextColor" : "ps 7/21/2018 10:26",
"contextBarColor" : "ps 7/21/2018 10:26",
"contextBarContent" : "hks 6/18/2018 15:29",
"contextBarContent" : "LM 9/1/2018 12:22",
"contextBarWorkspaceContent" : "LM 9/1/2018 12:40",
"descriptionBoxContent" : "ps 7/21/2018 10:26",
"evaluateButtonHeight" : "hks 6/11/2018 15:26",
"evaluateCode" : "ps 7/22/2018 23:09",
"initialize" : "js 7/9/2018 11:42",
"initialize" : "LM 10/18/2018 15:21",
"isSelectedLecturePassed" : "js 7/9/2018 11:36",
"labelString" : "ps 7/21/2018 10:25",
"open" : "ps 7/21/2018 10:24",
"playground" : "ps 7/21/2018 10:23",
"playground:" : "ps 7/21/2018 10:23",
"playgroundInCollection" : "ps 7/21/2018 10:24",
"readyToEvaluateCode" : "ps 7/22/2018 23:17",
"readyToEvaluateCode" : "je 9/5/2018 15:52",
"resetSelectedLecture" : "ps 7/21/2018 10:26",
"selectedLecture" : "ps 7/21/2018 10:24",
"selectedLecture:" : "js 7/9/2018 11:44",
"selectedLecture:" : "je 9/7/2018 15:25",
"showSolution" : "js 7/9/2018 11:41",
"showSolution:" : "ps 7/21/2018 10:24",
"solutionButtonLabel" : "ps 7/21/2018 10:26",
"toggleSolution" : "ps 7/21/2018 10:27",
"update:" : "ps 7/21/2018 10:24",
"windowColorToUse" : "js 7/2/2018 14:48" } }
"update:" : "je 9/7/2018 16:37",
"windowColorToUse" : "LM 8/29/2018 12:22" } }
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
accessing
actionOnSave: anObject
actionOnSave := anObject
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
accessing
actionOnSave
^ actionOnSave
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,6 @@ accessing
activeLecture: aLecture

activeLecture := aLecture.
self code: aLecture codeToEdit.
"It is important that the parameters are set before the code is changed"
self parameters: aLecture parameterNames.
self code: aLecture codeToEdit
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
building
buildCodePaneWith: builder

^ (super buildCodePaneWith: builder)
stylerClass: MotuTextStyler;
setText: #evaluateAndSaveText:notifying:;
yourself
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
as yet unclassified
evaluateAndSaveText: aText notifying: aController

self code: aText.
self actionOnSave value


Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
as yet unclassified
evaluateExpression: aString

UIManager default inform: 'Please use the "Evaluate code" button to test your code'.
^ nil
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
initialize-release
initialize

self parameters: OrderedCollection new
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
accessing
parameters: anObject

parameters := anObject.
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
accessing
parameters

^ parameters
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,19 @@
},
"instance" : {
"aboutToStyle:" : "js 6/27/2018 13:12",
"accept" : "ps 7/21/2018 10:15",
"accept" : "JE 10/16/2018 16:52",
"actionOnSave" : "JE 10/16/2018 16:48",
"actionOnSave:" : "JE 10/16/2018 16:48",
"activeLecture" : "js 5/22/2018 17:09",
"activeLecture:" : "ps 7/22/2018 23:10",
"activeLecture:" : "LM 9/1/2018 12:02",
"buildCodePaneWith:" : "JE 10/16/2018 16:51",
"code" : "ps 7/22/2018 23:09",
"code:" : "ps 7/22/2018 23:10",
"evaluateAndSaveText:notifying:" : "JE 10/16/2018 18:06",
"evaluateExpression:" : "LM 9/6/2018 11:21",
"initialize" : "LM 9/1/2018 12:01",
"parameters" : "LM 9/1/2018 11:54",
"parameters:" : "LM 9/1/2018 11:54",
"showSolutionCode" : "hks 7/24/2018 17:04",
"showUserCode" : "hks 7/24/2018 17:04",
"wantsAnnotationPane" : "ps 7/21/2018 10:16",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@
],
"commentStamp" : "",
"instvars" : [
"activeLecture" ],
"activeLecture",
"parameters",
"actionOnSave" ],
"name" : "MotuEditor",
"pools" : [
],
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
as yet unclassified
accessing
asString
^ self item name
^ self item categoryName
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
as yet unclassified
accessing
contents
^ self item lectures collect: [ :each |
MotuLectureListItemWrapper with: (each instance) model: self model parent: self]
^ self item sublectures collect: [ :each |
MotuLectureListItemWrapper with: each instance model: self model parent: self]
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
as yet unclassified
accessing
hasContents
^ true
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
"class" : {
},
"instance" : {
"asString" : "ps 7/22/2018 23:12",
"contents" : "ps 7/22/2018 23:12",
"asString" : "je 9/7/2018 14:57",
"contents" : "je 9/7/2018 16:57",
"hasContents" : "ps 7/22/2018 23:12" } }
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
as yet unclassified
accessing
asString
^ self item lectureName
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
as yet unclassified
accessing
icon
|icon|

icon := self item passed
ifTrue: [#testGreen]
ifFalse: [#testRed].

^ ToolIcons iconNamed: icon
^ ToolIcons iconNamed: (self item passed
ifTrue: [#testGreen]
ifFalse: [#testRed])
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
as yet unclassified
initialization
setItem: aMotuLecture model: aModel parent: itemParent

self parent: itemParent.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"with:model:parent:" : "hks 5/22/2018 14:34" },
"instance" : {
"asString" : "ps 7/22/2018 23:12",
"icon" : "ps 7/22/2018 23:12",
"icon" : "je 9/5/2018 15:46",
"parent" : "ps 7/22/2018 23:12",
"parent:" : "hks 5/22/2018 14:32",
"setItem:model:parent:" : "hks 7/24/2018 16:58" } }
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
initialize-release
initialize

super initialize.
self motuParameters: OrderedCollection new
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
accessing
motuParameters: aCollection

motuParameters := aCollection
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
accessing
motuParameters

^ motuParameters
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
parse
parseMessagePattern
"The Morphic Tutorial always compiles code into a method, but because the header should not be modifiable, it is missing during parsing"
self motuParameters do: [:each |
self pushArgument: each]
Loading