Cairo__AbstractExamples.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 01 Mar 2016 16:10:07 +0000
changeset 57 2c9a342e1f2a
child 88 9d51db2ba641
permissions -rw-r--r--
Examples: added utility methods to automatically generate wiki page from examples ...including screenshots.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
57
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/libcairo' }"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
"{ NameSpace: Cairo }"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
TestCase subclass:#AbstractExamples
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	instanceVariableNames:'view'
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	classVariableNames:''
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
	poolDictionaries:''
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
	category:'Cairo-Examples'
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
!AbstractExamples class methodsFor:'accessing'!
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
isTestSelector:aSelector
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
    | method |
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
    aSelector isNil ifTrue:[ ^ false ].
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
    method := self lookupMethodFor: aSelector.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
    ^ method notNil 
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
        and:[(method hasAnnotation: #example:) or:[ method hasAnnotation: #example:category: ] ]
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
    "
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
    Cairo::Examples1 isTestSelector: #example01:
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
    "
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
    "Created: / 26-02-2016 / 21:57:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
! !
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
!AbstractExamples class methodsFor:'private'!
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
testSelectors
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
        "The API method is allTestSelectors which now includes #shouldInheritSelectors and so handles all cases.  Unlike that method, this does not guarantee to return a sorted ordered collection."
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
        ^self sunitSelectors select: [:each | self isTestSelector: each ]
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
    "Created: / 26-02-2016 / 22:40:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
! !
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
!AbstractExamples class methodsFor:'queries'!
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
isAbstract
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
    "Return if this class is an abstract class.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
     True is returned here for myself only; false for subclasses.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
     Abstract subclasses must redefine again."
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
    ^ self == Cairo::AbstractExamples.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
! !
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
!AbstractExamples class methodsFor:'utilities - markdown'!
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
markdownFilename
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
    ^ self nameWithoutNameSpacePrefix , '.md'
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
    "
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
    Cairo::Examples1 markdownFilename
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
    "
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
    "Created: / 01-03-2016 / 22:53:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
!
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
writeMarkdownIn: aFilename
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
    aFilename asFilename writingFileDo:[:s|
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
        self writeMarkdownOn: s.  
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
    ]
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
    "Created: / 01-03-2016 / 22:53:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
    "Modified: / 02-03-2016 / 21:37:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
!
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
writeMarkdownInDirectory: directory
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
    self writeMarkdownIn: directory asFilename / self markdownFilename.  
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
    "
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
     Cairo::Examples1 writeMarkdownInDirectory: '/tmp'
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
     Cairo::Examples2 writeMarkdownInDirectory: '/tmp'
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
     Cairo::Examples1 writeMarkdownInDirectory: '/home/jv/Projects/Cairo/libcairo/wiki/examples'
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
     Cairo::Examples2 writeMarkdownInDirectory: '/home/jv/Projects/Cairo/libcairo/wiki/examples'
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
    "
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
    "Created: / 01-03-2016 / 22:53:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
    "Modified (comment): / 02-03-2016 / 09:38:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
!
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
writeMarkdownOn:aStream 
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
    ((self buildSuite tests) asSortedCollection:[:a :b | a name < b name]) do:[:example | 
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
        example writeMarkdownOn:aStream.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
    ].
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
    "
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
     String streamContents:[ :s | Cairo::Examples1 writeMarkdownOn: s ].
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
     String streamContents:[ :s | Cairo::Examples2 writeMarkdownOn: s ]. 
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
    "
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
    "Created: / 01-03-2016 / 22:35:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
! !
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
!AbstractExamples class methodsFor:'utilities - screenshots'!
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
writeScreenshotsInDirectory:directory 
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
    self buildSuite tests do:[:example | 
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
        example writeScreenshotsInDirectory:directory
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
    ].
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
    "
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
     Cairo::Examples1 writeScreenshotsInDirectory: '/tmp'
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
     Cairo::Examples2 writeScreenshotsInDirectory: '/tmp'
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
     Cairo::Examples1 writeScreenshotsInDirectory: 'C:\Temp'
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
     Cairo::Examples2 writeScreenshotsInDirectory: 'C:\Temp'
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
     Cairo::Examples1 writeScreenshotsInDirectory: 'H:\Projects\Cairo\libcairo\wiki\examples'
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
     Cairo::Examples2 writeScreenshotsInDirectory: 'H:\Projects\Cairo\libcairo\wiki\examples'
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
     
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
    "
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   118
    "Created: / 01-03-2016 / 15:45:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
    "Modified (comment): / 01-03-2016 / 23:03:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   120
    "Modified (comment): / 01-03-2016 / 23:35:43 / jv"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   121
! !
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   122
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   123
!AbstractExamples class methodsFor:'utilities - wiki'!
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   125
writeWikiInDirectory: aFilename
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   126
    self writeMarkdownInDirectory: aFilename.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   127
    self writeScreenshotsInDirectory: aFilename.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
    "
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
    Cairo::Examples1 writeWikiInDirectory: '/home/jv/Projects/Cairo/libcairo/wiki/examples'
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
    Cairo::Examples2 writeWikiInDirectory: '/home/jv/Projects/Cairo/libcairo/wiki/examples'
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
    "
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
    "Created: / 01-03-2016 / 22:58:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
! !
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   137
!AbstractExamples methodsFor:'accessing'!
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   138
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
category
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   140
    | annotations |
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
    annotations := self method annotationsAt: #example: orAt: #example:category:.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
    annotations first arguments second
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   143
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   144
    "Created: / 01-03-2016 / 09:17:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   145
!
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
method
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   148
    ^ self class lookupMethodFor: testSelector
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   149
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   150
    "Created: / 01-03-2016 / 09:16:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   151
!
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   152
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   153
name
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   154
    | annotations |
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   155
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   156
    annotations := self method annotationsAt: #example: orAt: #example:category:.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   157
    ^ annotations first arguments first
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   158
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   159
    "Created: / 01-03-2016 / 09:17:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   160
!
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   161
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   162
source
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   163
    | method source |
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   164
    method := self method.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   165
    source := method source asStringCollection.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   166
    source := source copyFrom: 2.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   167
    source := source asString. 
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   168
    ^ source
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   169
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   170
    "Created: / 01-03-2016 / 09:18:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
! !
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   172
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   173
!AbstractExamples methodsFor:'private'!
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   174
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   175
performTestDrawingView:arg
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   176
    "raise an error: must be redefined in concrete subclass(es)"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   177
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   178
    ^ self subclassResponsibility
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   179
! !
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   180
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   181
!AbstractExamples methodsFor:'running'!
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   182
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   183
setUp
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   184
    | top |
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   185
    self assert: Display notNil.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   186
    top := StandardSystemView new.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   187
    top label: self name.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   188
    top origin: 10@10 extent: (32 * 8) @ (32 * 8).       
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   189
    view := SimpleView origin: 0.0 @ 0.0 corner: 1.0 @ 1.0 in: top.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   190
    top openAndWait.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   191
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   192
    "Created: / 26-02-2016 / 22:15:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   193
    "Modified: / 01-03-2016 / 10:09:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   194
!
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   195
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   196
tearDown
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   197
    view notNil ifTrue:[ 
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   198
        view topView close.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   199
    ].
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   200
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   201
    "Created: / 26-02-2016 / 22:18:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   202
! !
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   203
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   204
!AbstractExamples methodsFor:'utilities - markdown'!
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   205
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   206
writeMarkdownLinkTo: target text: text inline: inline on: stream
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   207
    inline ifTrue:[ stream nextPut: $!! ].
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   208
    stream nextPut: $[.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   209
    stream nextPutAll: text.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   210
    stream nextPut: $].
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   211
    stream nextPut: $(.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   212
    stream nextPutAll: target.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   213
    stream nextPut: $).
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   214
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   215
    "Created: / 01-03-2016 / 22:21:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   216
    "Modified: / 02-03-2016 / 10:35:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   217
!
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   218
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   219
writeMarkdownLinkTo: target text: text on: stream
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   220
    self writeMarkdownLinkTo: target text: text inline: false on: stream
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   221
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   222
    "Created: / 01-03-2016 / 22:22:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   223
!
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   224
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   225
writeMarkdownOn: aStream
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   226
    | name |
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   227
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   228
    name := self name.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   229
    aStream nextPutAll: '## '; nextPutAll: name; cr; cr.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   230
    self writeMarkdownSourceOn: aStream.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   231
    self writeMarkdownOutputOn: aStream.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   232
    aStream cr; cr.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   233
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   234
    "
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   235
    String streamContents:[ :s | (Cairo::Examples1 selector: #example24:) writeMarkdownOn: s ]
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   236
    "
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   237
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   238
    "Created: / 01-03-2016 / 22:08:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   239
!
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   240
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   241
writeMarkdownOutputOn: aStream
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   242
    self subclassResponsibility
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   243
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   244
    "Created: / 01-03-2016 / 22:10:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   245
!
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   246
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   247
writeMarkdownSourceOn: aStream
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   248
    aStream nextPutAll: 'Source'; cr.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   249
    aStream nextPutAll: '````'; cr.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   250
    aStream nextPutAll: '#!!smalltalk'; cr.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   251
    aStream nextPutAll: self source; cr.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   252
    aStream nextPutAll: '````'; cr; cr.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   253
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   254
    "Created: / 01-03-2016 / 22:10:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   255
! !
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   256
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   257
!AbstractExamples methodsFor:'utilities - screenshots'!
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   258
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   259
screenshotFilename
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   260
    | basename |
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   261
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   262
    basename := String streamContents:[ :out | 
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   263
        | in char skipUndescore |
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   264
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   265
        in := self name readStream.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   266
        [ in atEnd ] whileFalse:[
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   267
            char := in next.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   268
            char isAlphaNumeric ifTrue:[ 
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   269
                skipUndescore := false.    
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   270
                out nextPut: char
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   271
            ] ifFalse:[ 
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   272
                skipUndescore ifFalse:[ 
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   273
                    skipUndescore := true.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   274
                    out nextPut: $_
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   275
                ].
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   276
            ].
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   277
        ]
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   278
    ].
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   279
    ^ basename
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   280
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   281
    "
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   282
    (Cairo::Examples1 selector: #example22:) screenshotFilename
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   283
    "
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   284
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   285
    "Created: / 01-03-2016 / 21:30:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   286
!
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   287
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   288
writeScreenshotIn:basenameArg scale:scale 
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   289
    | basename  windowLabelFormat |
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   290
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   291
    basename := basenameArg.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   292
    basename := basename , '_' , scale printString , '00'.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   293
    windowLabelFormat := StandardSystemView windowLabelFormat.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   294
    [
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   295
        StandardSystemView windowLabelFormat:(scale == 1 
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   296
                    ifTrue:[ '%1' ]
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   297
                    ifFalse:[ '%1 (' , scale printString , '00%)' ]).
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   298
        self setUp.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   299
        scale < 3 ifTrue:[
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   300
            view topView extent:(32 * 8 * scale) @ (32 * 8 * scale).
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   301
        ] ifFalse:[
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   302
            view topView extent:(32 * 3 * scale) @ (32 * 3 * scale).
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   303
        ].
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   304
        scale ~~ 1 ifTrue:[
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   305
            view transformation:(WindowingTransformation scale:scale).
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   306
        ].
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   307
        Delay waitForMilliseconds:200.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   308
        self performTestDrawingView:view.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   309
        self writeScreenshotIn:basename windowID:view topView drawableId.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   310
    ] ensure:[
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   311
        StandardSystemView windowLabelFormat:windowLabelFormat.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   312
        self tearDown.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   313
    ].
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   314
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   315
    "Created: / 01-03-2016 / 12:38:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   316
    "Modified: / 01-03-2016 / 15:48:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   317
    "Modified: / 01-03-2016 / 23:39:41 / jv"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   318
!
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   319
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   320
writeScreenshotIn:basenameArg windowID:windowId 
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   321
    | basename |
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   322
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   323
    basename := basenameArg.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   324
    (basename endsWith:'.png') ifFalse:[
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   325
        basename := basename , '.png'.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   326
    ].
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   327
    OperatingSystem isUNIXlike ifTrue:[
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   328
        OperatingSystem 
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   329
            executeCommand:'import -frame -window 0x' 
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   330
                    , windowId address hexPrintString , ' ' 
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   331
                    , basename.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   332
        ^ self.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   333
    ].
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   334
    OperatingSystem isMSWINDOWSlike ifTrue:[
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   335
        OperatingSystem 
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   336
            executeCommand:'screenshot-cmd -wh ' , windowId address hexPrintString 
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   337
                    , ' -o ' , basename.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   338
        ^ self
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   339
    ].
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   340
    self error:'Unsupported operating system'.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   341
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   342
    "
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   343
     (Cairo::Examples1 selector: #example24:) writeScreenshotInDirectory: '/tmp' scale: 8
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   344
     (Cairo::Examples1 selector: #example24:) writeScreenshotInDirectory: 'C:\Temp' scale: 8
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   345
    "
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   346
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   347
    "Created: / 01-03-2016 / 10:48:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   348
    "Modified: / 01-03-2016 / 12:39:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   349
    "Modified (comment): / 01-03-2016 / 17:16:04 / jv"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   350
    "Modified (comment): / 01-03-2016 / 21:49:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   351
!
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   352
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   353
writeScreenshotInDirectory:directory 
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   354
    ^ self writeScreenshotInDirectory:directory scale:1
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   355
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   356
    "
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   357
     (Cairo::Examples1 selector: #example24:) writeScreenshotInDirectory: '/tmp'
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   358
     (Cairo::Examples1 selector: #example24:) writeScreenshotInDirectory: '/tmp' scale: 8
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   359
    "
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   360
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   361
    "Created: / 01-03-2016 / 10:52:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   362
    "Modified (comment): / 01-03-2016 / 17:18:28 / jv"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   363
    "Modified (comment): / 01-03-2016 / 21:48:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   364
!
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   365
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   366
writeScreenshotInDirectory:directory scale:scale 
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   367
    | basename |
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   368
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   369
    basename := (directory asFilename / self screenshotFilename) pathName.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   370
    OperatingSystem isUNIXlike ifTrue:[
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   371
        OperatingSystem isOSXlike ifTrue:[
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   372
            basename := basename , '_osx'.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   373
        ] ifFalse:[
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   374
            basename := basename , '_linux'.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   375
        ]
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   376
    ] ifFalse:[
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   377
        OperatingSystem isMSWINDOWSlike ifTrue:[
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   378
            basename := basename , '_windows'.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   379
        ]
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   380
    ].   
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   381
    self writeScreenshotIn:basename scale:scale.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   382
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   383
    "Created: / 01-03-2016 / 10:46:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   384
    "Modified (format): / 01-03-2016 / 17:23:44 / jv"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   385
    "Modified: / 01-03-2016 / 22:12:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   386
!
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   387
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   388
writeScreenshotsInDirectory:directory 
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   389
    self writeScreenshotInDirectory:directory scale:1.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   390
    self writeScreenshotInDirectory:directory scale:8.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   391
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   392
    "
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   393
     (Cairo::Examples1 selector: #example24:) writeScreenshotInDirectory: '/tmp'
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   394
     (Cairo::Examples1 selector: #example24:) writeScreenshotInDirectory: '/tmp' scale: 8
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   395
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   396
     (Cairo::Examples1 selector: #example24:) writeScreenshotInDirectory: 'C:\Temp'
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   397
    "
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   398
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   399
    "Created: / 01-03-2016 / 12:33:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   400
    "Modified (comment): / 01-03-2016 / 17:18:43 / jv"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   401
    "Modified (comment): / 01-03-2016 / 21:48:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   402
! !
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   403