Tools__ChangeList.st
branchjv
changeset 12125 0c49a3b13e43
parent 12123 4bde08cebd48
child 12128 a7ff7d66ee85
equal deleted inserted replaced
12124:86df5844137f 12125:0c49a3b13e43
    25 "
    25 "
    26 "{ Package: 'stx:libtool' }"
    26 "{ Package: 'stx:libtool' }"
    27 
    27 
    28 "{ NameSpace: Tools }"
    28 "{ NameSpace: Tools }"
    29 
    29 
    30 BrowserList subclass:#ChangeList
    30 BrowserListWithFilter subclass:#ChangeList
    31 	instanceVariableNames:'listHolder listView showRemovedHolder showSameHolder
    31 	instanceVariableNames:'listHolder showRemovedHolder showSameHolder allowRemoveHolder
    32 		acceptEnabledHolder'
    32 		allowAcceptHolder'
    33 	classVariableNames:'LastSelectionConditionString'
    33 	classVariableNames:'LastSelectionConditionString'
    34 	poolDictionaries:''
    34 	poolDictionaries:''
    35 	category:'Interface-Browsers-ChangeSet'
    35 	category:'Interface-Browsers-ChangeSet'
    36 !
    36 !
    37 
    37 
    73 ! !
    73 ! !
    74 
    74 
    75 !ChangeList class methodsFor:'image specs'!
    75 !ChangeList class methodsFor:'image specs'!
    76 
    76 
    77 iconEqual
    77 iconEqual
    78     "This resource specification was automatically generated
    78     ^ ToolbarIconLibrary iconEqual12x12
    79      by the ImageEditor of ST/X."
    79 
    80 
    80     "Modified: / 31-08-2011 / 10:52:34 / cg"
    81     "Do not manually edit this!! If it is corrupted,
       
    82      the ImageEditor may not be able to read the specification."
       
    83 
       
    84     "
       
    85      self iconEqual inspect
       
    86      ImageEditor openOnClass:self andSelector:#iconEqual
       
    87      Icon flushCachedIcons
       
    88     "
       
    89 
       
    90     <resource: #image>
       
    91 
       
    92     ^Icon
       
    93         constantNamed:'Tools::ChangeList class iconEqual'
       
    94         ifAbsentPut:[(Depth8Image new) width: 12; height: 12; photometric:(#palette); bitsPerSample:(#[8]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
       
    95 @@@@@@@@@@@@@@@@8*;H2M+ 5[7K,\3L7-/F1[?''.Z*6/+3%.MK@2\&99L;\.-?P7[6=/^GV+KGL2-ST@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8*;H2M+ 
       
    96 5[7K,\3L7-/F1[?''.Z*6/+3%.MK@2\&99L;\.-?P7[6=/^GV+KGL2-ST@@@@@@@@@@@@@@@@') ; colorMapFromArray:#[255 248 248 63 144 224 64 152 232 79 160 232 64 152 224 64 144 224 63 136 224 48 128 216 48 120 216 47 112 216 47 112 208 32 104 208 32 96 208 31 88 200 16 88 200 16 80 200 15 72 192 15 64 192 0 64 192 0 56 184 0 56 176 0 48 160 143 200 248 128 200 248 127 192 248 112 184 248 111 176 248 96 168 248 95 160 248 80 152 248 79 144 248 64 128 248 63 120 248 48 112 248 32 104 248 31 96 248 16 88 248 15 80 248 0 72 248 0 64 240 0 48 168 112 176 248 111 168 248 96 160 248 95 152 248 80 144 248 79 136 248 63 128 248 48 120 248 47 112 248 15 72 248 0 48 176 95 168 232 191 224 248 191 216 248 176 208 248 175 208 248 175 200 248 160 200 248 160 192 248 159 192 248 159 184 248 144 184 248 144 176 248 143 168 248 128 168 248 128 160 248 127 160 248 127 152 240 31 72 176 111 168 232 240 240 248 240 232 240 63 88 176 239 232 240 240 240 240 48 88 176 96 168 224 224 224 232 96 160 224 223 216 232 48 80 176 224 224 240 223 216 224 96 152 224 96 152 216 95 152 216 239 232 232 208 208 224 48 120 208 80 144 208 80 136 208 79 128 200 79 120 200 79 120 192 64 112 192 64 104 184 63 104 184 63 96 184 15 56 160 0 0 0 207 216 240 240 144 24 255 248 48 255 248 96 255 248 24 240 208 24 255 248 152 255 248 88 255 248 136 255 248 176 255 248 200 227 227 236 225 225 234 244 244 249 242 242 247 218 217 230 212 211 224 234 234 242 253 253 254 251 251 252 227 226 235 226 226 237 243 243 247 220 220 231 240 239 244 237 237 244 233 233 240 52 89 178 231 231 238 50 87 176 229 229 239 248 248 251 246 246 249 223 223 233 222 221 232 238 238 244 56 94 181 55 92 180 53 90 178 233 232 239 51 88 176 232 232 241 251 251 253 249 249 251 228 228 237 225 224 234 241 241 246 238 237 243 56 93 180 254 254 255 229 229 237 227 227 238 246 246 250 244 244 248 219 219 230 236 236 243 255 255 255 51 88 177 231 230 238 249 249 252 247 247 250 241 241 247 239 239 245 236 235 242 54 91 179 231 231 240 176 175 128 176 240 159 143 159 128 127 208 96 175 239 144 15 79 0 160 176 95 0 160 0 64 176 48 112 159 95 0 96 0 144 159 143 96 207 80 127 159 111 63 175 48 96 207 79 80 176 64 31 159 31 143 224 112 64 176 63 95 207 79 63 160 47 0 127 0 80 191 64 176 240 144 143 239 112 15 160 15 16 95 16 0 80 0 143 224 111 191 240 159 175 240 144 15 127 15 0 175 0 144 239 127 0 79 0 0 112 0 0 95 0 15 112 15 111 207 80 16 79 16 15 79 15 16 80 16 128 223 111 159 159 63 15 64 15 31 144 16 16 80 15 128 224 111 176 239 159 95 112 80 15 175 15 144 224 127 95 192 79 31 95 15 32 160 31 48 159 47 32 159 31 15 128 15 95 160 47 0 111 0 127 223 96 15 80 0 64 112 63 159 239 127]; mask:((ImageMask new) width: 12; height: 12; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@/?<O?5??G?<@@@@@C?<O?6??G?<@@@') ; yourself); yourself]
       
    97 !
    81 !
    98 
    82 
    99 iconEqualGrayed
    83 iconEqualGrayed
   100     "This resource specification was automatically generated
    84     ^ ToolbarIconLibrary iconEqualGray12x12
   101      by the ImageEditor of ST/X."
    85 
   102 
    86     "Modified: / 31-08-2011 / 10:54:00 / cg"
   103     "Do not manually edit this!! If it is corrupted,
       
   104      the ImageEditor may not be able to read the specification."
       
   105 
       
   106     "
       
   107      self iconEqualGrayed  inspect
       
   108      Icon flushCachedIcons
       
   109     "
       
   110 
       
   111     <resource: #image>
       
   112 
       
   113     ^Icon
       
   114         constantNamed:'Tools::ChangeList class iconEqualGrayed'
       
   115         ifAbsentPut:[self iconEqual asGrayImageDepth: 8]
       
   116 !
    87 !
   117 
    88 
   118 iconMinus
    89 iconMinus
   119     "This resource specification was automatically generated
    90     ^ ToolbarIconLibrary iconMinus12x12
   120      by the ImageEditor of ST/X."
    91 
   121 
    92     "Modified: / 31-08-2011 / 10:51:26 / cg"
   122     "Do not manually edit this!! If it is corrupted,
       
   123      the ImageEditor may not be able to read the specification."
       
   124 
       
   125     "
       
   126      self iconMinus inspect
       
   127      ImageEditor openOnClass:self andSelector:#iconMinus
       
   128      Icon flushCachedIcons
       
   129     "
       
   130 
       
   131     <resource: #image>
       
   132 
       
   133     ^Icon
       
   134         constantNamed:'Tools::ChangeList class iconMinus'
       
   135         ifAbsentPut:[(Depth8Image new) width: 12; height: 12; photometric:(#palette); bitsPerSample:(#[8]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
       
   136 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8*;H2M+ 5[7K,\3L7-/F1[?''.Z*6/+3%.MK@2\&99L;\.-?P7[6=/^GV
       
   137 +KGL2-ST@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@') ; colorMapFromArray:#[255 248 248 63 144 224 64 152 232 79 160 232 64 152 224 64 144 224 63 136 224 48 128 216 48 120 216 47 112 216 47 112 208 32 104 208 32 96 208 31 88 200 16 88 200 16 80 200 15 72 192 15 64 192 0 64 192 0 56 184 0 56 176 0 48 160 143 200 248 128 200 248 127 192 248 112 184 248 111 176 248 96 168 248 95 160 248 80 152 248 79 144 248 64 128 248 63 120 248 48 112 248 32 104 248 31 96 248 16 88 248 15 80 248 0 72 248 0 64 240 0 48 168 112 176 248 111 168 248 96 160 248 95 152 248 80 144 248 79 136 248 63 128 248 48 120 248 47 112 248 15 72 248 0 48 176 95 168 232 191 224 248 191 216 248 176 208 248 175 208 248 175 200 248 160 200 248 160 192 248 159 192 248 159 184 248 144 184 248 144 176 248 143 168 248 128 168 248 128 160 248 127 160 248 127 152 240 31 72 176 111 168 232 240 240 248 240 232 240 63 88 176 239 232 240 240 240 240 48 88 176 96 168 224 224 224 232 96 160 224 223 216 232 48 80 176 224 224 240 223 216 224 96 152 224 96 152 216 95 152 216 239 232 232 208 208 224 48 120 208 80 144 208 80 136 208 79 128 200 79 120 200 79 120 192 64 112 192 64 104 184 63 104 184 63 96 184 15 56 160 0 0 0 207 216 240 240 144 24 255 248 48 255 248 96 255 248 24 240 208 24 255 248 152 255 248 88 255 248 136 255 248 176 255 248 200 227 227 236 225 225 234 244 244 249 242 242 247 218 217 230 212 211 224 234 234 242 253 253 254 251 251 252 227 226 235 226 226 237 243 243 247 220 220 231 240 239 244 237 237 244 233 233 240 52 89 178 231 231 238 50 87 176 229 229 239 248 248 251 246 246 249 223 223 233 222 221 232 238 238 244 56 94 181 55 92 180 53 90 178 233 232 239 51 88 176 232 232 241 251 251 253 249 249 251 228 228 237 225 224 234 241 241 246 238 237 243 56 93 180 254 254 255 229 229 237 227 227 238 246 246 250 244 244 248 219 219 230 236 236 243 255 255 255 51 88 177 231 230 238 249 249 252 247 247 250 241 241 247 239 239 245 236 235 242 54 91 179 231 231 240 176 175 128 176 240 159 143 159 128 127 208 96 175 239 144 15 79 0 160 176 95 0 160 0 64 176 48 112 159 95 0 96 0 144 159 143 96 207 80 127 159 111 63 175 48 96 207 79 80 176 64 31 159 31 143 224 112 64 176 63 95 207 79 63 160 47 0 127 0 80 191 64 176 240 144 143 239 112 15 160 15 16 95 16 0 80 0 143 224 111 191 240 159 175 240 144 15 127 15 0 175 0 144 239 127 0 79 0 0 112 0 0 95 0 15 112 15 111 207 80 16 79 16 15 79 15 16 80 16 128 223 111 159 159 63 15 64 15 31 144 16 16 80 15 128 224 111 176 239 159 95 112 80 15 175 15 144 224 127 95 192 79 31 95 15 32 160 31 48 159 47 32 159 31 15 128 15 95 160 47 0 111 0 127 223 96 15 80 0 64 112 63 159 239 127]; mask:((ImageMask new) width: 12; height: 12; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@,@@@@E@@G?<O?0??C?<@@F@@D@@@@@') ; yourself); yourself]
       
   138 !
    93 !
   139 
    94 
   140 iconMinusGrayed
    95 iconMinusGrayed
   141     "This resource specification was automatically generated
    96     ^ ToolbarIconLibrary iconMinusGray12x12
   142      by the ImageEditor of ST/X."
    97 
   143 
    98     "Modified: / 31-08-2011 / 10:54:40 / cg"
   144     "Do not manually edit this!! If it is corrupted,
       
   145      the ImageEditor may not be able to read the specification."
       
   146 
       
   147     "
       
   148      self iconMinusGrayed inspect
       
   149      Icon flushCachedIcons
       
   150     "
       
   151 
       
   152     <resource: #image>
       
   153 
       
   154     ^Icon
       
   155         constantNamed:'Tools::ChangeList class iconMinusGrayed'
       
   156         ifAbsentPut:[self iconMinus asGrayImageDepth: 8]
       
   157 !
    99 !
   158 
   100 
   159 iconPlus
   101 iconPlus
   160     "This resource specification was automatically generated
   102     ^ ToolbarIconLibrary iconPlus12x12
   161      by the ImageEditor of ST/X."
   103 
   162 
   104     "Modified: / 31-08-2011 / 10:51:39 / cg"
   163     "Do not manually edit this!! If it is corrupted,
       
   164      the ImageEditor may not be able to read the specification."
       
   165 
       
   166     "
       
   167      self iconPlus inspect
       
   168      ImageEditor openOnClass:self andSelector:#addOverlayIcon3
       
   169      Icon flushCachedIcons
       
   170     "
       
   171 
       
   172     <resource: #image>
       
   173 
       
   174     ^Icon
       
   175         constantNamed:'XPToolbarIconLibrary class addOverlayIcon3'
       
   176         ifAbsentPut:[(Depth8Image new) width: 12; height: 12; photometric:(#palette); bitsPerSample:(#[8]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
       
   177 @@@@@K_ 5^ @@@@@@@@@@LGI*,\@@@@@@@@@@M*+5<\@@@@@@@@@@N&(.[4@@@@@8*;H2M+X1K7K,\3L7-/F1[?''.Z*6/+3%.MK@2\&99L;\.-?P7[6=/^F*
       
   178 ,;GL2-ST@@@@@L6;/,H@@@@@@@@@@NN>+=D@@@@@@@@@@LN57<<@@@@@@@@@@N[V+M$@@@@@') ; colorMapFromArray:#[255 248 248 63 144 224 64 152 232 79 160 232 64 152 224 64 144 224 63 136 224 48 128 216 48 120 216 47 112 216 47 112 208 32 104 208 32 96 208 31 88 200 16 88 200 16 80 200 15 72 192 15 64 192 0 64 192 0 56 184 0 56 176 0 48 160 143 200 248 128 200 248 127 192 248 112 184 248 111 176 248 96 168 248 95 160 248 80 152 248 79 144 248 64 128 248 63 120 248 48 112 248 32 104 248 31 96 248 16 88 248 15 80 248 0 72 248 0 64 240 0 48 168 112 176 248 111 168 248 96 160 248 95 152 248 80 144 248 79 136 248 63 128 248 48 120 248 47 112 248 15 72 248 0 48 176 95 168 232 191 224 248 191 216 248 176 208 248 175 208 248 175 200 248 160 200 248 160 192 248 159 192 248 159 184 248 144 184 248 144 176 248 143 168 248 128 168 248 128 160 248 127 160 248 127 152 240 31 72 176 111 168 232 240 240 248 240 232 240 63 88 176 239 232 240 240 240 240 48 88 176 96 168 224 224 224 232 96 160 224 223 216 232 48 80 176 224 224 240 223 216 224 96 152 224 96 152 216 95 152 216 239 232 232 208 208 224 48 120 208 80 144 208 80 136 208 79 128 200 79 120 200 79 120 192 64 112 192 64 104 184 63 104 184 63 96 184 15 56 160 0 0 0 207 216 240 240 144 24 255 248 48 255 248 96 255 248 24 240 208 24 255 248 152 255 248 88 255 248 136 255 248 176 255 248 200 227 227 236 225 225 234 244 244 249 242 242 247 218 217 230 212 211 224 234 234 242 253 253 254 251 251 252 227 226 235 226 226 237 243 243 247 220 220 231 240 239 244 237 237 244 233 233 240 52 89 178 231 231 238 50 87 176 229 229 239 248 248 251 246 246 249 223 223 233 222 221 232 238 238 244 56 94 181 55 92 180 53 90 178 233 232 239 51 88 176 232 232 241 251 251 253 249 249 251 228 228 237 225 224 234 241 241 246 238 237 243 56 93 180 254 254 255 229 229 237 227 227 238 246 246 250 244 244 248 219 219 230 236 236 243 255 255 255 51 88 177 231 230 238 249 249 252 247 247 250 241 241 247 239 239 245 236 235 242 54 91 179 231 231 240 176 175 128 176 240 159 143 159 128 127 208 96 175 239 144 15 79 0 160 176 95 0 160 0 64 176 48 112 159 95 0 96 0 144 159 143 96 207 80 127 159 111 63 175 48 96 207 79 80 176 64 31 159 31 143 224 112 64 176 63 95 207 79 63 160 47 0 127 0 80 191 64 176 240 144 143 239 112 15 160 15 16 95 16 0 80 0 143 224 111 191 240 159 175 240 144 15 127 15 0 175 0 144 239 127 0 79 0 0 112 0 0 95 0 15 112 15 111 207 80 16 79 16 15 79 15 16 80 16 128 223 111 159 159 63 15 64 15 31 144 16 16 80 15 128 224 111 176 239 159 95 112 80 15 175 15 144 224 127 95 192 79 31 95 15 32 160 31 48 159 47 32 159 31 15 128 15 95 160 47 0 111 0 127 223 96 15 80 0 64 112 63 159 239 127 95 159 79 16 175 16]; mask:((ImageMask new) width: 12; height: 12; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'C0,O@@<EC0G?<O?0??C?<@<FC0DO@@<@') ; yourself); yourself]
       
   179 !
   105 !
   180 
   106 
   181 iconPlusGrayed
   107 iconPlusGrayed
   182     "This resource specification was automatically generated
   108     ^ ToolbarIconLibrary iconPlusGray12x12
   183      by the ImageEditor of ST/X."
   109 
   184 
   110     "Modified: / 31-08-2011 / 10:54:46 / cg"
   185     "Do not manually edit this!! If it is corrupted,
       
   186      the ImageEditor may not be able to read the specification."
       
   187 
       
   188     "
       
   189      self iconPlusGrayed inspect
       
   190      Icon flushCachedIcons
       
   191     "
       
   192 
       
   193     <resource: #image>
       
   194 
       
   195     ^Icon
       
   196         constantNamed:'Tools::ChangeList class iconPlusGrayed'
       
   197         ifAbsentPut:[self iconPlus asGrayImageDepth: 8]
       
   198 ! !
   111 ! !
   199 
   112 
   200 !ChangeList class methodsFor:'interface specs'!
   113 !ChangeList class methodsFor:'interface specs'!
   201 
   114 
   202 windowSpec
   115 windowSpec
   229           collection: (
   142           collection: (
   230            (SelectionInListModelViewSpec
   143            (SelectionInListModelViewSpec
   231               name: 'List'
   144               name: 'List'
   232               layout: (LayoutFrame 0 0 0 0 0 1 0 1)
   145               layout: (LayoutFrame 0 0 0 0 0 1 0 1)
   233               model: selectionHolder
   146               model: selectionHolder
   234               menu: menuHolder
   147               menu: menuHolderWithShowFilter
   235               hasHorizontalScrollBar: true
   148               hasHorizontalScrollBar: true
   236               hasVerticalScrollBar: true
   149               hasVerticalScrollBar: true
   237               listModel: listHolder
   150               listModel: listHolder
   238               multipleSelectOk: true
   151               multipleSelectOk: true
   239               useIndex: false
   152               useIndex: false
   240               highlightMode: line
   153               highlightMode: line
   241               doubleClickSelector: selectionDoubleclicked
   154               doubleClickSelector: selectionDoubleclicked
   242               postBuildCallback: postBuildList:
   155               postBuildCallback: postBuildListView:
       
   156             )
       
   157            (InputFieldSpec
       
   158               name: 'Filter'
       
   159               layout: (LayoutFrame 0 0 0 0 0 1 26 0)
       
   160               initiallyInvisible: true
       
   161               model: filterPatternHolder
       
   162               immediateAccept: true
       
   163               acceptOnLeave: false
       
   164               acceptOnReturn: false
       
   165               acceptOnTab: false
       
   166               acceptOnPointerLeave: false
       
   167               emptyFieldReplacementText: 'Search Filter...'
       
   168               usePreferredHeight: true
       
   169               useDynamicPreferredHeight: true
       
   170               postBuildCallback: postBuildFilterView:
   243             )
   171             )
   244            )
   172            )
   245          
   173          
   246         )
   174         )
   247       )
   175       )
       
   176 
       
   177     "Modified: / 29-11-2011 / 15:52:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   248 ! !
   178 ! !
   249 
   179 
   250 !ChangeList class methodsFor:'menu specs'!
   180 !ChangeList class methodsFor:'menu specs'!
   251 
   181 
   252 listMenu
   182 listMenu
   253     "This resource specification was automatically generated
   183     "This resource specification was automatically generated
   254      by the MenuEditor of ST/X."
   184      by the MenuEditor of ST/X."
   255 
   185 
   256     "Do not manually edit this!! If it is corrupted,
   186     "Do not manually edit this!! If it is corrupted,
   257      the MenuEditor may not be able to read the specification."
   187      the MenuEditor may not be able to read the specification."
       
   188 
   258 
   189 
   259     "
   190     "
   260      MenuEditor new openOnClass:Tools::ChangeList andSelector:#listMenu
   191      MenuEditor new openOnClass:Tools::ChangeList andSelector:#listMenu
   261      (Menu new fromLiteralArrayEncoding:(Tools::ChangeList listMenu)) startUp
   192      (Menu new fromLiteralArrayEncoding:(Tools::ChangeList listMenu)) startUp
   262     "
   193     "
   269          (MenuItem
   200          (MenuItem
   270             enabled: hasChangeSelectedAndNotRemoved
   201             enabled: hasChangeSelectedAndNotRemoved
   271             label: 'Apply'
   202             label: 'Apply'
   272             itemValue: listMenuApply
   203             itemValue: listMenuApply
   273             translateLabel: true
   204             translateLabel: true
   274             isVisible: acceptEnabledHolder
   205             isVisible: allowAcceptHolder
   275             shortcutKey: Accept
   206             shortcutKey: Accept
   276           )
   207           )
   277          (MenuItem
   208          (MenuItem
   278             label: 'Apply all'
   209             label: 'Apply all'
   279             itemValue: listMenuApplyAll
   210             itemValue: listMenuApplyAll
   280             translateLabel: true
   211             translateLabel: true
   281             isVisible: acceptEnabledHolder
   212             isVisible: allowAcceptHolder
   282           )
   213           )
   283          (MenuItem
   214          (MenuItem
   284             enabled: hasSingleChangeSelectedAndCanBrowse
   215             enabled: hasSingleChangeSelectedAndCanBrowse
   285             label: 'Browse'
   216             label: 'Browse'
   286             itemValue: listMenuBrowse
   217             itemValue: listMenuBrowse
   292          (MenuItem
   223          (MenuItem
   293             label: 'Delete'
   224             label: 'Delete'
   294             itemValue: listMenuDeleteSelection
   225             itemValue: listMenuDeleteSelection
   295             nameKey: Delete
   226             nameKey: Delete
   296             translateLabel: true
   227             translateLabel: true
       
   228             isVisible: allowRemoveHolder
   297             shortcutKey: Delete
   229             shortcutKey: Delete
   298           )
   230           )
   299          (MenuItem
   231          (MenuItem
   300             label: '-'
   232             label: '-'
       
   233             isVisible: allowRemoveHolder
   301           )
   234           )
   302          (MenuItem
   235          (MenuItem
   303             label: 'Select...'
   236             label: 'Select...'
   304             translateLabel: true
   237             translateLabel: true
   305             submenu: 
   238             submenu: 
   350             label: '-'
   283             label: '-'
   351           )
   284           )
   352          (MenuItem
   285          (MenuItem
   353             label: 'Show Deleted'
   286             label: 'Show Deleted'
   354             translateLabel: true
   287             translateLabel: true
       
   288             isVisible: allowRemoveHolder
   355             indication: showRemovedHolder
   289             indication: showRemovedHolder
   356           )
   290           )
   357          (MenuItem
   291          (MenuItem
   358             label: 'Inspect change'
   292             label: 'Inspect change'
   359             itemValue: listMenuInspect
   293             itemValue: listMenuInspect
   377     "Return a description of exported aspects;
   311     "Return a description of exported aspects;
   378      these can be connected to aspects of an embedding application
   312      these can be connected to aspects of an embedding application
   379      (if this app is embedded in a subCanvas)."
   313      (if this app is embedded in a subCanvas)."
   380 
   314 
   381     ^ #(
   315     ^ #(
   382         #acceptEnabledHolder
   316         #allowAcceptHolder
       
   317         #allowRemoveHolder
       
   318 
   383         #inGeneratorHolder
   319         #inGeneratorHolder
   384         #menuHolder
   320         #menuHolder
   385         #outGeneratorHolder
   321         #outGeneratorHolder
   386         #selectionHolder
   322         #selectionHolder
   387         #showRemovedHolder
   323         #showRemovedHolder
   388         #showSameHolder
   324         #showSameHolder
   389       ).
   325       ).
   390 
   326 
   391     "Modified: / 04-08-2011 / 18:42:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   327     "Modified: / 24-01-2012 / 19:54:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   392 ! !
   328 ! !
   393 
   329 
   394 !ChangeList methodsFor:'accessing'!
   330 !ChangeList methodsFor:'accessing'!
   395 
   331 
   396 acceptEnabled
   332 allowAccept
   397     "return the value in 'acceptEnabledHolder'"
   333     ^ self allowAcceptHolder value
   398 
   334 
   399     ^ self acceptEnabledHolder value
   335     "Created: / 24-01-2012 / 19:52:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   400 !
   336 !
   401 
   337 
   402 acceptEnabled: newValue
   338 allowAccept: aBoolean
   403     "set the value in 'acceptEnabledHolder'"
   339     ^ self allowAcceptHolder value: aBoolean
   404 
   340 
   405     self acceptEnabledHolder value: newValue
   341     "Created: / 24-01-2012 / 19:52:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   342 !
       
   343 
       
   344 allowRemoved
       
   345     ^ self allowRemoveHolder value ? true
       
   346 
       
   347     "Created: / 05-12-2009 / 14:28:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   348 !
       
   349 
       
   350 list
       
   351     ^ listHolder value
       
   352 
       
   353     "Created: / 05-12-2009 / 14:48:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   354     "Created: / 27-12-2011 / 14:18:25 / cg"
   406 !
   355 !
   407 
   356 
   408 selection
   357 selection
   409 
   358 
   410     ^self selectionHolder value
   359     ^self selectionHolder value
   411 
   360 
   412     "Created: / 05-12-2009 / 14:48:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   361     "Created: / 05-12-2009 / 14:48:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   413 !
   362 !
   414 
   363 
       
   364 selectionIndices
       
   365     |sel|
       
   366 
       
   367     (sel := self selectionHolder value) isEmptyOrNil ifTrue:[^ #()].
       
   368     ^ sel collect:[:each | self list identityIndexOf:each].
       
   369 
       
   370     "Created: / 05-12-2009 / 14:48:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   371     "Created: / 27-12-2011 / 10:56:20 / cg"
       
   372 !
       
   373 
   415 showRemoved
   374 showRemoved
   416 
   375 
   417     ^self showRemovedHolder value ? true
   376     ^self showRemovedHolder value ? true
   418 
   377 
   419     "Created: / 05-12-2009 / 14:28:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   378     "Created: / 05-12-2009 / 14:28:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   421 
   380 
   422 !ChangeList methodsFor:'actions'!
   381 !ChangeList methodsFor:'actions'!
   423 
   382 
   424 selectionDoubleclicked
   383 selectionDoubleclicked
   425 
   384 
   426     | app |
   385     self listMenuBrowse
   427 
   386 "/    | app |
   428     self selection do:
   387 "/
   429         [:e|e removed: e removed not].
   388 "/    self selection do:
   430     ((app := self masterApplication) respondsTo: #redrawChangeListViews)
   389 "/        [:e|e removed: e removed not].
   431         ifTrue:[app redrawChangeListViews].
   390 "/    ((app := self masterApplication) respondsTo: #redrawChangeListViews)
   432 
   391 "/        ifTrue:[app redrawChangeListViews].
   433     "Modified: / 16-03-2011 / 22:51:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   392 
       
   393     "Modified: / 24-01-2012 / 22:01:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   434 ! !
   394 ! !
   435 
   395 
   436 !ChangeList methodsFor:'aspects'!
   396 !ChangeList methodsFor:'aspects'!
   437 
   397 
   438 acceptEnabledHolder
   398 allowAcceptHolder
   439     "return/create the valueHolder 'acceptEnabledHolder'"
   399     "return/create the valueHolder 'acceptEnabledHolder'"
   440 
   400 
   441     acceptEnabledHolder isNil ifTrue:[
   401     allowAcceptHolder isNil ifTrue:[
   442         acceptEnabledHolder := ValueHolder with:nil "defaultValue here".
   402         allowAcceptHolder := ValueHolder with:nil "defaultValue here".
   443     ].
   403     ].
   444     ^ acceptEnabledHolder
   404     ^ allowAcceptHolder
   445 !
   405 
   446 
   406     "Created: / 24-01-2012 / 19:53:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   447 acceptEnabledHolder:aValueModel
   407 !
   448     acceptEnabledHolder := aValueModel.
   408 
       
   409 allowAcceptHolder:something
       
   410     "set the 'allowAcceptHolder' value holder (automatically generated)"
       
   411 
       
   412     allowAcceptHolder := something.
       
   413 !
       
   414 
       
   415 allowRemoveHolder
       
   416     "return/create the 'allowRemoveHolder' value holder (automatically generated)"
       
   417     
       
   418     allowRemoveHolder isNil ifTrue:[
       
   419         allowRemoveHolder := ValueHolder with:true.
       
   420         allowRemoveHolder addDependent:self.
       
   421     ].
       
   422     ^ allowRemoveHolder
       
   423 
       
   424     "Modified (comment): / 24-01-2012 / 19:44:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   425 !
       
   426 
       
   427 allowRemoveHolder:something 
       
   428     "set the 'showRemovedHolder' value holder (automatically generated)"
       
   429     
       
   430     |oldValue newValue|
       
   431 
       
   432     allowRemoveHolder notNil ifTrue:[
       
   433         oldValue := allowRemoveHolder value.
       
   434         allowRemoveHolder removeDependent:self.
       
   435     ].
       
   436     allowRemoveHolder := something.
       
   437     allowRemoveHolder notNil ifTrue:[
       
   438         allowRemoveHolder addDependent:self.
       
   439     ].
       
   440     newValue := allowRemoveHolder value.
       
   441     oldValue ~~ newValue ifTrue:[
       
   442         self 
       
   443             update:#value
       
   444             with:newValue
       
   445             from:allowRemoveHolder.
       
   446     ].
   449 !
   447 !
   450 
   448 
   451 listHolder
   449 listHolder
   452     listHolder isNil ifTrue:[
   450     listHolder isNil ifTrue:[
   453         listHolder := ValueHolder new.
   451         listHolder := ValueHolder new.
   528     ].
   526     ].
   529     sender == showRemovedHolder ifTrue:[
   527     sender == showRemovedHolder ifTrue:[
   530         self updateList
   528         self updateList
   531     ].
   529     ].
   532 
   530 
   533 
       
   534     ^super update: aspect with: param from: sender
   531     ^super update: aspect with: param from: sender
   535 
   532 
   536     "Created: / 24-10-2009 / 19:47:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   533     "Created: / 24-10-2009 / 19:47:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   534     "Modified (format): / 27-12-2011 / 14:20:30 / cg"
   537 ! !
   535 ! !
   538 
   536 
   539 !ChangeList methodsFor:'event processing'!
   537 !ChangeList methodsFor:'event processing'!
   540 
   538 
   541 buttonPress:button x:x y:y view:aView
   539 buttonPress:button x:x y:y view:aView
   543     | itemIndex item |
   541     | itemIndex item |
   544 
   542 
   545     button ~= 1 ifTrue:[^aView buttonPress:button x:x y:y].
   543     button ~= 1 ifTrue:[^aView buttonPress:button x:x y:y].
   546 
   544 
   547     itemIndex := aView yVisibleToLineNr:y.
   545     itemIndex := aView yVisibleToLineNr:y.
   548     itemIndex ifNil:[^self].
   546     itemIndex isNil ifTrue:[^self].
   549     itemIndex == 0 ifTrue:[^self].
   547     itemIndex == 0 ifTrue:[^self].
   550     itemIndex > aView list size ifTrue:[^self].
   548     itemIndex > aView list size ifTrue:[^self].
   551     item := aView list at: itemIndex.
   549     item := aView list at: itemIndex.
   552 
   550 
   553     ((aView left + x) between: (item x) and: (item x + 16))
   551     ((aView left + x) between: (item x) and: (item x + 16))
   555 
   553 
   556     item removed: item removed not.
   554     item removed: item removed not.
   557     aView invalidate
   555     aView invalidate
   558 
   556 
   559     "Created: / 08-12-2009 / 14:12:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   557     "Created: / 08-12-2009 / 14:12:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   558     "Modified: / 18-11-2011 / 14:55:41 / cg"
   560 !
   559 !
   561 
   560 
   562 handlesButtonPress:button inView:aView
   561 handlesButtonPress:button inView:aView
   563 
   562 
   564     ^listView == aView
   563     ^listView scrolledView == aView
   565 
   564 
   566     "Created: / 08-12-2009 / 14:08:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   565     "Created: / 08-12-2009 / 14:08:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   567 ! !
   566 ! !
   568 
   567 
   569 !ChangeList methodsFor:'generators'!
   568 !ChangeList methodsFor:'generators'!
   583     "Modified: / 24-10-2009 / 20:00:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   582     "Modified: / 24-10-2009 / 20:00:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   584 ! !
   583 ! !
   585 
   584 
   586 !ChangeList methodsFor:'hooks'!
   585 !ChangeList methodsFor:'hooks'!
   587 
   586 
   588 postBuildList: aView
   587 postBuildListView: aView
   589 
   588 
   590     listView := aView scrolledView.
   589     super postBuildListView: aView.
   591     listView delegate: self.
   590     listView scrolledView delegate: self.
   592 
   591 
   593     "Created: / 08-12-2009 / 14:10:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   592     "Created: / 29-11-2011 / 14:56:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   594 ! !
   593 ! !
   595 
   594 
   596 !ChangeList methodsFor:'initialization'!
   595 !ChangeList methodsFor:'initialization'!
   597 
   596 
   598 initialize
   597 initialize
   623 
   622 
   624     "Created: / 05-12-2009 / 14:53:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   623     "Created: / 05-12-2009 / 14:53:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   625 !
   624 !
   626 
   625 
   627 listMenuBrowse
   626 listMenuBrowse
       
   627 
       
   628     self listMenuBrowseChanges:
       
   629         ((self selectionHolder value ? #()) collect:[:e|e change])
       
   630 
       
   631     "Modified: / 24-01-2012 / 22:00:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   632 !
       
   633 
       
   634 listMenuBrowseChanges: changes
   628 
   635 
   629     | classes methods methodsOnly |
   636     | classes methods methodsOnly |
   630     classes := Set new.
   637     classes := Set new.
   631     methods := Set new.
   638     methods := Set new.
   632     methodsOnly := true.
   639     methodsOnly := true.
   633     self selectionHolder value do:
   640     changes do:
   634         [:each|
   641         [:each|
   635         each change isClassChange ifTrue:
   642         each  isClassChange ifTrue:
   636             [each change changeClass ifNotNil:
   643             [each  changeClass ifNotNil:
   637                 [classes add: each change changeClass.
   644                 [classes add: each  changeClass.
   638                 each change isMethodCodeChange 
   645                 each isMethodCodeChange 
   639                     ifTrue:
   646                     ifTrue:
   640                         [each change changeMethod ifNotNil:
   647                         [each changeMethod ifNotNil:
   641                             [methods add:each change changeMethod]]
   648                             [methods add:each changeMethod]]
   642                     ifFalse:
   649                     ifFalse:
   643                         [methodsOnly := false]]]].
   650                         [methodsOnly := false]]]].
   644 
       
   645     methodsOnly 
   651     methodsOnly 
   646         ifTrue:
   652         ifTrue:
   647             [methods size = 1 
   653             [methods size = 1 
   648                 ifTrue:[Smalltalk browserClass openInMethod: methods anyOne]
   654                 ifTrue:[Smalltalk browserClass openInMethod: methods anyOne]
   649                 ifFalse:[Smalltalk browserClass browseMethods: methods asArray title: 'Selected methods from changeset' sort: true]]
   655                 ifFalse:[Smalltalk browserClass browseMethods: methods asArray title: 'Selected methods from changeset' sort: true]]
   650         ifFalse:
   656         ifFalse:
   651             [classes size = 1
   657             [classes size = 1
   652                 ifTrue:[Smalltalk browserClass browseClass: classes anyOne]
   658                 ifTrue:[Smalltalk browserClass browseClass: classes anyOne]
   653                 ifFalse:[Smalltalk browserClass browseClasses: classes]]
   659                 ifFalse:[Smalltalk browserClass browseClasses: classes]]
   654 
   660 
   655 
       
   656 
       
   657 
       
   658     "Modified: / 24-10-2009 / 22:02:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   661     "Modified: / 24-10-2009 / 22:02:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   662     "Created: / 24-01-2012 / 22:00:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   659 !
   663 !
   660 
   664 
   661 listMenuDeleteSelection
   665 listMenuDeleteSelection
   662 
   666 
   663     self selectionHolder value do:
   667     self selectionHolder value do:
   798 
   802 
   799     "Created: / 05-12-2009 / 14:14:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   803     "Created: / 05-12-2009 / 14:14:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   800 !
   804 !
   801 
   805 
   802 updateList
   806 updateList
   803     |inGenerator changeset|
   807     |inGenerator changeset newList |
   804 
   808 
   805     inGenerator := self inGeneratorHolder value.
   809     inGenerator := self inGeneratorHolder value.
   806     changeset := inGenerator ifNil:[ #() ] ifNotNil:[ inGenerator ].
   810     changeset := inGenerator ifNil:[ #() ] ifNotNil:[ inGenerator ].
   807     self listHolder value:(changeset 
   811     newList := changeset 
   808                 select:
   812                 select:
   809                     [:chg | 
   813                     [:chg | 
   810                     (self showRemovedHolder value or:[ chg removed not ])
   814                     (self showRemovedHolder value or:[ chg removed not ])
   811                         and:[self showSameHolder value or:[chg delta ~~ #=]]
   815                         and:[self showSameHolder value or:[chg delta ~~ #=]]
   812                     ]
   816                     ].
   813                 thenCollect:[:chg | self listEntryFor:chg ])
   817     newList := self filterList: newList.
   814 
   818     newList := newList collect:[:chg | self listEntryFor:chg ].
   815     "Modified: / 04-08-2011 / 19:07:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   819     self listHolder value ~= newList ifTrue:[
       
   820         self listHolder value: newList.
       
   821     ]
       
   822 
       
   823     "Modified: / 29-11-2011 / 15:38:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   824     "Modified: / 28-12-2011 / 15:46:15 / cg"
   816 ! !
   825 ! !
   817 
   826 
   818 !ChangeList methodsFor:'queries'!
   827 !ChangeList methodsFor:'queries'!
   819 
   828 
   820 hasChangeSelected
   829 hasChangeSelected
   886 change
   895 change
   887     ^ change
   896     ^ change
   888 !
   897 !
   889 
   898 
   890 change:aChange
   899 change:aChange
   891 
       
   892     self assert: ((aChange isKindOf: Change) or:[aChange isKindOf: RefactoryChange]).
   900     self assert: ((aChange isKindOf: Change) or:[aChange isKindOf: RefactoryChange]).
   893 
       
   894     change := aChange.
   901     change := aChange.
   895 
   902 
   896     "Modified: / 25-07-2009 / 23:40:38 / Jan Vrany <vranyj1@fel.cvut.cz>"
   903     "Modified: / 25-07-2009 / 23:40:38 / Jan Vrany <vranyj1@fel.cvut.cz>"
       
   904     "Modified (format): / 04-12-2011 / 14:58:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   897 !
   905 !
   898 
   906 
   899 changeClass
   907 changeClass
   900 
   908 
   901     ^change changeClass
   909     ^change changeClass
   908     "Created: / 19-07-2011 / 12:03:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   916     "Created: / 19-07-2011 / 12:03:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   909 !
   917 !
   910 
   918 
   911 children
   919 children
   912 
   920 
   913     children ifNil:
   921     children isNil ifTrue:[
   914         [children :=
   922         change isCompositeChange ifTrue:[
   915             change isCompositeChange 
   923             children := OrderedCollection new: change changes size.
   916                 ifTrue:[change changes select:
   924             change changes do:[:chg|
   917                             [:chg|
   925                 ((self application showRemovedHolder value or:[ chg removed not ])
   918                             (self application showRemovedHolder value or:[ chg removed not ])
   926                     and:[self application showSameHolder value or:[chg delta ~~ #=]]) 
   919                                 and:[self application showSameHolder value or:[chg delta ~~ #=]]]
   927                         ifTrue:[
   920                             thenCollect:[:chg|(self application listEntryFor: chg) parent: self]]
   928                             children add: ((self application listEntryFor: chg) parent: self)
   921                 ifFalse:[#()]
   929                         ]
   922         ].
   930             ].
       
   931         ] ifFalse:[
       
   932             children :=  #()
       
   933         ]
       
   934     ].
   923     ^children
   935     ^children
   924 
   936 
   925     "Created: / 25-07-2009 / 23:32:39 / Jan Vrany <vranyj1@fel.cvut.cz>"
   937     "Created: / 25-07-2009 / 23:32:39 / Jan Vrany <vranyj1@fel.cvut.cz>"
   926     "Modified: / 04-08-2011 / 18:48:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   938     "Modified (format): / 18-11-2011 / 14:56:25 / cg"
       
   939     "Modified: / 04-12-2011 / 15:08:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   927 !
   940 !
   928 
   941 
   929 delta
   942 delta
       
   943     "/ obsolete: please use deltaDetail
   930 
   944 
   931     ^change delta
   945     ^change delta
   932 
   946 
   933     "Created: / 29-10-2010 / 14:32:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   947     "Created: / 29-10-2010 / 14:32:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   948     "Modified (comment): / 31-08-2011 / 10:30:02 / cg"
       
   949 !
       
   950 
       
   951 deltaDetail
       
   952 
       
   953     ^change deltaDetail
       
   954 
       
   955     "Created: / 29-10-2010 / 14:32:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   956     "Created: / 31-08-2011 / 10:29:21 / cg"
   934 !
   957 !
   935 
   958 
   936 iconDelta
   959 iconDelta
   937 
   960 
   938     | iconSelector |
   961     | iconSelector |
   939     iconSelector := self iconSelector.
   962     iconSelector := self iconSelector.
   940     iconSelector ifNil:[^nil].
   963     iconSelector isNil ifTrue:[^nil].
   941     self removed ifTrue:[iconSelector := iconSelector , #Grayed].
   964     self removed ifTrue:[iconSelector := iconSelector , #Grayed].
   942     ^self application class perform: iconSelector asSymbol.
   965     ^self application class perform: iconSelector asSymbol.
   943 
   966 
   944     "Created: / 05-12-2009 / 14:11:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   967     "Created: / 05-12-2009 / 14:11:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   968     "Modified: / 18-11-2011 / 14:56:33 / cg"
   945 !
   969 !
   946 
   970 
   947 iconRemoved
   971 iconRemoved
   948 
   972 
   949     ^self removed 
   973     ^self removed 
   993 
  1017 
   994 displayLabel:aLabel h:lH on:aGC x:newX y:y h:h 
  1018 displayLabel:aLabel h:lH on:aGC x:newX y:y h:h 
   995 
  1019 
   996     | cx icon |
  1020     | cx icon |
   997     cx := x := newX.
  1021     cx := x := newX.
   998     self application showRemoved ifTrue:
  1022     self application allowRemoveHolder value ifTrue:
   999         [(icon := self iconRemoved) ifNotNil:
  1023         [(icon := self iconRemoved) ifNotNil:
  1000             [icon displayOn: aGC x: cx y: y + (h / 2) - (icon height / 2) ].
  1024             [icon displayOn: aGC x: cx y: y + (h / 2) - (icon height / 2) ].
  1001         cx := cx + 22."experimental value - this looks good"].
  1025         cx := cx + 22."experimental value - this looks good"].
  1002     (icon := self iconDelta) ifNotNil:
  1026     (icon := self iconDelta) ifNotNil:
  1003         [icon displayOn: aGC x: cx y: y + (h / 2) - (icon height / 2) ].
  1027         [icon displayOn: aGC x: cx y: y + (h / 2) - (icon height / 2) ].
  1004     cx := cx + 16."12 + 2px gap"                
  1028     cx := cx + 16."12 + 2px gap"                
  1005 
  1029 
  1006 
  1030 
  1007     super displayLabel:aLabel h:lH on:aGC x:cx y:y h:h
  1031     super displayLabel:aLabel h:lH on:aGC x:cx y:y h:h
  1008 
  1032 
  1009     "Modified: / 05-12-2009 / 14:49:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  1033     "Modified: / 24-01-2012 / 21:44:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  1010 ! !
  1034 ! !
  1011 
  1035 
  1012 !ChangeList::ListEntry methodsFor:'private'!
  1036 !ChangeList::ListEntry methodsFor:'private'!
  1013 
  1037 
  1014 iconSelector
  1038 iconSelector
  1015 
       
  1016     | delta |
  1039     | delta |
  1017     delta := change delta.
  1040 
  1018     delta = #+ ifTrue:[^#iconPlus].
  1041     delta := change deltaDetail.
  1019     delta = #- ifTrue:[^#iconMinus].
  1042     delta shortDeltaSymbol = #+ ifTrue:[^#iconPlus].
  1020     delta = #= ifTrue:[^#iconEqual].
  1043     delta shortDeltaSymbol = #- ifTrue:[^#iconMinus].
  1021 
  1044     delta shortDeltaSymbol = #= ifTrue:[^#iconEqual].
  1022     ^nil.
  1045 
       
  1046     ^ nil.
       
  1047 
       
  1048     "Modified: / 31-08-2011 / 10:39:32 / cg"
       
  1049 ! !
       
  1050 
       
  1051 !ChangeList::ListEntry methodsFor:'protocol-queries'!
       
  1052 
       
  1053 hasChildren
       
  1054 
       
  1055     ^ change isCompositeChange and:[change changes notEmptyOrNil ].
       
  1056 
       
  1057     "Created: / 04-12-2011 / 14:45:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  1023 ! !
  1058 ! !
  1024 
  1059 
  1025 !ChangeList class methodsFor:'documentation'!
  1060 !ChangeList class methodsFor:'documentation'!
  1026 
  1061 
  1027 version
  1062 version
  1028     ^ '$Id: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.5 2011/08/04 18:18:29 vrany Exp $'
  1063     ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.13 2012/01/24 22:18:39 vrany Exp $'
  1029 !
  1064 !
  1030 
  1065 
  1031 version_CVS
  1066 version_CVS
  1032     ^ '§Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.5 2011/08/04 18:18:29 vrany Exp §'
  1067     ^ '§Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.13 2012/01/24 22:18:39 vrany Exp §'
  1033 !
  1068 !
  1034 
  1069 
  1035 version_SVN
  1070 version_SVN
  1036     ^ '$Id: Tools__ChangeList.st 7486 2009-10-26 22:06:24Z vranyj1 $'
  1071     ^ '$Id: Tools__ChangeList.st 7486 2009-10-26 22:06:24Z vranyj1 $'
  1037 ! !
  1072 ! !