HierarchicalVersionDiffBrowser.st
author Claus Gittinger <cg@exept.de>
Wed, 05 Jun 2019 14:16:59 +0200
changeset 18805 f6df57c6dbfb
parent 2626 4ee750caddab
child 12123 4bde08cebd48
permissions -rw-r--r--
#BUGFIX by cg class: AbstractFileBrowser changed: #currentFileNameHolder endless loop if file not present.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2626
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
     1
"
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
     2
 COPYRIGHT (c) 2000 by eXept Software AG
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
     3
              All Rights Reserved
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
     4
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
     5
 This software is furnished under a license and may be used
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
     6
 only in accordance with the terms of that license and with the
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
     8
 be provided or otherwise made available to, or used by, any
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
     9
 other person.  No title to or ownership of the software is
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
    10
 hereby transferred.
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
    11
"
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
    12
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
    13
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
    14
2500
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
    15
ApplicationModel subclass:#HierarchicalVersionDiffBrowser
2538
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
    16
	instanceVariableNames:'versionDiffBrowser classTree treeSelectionHolder classHolder'
2500
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
    17
	classVariableNames:''
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
    18
	poolDictionaries:''
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
    19
	category:'Interface-Browsers'
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
    20
!
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
    21
2548
ce9b7bcd9e3b documentation method
Claus Gittinger <cg@exept.de>
parents: 2538
diff changeset
    22
!HierarchicalVersionDiffBrowser class methodsFor:'documentation'!
ce9b7bcd9e3b documentation method
Claus Gittinger <cg@exept.de>
parents: 2538
diff changeset
    23
2626
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
    24
copyright
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
    25
"
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
    26
 COPYRIGHT (c) 2000 by eXept Software AG
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
    27
              All Rights Reserved
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
    28
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
    29
 This software is furnished under a license and may be used
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
    30
 only in accordance with the terms of that license and with the
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
    31
 inclusion of the above copyright notice.   This software may not
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
    32
 be provided or otherwise made available to, or used by, any
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
    33
 other person.  No title to or ownership of the software is
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
    34
 hereby transferred.
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
    35
"
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
    36
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
    37
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
    38
!
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
    39
2548
ce9b7bcd9e3b documentation method
Claus Gittinger <cg@exept.de>
parents: 2538
diff changeset
    40
documentation
ce9b7bcd9e3b documentation method
Claus Gittinger <cg@exept.de>
parents: 2538
diff changeset
    41
"
2626
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
    42
    This is not yet finished (work in progress) - do not use.
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
    43
2549
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
    44
    A hierarchical version diff browser, allowing easy comparison
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
    45
    between a classes versions; will also eventually add capabilities
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
    46
    to checkIn / load classes into / from the repository.
2548
ce9b7bcd9e3b documentation method
Claus Gittinger <cg@exept.de>
parents: 2538
diff changeset
    47
ce9b7bcd9e3b documentation method
Claus Gittinger <cg@exept.de>
parents: 2538
diff changeset
    48
    [author:]
ce9b7bcd9e3b documentation method
Claus Gittinger <cg@exept.de>
parents: 2538
diff changeset
    49
        Pierre Schwarz (ps@exept.de)
ce9b7bcd9e3b documentation method
Claus Gittinger <cg@exept.de>
parents: 2538
diff changeset
    50
ce9b7bcd9e3b documentation method
Claus Gittinger <cg@exept.de>
parents: 2538
diff changeset
    51
    [see also:]
ce9b7bcd9e3b documentation method
Claus Gittinger <cg@exept.de>
parents: 2538
diff changeset
    52
ce9b7bcd9e3b documentation method
Claus Gittinger <cg@exept.de>
parents: 2538
diff changeset
    53
    [instance variables:]
ce9b7bcd9e3b documentation method
Claus Gittinger <cg@exept.de>
parents: 2538
diff changeset
    54
ce9b7bcd9e3b documentation method
Claus Gittinger <cg@exept.de>
parents: 2538
diff changeset
    55
    [class variables:]
ce9b7bcd9e3b documentation method
Claus Gittinger <cg@exept.de>
parents: 2538
diff changeset
    56
