ThreeColumnTextView.st
author Claus Gittinger <cg@exept.de>
Fri, 09 Feb 1996 02:42:03 +0100
changeset 125 db1c1a8e0384
parent 111 86f6d5536b05
child 1440 6e313ad0c279
permissions -rw-r--r--
oops - debugPrints
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
111
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
 COPYRIGHT (c) 1994 by Claus Gittinger
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
	      All Rights Reserved
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
 This software is furnished under a license and may be used
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
 hereby transferred.
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
"
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
    "Created: 20.11.1995 / 13:21:17 / cg"
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
SyncedMultiColumnTextView subclass:#ThreeColumnTextView
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
	instanceVariableNames:''
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
	classVariableNames:''
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	poolDictionaries:''
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
	category:'Views-Text'
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
!
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
!ThreeColumnTextView class methodsFor:'documentation'!
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
copyright
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
"
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
 COPYRIGHT (c) 1994 by Claus Gittinger
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
	      All Rights Reserved
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
 This software is furnished under a license and may be used
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
 only in accordance with the terms of that license and with the
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
 inclusion of the above copyright notice.   This software may not
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
 be provided or otherwise made available to, or used by, any
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
 other person.  No title to or ownership of the software is
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
 hereby transferred.
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
"
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
    "Created: 20.11.1995 / 13:21:17 / cg"
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
!
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
documentation
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
"
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
    a view showing two texts side-by-side.
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
    Scrolling is synced, by always scrolling both views.
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
    This type of view is especially useful to show diff-lists,
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
    code-versions, or other one-by-one viewable texts.
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
    Usually, it does not make much sense, to put totally different
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
    or unrelated texts into this kind of view.
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
    See subclass DiffTextView for a real class;
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
    see ChangesBrowsers compare operation for a real application
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
    of this kind of views.
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
"
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
    "Created: 20.11.1995 / 13:21:17 / cg"
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
!
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
examples
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
"
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
     TwoColumnTextView are currently not directly used by the system.
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
     However, it is used as an abstract superclass for DiffTextView.
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
     See more examples there.
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
     (you may find nice uses for it anyway ...)
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
     TwoColumnTextView
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
        openOn:('smalltalk.rc' asFilename contentsOfEntireFile)
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
        and:('display.rc' asFilename contentsOfEntireFile)
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
     TwoColumnTextView
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
        openOn:('display.rc' asFilename contentsOfEntireFile)
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
        and:('smalltalk.rc' asFilename contentsOfEntireFile)
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
     TwoColumnTextView
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
        openOn:('smalltalk.rc' asFilename contentsOfEntireFile)
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
        label:'smalltalk.rc'
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
        and:('display.rc' asFilename contentsOfEntireFile)
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
        label:'display.rc'
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
"
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
    "Created: 20.11.1995 / 13:21:42 / cg"
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
    "Modified: 20.11.1995 / 13:23:12 / cg"
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
! !
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
!ThreeColumnTextView class methodsFor:'instance creation'!
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
openOn:firstText and:secondText and:thirdText
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
    "open up a view showing firstText, secondText and thirdText side-by-side"
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
    |top v|
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
    top := StandardSystemView label:'three texts'.
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
    v := HVScrollableView 
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
               for:self 
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
               miniScrollerH:true miniScrollerV:false
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
               in:top.
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
    v origin:0.0 @ 0.0 corner:1.0 @ 1.0.
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
    v scrolledView text1:firstText text2:secondText text3:thirdText.
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
    ^ top open
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
    "
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
     ThreeColumnTextView
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
        openOn:('smalltalk.rc' asFilename contentsOfEntireFile)
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
        and:('display.rc' asFilename contentsOfEntireFile)
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
        and:('private.rc' asFilename contentsOfEntireFile)
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
    "
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
    "Modified: 12.12.1995 / 12:22:51 / cg"
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
!
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
openOn:firstText label:firstLabel and:secondText label:secondLabel and:thirdText label:thirdLabel
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
    "open up a view showing firstText, secondText and thirdText side-by-side,
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
     and labels for all views."
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
    |top v l1 l2 l3|
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
    top := StandardSystemView label:'three texts'.
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
    l1 := Label label:firstLabel in:top.
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
    l1 origin:0.0@0.0 corner:0.33@(l1 height).
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
    l2 := Label label:secondLabel in:top.
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
    l2 origin:0.33@0.0 corner:0.67@(l1 height).
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
    l3 := Label label:thirdLabel in:top.
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
    l3 origin:0.67@0.0 corner:1.0@(l1 height).
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
    v := HVScrollableView 
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
               for:self 
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
               miniScrollerH:true miniScrollerV:false
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
               in:top.
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
    v origin:0.0 @ (l1 height + ViewSpacing) corner:1.0 @ 1.0.
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
    v scrolledView text1:firstText text2:secondText text3:thirdText.
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
    ^ top open
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
    "
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
     ThreeColumnTextView
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
        openOn:('smalltalk.rc' asFilename contentsOfEntireFile)
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
        label:'smalltalk.rc'
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
        and:('display.rc' asFilename contentsOfEntireFile)
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
        label:'display.rc'
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
        and:('private.rc' asFilename contentsOfEntireFile)
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
        label:'private.rc'
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
    "
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
    "Modified: 12.12.1995 / 12:24:14 / cg"
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
! !
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
!ThreeColumnTextView class methodsFor:'specification'!
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
numberOfViews
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
    ^ 3
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
    "Created: 20.11.1995 / 13:17:00 / cg"
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
    "Modified: 12.12.1995 / 12:24:06 / cg"
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
! !
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
!ThreeColumnTextView methodsFor:'accessing'!
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
text1:t1 text2:t2 text3:t3
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
    (textViews at:1) list:t1 asText.
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
    (textViews at:2) list:t2 asText.
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
    (textViews at:3) list:t3 asText.
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
    "Created: 20.11.1995 / 13:20:39 / cg"
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
    "Modified: 12.12.1995 / 12:21:42 / cg"
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
! !
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
!ThreeColumnTextView class methodsFor:'documentation'!
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
version
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
^ '$Header: /cvs/stx/stx/libwidg2/ThreeColumnTextView.st,v 1.1 1995-12-12 12:34:32 cg Exp $'
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
! !