Tools__ChangeList.st
author Claus Gittinger <cg@exept.de>
Tue, 27 Dec 2011 14:19:19 +0100
changeset 11035 f0a7b75aa81a
parent 10957 53571e562d5e
child 11036 f7a7ac82cd64
permissions -rw-r--r--
added: #list #selectionIndex #selectionIndices
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"
10064
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
     2
 COPYRIGHT (c) 2010 by Jan Vrany, SWING Research Group. CTU in Prague
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
     3
              All Rights Reserved
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
10064
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
     5
Permission is hereby granted, free of charge, to any person
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
     6
obtaining a copy of this software and associated documentation
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
     7
files (the 'Software'), to deal in the Software without
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
     8
restriction, including without limitation the rights to use,
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
     9
copy, modify, merge, publish, distribute, sublicense, and/or sell
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    10
copies of the Software, and to permit persons to whom the
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    11
Software is furnished to do so, subject to the following
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    12
conditions:
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    13
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    14
The above copyright notice and this permission notice shall be
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    15
included in all copies or substantial portions of the Software.
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    16
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    17
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    18
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    19
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    20
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    21
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    22
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    23
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    24
OTHER DEALINGS IN THE SOFTWARE.
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
"{ Package: 'stx:libtool' }"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
"{ NameSpace: Tools }"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
10925
7cb47ef997fb inherits from BrowserListWithFilter
vrany
parents: 10881
diff changeset
    30
BrowserListWithFilter subclass:#ChangeList
7cb47ef997fb inherits from BrowserListWithFilter
vrany
parents: 10881
diff changeset
    31
	instanceVariableNames:'listHolder showRemovedHolder showSameHolder acceptEnabledHolder'
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
	classVariableNames:'LastSelectionConditionString'
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
	poolDictionaries:''
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
	category:'Interface-Browsers-ChangeSet'
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
HierarchicalItem subclass:#ListEntry
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
	instanceVariableNames:'change application x'
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
	classVariableNames:''
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
	poolDictionaries:''
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
	privateIn:ChangeList
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
!ChangeList class methodsFor:'documentation'!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
copyright
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
"
10064
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    48
 COPYRIGHT (c) 2010 by Jan Vrany, SWING Research Group. CTU in Prague
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    49
              All Rights Reserved
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    50
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    51
Permission is hereby granted, free of charge, to any person
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    52
obtaining a copy of this software and associated documentation
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    53
files (the 'Software'), to deal in the Software without
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    54
restriction, including without limitation the rights to use,
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    55
copy, modify, merge, publish, distribute, sublicense, and/or sell
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    56
copies of the Software, and to permit persons to whom the
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    57
Software is furnished to do so, subject to the following
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    58
conditions:
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
10064
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    60
The above copyright notice and this permission notice shall be
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    61
included in all copies or substantial portions of the Software.
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    62
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    63
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    64
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    65
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    66
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    67
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    68
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    69
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
7949933c6a57 copyright
Claus Gittinger <cg@exept.de>
parents: 10009
diff changeset
    70
