VDBSourceApplication.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Fri, 19 Sep 2014 10:05:54 +0100
changeset 16 fc1898815ab6
child 17 c5ee4ea44165
permissions -rw-r--r--
Temporary commit: some more work on displaying source code.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
16
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'jv:vdb' }"
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
VDBAbstractApplication subclass:#VDBSourceApplication
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
	instanceVariableNames:'sourceFilenameHolder sourceStringHolder'
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
	classVariableNames:''
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	poolDictionaries:''
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	category:'VDB-UI-Others'
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
!
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!VDBSourceApplication class methodsFor:'interface specs'!
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
windowSpec
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
    "This resource specification was automatically generated
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
     by the UIPainter of ST/X."
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
    "Do not manually edit this!! If it is corrupted,
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
     the UIPainter may not be able to read the specification."
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
    "
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
     UIPainter new openOnClass:VDBSourceApplication andSelector:#windowSpec
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
     VDBSourceApplication new openInterface:#windowSpec
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
     VDBSourceApplication open
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
    "
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
    <resource: #canvas>
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
    ^ 
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
    #(FullSpec
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
       name: windowSpec
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
       window: 
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
      (WindowSpec
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
         label: 'Source View'
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
         name: 'Source View'
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
         min: (Point 10 10)
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
         bounds: (Rectangle 0 0 300 300)
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
       )
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
       component: 
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
      (SpecCollection
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
         collection: (
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
          (TextEditorSpec
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
             name: 'SourceView'
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
             layout: (LayoutFrame 0 0 0 0 0 1 0 1)
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
             model: sourceStringHolder
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
             hasHorizontalScrollBar: true
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
             hasVerticalScrollBar: true
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
             hasKeyboardFocusInitially: false
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
             postBuildCallback: postBuildSourceView:
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
             viewClassName: 'Tools::CodeView2'
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
           )
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
          )
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
        
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
       )
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
     )
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
! !
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
!VDBSourceApplication class methodsFor:'plugIn spec'!
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
aspectSelectors
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
    "This resource specification was automatically generated
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
     by the UIPainter of ST/X."
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
    "Do not manually edit this. If it is corrupted,
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
     the UIPainter may not be able to read the specification."
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
    "Return a description of exported aspects;
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
     these can be connected to aspects of an embedding application
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
     (if this app is embedded in a subCanvas)."
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
    ^ #(
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
        #debuggerHolder
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
      ).
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
! !
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
!VDBSourceApplication methodsFor:'aspects'!
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
sourceFilenameHolder
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
    "return/create the 'sourceFilenameHolder' value holder (automatically generated)"
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
    sourceFilenameHolder isNil ifTrue:[
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
        sourceFilenameHolder := ValueHolder new.
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
    ].
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
    ^ sourceFilenameHolder
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
!
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
sourceFilenameHolder:aValueModel
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
    "set the 'sourceFilenameHolder' value holder (automatically generated)"
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
    sourceFilenameHolder := aValueModel.
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
!
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
sourceStringHolder
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
    "return/create the 'sourceFilenameHolder' value holder (automatically generated)"
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
    sourceStringHolder isNil ifTrue:[
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
        sourceStringHolder := 
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
            PluggableAdaptor 
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
                on: self sourceFilenameHolder 
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
                getter: [ :model | model value isNil ifTrue:['No source'] ifFalse:[model value asFilename contents asString ] ]  
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
    ].
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
    ^ sourceStringHolder
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
    "Created: / 19-09-2014 / 00:03:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
! !
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
!VDBSourceApplication methodsFor:'hooks'!
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
postBuildSourceView: aCodeView2
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
    aCodeView2 
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
        readOnly: true;
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
        services: #()
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
    "Modified: / 19-09-2014 / 00:18:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
! !
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115