ThreeColumnTextView.st
author Claus Gittinger <cg@exept.de>
Fri, 15 Jun 2018 10:54:35 +0200
changeset 5816 7876c07931a7
parent 2965 1f32958fcf65
permissions -rw-r--r--
#DOCUMENTATION by cg class: ComboListView class comment/format in: #documentation
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
2965
1f32958fcf65 CRLF management
fm
parents: 1440
diff changeset
    15
"{ Package: 'stx:libwidg2' }"
1f32958fcf65 CRLF management
fm
parents: 1440
diff changeset
    16
111
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
SyncedMultiColumnTextView subclass:#ThreeColumnTextView
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	instanceVariableNames:''
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
	classVariableNames:''
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
	poolDictionaries:''
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
	category:'Views-Text'
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
!
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
!ThreeColumnTextView class methodsFor:'documentation'!
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
copyright
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
"
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
 COPYRIGHT (c) 1994 by Claus Gittinger
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
	      All Rights Reserved
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
 This software is furnished under a license and may be used
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
 only in accordance with the terms of that license and with the
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
 inclusion of the above copyright notice.   This software may not
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
 be provided or otherwise made available to, or used by, any
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
 other person.  No title to or ownership of the software is
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
 hereby transferred.
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
"
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
    "Created: 20.11.1995 / 13:21:17 / cg"
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
!
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
documentation
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
"
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
    a view showing two texts side-by-side.
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
    Scrolling is synced, by always scrolling both views.
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
    This type of view is especially useful to show diff-lists,
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
    code-versions, or other one-by-one viewable texts.
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
    Usually, it does not make much sense, to put totally different
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
    or unrelated texts into this kind of view.
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
    See subclass DiffTextView for a real class;
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
    see ChangesBrowsers compare operation for a real application
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
    of this kind of views.
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
"
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
    "Created: 20.11.1995 / 13:21:17 / cg"
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
!
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
examples
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
"
1440
6e313ad0c279 comment
Claus Gittinger <cg@exept.de>
parents: 111
diff changeset
    62
     ThreeColumnTextViews are currently not directly used by the system.
6e313ad0c279 comment
Claus Gittinger <cg@exept.de>
parents: 111
diff changeset
    63
     However, it is used as an abstract superclass for Diff3TextView.
111
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
     See more examples there.
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
     (you may find nice uses for it anyway ...)
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
1440
6e313ad0c279 comment
Claus Gittinger <cg@exept.de>
parents: 111
diff changeset
    67
     ThreeColumnTextView
6e313ad0c279 comment
Claus Gittinger <cg@exept.de>
parents: 111
diff changeset
    68
        openOn:('smalltalk.rc' asFilename contents)
6e313ad0c279 comment
Claus Gittinger <cg@exept.de>
parents: 111
diff changeset
    69
        and:('display.rc' asFilename contents)
6e313ad0c279 comment
Claus Gittinger <cg@exept.de>
parents: 111
diff changeset
    70
        and:('host.rc' asFilename contents)
111
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
1440
6e313ad0c279 comment
Claus Gittinger <cg@exept.de>
parents: 111
diff changeset
    73
     ThreeColumnTextView
6e313ad0c279 comment
Claus Gittinger <cg@exept.de>
parents: 111
diff changeset
    74
        openOn:('smalltalk.rc' asFilename contents)
111
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
        label:'smalltalk.rc'
1440
6e313ad0c279 comment
Claus Gittinger <cg@exept.de>
parents: 111
diff changeset
    76
        and:('display.rc' asFilename contents)
111
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
        label:'display.rc'
1440
6e313ad0c279 comment
Claus Gittinger <cg@exept.de>
parents: 111
diff changeset
    78
        and:('host.rc' asFilename contents)
6e313ad0c279 comment
Claus Gittinger <cg@exept.de>
parents: 111
diff changeset
    79
        label:'host.rc'
111
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
2965
1f32958fcf65 CRLF management
fm
parents: 1440
diff changeset
   170
^ '$Header: /cvs/stx/stx/libwidg2/ThreeColumnTextView.st,v 1.3 2006-07-05 07:42:12 fm Exp $'
111
86f6d5536b05 renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
! !