Cairo__AbstractViewer.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Sun, 28 Feb 2016 16:31:07 +0000
changeset 52 5a800f51a584
parent 50 239120c68187
child 57 2c9a342e1f2a
permissions -rw-r--r--
Examples: added zoom menu to example viewers
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'
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   155
                  itemValue: cutSelection
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
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   158
                )
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   159
               (MenuItem
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   160
                  label: 'Copy'
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   161
                  itemValue: copySelection
52
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   162
                  nameKey: Copy
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   163
                  shortcutKey: Copy
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   164
                )
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   165
               (MenuItem
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   166
                  label: 'Paste'
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   167
                  itemValue: paste
52
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   168
                  nameKey: Paste
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   169
                  shortcutKey: Paste
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   170
                )
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   171
               (MenuItem
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   172
                  label: '-'
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: 'Accept'
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   176
                  nameKey: Accept
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   177
                  shortcutKey: Accept
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   178
                )
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   179
               )
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   180
              nil
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   181
              nil
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   182
            )
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
         (MenuItem
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   185
            label: 'View'
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   186
            submenu: 
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   187
           (Menu
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: 'Refresh'
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   191
                  itemValue: menuViewRefresh
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   192
                )
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   193
               )
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   194
              nil
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   195
              nil
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   196
            )
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
         (MenuItem
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   199
            label: 'Examples'
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   200
            submenuChannel: menuExamples
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   201
          )
52
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   202
         (MenuItem
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   203
            label: 'Zoom'
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   204
            submenu: 
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   205
           (Menu
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   206
              (
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: 'Larger'
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   209
                  itemValue: menuZoomLarger
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   210
                  shortcutKey: #'Ctrl='
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: 'Smaller'
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   214
                  itemValue: menuZoomSmaller
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: '-'
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   219
                )
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   220
               (MenuItem
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   221
                  label: '100%'
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   222
                  itemValue: menuZoomSet:
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   223
                  argument: 100
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: '200%'
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: 200
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: '400%'
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: 400
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
               )
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   236
              nil
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   237
              nil
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   238
            )
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   239
          )
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   240
         )
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   241
        nil
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   242
        nil
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   243
      )
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   244
52
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   245
    "Modified: / 28-02-2016 / 16:22:49 / 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
   246
