Cairo__AbstractViewer.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 05 Apr 2016 10:00:57 +0100
changeset 77 cdf856e78998
parent 57 2c9a342e1f2a
child 88 9d51db2ba641
permissions -rw-r--r--
CairoGraphicsContext: Fixed paint setting Even though methods like #foreground: / #foreground:background: method are marked obsolete for quite some time, a lot of core widgets are still using them (!). Therefore CairoGraphicsContext must implement them to correctly update Cairo context. This fixes issues with EditField.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/libcairo' }"
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
"{ NameSpace: Cairo }"
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
ApplicationModel subclass:#AbstractViewer
52
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
     6
	instanceVariableNames:'workspace exampleCodeHolder exampleMethodHolder zoomHolder'
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	classVariableNames:''
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
	poolDictionaries:''
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
	category:'Cairo-Examples'
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
!AbstractViewer class methodsFor:'interface specs'!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
previewSpec
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
    "This resource specification was automatically generated
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
     by the UIPainter of ST/X."
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
    "Do not manually edit this!! If it is corrupted,
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
     the UIPainter may not be able to read the specification."
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
    "
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
     UIPainter new openOnClass:Cairo::AbstractViewer andSelector:#previewSpec
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
     Cairo::AbstractViewer new openInterface:#previewSpec
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
    "
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
    <resource: #canvas>
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
    ^ 
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
    #(FullSpec
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
       name: 'previewSpec'
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
       window: 
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
      (WindowSpec
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
         label: 'Preview'
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
         name: 'Preview'
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
         min: (Point 10 10)
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
         bounds: (Rectangle 0 0 619 380)
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
       )
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
       component: 
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
      (SpecCollection
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
         collection: (
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
          (NonScrollableArbitraryComponentSpec
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
             name: 'NonScrollableArbitraryComponent1'
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
             layout: (LayoutFrame 0 0 0 0 0 1 0 1)
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
             component: PluggableView
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
             postBuildCallback: postBuildOutput:
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
           )
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
          )
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
        
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
       )
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
     )
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
windowSpec
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
    "This resource specification was automatically generated
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
     by the UIPainter of ST/X."
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
    "Do not manually edit this!! If it is corrupted,
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
     the UIPainter may not be able to read the specification."
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
    "
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
     UIPainter new openOnClass:Cairo::AbstractViewer andSelector:#windowSpec
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
     Cairo::AbstractViewer new openInterface:#windowSpec
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
     Cairo::AbstractViewer open
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
    "
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
    <resource: #canvas>
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
    ^ 
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
    #(FullSpec
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
       name: windowSpec
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
       window: 
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
      (WindowSpec
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
         label: 'Cairo Examples'
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
         name: 'Cairo Examples'
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
         min: (Point 10 10)
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
         bounds: (Rectangle 0 0 619 380)
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
         menu: windowMenu
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
       )
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
       component: 
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
      (SpecCollection
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
         collection: (
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
          (VariableHorizontalPanelSpec
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
             name: 'VariableHorizontalPanel1'
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
             layout: (LayoutFrame 0 0 0 0 0 1 0 1)
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
             showHandle: true
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
             snapMode: both
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
             component: 
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
            (SpecCollection
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
               collection: (
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
                (TextEditorSpec
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
                   name: 'TextEditor1'
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
                   model: exampleCodeHolder
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
                   hasHorizontalScrollBar: false
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
                   hasVerticalScrollBar: false
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
                   hasKeyboardFocusInitially: false
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
                   viewClassName: 'Tools::CodeView2'
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
                   postBuildCallback: postBuildWorkspace:
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
                 )
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
                (UISubSpecification
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
                   name: 'Preview'
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
                   minorKey: previewSpec
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
                 )
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
                )
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
              
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
             )
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
             handles: (Any 0.5 1.0)
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
           )
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
          )
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
        
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
       )
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
     )
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
! !
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
!AbstractViewer class methodsFor:'menu specs'!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
windowMenu
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
    "This resource specification was automatically generated
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   118
     by the MenuEditor of ST/X."
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   120
    "Do not manually edit this!! If it is corrupted,
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   121
     the MenuEditor may not be able to read the specification."
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   122
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   123
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
    "