"
ce9b7bcd9e3b documentation method
Claus Gittinger <cg@exept.de>
parents: 2538
diff changeset
    57
2549
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
    58
!
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
    59
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
    60
examples
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
    61
"
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
    62
                                                                        [exBegin]
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
    63
    HierarchicalVersionDiffBrowser openOnClasses:(Array with:Smalltalk)
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
    64
                                                                        [exEnd]
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
    65
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
    66
                                                                        [exBegin]
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
    67
    HierarchicalVersionDiffBrowser openOnClasses:(Project current changedClasses)
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
    68
                                                                        [exEnd]
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
    69
"
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
    70
2548
ce9b7bcd9e3b documentation method
Claus Gittinger <cg@exept.de>
parents: 2538
diff changeset
    71
! !
2500
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
    72
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
    73
!HierarchicalVersionDiffBrowser class methodsFor:'interface specs'!
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
    74
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
    75
contentsSpecVersionDiffBrowser
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
    76
    "This resource specification was automatically generated
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
    77
     by the UIPainter of ST/X."
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
    78
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
    79
    "Do not manually edit this!! If it is corrupted,
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
    80
     the UIPainter may not be able to read the specification."
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
    81
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
    82
    "
2515
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
    83
     UIPainter new openOnClass:ClassRevisionTree andSelector:#contentsSpecVersionDiffBrowser
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
    84
     ClassRevisionTree new openInterface:#contentsSpecVersionDiffBrowser
2500
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
    85
    "
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
    86
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
    87
    <resource: #canvas>
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
    88
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
    89
    ^ 
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
    90
     #(#FullSpec
2515
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
    91
	#name: #contentsSpecVersionDiffBrowser
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
    92
	#window: 
2500
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
    93
       #(#WindowSpec
2515
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
    94
	  #label: 'Hierarchical Version DiffBrowser'
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
    95
	  #name: 'Hierarchical Version DiffBrowser'
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
    96
	  #min: #(#Point 10 10)
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
    97
	  #max: #(#Point 9999 9999)
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
    98
	  #bounds: #(#Rectangle 12 22 877 551)
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
    99
	)
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   100
	#component: 
2500
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   101
       #(#SpecCollection
2515
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   102
	  #collection: #(
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   103
	   #(#SubCanvasSpec
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   104
	      #name: 'VersionDiffBrowser'
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   105
	      #layout: #(#LayoutFrame 0 0.0 30 0.0 0 1.0 0 1.0)
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   106
	      #hasHorizontalScrollBar: false
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   107
	      #hasVerticalScrollBar: false
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   108
	      #majorKey: #VersionDiffBrowser
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   109
	      #minorKey: #windowSpec
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   110
	      #clientKey: #versionDiffBrowser
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   111
	    )
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   112
	   #(#LabelSpec
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   113
	      #name: 'Label1'
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   114
	      #layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 20 0)
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   115
	      #visibilityChannel: #''
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   116
	      #translateLabel: true
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   117
	      #labelChannel: #versionDiffModel
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   118
	      #resizeForLabel: false
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   119
	      #adjust: #left
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   120
	    )
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   121
	   )
2500
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   122
         
2515
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   123
	)
2500
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   124
      )
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   125
!
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   126
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   127
windowSpec
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   128
    "This resource specification was automatically generated
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   129
     by the UIPainter of ST/X."
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   130
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   131
    "Do not manually edit this!! If it is corrupted,
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   132
     the UIPainter may not be able to read the specification."
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   133
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   134
    "
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   135
     UIPainter new openOnClass:HierarchicalVersionDiffBrowser andSelector:#windowSpec
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   136
     HierarchicalVersionDiffBrowser new openInterface:#windowSpec
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   137
     HierarchicalVersionDiffBrowser open
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   138
    "
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   139
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   140
    <resource: #canvas>
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   141
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   142
    ^ 
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   143
     #(#FullSpec
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   144
        #name: #windowSpec
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   145
        #window: 
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   146
       #(#WindowSpec
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   147
          #label: 'Hierarchical Version DiffBrowser'
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   148
          #name: 'Hierarchical Version DiffBrowser'
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   149
          #min: #(#Point 10 10)
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   150
          #max: #(#Point 9999 9999)
