-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[feenkcom/gtoolkit#3596] added pattern map with categories
- Loading branch information
Oscar Nierstrasz
committed
Oct 30, 2024
1 parent
278aa91
commit 581e79c
Showing
2 changed files
with
193 additions
and
103 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -9,29 +9,32 @@ LePageMondrianMapExamples >> oldPatternMap [ | |
"The original map of patterns with default layout." | ||
|
||
<gtExample> | ||
^ LePageMondrianMap new | ||
pageTitles: {'Moldable Object'. | ||
'Moldable Data Wrapper'. | ||
'Project Diary'. | ||
'Contextual Playground'. | ||
'Example Object'. | ||
'Custom View'. | ||
'Custom Action'. | ||
'Simple View'. | ||
'Moldable Collection Wrapper'}; | ||
database: LeDatabase gtBook; | ||
connections: {'Moldable Object' | ||
-> {'Moldable Data Wrapper'. | ||
'Project Diary'. | ||
'Contextual Playground'}. | ||
'Project Diary' -> {'Example Object'}. | ||
'Contextual Playground' | ||
-> {'Custom View'. | ||
'Custom Action'. | ||
'Example Object'}. | ||
'Custom View' | ||
-> {'Simple View'. | ||
'Moldable Collection Wrapper'}} | ||
| map | | ||
map := LePageMondrianMap new | ||
pageTitles: {'Moldable Object'. | ||
'Moldable Data Wrapper'. | ||
'Project Diary'. | ||
'Contextual Playground'. | ||
'Example Object'. | ||
'Custom View'. | ||
'Custom Action'. | ||
'Simple View'. | ||
'Moldable Collection Wrapper'}; | ||
database: LeDatabase gtBook; | ||
connections: {'Moldable Object' | ||
-> {'Moldable Data Wrapper'. | ||
'Project Diary'. | ||
'Contextual Playground'}. | ||
'Project Diary' -> {'Example Object'}. | ||
'Contextual Playground' | ||
-> {'Custom View'. | ||
'Custom Action'. | ||
'Example Object'}. | ||
'Custom View' | ||
-> {'Simple View'. | ||
'Moldable Collection Wrapper'}}. | ||
self assert: map missingPages isEmpty. | ||
^ map | ||
] | ||
|
||
{ #category : #accessing } | ||
|
@@ -41,115 +44,197 @@ LePageMondrianMapExamples >> oldPatternMapwithExplicitPositions [ | |
(self root children collect: #position)" | ||
|
||
<gtExample> | ||
^ self oldPatternMap | ||
explicitPositions: {184.9584903717041 @ 245.31882731119794. | ||
372.0 @ 243.91666666666669. | ||
399.2699890136719 @ 297.9166666666667. | ||
163.60298538208008 @ 351.9166666666667. | ||
392.554988861084 @ 354.51450602213544. | ||
195.3509864807129 @ 420.51450602213544. | ||
353.4189872741699 @ 420.51450602213544. | ||
139.4889907836914 @ 483.1123453776042. | ||
241.65098571777344 @ 483.1123453776042. | ||
297.3524875640869 @ 259.2440187484011. | ||
297.3524875640869 @ 274.55073920388384. | ||
241.26675975939287 @ 274.9166666666667. | ||
446.2144626644011 @ 327.51450602213544. | ||
242.00638569915492 @ 381.5145060221354. | ||
277.1290380863739 @ 381.51450602213544. | ||
320.310977935791 @ 367.70853786158517. | ||
197.80934387551858 @ 450.11234537760424. | ||
257.7372079134252 @ 450.11234537760424} | ||
| map | | ||
map := self oldPatternMap | ||
explicitPositions: {184.9584903717041 @ 245.31882731119794. | ||
372.0 @ 243.91666666666669. | ||
399.2699890136719 @ 297.9166666666667. | ||
163.60298538208008 @ 351.9166666666667. | ||
392.554988861084 @ 354.51450602213544. | ||
195.3509864807129 @ 420.51450602213544. | ||
353.4189872741699 @ 420.51450602213544. | ||
139.4889907836914 @ 483.1123453776042. | ||
241.65098571777344 @ 483.1123453776042. | ||
297.3524875640869 @ 259.2440187484011. | ||
297.3524875640869 @ 274.55073920388384. | ||
241.26675975939287 @ 274.9166666666667. | ||
446.2144626644011 @ 327.51450602213544. | ||
242.00638569915492 @ 381.5145060221354. | ||
277.1290380863739 @ 381.51450602213544. | ||
320.310977935791 @ 367.70853786158517. | ||
197.80934387551858 @ 450.11234537760424. | ||
257.7372079134252 @ 450.11234537760424}. | ||
self assert: map missingPages isEmpty. | ||
^ map | ||
] | ||
|
||
{ #category : #accessing } | ||
LePageMondrianMapExamples >> patternMap [ | ||
<gtExample> | ||
^ self patternMapDefaultLayout | ||
explicitPositions: self patternMapExplicitPositions; | ||
yourself | ||
| map | | ||
map := self patternMapDefaultLayout | ||
explicitPositions: self patternMapExplicitPositions; | ||
yourself. | ||
self assert: map missingPages isEmpty. | ||
^ map | ||
] | ||
|
||
{ #category : #accessing } | ||
LePageMondrianMapExamples >> patternMapDefaultLayout [ | ||
"Revised pattern map with patterns from the EuroPLoP submission. | ||
This is the default layout." | ||
|
||
<gtExample> | ||
^ LePageMondrianMap new | ||
pageTitles: {'Explainable System'. | ||
'Moldable Tool'. | ||
'Contextual Playground'. | ||
'Custom View'. | ||
'Custom Search'. | ||
'Custom Action'. | ||
'Moldable Object'. | ||
'Example Object'. | ||
'Moldable Data Wrapper'. | ||
'Moldable Collection Wrapper'. | ||
'Project Diary'. | ||
'Tooling Buildup'. | ||
'Blind Spot'. | ||
'Simple View'. | ||
'Throwaway Analysis Tool'}; | ||
database: LeDatabase gtBook; | ||
connections: {'Explainable System' | ||
-> {'Moldable Tool'. | ||
'Tooling Buildup'. | ||
'Blind Spot'. | ||
'Project Diary'}. | ||
'Moldable Tool' -> {'Moldable Object'}. | ||
'Tooling Buildup' -> {'Moldable Object'}. | ||
'Blind Spot' -> {'Moldable Object'}. | ||
'Project Diary' | ||
-> {'Moldable Object'. | ||
'Example Object'}. | ||
'Moldable Object' | ||
-> {'Example Object'. | ||
'Contextual Playground'. | ||
'Moldable Data Wrapper'}. | ||
'Example Object' -> {'Moldable Object'}. | ||
'Moldable Data Wrapper' -> {'Moldable Object'}. | ||
'Contextual Playground' | ||
-> {'Custom View'. | ||
'Custom Search'. | ||
'Custom Action'}. | ||
'Custom View' -> {'Simple View'}. | ||
'Custom Search' -> {'Moldable Collection Wrapper'}. | ||
'Throwaway Analysis Tool' -> {'Contextual Playground'}}; | ||
yourself | ||
| map | | ||
map := LePageMondrianMap new | ||
pageTitles: {'Explainable System'. | ||
'Moldable Tool'. | ||
'Contextual Playground'. | ||
'Custom View'. | ||
'Custom Search'. | ||
'Custom Action'. | ||
'Moldable Object'. | ||
'Example Object'. | ||
'Moldable Data Wrapper'. | ||
'Moldable Collection Wrapper'. | ||
'Project Diary'. | ||
'Tooling Buildup'. | ||
'Blind Spot'. | ||
'Simple View'. | ||
'Throwaway Analysis Tool'}; | ||
database: LeDatabase gtBook; | ||
connections: {'Explainable System' | ||
-> {'Moldable Tool'. | ||
'Tooling Buildup'. | ||
'Blind Spot'. | ||
'Project Diary'}. | ||
'Moldable Tool' -> {'Moldable Object'}. | ||
'Tooling Buildup' -> {'Moldable Object'}. | ||
'Blind Spot' -> {'Moldable Object'}. | ||
'Project Diary' | ||
-> {'Moldable Object'. | ||
'Example Object'}. | ||
'Moldable Object' | ||
-> {'Example Object'. | ||
'Contextual Playground'. | ||
'Moldable Data Wrapper'}. | ||
'Example Object' -> {'Moldable Object'}. | ||
'Moldable Data Wrapper' -> {'Moldable Object'}. | ||
'Contextual Playground' | ||
-> {'Custom View'. | ||
'Custom Search'. | ||
'Custom Action'}. | ||
'Custom View' -> {'Simple View'}. | ||
'Custom Search' -> {'Moldable Collection Wrapper'}. | ||
'Throwaway Analysis Tool' -> {'Contextual Playground'}}; | ||
yourself. | ||
self assert: map missingPages isEmpty. | ||
^ map | ||
] | ||
|
||
{ #category : #accessing } | ||
LePageMondrianMapExamples >> patternMapExplicitPositions [ | ||
^ {([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected])} | ||
] | ||
|
||
{ #category : #accessing } | ||
LePageMondrianMapExamples >> patternMapWithCategories [ | ||
"Pattern map from EuroPLoP 24 paper, with categories and Composed Narrative" | ||
<gtExample> | ||
| map | | ||
map := LePageMondrianMap new | ||
pageCategoriesAndTitles: {{''. 'Explainable System'}. | ||
{'(T) '. 'Moldable Tool'}. | ||
{'(T) '. 'Contextual Playground'}. | ||
{'(T) '. 'Custom View'}. | ||
{'(T) '. 'Custom Search'}. | ||
{'(T) '. 'Custom Action'}. | ||
{'(T) '. 'Composed Narrative'}. | ||
{'(M) '. 'Moldable Object'}. | ||
{'(M) '. 'Example Object'}. | ||
{'(M) '. 'Moldable Data Wrapper'}. | ||
{'(M) '. 'Moldable Collection Wrapper'}. | ||
{'(P) '. 'Project Diary'}. | ||
{'(P) '. 'Tooling Buildup'}. | ||
{'(P) '. 'Blind Spot'}. | ||
{'(P) '. 'Simple View'}. | ||
{'(P) '. 'Throwaway Analysis Tool'}}; | ||
database: LeDatabase gtBook; | ||
connectionsWithCategories: | ||
{{''. 'Explainable System'} -> { | ||
{'(T) '. 'Moldable Tool'}. | ||
{'(P) '. 'Tooling Buildup'}. | ||
{'(P) '. 'Blind Spot'}. | ||
{'(P) '. 'Project Diary'}}. | ||
{'(T) '. 'Moldable Tool'} -> {{'(M) '. 'Moldable Object'}}. | ||
{'(P) '. 'Tooling Buildup'} -> {{'(M) '. 'Moldable Object'}}. | ||
{'(P) '. 'Blind Spot'} -> { | ||
{'(T) '. 'Composed Narrative'}. | ||
{'(M) '. 'Moldable Object'}}. | ||
{'(T) '. 'Composed Narrative'} -> { | ||
{'(T) '. 'Moldable Tool'}. | ||
{'(M) '. 'Moldable Object'}}. | ||
{'(P) '. 'Project Diary'} -> { | ||
{'(T) '. 'Composed Narrative'}. | ||
{'(M) '. 'Example Object'}}. | ||
{'(M) '. 'Moldable Object'} -> { | ||
{'(M) '. 'Example Object'}. | ||
{'(T) '. 'Contextual Playground'}. | ||
{'(M) '. 'Moldable Data Wrapper'}}. | ||
{'(M) '. 'Example Object'} -> {{'(M) '. 'Moldable Object'}}. | ||
{'(M) '. 'Moldable Data Wrapper'} -> {{'(M) '. 'Moldable Object'}}. | ||
{'(T) '. 'Contextual Playground'} -> { | ||
{'(T) '. 'Custom View'}. | ||
{'(T) '. 'Custom Search'}. | ||
{'(T) '. 'Custom Action'}}. | ||
{'(T) '. 'Custom View'} -> {{'(P) '. 'Simple View'}}. | ||
{'(T) '. 'Custom Search'} -> {{'(M) '. 'Moldable Collection Wrapper'}}. | ||
{'(P) '. 'Throwaway Analysis Tool'} -> {{'(T) '. 'Contextual Playground'}}}; | ||
yourself. | ||
self assert: map missingPages isEmpty. | ||
^ map explicitPositions: self patternMapWithCategoriesExplicitPositions; | ||
yourself | ||
] | ||
|
||
{ #category : #accessing } | ||
LePageMondrianMapExamples >> patternMapWithCategoriesExplicitPositions [ | ||
^ {([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected]). ([email protected])} | ||
] | ||
|
||
{ #category : #accessing } | ||
LePageMondrianMapExamples >> simpleMap [ | ||
"A simple map with default layout." | ||
|
||
<gtExample> | ||
^ LePageMondrianMap new | ||
pageTitles: {'Glamorous Toolkit'. | ||
'About this book'. | ||
'Get started'}; | ||
database: LeDatabase gtBook; | ||
connections: {'Glamorous Toolkit' | ||
-> {'About this book'. | ||
'Get started'}} | ||
| map | | ||
map := LePageMondrianMap new | ||
pageTitles: {'Glamorous Toolkit'. | ||
'About this book'. | ||
'Get started'}; | ||
database: LeDatabase gtBook; | ||
connections: {'Glamorous Toolkit' | ||
-> {'About this book'. | ||
'Get started'}}. | ||
self assert: map missingPages isEmpty. | ||
^ map | ||
] | ||
|
||
{ #category : #accessing } | ||
LePageMondrianMapExamples >> simpleMapWithCategories [ | ||
<gtExample> | ||
^ LePageMondrianMap new | ||
pageCategoriesAndTitles: {{''. 'Explainable System'}. | ||
{'(T) '. 'Moldable Tool'}. | ||
{'(P) '. 'Tooling Buildup'}}; | ||
database: LeDatabase gtBook; | ||
connectionsWithCategories: {{''.'Explainable System'} | ||
-> {{'(T) '.'Moldable Tool'}. | ||
{'(P) '.'Tooling Buildup'}}} | ||
| map | | ||
map := LePageMondrianMap new | ||
pageCategoriesAndTitles: | ||
{{''. 'Explainable System'}. | ||
{'(T) '. 'Moldable Tool'}. | ||
{'(P) '. 'Tooling Buildup'}}; | ||
database: LeDatabase gtBook; | ||
connectionsWithCategories: { | ||
{''. 'Explainable System'} -> { | ||
{'(T) '. 'Moldable Tool'}. | ||
{'(P) '. 'Tooling Buildup'}}}. | ||
self assert: map missingPages isEmpty. | ||
^ map | ||
] | ||
|
||
{ #category : #accessing } | ||
|