! !
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   247
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   248
!AbstractViewer methodsFor:'aspects'!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   249
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   250
exampleCodeHolder
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   251
    "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
   252
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   253
    exampleCodeHolder isNil ifTrue:[
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   254
        exampleCodeHolder := ValueHolder new.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   255
        exampleCodeHolder addDependent:self.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   256
    ].
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   257
    ^ exampleCodeHolder
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   258
!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   259
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   260
exampleCodeHolder:something
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   261
    "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
   262
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   263
    |oldValue newValue|
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
    exampleCodeHolder notNil ifTrue:[
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   266
        oldValue := exampleCodeHolder value.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   267
        exampleCodeHolder removeDependent:self.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   268
    ].
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   269
    exampleCodeHolder := something.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   270
    exampleCodeHolder notNil ifTrue:[
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   271
        exampleCodeHolder addDependent:self.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   272
    ].
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   273
    newValue := exampleCodeHolder value.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   274
    oldValue ~~ newValue ifTrue:[
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   275
        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
   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
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   279
exampleMethodHolder
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   280
    "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
   281
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   282
    exampleMethodHolder isNil ifTrue:[
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   283
        exampleMethodHolder := ValueHolder new.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   284
        exampleMethodHolder addDependent:self.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   285
    ].
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   286
    ^ exampleMethodHolder
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   287
!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   288
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   289
exampleMethodHolder:something
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   290
    "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
   291
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   292
    |oldValue newValue|
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   293
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   294
    exampleMethodHolder notNil ifTrue:[
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   295
        oldValue := exampleMethodHolder value.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   296
        exampleMethodHolder removeDependent:self.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   297
    ].
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   298
    exampleMethodHolder := something.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   299
    exampleMethodHolder notNil ifTrue:[
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   300
        exampleMethodHolder addDependent:self.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   301
    ].
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   302
    newValue := exampleMethodHolder value.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   303
    oldValue ~~ newValue ifTrue:[
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   304
        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
   305
    ].
52
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   306
!
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   307
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   308
zoomHolder
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   309
    "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
   310
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   311
    zoomHolder isNil ifTrue:[
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   312
        zoomHolder := ValueHolder with: 100.
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   313
        zoomHolder addDependent:self.
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   314
    ].
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   315
    ^ zoomHolder
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   316
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   317
    "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
   318
!
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   319
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   320
zoomHolder:something
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   321
    "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
   322
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   323
    |oldValue newValue|
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
    zoomHolder notNil ifTrue:[
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   326
        oldValue := zoomHolder value.
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   327
        zoomHolder removeDependent:self.
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 := something.
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   330
    zoomHolder notNil ifTrue:[
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
    newValue := zoomHolder value.
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   334
    oldValue ~~ newValue ifTrue:[
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   335
        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
   336
    ].
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   337
! !
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   338
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   339
!AbstractViewer methodsFor:'change & update'!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   340
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   341
update:something with:aParameter from:changedObject
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   342
    "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
   343
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   344
    "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
   345
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   346
    changedObject == exampleCodeHolder ifTrue:[
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   347
         self updateAfterExampleCodeChanged.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   348
         ^ self.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   349
    ].
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   350
    changedObject == exampleMethodHolder ifTrue:[
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   351
         self updateAfterExampleMethodChanged.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   352
         ^ self.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   353
    ].
52
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   354
    changedObject == zoomHolder ifTrue:[
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   355
         self updateAfterZoomChanged.
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   356
         ^ self.
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   357
    ].
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   358
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   359
    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
   360
52
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   361
    "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
   362
!
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
updateAfterExampleCodeChanged
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   365
    | code method |
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   366
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   367
    code := exampleCodeHolder value.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   368
    code notEmptyOrNil ifTrue:[ 
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   369
        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
   370
        method notNil ifTrue:[   
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   371
            method source: code asString string.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   372
        ].  
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   373
    ].
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   374
    self exampleMethodHolder value: method
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   375
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   376
    "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
   377
    "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
   378
!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   379
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   380
updateAfterExampleMethodChanged
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   381
    self subclassResponsibility
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   382
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   383
    "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
   384
!
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   385
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   386
updateAfterZoomChanged
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   387
    self redraw
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   388
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   389
    "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
   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
!AbstractViewer methodsFor:'hooks'!
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
postBuildWorkspace:aCodeView2
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   395
    <resource: #uiCallback>
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
    workspace := aCodeView2.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   398
    workspace language: SmalltalkLanguage instance.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   399
    workspace codeAspect: SyntaxHighlighter codeAspectStatements
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
    "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
   402
! !
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   403
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   404
!AbstractViewer methodsFor:'menu'!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   405
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   406
menuExamples
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   407
    self subclassResponsibility
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
    "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
   410
    "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
   411
!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   412
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   413
menuExamplesFromClass: aClass
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   414
    | examples |
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   415
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   416
    examples := aClass testSelectors collect:[:each | aClass lookupMethodFor: each ].    
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   417
    examples sort: [ :a :b | (a annotationsAt: #example: orAt: #example:category:) first arguments first 
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   418
                                < (b annotationsAt: #example: orAt: #example:category:) first arguments first ].
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   419
    ^ self menuExamplesFromMethods: examples
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
    "Created: / 26-02-2016 / 22:34:48 / 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
   422
    "Modified: / 27-02-2016 / 09:04:32 / 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
   423
!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   424
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   425
menuExamplesFromMethods: methods
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   426
    | menu |
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   427
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   428
    menu := Menu new.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   429
    methods do:[:method | 
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   430
        menu addItem: (MenuItem
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   431
                        label: (method annotationsAt: #example: orAt: #example:category:) first arguments first
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   432
                        itemValue: #menuExampleShowMethod: 
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   433
                        argument: method)
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   434
    ].
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   435
    ^ menu
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
    "Created: / 26-02-2016 / 22:35:56 / 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
   438
! !
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   439
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   440
!AbstractViewer methodsFor:'menu actions'!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   441
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   442
menuExampleShow: code
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   443
    self exampleCodeHolder value: code.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   444
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   445
    "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
   446
!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   447
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   448
menuExampleShowBrowser
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   449
    self halt.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   450
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   451
    "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
   452
!
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
menuExampleShowMethod: method
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   455
    | source |
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
    source := method source asStringCollection.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   458
    source := source copyFrom: 2.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   459
    source := source asString.
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   460
    self menuExampleShow: source.
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
    "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
   463
!
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   464
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   465
menuViewRefresh
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   466
    self redraw.
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   467
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   468
    "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
   469
!
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   470
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   471
menuZoomLarger
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   472
    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
   473
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   474
    "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
   475
!
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   476
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   477
menuZoomSet: aNumber
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   478
    self zoomHolder value: aNumber
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
    "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
   481
!
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
menuZoomSmaller
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   484
    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
   485
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   486
    "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
   487
! !
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   488
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   489
!AbstractViewer methodsFor:'private'!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   490
52
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   491
redraw
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   492
    self subclassResponsibility
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   493
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   494
    "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
   495
!
5a800f51a584 Examples: added zoom menu to example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 50
diff changeset
   496
50
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   497
redraw:view using: method
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   498
    self subclassResponsibility
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   499
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   500
    "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
   501
!
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
redraw:view using: method with: gc
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   504
    method notNil ifTrue:[    
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   505
        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
   506
    ]
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   507
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   508
    "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
   509
! !
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   510
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   511
!AbstractViewer methodsFor:'private - templates'!
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   512
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   513
exampleMethodParameterName
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   514
    ^ self subclassResponsibility
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   515
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   516
    "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
   517
! !
239120c68187 Added classes with examples and example viewers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   518