2508
53bf7e866c18 checkin from browser
ps
parents: 2500
diff changeset
   151
          #bounds: #(#Rectangle 16 46 881 575)
2500
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   152
        )
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   153
        #component: 
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   154
       #(#SpecCollection
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   155
          #collection: #(
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   156
           #(#MenuPanelSpec
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   157
              #name: 'menuPanel'
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   158
              #layout: #(#LayoutFrame 0 0 0 0 0 1.0 24 0)
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   159
              #level: 1
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   160
              #tabable: true
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   161
              #style: 
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   162
             #(#Font
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   163
                'helvetica' 'bold'
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   164
                'oblique' 10
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   165
              )
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   166
            )
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   167
           #(#VariableHorizontalPanelSpec
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   168
              #name: 'VariableHorizontalPanel1'
2508
53bf7e866c18 checkin from browser
ps
parents: 2500
diff changeset
   169
              #layout: #(#LayoutFrame 0 0.0 25 0.0 0 1.0 0 1.0)
53bf7e866c18 checkin from browser
ps
parents: 2500
diff changeset
   170
              #level: 2
2500
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   171
              #component: 
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   172
             #(#SpecCollection
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   173
                #collection: #(
2515
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   174
                 #(#SubCanvasSpec
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   175
                    #name: 'ClassTree'
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   176
                    #hasHorizontalScrollBar: false
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   177
                    #hasVerticalScrollBar: false
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   178
                    #majorKey: #ClassRevisonTree
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   179
                    #minorKey: #windowSpec
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   180
                    #clientKey: #classTree
2500
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   181
                  )
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   182
                 #(#UISubSpecification
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   183
                    #name: 'SubSpecification1'
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   184
                    #majorKey: #HierarchicalVersionDiffBrowser
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   185
                    #minorKey: #contentsSpecVersionDiffBrowser
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   186
                  )
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   187
                 )
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   188
               
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   189
              )
2538
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   190
              #handles: #(#Any 0.310983 1.0)
2500
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   191
            )
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   192
           )
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   193
         
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   194
        )
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   195
      )
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   196
! !
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   197
2538
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   198
!HierarchicalVersionDiffBrowser class methodsFor:'menu specs'!
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   199
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   200
resourceClassItemMenu
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   201
    "This resource specification was automatically generated
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   202
     by the MenuEditor of ST/X."
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   203
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   204
    "Do not manually edit this!! If it is corrupted,
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   205
     the MenuEditor may not be able to read the specification."
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   206
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   207
    "
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   208
     MenuEditor new openOnClass:ClassRevisionTree andSelector:#resourceRevisonItemMenu
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   209
     (Menu new fromLiteralArrayEncoding:(ClassRevisionTree resourceRevisonItemMenu)) startUp
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   210
    "
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   211
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   212
    <resource: #menu>
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   213
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   214
    ^ 
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   215
     #(#Menu
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   216
        #(
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   217
         #(#MenuItem
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   218
            #label: 'Browse Class'
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   219
            #translateLabel: true
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   220
            #value: #menuActionBrowseClass
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   221
          )
2549
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
   222
         #(#MenuItem
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
   223
            #label: 'Checkin...'
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
   224
            #translateLabel: true
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
   225
            #value: #menuActionCheckInClass
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
   226
            #enabled: #canCheckInClass
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
   227
          )