OTHER DEALINGS IN THE SOFTWARE.
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
! !
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
!ChangeList class methodsFor:'image specs'!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
iconEqual
10657
7df080baff44 changed:6 methods
Claus Gittinger <cg@exept.de>
parents: 10451
diff changeset
    77
    ^ ToolbarIconLibrary iconEqual12x12
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
10657
7df080baff44 changed:6 methods
Claus Gittinger <cg@exept.de>
parents: 10451
diff changeset
    79
    "Modified: / 31-08-2011 / 10:52:34 / cg"
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
iconEqualGrayed
10657
7df080baff44 changed:6 methods
Claus Gittinger <cg@exept.de>
parents: 10451
diff changeset
    83
    ^ ToolbarIconLibrary iconEqualGray12x12
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
10657
7df080baff44 changed:6 methods
Claus Gittinger <cg@exept.de>
parents: 10451
diff changeset
    85
    "Modified: / 31-08-2011 / 10:54:00 / cg"
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
iconMinus
10657
7df080baff44 changed:6 methods
Claus Gittinger <cg@exept.de>
parents: 10451
diff changeset
    89
    ^ ToolbarIconLibrary iconMinus12x12
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
10657
7df080baff44 changed:6 methods
Claus Gittinger <cg@exept.de>
parents: 10451
diff changeset
    91
    "Modified: / 31-08-2011 / 10:51:26 / cg"
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
iconMinusGrayed
10657
7df080baff44 changed:6 methods
Claus Gittinger <cg@exept.de>
parents: 10451
diff changeset
    95
    ^ ToolbarIconLibrary iconMinusGray12x12
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
10657
7df080baff44 changed:6 methods
Claus Gittinger <cg@exept.de>
parents: 10451
diff changeset
    97
    "Modified: / 31-08-2011 / 10:54:40 / cg"
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
iconPlus
10657
7df080baff44 changed:6 methods
Claus Gittinger <cg@exept.de>
parents: 10451
diff changeset
   101
    ^ ToolbarIconLibrary iconPlus12x12
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
10657
7df080baff44 changed:6 methods
Claus Gittinger <cg@exept.de>
parents: 10451
diff changeset
   103
    "Modified: / 31-08-2011 / 10:51:39 / cg"
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
iconPlusGrayed
10657
7df080baff44 changed:6 methods
Claus Gittinger <cg@exept.de>
parents: 10451
diff changeset
   107
    ^ ToolbarIconLibrary iconPlusGray12x12
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
10657
7df080baff44 changed:6 methods
Claus Gittinger <cg@exept.de>
parents: 10451
diff changeset
   109
    "Modified: / 31-08-2011 / 10:54:46 / cg"
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
! !
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
!ChangeList class methodsFor:'interface specs'!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
windowSpec
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
    "This resource specification was automatically generated
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
     by the UIPainter of ST/X."
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
    "Do not manually edit this!! If it is corrupted,
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
     the UIPainter may not be able to read the specification."
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
    "
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
     UIPainter new openOnClass:Tools::ChangeList andSelector:#windowSpec
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
     Tools::ChangeList new openInterface:#windowSpec
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
     Tools::ChangeList open
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
    "
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
    <resource: #canvas>
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
    ^ 
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
     #(FullSpec
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
        name: windowSpec
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
        window: 
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
       (WindowSpec
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
          label: 'Change List'
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
          name: 'Change List'
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
          min: (Point 10 10)
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
          bounds: (Rectangle 0 0 300 300)
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
        )
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
        component: 
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
       (SpecCollection
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
          collection: (
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
           (SelectionInListModelViewSpec
10449
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   143
              name: 'List'
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
              layout: (LayoutFrame 0 0 0 0 0 1 0 1)
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
              model: selectionHolder
10925
7cb47ef997fb inherits from BrowserListWithFilter
vrany
parents: 10881
diff changeset
   146
              menu: menuHolderWithShowFilter
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
              hasHorizontalScrollBar: true
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
              hasVerticalScrollBar: true
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
              listModel: listHolder
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
              multipleSelectOk: true
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
              useIndex: false
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
              highlightMode: line
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
              doubleClickSelector: selectionDoubleclicked
10925
7cb47ef997fb inherits from BrowserListWithFilter
vrany
parents: 10881
diff changeset
   154
              postBuildCallback: postBuildListView:
7cb47ef997fb inherits from BrowserListWithFilter
vrany
parents: 10881
diff changeset
   155
            )
7cb47ef997fb inherits from BrowserListWithFilter
vrany
parents: 10881
diff changeset
   156
           (InputFieldSpec
7cb47ef997fb inherits from BrowserListWithFilter
vrany
parents: 10881
diff changeset
   157
              name: 'Filter'
7cb47ef997fb inherits from BrowserListWithFilter
vrany
parents: 10881
diff changeset
   158
              layout: (LayoutFrame 0 0 0 0 0 1 26 0)
7cb47ef997fb inherits from BrowserListWithFilter
vrany
parents: 10881
diff changeset
   159
              initiallyInvisible: true
7cb47ef997fb inherits from BrowserListWithFilter
vrany
parents: 10881
diff changeset
   160
              model: filterPatternHolder
7cb47ef997fb inherits from BrowserListWithFilter
vrany
parents: 10881
diff changeset
   161
              immediateAccept: true
7cb47ef997fb inherits from BrowserListWithFilter
vrany
parents: 10881
diff changeset
   162
              acceptOnLeave: false
7cb47ef997fb inherits from BrowserListWithFilter
vrany
parents: 10881
diff changeset
   163
              acceptOnReturn: false
7cb47ef997fb inherits from BrowserListWithFilter
vrany
parents: 10881
diff changeset
   164
              acceptOnTab: false
7cb47ef997fb inherits from BrowserListWithFilter
vrany
parents: 10881
diff changeset
   165
              acceptOnPointerLeave: false
7cb47ef997fb inherits from BrowserListWithFilter
vrany
parents: 10881
diff changeset
   166
              emptyFieldReplacementText: 'Search Filter...'
7cb47ef997fb inherits from BrowserListWithFilter
vrany
parents: 10881
diff changeset
   167
              usePreferredHeight: true
7cb47ef997fb inherits from BrowserListWithFilter
vrany
parents: 10881
diff changeset
   168
              useDynamicPreferredHeight: true
7cb47ef997fb inherits from BrowserListWithFilter
vrany
parents: 10881
diff changeset
   169
              postBuildCallback: postBuildFilterView:
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
            )
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
           )
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
         
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
        )
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
      )
10925
7cb47ef997fb inherits from BrowserListWithFilter
vrany
parents: 10881
diff changeset
   175
7cb47ef997fb inherits from BrowserListWithFilter
vrany
parents: 10881
diff changeset
   176
    "Modified: / 29-11-2011 / 15:52:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
