--- a/SVN__WorkingCopyBrowser.st Wed Feb 08 01:52:29 2012 +0100
+++ b/SVN__WorkingCopyBrowser.st Wed Feb 08 01:52:38 2012 +0100
@@ -28,7 +28,7 @@
"{ NameSpace: SVN }"
Browser subclass:#WorkingCopyBrowser
- instanceVariableNames:''
+ instanceVariableNames:'workingCopyEntriesHolder'
classVariableNames:''
poolDictionaries:''
category:'SVN-UI-Browsers'
@@ -109,12 +109,13 @@
menu: entryMenu
hasHorizontalScrollBar: true
hasVerticalScrollBar: true
- dataList: workingCopyEntriesAspect
+ dataList: workingCopyEntriesHolder
useIndex: false
columnHolder: wcEntryTableColumns
+ showLabels: false
)
(CheckBoxSpec
- label: 'Show only changed etries'
+ label: 'Show only modified entries'
name: 'ShowOnlyChanged'
layout: (LayoutFrame 0 0 -30 1 -170 1 0 1)
model: showOnlyChanged
@@ -210,7 +211,7 @@
the DataSetBuilder may not be able to read the specification."
"
- DataSetBuilder new openOnClass:SVN::WorkingCopyStatusUI andSelector:#wcEntryTableColumns
+ DataSetBuilder new openOnClass:SVN::WorkingCopyBrowser andSelector:#wcEntryTableColumns
"
<resource: #tableColumns>
@@ -219,7 +220,26 @@
(DataSetColumnSpec
label: ''
activeHelpKey: ''
+ activeHelpKeyForLabel: ''
+ labelButtonType: None
+ width: 22
+ minWidth: 22
+ editorType: CheckToggle
+ rendererType: CheckToggle
+ model: include
+ menuFromApplication: false
+ printSelector: include
+ showRowSeparator: false
+ showColSeparator: false
+ )
+ (DataSetColumnSpec
+ label: ''
+ activeHelpKey: ''
+ activeHelpKeyForLabel: ''
labelButtonType: Button
+ width: 22
+ minWidth: 22
+ menuFromApplication: false
printSelector: statusIcon
canSelect: false
showRowSeparator: false
@@ -227,8 +247,11 @@
)
(DataSetColumnSpec
label: 'Container'
+ labelAlignment: left
activeHelpKey: ''
+ activeHelpKeyForLabel: ''
labelButtonType: Button
+ menuFromApplication: false
printSelector: pathText
canSelect: false
showRowSeparator: false
@@ -237,7 +260,10 @@
(DataSetColumnSpec
label: 'Rev'
activeHelpKey: ''
+ activeHelpKeyForLabel: ''
labelButtonType: Button
+ usePreferredWidth: true
+ menuFromApplication: false
printSelector: revision
canSelect: false
showRowSeparator: false
@@ -245,8 +271,12 @@
)
(DataSetColumnSpec
label: 'Author'
+ labelAlignment: left
activeHelpKey: ''
+ activeHelpKeyForLabel: ''
labelButtonType: Button
+ usePreferredWidth: true
+ menuFromApplication: false
printSelector: author
canSelect: false
showRowSeparator: false
@@ -255,15 +285,17 @@
(DataSetColumnSpec
label: 'Date'
activeHelpKey: ''
+ activeHelpKeyForLabel: ''
labelButtonType: Button
+ usePreferredWidth: true
+ menuFromApplication: false
printSelector: date
canSelect: false
showRowSeparator: false
showColSeparator: false
)
)
-
- "Modified: / 18-08-2009 / 14:31:10 / Jan Vrany <vranyj1@fel.cvut.cz>"
+
! !
!WorkingCopyBrowser methodsFor:'accessing'!
@@ -312,41 +344,57 @@
(holder := builder bindingAt:#showOnlyChanged) isNil ifTrue:[
holder := true asValue.
- holder onChangeEvaluate:
- [self model changed].
+ holder onChangeSend: #updateWorkingCopyEntries to: self.
builder aspectAt:#showOnlyChanged put:holder.
].
^ holder.
"Created: / 21-10-2008 / 18:53:39 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 08-02-2012 / 00:43:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+workingCopyEntriesHolder
+ "return/create the 'workingCopyEntriesHolder' value holder (automatically generated)"
+
+ workingCopyEntriesHolder isNil ifTrue:[
+ workingCopyEntriesHolder := ValueHolder new.
+ ].
+ ^ workingCopyEntriesHolder
+
+ "Modified: / 08-02-2012 / 00:46:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-workingCopyEntriesAspect
+workingCopyEntriesHolder:something
+ "set the 'workingCopyEntriesHolder' value holder (automatically generated)"
+ workingCopyEntriesHolder := something.
+! !
- |holder|
+!WorkingCopyBrowser methodsFor:'change & update'!
- (holder := builder bindingAt:#workingCopyEntriesAspect) isNil ifTrue:[
- holder := (PluggableAdaptor on: self modelHolder)
- getBlock:[:model|self workingCopyEntries]
- putBlock:[:model :value|self error:'Should never be sent']
- updateBlock:[:model :aspect :value|true].
- builder aspectAt:#workingCopyEntriesAspect put:holder.
+updateWorkingCopyEntries
+ | entries |
+
+ entries := self model status.
+ self showOnlyChanged value ifTrue: [
+ entries := entries reject: [:entry | entry status isNormal ]
].
- ^ holder.
- "Created: / 11-04-2008 / 10:24:40 / Jan Vrany <vranyj1@fel.cvut.cz>"
- "Modified: / 21-10-2008 / 18:55:05 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ self workingCopyEntriesHolder value: entries
+
+ "Created: / 08-02-2012 / 00:43:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!WorkingCopyBrowser methodsFor:'hooks'!
commonPostBuild
- ^self model changed
+ self updateWorkingCopyEntries.
+ self modelHolder onChangeSend: #updateWorkingCopyEntries to: self.
"Created: / 11-04-2008 / 10:33:10 / Jan Vrany <vranyj1@fel.cvut.cz>"
"Modified: / 12-04-2008 / 21:05:05 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 08-02-2012 / 00:47:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!WorkingCopyBrowser methodsFor:'menu actions'!