2538
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   228
         )
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   229
        nil
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   230
        nil
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   231
      )
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   232
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   233
!
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   234
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   235
resourceCompareChangesMenu
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   236
    "This resource specification was automatically generated
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   237
     by the MenuEditor of ST/X."
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   238
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   239
    "Do not manually edit this!! If it is corrupted,
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   240
     the MenuEditor may not be able to read the specification."
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   241
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   242
    "
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   243
     MenuEditor new openOnClass:ClassRevisionTree andSelector:#resourceCompareChangesMenu
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   244
     (Menu new fromLiteralArrayEncoding:(ClassRevisionTree resourceCompareChangesMenu)) startUp
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   245
    "
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   246
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   247
    <resource: #menu>
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   248
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   249
    ^ 
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   250
     #(#Menu
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   251
        #(
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   252
         #(#MenuItem
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   253
            #label: 'Compare Changes'
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   254
            #translateLabel: true
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   255
            #value: #menuActionCompareChanges
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   256
          )
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   257
         )
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   258
        nil
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   259
        nil
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   260
      )
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   261
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   262
!
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   263
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   264
resourceRevisonItemMenu
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   265
    "This resource specification was automatically generated
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   266
     by the MenuEditor of ST/X."
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   267
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   268
    "Do not manually edit this!! If it is corrupted,
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   269
     the MenuEditor may not be able to read the specification."
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   270
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   271
    "
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   272
     MenuEditor new openOnClass:ClassRevisionTree andSelector:#resourceRevisonItemMenu
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   273
     (Menu new fromLiteralArrayEncoding:(ClassRevisionTree resourceRevisonItemMenu)) startUp
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   274
    "
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   275
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   276
    <resource: #menu>
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   277
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   278
    ^ 
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   279
     #(#Menu
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   280
        #(
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   281
         #(#MenuItem
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   282
            #label: 'Load Revision'
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   283
            #translateLabel: true
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   284
            #nameKey: #menuActionLoadRevision
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   285
            #value: #menuActionLoadRevision
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   286
          )
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   287
         )
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   288
        nil
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   289
        nil
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   290
      )
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   291
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   292
! !
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   293
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   294
!HierarchicalVersionDiffBrowser class methodsFor:'protocol'!
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   295
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   296
browserClass
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   297
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   298
    ^SystemBrowser
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   299
!
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   300
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   301
tree
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   302
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   303
    ^ClassRevisionTree
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   304
! !
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   305
2500
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   306
!HierarchicalVersionDiffBrowser class methodsFor:'startup'!
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   307
2614
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   308
openOnClassRevisionInfo:aClassRevisionInfoColl
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   309
    |theBrowser theTree|
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   310
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   311
    SourceCodeManager isNil ifTrue:[
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   312
        self warn:'SourceCodeManagement is disabled.\\I will not be able to show old versions.' withCRs.
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   313
    ].
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   314
    theBrowser := self new.
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   315
    theTree := self tree new.
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   316
    theTree classItemClass: ClassNameItem.
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   317
    theTree setUpClassItemBlock:[
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   318
        |theClassRevisionInfoColl root theClassItemColl |
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   319
        self halt.
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   320
        root := ClassItemRoot new.
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   321
        (theClassRevisionInfoColl := self classHolder value) notNil ifTrue:[
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   322
            theClassItemColl := theClassRevisionInfoColl collect:[:eachClass |
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   323
                |theClassItem theClass|
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   324
                theClassItem := ClassNameItem new.
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   325
               theClassItem myClass:(eachClass at:1).
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   326
                theClassItem].
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   327
           root addAll: theClassItemColl.
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   328
        ].  
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   329
        self listModel root:root.
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   330
    ].
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   331
    theBrowser classTree:theTree.
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   332
    theBrowser allButOpen.
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   333
    theTree classHolder:(theBrowser classHolder value:aClassRevisionInfoColl).
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   334
    "theTree selectionHolder:theBrowser treeSelectionHolder."
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   335
    "theTree menuBlock:theBrowser menuBlock."
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   336
    theBrowser openWindow.
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   337
    ^theBrowser
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   338
"
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   339
self openOnClassRevisionInfo:#(#(VersionDiffBrowser 1.1 1.2) #(FileBrowser 1.1 1.2) #(Array 1.1 1.2)).
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   340
"
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   341
!
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   342
2500
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   343
openOnClasses:aClassColl
2515
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   344
    |theBrowser theTree|
2500
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   345
2549
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
   346
    SourceCodeManager isNil ifTrue:[
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
   347
        self warn:'SourceCodeManagement is disabled.\\I will not be able to show old versions.' withCRs.
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
   348
    ].
2500
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   349
    theBrowser := self new.
2538
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   350
    theTree := self tree new.
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   351
    theBrowser classTree:theTree.
2500
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   352
    theBrowser allButOpen.