52
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   125
     MenuEditor new openOnClass:Cairo::AbstractViewer andSelector:#windowMenu
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   126
     (Menu new fromLiteralArrayEncoding:(Cairo::AbstractViewer windowMenu)) startUp
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   127
    "
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
    <resource: #menu>
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
    ^ 
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
     #(Menu
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
        (
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
         (MenuItem
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
            label: 'File'
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
            submenu: 
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   137
           (Menu
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   138
              (
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
               (MenuItem
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   140
                  label: 'Exit'
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
                  itemValue: closeRequest
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
                )
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   143
               )
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   144
              nil
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   145
              nil
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
            )
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
          )
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   148
         (MenuItem
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   149
            label: 'Edit'
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   150
            submenu: 
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   151
           (Menu
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   152
              (
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   153
               (MenuItem
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   154
                  label: 'Cut'
57
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   155
                  itemValue: editMenuCut
52
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   156
                  nameKey: Cut
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   157
                  shortcutKey: Cut
57
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   158
                  ignoreShortcutKeys: true
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   159
                )
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   160
               (MenuItem
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   161
                  label: 'Copy'
57
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   162
                  itemValue: editMenuCopy
52
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   163
                  nameKey: Copy
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   164
                  shortcutKey: Copy
57
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   165
                  ignoreShortcutKeys: true
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   166
                )
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   167
               (MenuItem
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   168
                  label: 'Paste'
57
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   169
                  itemValue: editMenuPaste
52
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   170
                  nameKey: Paste
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   171
                  shortcutKey: Paste
57
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   172
                  ignoreShortcutKeys: true
52
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   173
                )
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   174
               (MenuItem
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   175
                  label: '-'
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   176
                )
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   177
               (MenuItem
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   178
                  label: 'Accept'
57
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   179
                  itemValue: editMenuAccept
52
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   180
                  nameKey: Accept
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   181
                  shortcutKey: Accept
57
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   182
                  ignoreShortcutKeys: true
52
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   183
                )
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   184
               )
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   185
              nil
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   186
              nil
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   187
            )
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   188
          )
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   189
         (MenuItem
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   190
            label: 'View'
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   191
            submenu: 
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   192
           (Menu
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   193
              (
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   194
               (MenuItem
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   195
                  label: 'Refresh'
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   196
                  itemValue: menuViewRefresh
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   197
                )
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   198
               )
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   199
              nil
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   200
              nil
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   201
            )
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   202
          )
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   203
         (MenuItem
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   204
            label: 'Examples'
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   205
            submenuChannel: menuExamples
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   206
          )
52
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   207
         (MenuItem
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   208
            label: 'Zoom'
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   209
            submenu: 
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   210
           (Menu
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   211
              (
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   212
               (MenuItem
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   213
                  label: 'Larger'
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   214
                  itemValue: menuZoomLarger
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   215
                  shortcutKey: #'Ctrl='
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   216
                )
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   217
               (MenuItem
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   218
                  label: 'Smaller'
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   219
                  itemValue: menuZoomSmaller
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   220
                  shortcutKey: #'Ctrl-'
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   221
                )
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   222
               (MenuItem
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   223
                  label: '-'
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   224
                )
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   225
               (MenuItem
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   226
                  label: '100%'
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   227
                  itemValue: menuZoomSet:
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   228
                  argument: 100
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   229
                )
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   230
               (MenuItem
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   231
                  label: '200%'
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   232
                  itemValue: menuZoomSet:
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   233
                  argument: 200
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   234
                )
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   235
               (MenuItem
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   236
                  label: '400%'
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   237
                  itemValue: menuZoomSet:
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   238
                  argument: 400
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   239
                )
57
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   240
               (MenuItem
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   241
                  label: '800%'
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   242
                  itemValue: menuZoomSet:
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   243
                  argument: 800
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   244
                )
52
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   245
               )
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   246
              nil
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   247
              nil
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   248
            )
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   249
          )
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   250
         )
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   251
        nil
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   252
        nil
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   253
      )
57
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   254
! !
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   255
57
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   256
!AbstractViewer class methodsFor:'queries'!
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   257
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   258
isAbstract
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   259
    "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: 52
diff changeset
   260
     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: 52
diff changeset
   261
     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: 52