! !
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
!ChangeList class methodsFor:'menu specs'!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
listMenu
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
    "This resource specification was automatically generated
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
     by the MenuEditor of ST/X."
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
    "Do not manually edit this!! If it is corrupted,
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
     the MenuEditor may not be able to read the specification."
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
    "
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
     MenuEditor new openOnClass:Tools::ChangeList andSelector:#listMenu
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
     (Menu new fromLiteralArrayEncoding:(Tools::ChangeList listMenu)) startUp
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
    "
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   193
    <resource: #menu>
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
    ^ 
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
     #(Menu
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
        (
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
         (MenuItem
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
            enabled: hasChangeSelectedAndNotRemoved
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
            label: 'Apply'
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
            itemValue: listMenuApply
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
            translateLabel: true
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
            isVisible: acceptEnabledHolder
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
            shortcutKey: Accept
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
          )
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
         (MenuItem
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
            label: 'Apply all'
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
            itemValue: listMenuApplyAll
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
            translateLabel: true
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
            isVisible: acceptEnabledHolder
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
          )
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   212
         (MenuItem
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
            enabled: hasSingleChangeSelectedAndCanBrowse
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
            label: 'Browse'
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
            itemValue: listMenuBrowse
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
            translateLabel: true
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
          )
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
         (MenuItem
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
            label: '-'
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
          )
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
         (MenuItem
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   222
            label: 'Delete'
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
            itemValue: listMenuDeleteSelection
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
            nameKey: Delete
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
            translateLabel: true
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
            shortcutKey: Delete
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
          )
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
         (MenuItem
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   229
            label: '-'
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   230
          )
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
         (MenuItem
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
            label: 'Select...'
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
            translateLabel: true
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
            submenu: 
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   235
           (Menu
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   236
              (
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
               (MenuItem
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
                  label: 'Select same'
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
                  itemValue: listMenuSelectSame
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
                  translateLabel: true
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
                )
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   242
               (MenuItem
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   243
                  label: 'Select additions (new classes/methods)'
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   244
                  itemValue: listMenuSelectAdditions
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   245
                  translateLabel: true
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
                )
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
               (MenuItem
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   248
                  label: 'Select removals'
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   249
                  itemValue: listMenuSelectRemovals
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   250
                  translateLabel: true
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   251
                )
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   252
               (MenuItem
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   253
                  label: '-'
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   254
                )
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   255
               (MenuItem
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   256
                  label: 'Select all'
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   257
                  itemValue: listMenuSelectAll
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   258
                  translateLabel: true
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   259
                )
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   260
               (MenuItem
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   261
                  label: 'Select none'
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   262
                  itemValue: listMenuSelectNone
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   263
                  translateLabel: true
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   264
                )
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   265
               (MenuItem
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   266
                  label: '-'
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   267
                )
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   268
               (MenuItem
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   269
                  label: 'Select using block'
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   270
                  itemValue: listMenuSelectUsingBlock
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   271
                  translateLabel: true
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   272
                )
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   273
               )
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   274
              nil
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   275
              nil
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   276
            )
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   277
          )
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   278
         (MenuItem
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   279
            label: '-'
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   280
          )
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   281
         (MenuItem
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   282
            label: 'Show Deleted'
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   283
            translateLabel: true
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   284
            indication: showRemovedHolder
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   285
          )
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   286
         (MenuItem
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   287
            label: 'Inspect change'
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   288
            itemValue: listMenuInspect
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   289
            translateLabel: true
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   290
          )
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   291
         )
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   292
        nil
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   293
        nil
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   294
      )
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   295
! !
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   296
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   297
!ChangeList class methodsFor:'plugIn spec'!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   298
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   299
aspectSelectors
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   300
    "This resource specification was automatically generated
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   301
     by the UIPainter of ST/X."
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   302
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   303
    "Do not manually edit this. If it is corrupted,
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   304
     the UIPainter may not be able to read the specification."
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   305
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   306
    "Return a description of exported aspects;
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   307
     these can be connected to aspects of an embedding application
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   308
     (if this app is embedded in a subCanvas)."
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   309
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   310
    ^ #(
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   311
        #acceptEnabledHolder
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   312
        #inGeneratorHolder
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   313
        #menuHolder
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   314
        #outGeneratorHolder
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   315
        #selectionHolder
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   316
        #showRemovedHolder
10449
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   317
        #showSameHolder
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   318
      ).
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   319
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   320
! !
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   321
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   322
!ChangeList methodsFor:'accessing'!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   323
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   324
acceptEnabled
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   325
    "return the value in 'acceptEnabledHolder'"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   326
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   327
    ^ self acceptEnabledHolder value
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   328
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   329
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   330
acceptEnabled: newValue
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   331
    "set the value in 'acceptEnabledHolder'"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   332
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   333
    self acceptEnabledHolder value: newValue
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   334
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   335
11035
Claus Gittinger <cg@exept.de>
parents: 10957
diff changeset
   336
list
Claus Gittinger <cg@exept.de>
parents: 10957
diff changeset
   337
    ^ listHolder value
Claus Gittinger <cg@exept.de>
parents: 10957
diff changeset
   338
Claus Gittinger <cg@exept.de>
parents: 10957
diff changeset
   339
    "Created: / 05-12-2009 / 14:48:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
Claus Gittinger <cg@exept.de>
parents: 10957
diff changeset
   340
    "Created: / 27-12-2011 / 14:18:25 / cg"
Claus Gittinger <cg@exept.de>
parents: 10957
diff changeset
   341
!
Claus Gittinger <cg@exept.de>
parents: 10957
diff changeset
   342
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   343
selection
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   344
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   345
    ^self selectionHolder value
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   346
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   347
    "Created: / 05-12-2009 / 14:48:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   348
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   349
11035
Claus Gittinger <cg@exept.de>
parents: 10957
diff changeset
   350
selectionIndices
Claus Gittinger <cg@exept.de>
parents: 10957
diff changeset
   351
    |sel|
Claus Gittinger <cg@exept.de>
parents: 10957
diff changeset
   352