2538
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   353
    theTree classHolder:(theBrowser classHolder value:aClassColl).
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   354
    theTree selectionHolder:theBrowser treeSelectionHolder.
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   355
    theTree menuBlock:theBrowser menuBlock.
2515
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   356
    theBrowser openWindow.
2538
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   357
    ^theBrowser
2500
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   358
"
2538
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   359
|theBrowser|
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   360
theBrowser := self openOnClasses:#(VersionDiffBrowser FileBrowser Array).
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   361
Delay waitForMilliseconds:1500.
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   362
theBrowser classHolder value:(Smalltalk allClasses asOrderedCollection sort:[:x : y|x name < y name])
2500
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   363
"
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   364
! !
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   365
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   366
!HierarchicalVersionDiffBrowser methodsFor:'accessing'!
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   367
2538
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   368
classHolder
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   369
    "return the value of the instance variable 'classHolder' (automatically generated)"
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   370
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   371
    ^ classHolder ifNil:[classHolder := ValueHolder new]
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   372
!
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   373
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   374
classHolder:something
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   375
    "set the value of the instance variable 'classHolder' (automatically generated)"
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   376
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   377
    classHolder := something.!
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   378
2515
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   379
classTree
2500
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   380
2515
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   381
    ^ classTree 
2500
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   382
!
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   383
2515
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   384
classTree:something
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   385
    "set the value of the instance variable 'classTree' (automatically generated)"
2509
0b7d7aedc1cd checkin from browser
ps
parents: 2508
diff changeset
   386
2515
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   387
    classTree := something.!
2509
0b7d7aedc1cd checkin from browser
ps
parents: 2508
diff changeset
   388
2515
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   389
treeSelectionHolder
2500
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   390
2538
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   391
    ^treeSelectionHolder ifNil:[treeSelectionHolder := ValueHolder new]
2500
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   392
!
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   393
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   394
versionDiffBrowser
2515
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   395
2500
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   396
    versionDiffBrowser isNil ifTrue:[
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   397
        versionDiffBrowser := VersionDiffBrowser new.
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   398
        versionDiffBrowser masterApplication:self.
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   399
    ].
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   400
    ^ versionDiffBrowser
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   401
! !
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   402
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   403
!HierarchicalVersionDiffBrowser methodsFor:'aspects'!
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   404
2549
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
   405
canCheckInClass
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
   406
    SourceCodeManager isNil ifTrue:[^ false].
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
   407
    ^ true
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
   408
!
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
   409