diff changeset
   262
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   263
    ^ self == Cairo::AbstractViewer.
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   264
! !
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   265
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   266
!AbstractViewer methodsFor:'aspects'!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   267
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   268
exampleCodeHolder
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   269
    "return/create the 'exampleCodeHolder' value holder (automatically generated)"
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   270
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   271
    exampleCodeHolder isNil ifTrue:[
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   272
        exampleCodeHolder := ValueHolder new.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   273
        exampleCodeHolder addDependent:self.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   274
    ].
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   275
    ^ exampleCodeHolder
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   276
!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   277
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   278
exampleCodeHolder:something
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   279
    "set the 'exampleCodeHolder' value holder (automatically generated)"
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   280
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   281
    |oldValue newValue|
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   282
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   283
    exampleCodeHolder notNil ifTrue:[
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   284
        oldValue := exampleCodeHolder value.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   285
        exampleCodeHolder removeDependent:self.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   286
    ].
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   287
    exampleCodeHolder := something.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   288
    exampleCodeHolder notNil ifTrue:[
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   289
        exampleCodeHolder addDependent:self.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   290
    ].
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   291
    newValue := exampleCodeHolder value.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   292
    oldValue ~~ newValue ifTrue:[
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   293
        self update:#value with:newValue from:exampleCodeHolder.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   294
    ].
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   295
!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   296
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   297
exampleMethodHolder
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   298
    "return/create the 'exampleMethodHolder' value holder (automatically generated)"
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   299
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   300
    exampleMethodHolder isNil ifTrue:[
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   301
        exampleMethodHolder := ValueHolder new.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   302
        exampleMethodHolder addDependent:self.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   303
    ].
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   304
    ^ exampleMethodHolder
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   305
!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   306
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   307
exampleMethodHolder:something
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   308
    "set the 'exampleMethodHolder' value holder (automatically generated)"
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   309
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   310
    |oldValue newValue|
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   311
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   312
    exampleMethodHolder notNil ifTrue:[
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   313
        oldValue := exampleMethodHolder value.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   314
        exampleMethodHolder removeDependent:self.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   315
    ].
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   316
    exampleMethodHolder := something.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   317
    exampleMethodHolder notNil ifTrue:[
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   318
        exampleMethodHolder addDependent:self.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   319
    ].
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   320
    newValue := exampleMethodHolder value.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   321
    oldValue ~~ newValue ifTrue:[
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   322
        self update:#value with:newValue from:exampleMethodHolder.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   323
    ].
52
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   324
!
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   325
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   326
zoomHolder
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   327
    "return/create the 'zoomHolder' value holder (automatically generated)"
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   328
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   329
    zoomHolder isNil ifTrue:[
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   330
        zoomHolder := ValueHolder with: 100.
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   331
        zoomHolder addDependent:self.
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   332
    ].
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   333
    ^ zoomHolder
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   334
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   335
    "Modified: / 28-02-2016 / 16:12:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   336
!
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   337
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   338
zoomHolder:something
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   339
    "set the 'zoomHolder' value holder (automatically generated)"
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   340
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   341
    |oldValue newValue|
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   342
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   343
    zoomHolder notNil ifTrue:[
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   344
        oldValue := zoomHolder value.
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   345
        zoomHolder removeDependent:self.
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   346
    ].
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   347
    zoomHolder := something.
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   348
    zoomHolder notNil ifTrue:[
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   349
        zoomHolder addDependent:self.
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   350
    ].
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   351
    newValue := zoomHolder value.
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   352
    oldValue ~~ newValue ifTrue:[
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   353
        self update:#value with:newValue from:zoomHolder.
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   354
    ].
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   355
! !
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   356
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   357
!AbstractViewer methodsFor:'change & update'!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   358
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   359
update:something with:aParameter from:changedObject
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   360
    "Invoked when an object that I depend upon sends a change notification."
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   361
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   362
    "stub code automatically generated - please change as required"
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   363
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   364
    changedObject == exampleCodeHolder ifTrue:[
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   365
         self updateAfterExampleCodeChanged.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   366
         ^ self.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   367
    ].
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   368
    changedObject == exampleMethodHolder ifTrue:[
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   369
         self updateAfterExampleMethodChanged.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   370
         ^ self.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   371
    ].
52
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   372
    changedObject == zoomHolder ifTrue:[
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   373
         self updateAfterZoomChanged.
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   374
         ^ self.
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   375
    ].
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   376
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   377
    super update:something with:aParameter from:changedObject
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   378
52
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   379
    "Modified: / 28-02-2016 / 16:12:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   380
!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   381
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   382
updateAfterExampleCodeChanged
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   383
    | code method |
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   384
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   385
    code := exampleCodeHolder value.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   386
    code notEmptyOrNil ifTrue:[ 
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   387
        method := Compiler compile:( 'redrawOn: ',self exampleMethodParameterName,' ', code)  forClass: nil install: false.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   388
        method notNil ifTrue:[   
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   389
            method source: code asString string.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   390
        ].  
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   391
    ].
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   392
    self exampleMethodHolder value: method
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   393
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   394
    "Created: / 26-02-2016 / 21:32:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   395
    "Modified: / 27-02-2016 / 08:57:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   396