Claus Gittinger <cg@exept.de>
parents: 10957
diff changeset
   353
    (sel := self selectionHolder value) isEmptyOrNil ifTrue:[^ #()].
Claus Gittinger <cg@exept.de>
parents: 10957
diff changeset
   354
    ^ sel collect:[:each | self list identityIndexOf:each].
Claus Gittinger <cg@exept.de>
parents: 10957
diff changeset
   355
Claus Gittinger <cg@exept.de>
parents: 10957
diff changeset
   356
    "Created: / 05-12-2009 / 14:48:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
Claus Gittinger <cg@exept.de>
parents: 10957
diff changeset
   357
    "Created: / 27-12-2011 / 10:56:20 / cg"
Claus Gittinger <cg@exept.de>
parents: 10957
diff changeset
   358
!
Claus Gittinger <cg@exept.de>
parents: 10957
diff changeset
   359
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   360
showRemoved
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   361
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   362
    ^self showRemovedHolder value ? true
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   363
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   364
    "Created: / 05-12-2009 / 14:28:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   365
! !
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   366
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   367
!ChangeList methodsFor:'actions'!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   368
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   369
selectionDoubleclicked
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   370
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   371
    | app |
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   372
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   373
    self selection do:
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   374
        [:e|e removed: e removed not].
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   375
    ((app := self masterApplication) respondsTo: #redrawChangeListViews)
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   376
        ifTrue:[app redrawChangeListViews].
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   377
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   378
    "Modified: / 16-03-2011 / 22:51:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   379
! !
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   380
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   381
!ChangeList methodsFor:'aspects'!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   382
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   383
acceptEnabledHolder
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   384
    "return/create the valueHolder 'acceptEnabledHolder'"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   385
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   386
    acceptEnabledHolder isNil ifTrue:[
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   387
        acceptEnabledHolder := ValueHolder with:nil "defaultValue here".
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   388
    ].
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   389
    ^ acceptEnabledHolder
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   390
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   391
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   392
acceptEnabledHolder:aValueModel
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   393
    acceptEnabledHolder := aValueModel.
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   394
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   395
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   396
listHolder
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   397
    listHolder isNil ifTrue:[
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   398
        listHolder := ValueHolder new.
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   399
    ].
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   400
    ^ listHolder
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   401
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   402
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   403
showRemovedHolder
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   404
    "return/create the 'showRemovedHolder' value holder (automatically generated)"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   405
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   406
    showRemovedHolder isNil ifTrue:[
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   407
        showRemovedHolder := ValueHolder with: true.
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   408
        showRemovedHolder addDependent: self.
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   409
    ].
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   410
    ^ showRemovedHolder
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   411
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   412
10449
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   413
showRemovedHolder:something
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   414
    "set the 'showRemovedHolder' value holder (automatically generated)"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   415
10449
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   416
    |oldValue newValue|
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   417
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   418
    showRemovedHolder notNil ifTrue:[
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   419
        oldValue := showRemovedHolder value.
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   420
        showRemovedHolder removeDependent:self.
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   421
    ].
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   422
    showRemovedHolder := something.
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   423
    showRemovedHolder notNil ifTrue:[
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   424
        showRemovedHolder addDependent:self.
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   425
    ].
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   426
    newValue := showRemovedHolder value.
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   427
    oldValue ~~ newValue ifTrue:[
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   428
        self update:#value with:newValue from:showRemovedHolder.
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   429
    ].
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   430
!
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   431
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   432
showSameHolder
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   433
    "return/create the 'showSameHolder' value holder (automatically generated)"
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   434
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   435
    showSameHolder isNil ifTrue:[
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   436
        showSameHolder := ValueHolder with: true.
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   437
        showSameHolder addDependent:self.
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   438
    ].
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   439
    ^ showSameHolder
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   440
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   441
    "Modified: / 04-08-2011 / 18:39:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   442
!
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   443
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   444
showSameHolder:something
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   445
    "set the 'showSameHolder' value holder (automatically generated)"
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   446
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   447
    |oldValue newValue|
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   448
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   449
    showSameHolder notNil ifTrue:[
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   450
        oldValue := showSameHolder value.
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   451
        showSameHolder removeDependent:self.
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   452
    ].
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   453
    showSameHolder := something.
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   454
    showSameHolder notNil ifTrue:[
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   455
        showSameHolder addDependent:self.
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   456
    ].
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   457
    newValue := showSameHolder value.
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   458
    oldValue ~~ newValue ifTrue:[
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   459
        self update:#value with:newValue from:showSameHolder.
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   460
    ].
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   461
! !
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   462
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   463
!ChangeList methodsFor:'change & update'!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   464
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   465
update: aspect with: param from: sender
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   466
10449
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   467
    sender == selectionHolder ifTrue:[
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   468
        self selectionChanged.
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   469
        ^self
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   470
    ].
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   471
    sender == showSameHolder ifTrue:[
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   472
        self updateList
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   473
    ].
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   474
    sender == showRemovedHolder ifTrue:[
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   475
        self updateList
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   476
    ].
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   477
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   478
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   479
    ^super update: aspect with: param from: sender
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   480
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   481
    "Created: / 24-10-2009 / 19:47:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   482
! !
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   483
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   484
!ChangeList methodsFor:'event processing'!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   485
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   486
buttonPress:button x:x y:y view:aView
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   487
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   488
    | itemIndex item |
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   489
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   490
    button ~= 1 ifTrue:[^aView buttonPress:button x:x y:y].
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   491
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   492
    itemIndex := aView yVisibleToLineNr:y.
10881
07359595b386 changed: #buttonPress:x:y:view:
Claus Gittinger <cg@exept.de>
parents: 10657
diff changeset
   493
    itemIndex isNil ifTrue:[^self].
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   494
    itemIndex == 0 ifTrue:[^self].
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   495
    itemIndex > aView list size ifTrue:[^self].
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   496
    item := aView list at: itemIndex.
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   497
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   498
    ((aView left + x) between: (item x) and: (item x + 16))
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   499
        ifFalse:[^aView buttonPress:button x:x y:y].
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   500
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   501
    item removed: item removed not.
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   502
    aView invalidate
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   503
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   504
    "Created: / 08-12-2009 / 14:12:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10881
07359595b386 changed: #buttonPress:x:y:view:
Claus Gittinger <cg@exept.de>
parents: 10657
diff changeset
   505
    "Modified: / 18-11-2011 / 14:55:41 / cg"
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   506
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   507
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   508
handlesButtonPress:button inView:aView
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   509
10957
53571e562d5e bugfixes
vrany
parents: 10925
diff changeset
   510
    ^listView scrolledView == aView
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   511
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   512
    "Created: / 08-12-2009 / 14:08:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   513
! !
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   514
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   515
!ChangeList methodsFor:'generators'!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   516
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   517
makeGenerator
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   518
    "Superclass Tools::BrowserList says that I am responsible to implement this method"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   519
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   520
    ^Iterator on:
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   521
        [:whatToDo|
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   522
        selectionHolder value do:
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   523
            [:changeListItem| | change |
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   524
            change := changeListItem change.
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   525
            change isCompositeChange ifTrue:
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   526
                [change changes do: whatToDo]]].
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   527
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   528
    "Modified: / 24-07-2009 / 23:00:41 / Jan Vrany <vranyj1@fel.cvut.cz>"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   529
    "Modified: / 24-10-2009 / 20:00:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   530
! !
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   531
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   532
!ChangeList methodsFor:'hooks'!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   533
10925
7cb47ef997fb inherits from BrowserListWithFilter
vrany
parents: 10881
diff changeset
   534
postBuildListView: aView
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   535
10925
7cb47ef997fb inherits from BrowserListWithFilter
vrany
parents: 10881
diff changeset
   536
    super postBuildListView: aView.
10957
53571e562d5e bugfixes
vrany
parents: 10925
diff changeset
   537
    listView scrolledView delegate: self.
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   538
10925
7cb47ef997fb inherits from BrowserListWithFilter
vrany
parents: 10881
diff changeset
   539
    "Created: / 29-11-2011 / 14:56:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   540
! !
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   541
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   542
!ChangeList methodsFor:'initialization'!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   543
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   544
initialize
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   545
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   546
    super initialize.
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   547
    menuHolder := [self menuFor: #listMenu].
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   548
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   549
    "Created: / 29-10-2010 / 12:50:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   550
! !
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   551
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   552
!ChangeList methodsFor:'menu actions'!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   553
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   554
listMenuApply
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   555
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   556
    self acceptEnabled ifFalse:[^self].
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   557
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   558
    self selectionHolder value do:[:e|e change apply].
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   559
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   560
    "Modified: / 24-10-2009 / 22:02:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   561
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   562
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   563
listMenuApplyAll
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   564
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   565
    self acceptEnabled ifFalse:[^self].
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   566
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   567
    self selection value do:
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   568
        [:e|e removed ifFalse:[e change apply]].
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   569
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   570
    "Created: / 05-12-2009 / 14:53:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   571
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   572
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   573
listMenuBrowse
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   574
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   575
    | classes methods methodsOnly |
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   576
    classes := Set new.
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   577
    methods := Set new.
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   578
    methodsOnly := true.
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   579
    self selectionHolder value do:
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   580
        [:each|
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   581
        each change isClassChange ifTrue:
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   582
            [each change changeClass ifNotNil:
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   583
                [classes add: each change changeClass.
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   584
                each change isMethodCodeChange 
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   585
                    ifTrue:
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   586
                        [each change changeMethod ifNotNil:
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   587
                            [methods add:each change changeMethod]]
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   588
                    ifFalse:
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   589
                        [methodsOnly := false]]]].
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   590
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   591
    methodsOnly 
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   592
        ifTrue:
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   593
            [methods size = 1 
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   594
                ifTrue:[Smalltalk browserClass openInMethod: methods anyOne]
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   595
                ifFalse:[Smalltalk browserClass browseMethods: methods asArray title: 'Selected methods from changeset' sort: true]]
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   596
        ifFalse:
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   597
            [classes size = 1
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   598
                ifTrue:[Smalltalk browserClass browseClass: classes anyOne]
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   599
                ifFalse:[Smalltalk browserClass browseClasses: classes]]
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   600
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   601
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   602
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   603
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   604
    "Modified: / 24-10-2009 / 22:02:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   605
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   606
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   607
listMenuDeleteSelection
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   608
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   609
    self selectionHolder value do:
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   610
        [:each|each removed: true].
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   611
    self updateList
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   612
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   613
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   614
listMenuInspect
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   615
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   616
    | selection |
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   617
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   618
    selection := self selectionHolder value collect:[:e|e change].
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   619
    selection size = 1
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   620
        ifTrue:[selection anyOne inspect]
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   621
        ifFalse:[selection inspect].
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   622
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   623
    "Modified: / 24-10-2009 / 22:02:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   624
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   625
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   626
listMenuSelectAdditions
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   627
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   628
    self listMenuSelectAllSuchThat:[:change|change delta = #+]
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   629
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   630
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   631
listMenuSelectAll
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   632
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   633
    self listMenuSelectAllSuchThat:[:change|true]
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   634
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   635
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   636
listMenuSelectAllSuchThat:conditionBlock 
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   637
    |newSelection|
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   638
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   639
    newSelection := self listHolder value 
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   640
                select:[:entry | conditionBlock value:entry change ].
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   641
    self selectionHolder value:newSelection
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   642
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   643
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   644
listMenuSelectNone
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   645
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   646
    self listMenuSelectAllSuchThat:[:change|false]
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   647
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   648
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   649
listMenuSelectRemovals
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   650
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   651
    self listMenuSelectAllSuchThat:[:change|change delta = #-]
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   652
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   653
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   654
listMenuSelectSame
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   655
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   656
    self listMenuSelectAllSuchThat:[:change|change delta = #=]
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   657
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   658
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   659
listMenuSelectUsingBlock
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   660
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   661
    |conditionBlockString conditionBlock dialog textHolder template|
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   662
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   663
    template :=
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   664
'[:change|
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   665
     "/ Define condition for selection below:
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   666
     "/ change is an instance of Change
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   667
     "/ change will be selected if and only if block returns true
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   668
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   669
    
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   670
     true"/always select the change
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   671
]
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   672
'.
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   673
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   674
    LastSelectionConditionString isNil ifTrue:[
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   675
        LastSelectionConditionString := template.
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   676
    ].
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   677
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   678
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   679
    textHolder := ValueHolder new.
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   680
    dialog := Dialog
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   681
                 forRequestText:(resources string:'Enter condition for selection')
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   682
                 lines:20
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   683
                 columns:70
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   684
                 initialAnswer:LastSelectionConditionString
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   685
                 model:textHolder.
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   686
    dialog addButton:(Button label:'Template' action:[textHolder value:template. textHolder changed:#value.]).
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   687
    dialog open.
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   688
    dialog accepted ifFalse:[^ self].
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   689
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   690
    conditionBlockString := textHolder value.
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   691
    LastSelectionConditionString := conditionBlockString.
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   692
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   693
    conditionBlock := Parser evaluate:conditionBlockString.
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   694
    conditionBlock isBlock ifFalse:[
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   695
        self error:'Bad selection block (syntax error?)'.
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   696
        ^ self
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   697
    ].
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   698
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   699
    self listMenuSelectAllSuchThat: conditionBlock
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   700
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   701
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   702
listMenuUndeleteSelection
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   703
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   704
    self selectionHolder value do:
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   705
        [:each|each removed: false].
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   706
    self updateList
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   707
! !
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   708
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   709
!ChangeList methodsFor:'private'!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   710
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   711
application
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   712
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   713
    ^self
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   714
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   715
    "Created: / 05-12-2009 / 14:10:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   716
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   717
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   718
browserNameList
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   719
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   720
    ^'Change list'
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   721
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   722
    "Modified: / 24-07-2009 / 22:06:53 / Jan Vrany <vranyj1@fel.cvut.cz>"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   723
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   724
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   725
listEntryFor:chg 
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   726
    ^ListEntry change:chg application: self
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   727
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   728
    "Modified: / 05-12-2009 / 14:39:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   729
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   730
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   731
makeDependent
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   732
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   733
    "Modified: / 24-07-2009 / 22:06:32 / Jan Vrany <vranyj1@fel.cvut.cz>"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   734
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   735
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   736
makeIndependent
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   737
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   738
    "Modified: / 24-07-2009 / 22:06:37 / Jan Vrany <vranyj1@fel.cvut.cz>"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   739
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   740
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   741
parentOrModel
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   742
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   743
    ^self
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   744
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   745
    "Created: / 05-12-2009 / 14:14:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   746
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   747
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   748
updateList
10925
7cb47ef997fb inherits from BrowserListWithFilter
vrany
parents: 10881
diff changeset
   749
    |inGenerator changeset newList |
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   750
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   751
    inGenerator := self inGeneratorHolder value.
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   752
    changeset := inGenerator ifNil:[ #() ] ifNotNil:[ inGenerator ].
10925
7cb47ef997fb inherits from BrowserListWithFilter
vrany
parents: 10881
diff changeset
   753
    newList := changeset 
10449
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   754
                select:
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   755
                    [:chg | 
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   756
                    (self showRemovedHolder value or:[ chg removed not ])
10451
3fe1648adef5 ChangeSetBrowser2 - fixes
vrany
parents: 10449
diff changeset
   757
                        and:[self showSameHolder value or:[chg delta ~~ #=]]
10925
7cb47ef997fb inherits from BrowserListWithFilter
vrany
parents: 10881
diff changeset
   758
                    ].
7cb47ef997fb inherits from BrowserListWithFilter
vrany
parents: 10881
diff changeset
   759
    newList := self filterList: newList.
7cb47ef997fb inherits from BrowserListWithFilter
vrany
parents: 10881
diff changeset
   760
    newList := newList collect:[:chg | self listEntryFor:chg ].
7cb47ef997fb inherits from BrowserListWithFilter
vrany
parents: 10881
diff changeset
   761
    self listHolder value: newList.
10449
bdc2ecfadf41 ChangeSetBrowser2 refactoring/cleanup
vrany
parents: 10334
diff changeset
   762
10925
7cb47ef997fb inherits from BrowserListWithFilter
vrany
parents: 10881
diff changeset
   763
    "Modified: / 29-11-2011 / 15:38:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   764
! !
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   765
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   766
!ChangeList methodsFor:'queries'!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   767
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   768
hasChangeSelected
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   769
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   770
    ^self selectionHolder value size > 0
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   771
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   772
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   773
hasChangeSelectedAndNotRemoved
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   774
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   775
    | selection |
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   776
    selection := self selectionHolder value ? #().
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   777
    ^selection size > 0 and:
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   778
        [selection allSatisfy:[:e|e removed not]].
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   779
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   780
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   781
hasSingleChangeSelected
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   782
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   783
    ^self selectionHolder value size = 1
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   784
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   785
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   786
hasSingleChangeSelectedAndCanBrowse
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   787
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   788
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   789
    self selectionHolder value ? #() do:
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   790
        [:each|
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   791
        (each change isClassChange and:
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   792
            [each change isMethodChange not
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   793
                or:[each change isMethodCodeChange]]) ifFalse:[^false]].
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   794
    ^true
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   795
! !
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   796
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   797
!ChangeList::ListEntry class methodsFor:'instance creation'!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   798
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   799
change: aChange
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   800
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   801
    ^self new change: aChange
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   802
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   803
    "Created: / 24-07-2009 / 22:43:41 / Jan Vrany <vranyj1@fel.cvut.cz>"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   804
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   805
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   806
change: aChange application: anApplicationModel
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   807
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   808
    ^self new change: aChange; application: anApplicationModel
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   809
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   810
    "Created: / 05-12-2009 / 14:16:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   811
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   812
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   813
change: aChange parent: aChangeList
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   814
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   815
    ^self new change: aChange; parent: aChangeList
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   816
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   817
    "Created: / 25-07-2009 / 23:33:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   818
! !
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   819
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   820
!ChangeList::ListEntry methodsFor:'accessing'!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   821
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   822
application
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   823
    ^ application ifNil:[super application]
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   824
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   825
    "Modified: / 05-12-2009 / 14:16:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   826
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   827
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   828
application:anApplicationModel
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   829
    application := anApplicationModel.
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   830
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   831
    "Modified: / 05-12-2009 / 14:15:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   832
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   833
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   834
change
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   835
    ^ change
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   836
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   837
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   838
change:aChange
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   839
    self assert: ((aChange isKindOf: Change) or:[aChange isKindOf: RefactoryChange]).
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   840
    change := aChange.
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   841
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   842
    "Modified: / 25-07-2009 / 23:40:38 / Jan Vrany <vranyj1@fel.cvut.cz>"
10957
53571e562d5e bugfixes
vrany
parents: 10925
diff changeset
   843
    "Modified (format): / 04-12-2011 / 14:58:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   844
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   845
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   846
changeClass
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   847
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   848
    ^change changeClass
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   849
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   850
10334
3ac95963b1a5 Improvements in diffing tools
vrany
parents: 10064
diff changeset
   851
changeSource
3ac95963b1a5 Improvements in diffing tools
vrany
parents: 10064
diff changeset
   852
3ac95963b1a5 Improvements in diffing tools
vrany
parents: 10064
diff changeset
   853
    ^change changeSource
3ac95963b1a5 Improvements in diffing tools
vrany
parents: 10064
diff changeset
   854
3ac95963b1a5 Improvements in diffing tools
vrany
parents: 10064
diff changeset
   855
    "Created: / 19-07-2011 / 12:03:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3ac95963b1a5 Improvements in diffing tools
vrany
parents: 10064
diff changeset
   856
!
3ac95963b1a5 Improvements in diffing tools
vrany
parents: 10064
diff changeset
   857
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   858
children
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   859
10881
07359595b386 changed: #buttonPress:x:y:view:
Claus Gittinger <cg@exept.de>
parents: 10657
diff changeset
   860
    children isNil ifTrue:[
10957
53571e562d5e bugfixes
vrany
parents: 10925
diff changeset
   861
        change isCompositeChange ifTrue:[
53571e562d5e bugfixes
vrany
parents: 10925
diff changeset
   862
            children := OrderedCollection new: change changes size.
53571e562d5e bugfixes
vrany
parents: 10925
diff changeset
   863
            change changes do:[:chg|
53571e562d5e bugfixes
vrany
parents: 10925
diff changeset
   864
                ((self application showRemovedHolder value or:[ chg removed not ])
53571e562d5e bugfixes
vrany
parents: 10925
diff changeset
   865
                    and:[self application showSameHolder value or:[chg delta ~~ #=]]) 
53571e562d5e bugfixes
vrany
parents: 10925
diff changeset
   866
                        ifTrue:[
53571e562d5e bugfixes
vrany
parents: 10925
diff changeset
   867
                            children add: ((self application listEntryFor: chg) parent: self)
53571e562d5e bugfixes
vrany
parents: 10925
diff changeset
   868
                        ]
53571e562d5e bugfixes
vrany
parents: 10925
diff changeset
   869
            ].
53571e562d5e bugfixes
vrany
parents: 10925
diff changeset
   870
        ] ifFalse:[
53571e562d5e bugfixes
vrany
parents: 10925
diff changeset
   871
            children :=  #()
53571e562d5e bugfixes
vrany
parents: 10925
diff changeset
   872
        ]
10881
07359595b386 changed: #buttonPress:x:y:view:
Claus Gittinger <cg@exept.de>
parents: 10657
diff changeset
   873
    ].
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   874
    ^children
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   875
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   876
    "Created: / 25-07-2009 / 23:32:39 / Jan Vrany <vranyj1@fel.cvut.cz>"
10881
07359595b386 changed: #buttonPress:x:y:view:
Claus Gittinger <cg@exept.de>
parents: 10657
diff changeset
   877
    "Modified (format): / 18-11-2011 / 14:56:25 / cg"
10957
53571e562d5e bugfixes
vrany
parents: 10925
diff changeset
   878
    "Modified: / 04-12-2011 / 15:08:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   879
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   880
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   881
delta
10657
7df080baff44 changed:6 methods
Claus Gittinger <cg@exept.de>
parents: 10451
diff changeset
   882
    "/ obsolete: please use deltaDetail
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   883
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   884
    ^change delta
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   885
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   886
    "Created: / 29-10-2010 / 14:32:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10657
7df080baff44 changed:6 methods
Claus Gittinger <cg@exept.de>
parents: 10451
diff changeset
   887
    "Modified (comment): / 31-08-2011 / 10:30:02 / cg"
7df080baff44 changed:6 methods
Claus Gittinger <cg@exept.de>
parents: 10451
diff changeset
   888
!
7df080baff44 changed:6 methods
Claus Gittinger <cg@exept.de>
parents: 10451
diff changeset
   889
7df080baff44 changed:6 methods
Claus Gittinger <cg@exept.de>
parents: 10451
diff changeset
   890
deltaDetail
7df080baff44 changed:6 methods
Claus Gittinger <cg@exept.de>
parents: 10451
diff changeset
   891
7df080baff44 changed:6 methods
Claus Gittinger <cg@exept.de>
parents: 10451
diff changeset
   892
    ^change deltaDetail
7df080baff44 changed:6 methods
Claus Gittinger <cg@exept.de>
parents: 10451
diff changeset
   893
7df080baff44 changed:6 methods
Claus Gittinger <cg@exept.de>
parents: 10451
diff changeset
   894
    "Created: / 29-10-2010 / 14:32:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7df080baff44 changed:6 methods
Claus Gittinger <cg@exept.de>
parents: 10451
diff changeset
   895
    "Created: / 31-08-2011 / 10:29:21 / cg"
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   896
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   897
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   898
iconDelta
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   899
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   900
    | iconSelector |
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   901
    iconSelector := self iconSelector.
10881
07359595b386 changed: #buttonPress:x:y:view:
Claus Gittinger <cg@exept.de>
parents: 10657
diff changeset
   902
    iconSelector isNil ifTrue:[^nil].
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   903
    self removed ifTrue:[iconSelector := iconSelector , #Grayed].
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   904
    ^self application class perform: iconSelector asSymbol.
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   905
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   906
    "Created: / 05-12-2009 / 14:11:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10881
07359595b386 changed: #buttonPress:x:y:view:
Claus Gittinger <cg@exept.de>
parents: 10657
diff changeset
   907
    "Modified: / 18-11-2011 / 14:56:33 / cg"
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   908
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   909
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   910
iconRemoved
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   911
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   912
    ^self removed 
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   913
        ifTrue: [self application class uncheckedIcon ]
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   914
        ifFalse:[self application class checkedIcon ]
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   915
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   916
    "Created: / 05-12-2009 / 14:11:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   917
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   918
10334
3ac95963b1a5 Improvements in diffing tools
vrany
parents: 10064
diff changeset
   919
imageSource
3ac95963b1a5 Improvements in diffing tools
vrany
parents: 10064
diff changeset
   920
3ac95963b1a5 Improvements in diffing tools
vrany
parents: 10064
diff changeset
   921
    ^change imageSource
3ac95963b1a5 Improvements in diffing tools
vrany
parents: 10064
diff changeset
   922
3ac95963b1a5 Improvements in diffing tools
vrany
parents: 10064
diff changeset
   923
    "Created: / 19-07-2011 / 12:03:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3ac95963b1a5 Improvements in diffing tools
vrany
parents: 10064
diff changeset
   924
!
3ac95963b1a5 Improvements in diffing tools
vrany
parents: 10064
diff changeset
   925
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   926
label
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   927
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   928
    | label |
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   929
    label := change displayString.
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   930
    self removed ifTrue:[label := label asText colorizeAllWith: Color gray].
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   931
    ^label
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   932
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   933
    "Created: / 05-11-2008 / 08:20:02 / Jan Vrany <vranyj1@fel.cvut.cz>"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   934
    "Modified: / 25-07-2009 / 23:43:23 / Jan Vrany <vranyj1@fel.cvut.cz>"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   935
    "Modified: / 05-12-2009 / 14:46:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   936
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   937
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   938
removed
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   939
    ^ change removed
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   940
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   941
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   942
removed:aBoolean
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   943
    change removed: aBoolean.
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   944
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   945
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   946
source
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   947
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   948
    ^change source
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   949
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   950
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   951
x
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   952
    ^ x
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   953
! !
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   954
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   955
!ChangeList::ListEntry methodsFor:'displaying'!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   956
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   957
displayLabel:aLabel h:lH on:aGC x:newX y:y h:h 
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   958
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   959
    | cx icon |
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   960
    cx := x := newX.
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   961
    self application showRemoved ifTrue:
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   962
        [(icon := self iconRemoved) ifNotNil:
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   963
            [icon displayOn: aGC x: cx y: y + (h / 2) - (icon height / 2) ].
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   964
        cx := cx + 22."experimental value - this looks good"].
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   965
    (icon := self iconDelta) ifNotNil:
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   966
        [icon displayOn: aGC x: cx y: y + (h / 2) - (icon height / 2) ].
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   967
    cx := cx + 16."12 + 2px gap"                
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   968
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   969
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   970
    super displayLabel:aLabel h:lH on:aGC x:cx y:y h:h
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   971
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   972
    "Modified: / 05-12-2009 / 14:49:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   973
! !
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   974
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   975
!ChangeList::ListEntry methodsFor:'private'!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   976
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   977
iconSelector
10657
7df080baff44 changed:6 methods
Claus Gittinger <cg@exept.de>
parents: 10451
diff changeset
   978
    | delta |
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   979
10657
7df080baff44 changed:6 methods
Claus Gittinger <cg@exept.de>
parents: 10451
diff changeset
   980
    delta := change deltaDetail.
7df080baff44 changed:6 methods
Claus Gittinger <cg@exept.de>
parents: 10451
diff changeset
   981
    delta shortDeltaSymbol = #+ ifTrue:[^#iconPlus].
7df080baff44 changed:6 methods
Claus Gittinger <cg@exept.de>
parents: 10451
diff changeset
   982
    delta shortDeltaSymbol = #- ifTrue:[^#iconMinus].
7df080baff44 changed:6 methods
Claus Gittinger <cg@exept.de>
parents: 10451
diff changeset
   983
    delta shortDeltaSymbol = #= ifTrue:[^#iconEqual].
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   984
10657
7df080baff44 changed:6 methods
Claus Gittinger <cg@exept.de>
parents: 10451
diff changeset
   985
    ^ nil.
7df080baff44 changed:6 methods
Claus Gittinger <cg@exept.de>
parents: 10451
diff changeset
   986
7df080baff44 changed:6 methods
Claus Gittinger <cg@exept.de>
parents: 10451
diff changeset
   987
    "Modified: / 31-08-2011 / 10:39:32 / cg"
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   988
! !
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   989
10957
53571e562d5e bugfixes
vrany
parents: 10925
diff changeset
   990
!ChangeList::ListEntry methodsFor:'protocol-queries'!
53571e562d5e bugfixes
vrany
parents: 10925
diff changeset
   991
53571e562d5e bugfixes
vrany
parents: 10925
diff changeset
   992
hasChildren
53571e562d5e bugfixes
vrany
parents: 10925
diff changeset
   993
53571e562d5e bugfixes
vrany
parents: 10925
diff changeset
   994
    ^ change isCompositeChange and:[change changes notEmptyOrNil ].
53571e562d5e bugfixes
vrany
parents: 10925
diff changeset
   995
53571e562d5e bugfixes
vrany
parents: 10925
diff changeset
   996
    "Created: / 04-12-2011 / 14:45:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
53571e562d5e bugfixes
vrany
parents: 10925
diff changeset
   997
! !
53571e562d5e bugfixes
vrany
parents: 10925
diff changeset
   998
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   999
!ChangeList class methodsFor:'documentation'!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1000
10451
3fe1648adef5 ChangeSetBrowser2 - fixes
vrany
parents: 10449
diff changeset
  1001
version
11035
Claus Gittinger <cg@exept.de>
parents: 10957
diff changeset
  1002
    ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.10 2011-12-27 13:19:19 cg Exp $'
10451
3fe1648adef5 ChangeSetBrowser2 - fixes
vrany
parents: 10449
diff changeset
  1003
!
3fe1648adef5 ChangeSetBrowser2 - fixes
vrany
parents: 10449
diff changeset
  1004
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1005
version_CVS
11035
Claus Gittinger <cg@exept.de>
parents: 10957
diff changeset
  1006
    ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.10 2011-12-27 13:19:19 cg Exp $'
10009
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1007
!
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1008
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1009
version_SVN
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1010
    ^ '§Id: Tools__ChangeList.st 7486 2009-10-26 22:06:24Z vranyj1 §'
fe8b32698600 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1011
! !