2500
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   410
versionDiffModel
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   411
    "automatically generated by UIPainter ..."
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   412
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   413
    "*** the code below creates a default model when invoked."
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   414
    "*** (which may not be the one you wanted)"
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   415
    "*** Please change as required and accept it in the browser."
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   416
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   417
    |holder|
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   418
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   419
    (holder := builder bindingAt:#versionDiffModel) isNil ifTrue:[
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   420
        holder := String new asValue.
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   421
        builder aspectAt:#versionDiffModel put:holder.
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   422
    ].
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   423
    ^ holder.
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   424
! !
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   425
2614
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   426
!HierarchicalVersionDiffBrowser methodsFor:'change & update'!
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   427
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   428
delayedUpdate
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   429
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   430
    self halt.
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   431
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   432
!
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   433
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   434
update:something with:someArgument from:changedObject
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   435
    |sensor|
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   436
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   437
    "/ delayed update
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   438
    "/ if such an update is already in the queue, ignore it.
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   439
    "/ Otherwise push it as an event, to be handled when I am back
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   440
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   441
    (sensor := self window sensor) isNil 
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   442
        ifTrue:[^ self delayedUpdate].
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   443
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   444
    (sensor hasEvent:#delayedUpdate for:self ) 
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   445
        ifTrue:[^ self].
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   446
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   447
    sensor pushUserEvent:#delayedUpdate for:self
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   448
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   449
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   450
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   451
! !
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   452
2538
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   453
!HierarchicalVersionDiffBrowser methodsFor:'menu'!
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   454
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   455
menuForClassItemSelected
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   456
"
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   457
<return: Menu>
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   458
"
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   459
    |menu|
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   460
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   461
    menu := Menu new fromLiteralArrayEncoding:(self class resourceClassItemMenu).
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   462
    menu receiver:self.
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   463
    ^menu
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   464
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   465
!
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   466
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   467
menuForOneRevisionItemSelected
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   468
"
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   469
<return: Menu>
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   470
"
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   471
    |menu theItemColl|
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   472
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   473
    menu := Menu new fromLiteralArrayEncoding:(self class resourceRevisonItemMenu).
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   474
    "disable load button, if version already loaded"
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   475
    theItemColl := self treeSelectionHolder value.
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   476
    theItemColl first isLoadedRevision
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   477
        ifTrue:[menu allItemsDo:[:eachItem | eachItem nameKey == #menuActionLoadRevision
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   478
                                                  ifTrue:[eachItem isEnabled:false]].
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   479
               ].
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   480
    menu receiver:self.
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   481
    ^menu
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   482
!
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   483
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   484
menuForTwoRevisionItemsSelected
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   485
"
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   486
<return: Menu>
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   487
"
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   488
    |menu|
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   489
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   490
    menu := Menu new fromLiteralArrayEncoding:(self class resourceCompareChangesMenu).
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   491
    menu receiver:self.
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   492
    ^menu
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   493
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   494
! !
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   495
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   496
!HierarchicalVersionDiffBrowser methodsFor:'menu actions'!
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   497
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   498
menuActionBrowseClass
2549
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
   499
    |cls|
2538
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   500
2549
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
   501
    cls := self treeSelectionHolder value first myClass.
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
   502
    cls browserClass openInClass:cls
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
   503
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
   504
!
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
   505
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
   506
menuActionCheckInClass
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
   507
    |cls|
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
   508
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
   509
    cls := self treeSelectionHolder value first myClass.
68695c53b707 accessor for defaultForegroundColor
Claus Gittinger <cg@exept.de>
parents: 2548
diff changeset
   510
    SourceCodeManagerUtilities checkinClass:cls 
2538
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   511
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   512
!
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   513
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   514
menuActionCompareChanges
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   515
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   516
    self updateVersionDiffBrowser
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   517
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   518
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   519
!
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   520
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   521
menuActionLoadRevision
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   522
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   523
    |theSelectedItem theLoadedItem theChangeSetA theChangeSetB theChangeDic|
2500
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   524
2538
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   525
    theSelectedItem := self treeSelectionHolder value first.
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   526
    theLoadedItem := theSelectedItem parent loadedRevisionItem.
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   527
    theChangeSetA := ChangeSet fromStream:(theSelectedItem sourceStream).
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   528
    theChangeSetB := ChangeSet fromStream:(theLoadedItem sourceStream).
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   529
    (theChangeSetA isNil or:[theChangeSetB isNil]) ifTrue:[^self].
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   530
    theChangeDic := (theChangeSetA diffSetsAgainst:theChangeSetB).
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   531
    self applyChangesIn:theChangeDic.
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   532
!
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   533
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   534
menuBlock
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   535
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   536
    ^[ 
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   537
        |menu|  
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   538
        self checkIfTwoRevisionItemsSelected
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   539
            ifTrue: [menu := self menuForTwoRevisionItemsSelected].
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   540
        self checkIfOneRevisionItemSelected
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   541
            ifTrue: [menu := self menuForOneRevisionItemSelected].
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   542
        self checkIfClassItemSelected
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   543
            ifTrue: [menu := self menuForClassItemSelected].
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   544
        menu
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   545
    ]
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   546
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   547
! !
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   548
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   549
!HierarchicalVersionDiffBrowser methodsFor:'menu testing'!
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   550
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   551
checkIfClassItemSelected
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   552
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   553
    |theItemColl|
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   554
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   555
    theItemColl := self treeSelectionHolder value.
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   556
    ^(theItemColl size == 1) and:[theItemColl first isClassItem]
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   557
!
2500
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   558
2538
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   559
checkIfOneRevisionItemSelected
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   560
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   561
    |theItemColl theItem|
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   562
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   563
    theItemColl := self treeSelectionHolder value.
2614
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   564
    ^(theItemColl size == 1) and:
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   565
        [(theItem := theItemColl first) isRevisionItem and:
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   566
        [theItem isSourceRevisionItem not and:
6358729321c5 *** empty log message ***
ps
parents: 2549
diff changeset
   567
        [theItem hasSourceStream]]]
2538
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   568
!
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   569
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   570
checkIfTwoRevisionItemsSelected
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   571
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   572
    |theFirstItem theSecondItem theItemColl|
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   573
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   574
    theItemColl := self treeSelectionHolder value.
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   575
    theItemColl size ~~ 2
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   576
            ifTrue:[^false].
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   577
    theFirstItem := theItemColl first.
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   578
    theSecondItem := theItemColl last.
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   579
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   580
    ^theFirstItem isRevisionItem and:[theSecondItem isRevisionItem and:
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   581
        [theFirstItem hasSourceStream and:[theSecondItem hasSourceStream and:
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   582
        [theFirstItem myClass == theSecondItem myClass]]]]
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   583
! !
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   584
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   585
!HierarchicalVersionDiffBrowser methodsFor:'private'!
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   586
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   587
applyChangesIn:aChangeDic
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   588
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   589
    self halt.
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   590
    (aChangeDic at:#onlyInReceiver) apply.
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   591
    ((aChangeDic at:#changed) collect:[:each | each first]) do:[:eachMethodChange | eachMethodChange apply].
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   592
    (aChangeDic at:#onlyInArg) do:
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   593
        [:eachChange | eachChange isMethodChange 
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   594
                            ifTrue:[|theClass|
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   595
                                   (theClass := eachChange changeClass) notNil 
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   596
                                        ifTrue:[theClass removeSelector:eachChange selector]]].
65d455c152f0 defined source container
ps
parents: 2515
diff changeset
   597
2500
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   598
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   599
! !
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   600
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   601
!HierarchicalVersionDiffBrowser methodsFor:'update'!
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   602
2515
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   603
updateVersionDiffBrowser
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   604
"
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   605
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   606
<return: self>
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   607
"
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   608
    |theFirstTreeItem theSecondTreeItem theClass theFirstRevisionString theSecondRevisionString|
2500
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   609
2515
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   610
    theFirstTreeItem := self treeSelectionHolder value first.
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   611
    theSecondTreeItem := self treeSelectionHolder value last.
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   612
    theClass := theFirstTreeItem myClass.
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   613
    theFirstRevisionString := theFirstTreeItem revisionString.
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   614
    theSecondRevisionString := theSecondTreeItem revisionString.
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   615
    self updateVersionDiffLabelForClass:theClass andVersionA:theFirstRevisionString andVersionB:theSecondRevisionString.    
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   616
    self versionDiffBrowser setupForClass:theClass 
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   617
                            labelA:theFirstRevisionString
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   618
                            sourceA:theFirstTreeItem sourceStream
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   619
                            labelB:theSecondRevisionString 
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   620
                            sourceB:theSecondTreeItem sourceStream
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   621
!
2500
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   622
2515
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   623
updateVersionDiffLabelForClass:aClass andVersionA:aVersionA andVersionB:aVersionB    
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   624
"
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   625
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   626
<return: self>
eacfc080e08f *** empty log message ***
ps
parents: 2509
diff changeset
   627
"
2500
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   628
    |theStream|
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   629
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   630
    theStream := WriteStream on:#String.
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   631
    theStream nextPutAll:'Compare '.
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   632
    theStream nextPutAll: aClass name.
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   633
    theStream nextPutAll:' revision '''.
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   634
    theStream nextPutAll: aVersionA.
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   635
    theStream nextPutAll: ''' with revision '''.
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   636
    theStream nextPutAll: aVersionB.
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   637
    theStream nextPutAll: '''.'.
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   638
    self versionDiffModel value:theStream contents
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   639
! !
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   640
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   641
!HierarchicalVersionDiffBrowser class methodsFor:'documentation'!
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   642
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   643
version
2626
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
   644
    ^ '$Header: /cvs/stx/stx/libtool/HierarchicalVersionDiffBrowser.st,v 1.9 2000-02-18 14:06:52 cg Exp $'
2500
e4a8d9c98640 initial checkin
ps
parents:
diff changeset
   645
! !