!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   397
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   398
updateAfterExampleMethodChanged
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   399
    self subclassResponsibility
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   400
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   401
    "Created: / 26-02-2016 / 21:32:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
52
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   402
!
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   403
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   404
updateAfterZoomChanged
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   405
    self redraw
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   406
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   407
    "Created: / 28-02-2016 / 16:12:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   408
! !
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   409
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   410
!AbstractViewer methodsFor:'hooks'!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   411
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   412
postBuildWorkspace:aCodeView2
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   413
    <resource: #uiCallback>
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   414
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   415
    workspace := aCodeView2.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   416
    workspace language: SmalltalkLanguage instance.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   417
    workspace codeAspect: SyntaxHighlighter codeAspectStatements
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   418
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   419
    "Modified: / 26-02-2016 / 22:43:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   420
! !
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   421
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   422
!AbstractViewer methodsFor:'menu'!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   423
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   424
menuExamples
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   425
    self subclassResponsibility
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   426
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   427
    "Created: / 26-02-2016 / 22:36:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   428
    "Modified: / 27-02-2016 / 08:56:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   429
!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   430
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   431
menuExamplesFromClass: aClass
57
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   432
    ^ self menuExamplesFromSuite: aClass buildSuite.
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   433
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   434
    "Created: / 26-02-2016 / 22:34:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   435
    "Modified: / 01-03-2016 / 10:05:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   436
!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   437
57
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   438
menuExamplesFromSuite: aTestSuite
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   439
    | examples menu |
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   440
57
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   441
    examples := aTestSuite tests.
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   442
    examples sort: [ :a :b | a name < b name ].
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   443
    menu := Menu new.
57
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   444
    examples do:[:example | 
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   445
        menu addItem: (MenuItem
57
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   446
                        label: example name
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   447
                        itemValue: #menuExampleShow: 
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   448
                        argument: example source)
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   449
    ].
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   450
    ^ menu
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   451
57
2c9a342e1f2a Examples: added utility methods to automatically generate wiki page from examples
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   452
    "Created: / 01-03-2016 / 10:04:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   453
! !
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   454
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   455
!AbstractViewer methodsFor:'menu actions'!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   456
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   457
menuExampleShow: code
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   458
    self exampleCodeHolder value: code.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   459
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   460
    "Created: / 26-02-2016 / 22:27:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   461
!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   462
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   463
menuExampleShowBrowser
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   464
    self halt.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   465
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   466
    "Created: / 26-02-2016 / 22:30:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   467
!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   468
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   469
menuExampleShowMethod: method
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   470
    | source |
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   471
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   472
    source := method source asStringCollection.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   473
    source := source copyFrom: 2.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   474
    source := source asString.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   475
    self menuExampleShow: source.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   476
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   477
    "Created: / 26-02-2016 / 22:28:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
52
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   478
!
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   479
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   480
menuViewRefresh
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   481
    self redraw.
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   482
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   483
    "Created: / 28-02-2016 / 16:10:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   484
!
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   485
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   486
menuZoomLarger
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   487
    self zoomHolder value: self zoomHolder value + 10.
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   488
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   489
    "Created: / 28-02-2016 / 16:13:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   490
!
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   491
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   492
menuZoomSet: aNumber
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   493
    self zoomHolder value: aNumber
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   494
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   495
    "Created: / 28-02-2016 / 16:13:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   496
!
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   497
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   498
menuZoomSmaller
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   499
    self zoomHolder value: self zoomHolder value - 10.
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   500
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   501
    "Created: / 28-02-2016 / 16:13:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   502
! !
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   503
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   504
!AbstractViewer methodsFor:'private'!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   505
52
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   506
redraw
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   507
    self subclassResponsibility
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   508
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   509
    "Created: / 28-02-2016 / 16:21:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   510
!
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   511
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   512
redraw:view using: method
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   513
    self subclassResponsibility
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   514
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   515
    "Created: / 26-02-2016 / 21:40:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   516
!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   517
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   518
redraw:view using: method with: gc
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   519
    method notNil ifTrue:[    
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   520
        method valueWithReceiver:nil arguments:(Array with: gc).    
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   521
    ]
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   522
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   523
    "Created: / 26-02-2016 / 21:47:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   524
! !
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   525
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   526
!AbstractViewer methodsFor:'private - templates'!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   527
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   528
exampleMethodParameterName
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   529
    ^ self subclassResponsibility
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   530
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   531
    "Created: / 26-02-2016 / 21:34:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   532
! !
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   533