class definition
authorClaus Gittinger <cg@exept.de>
Tue, 19 Apr 2011 13:21:57 +0200
changeset 9861 2fb5f110fe82
parent 9860 5225713f415e
child 9862 268c56f962ca
class definition added: #managerClass
PerforceSourceCodeManagementSettingsAppl.st
--- a/PerforceSourceCodeManagementSettingsAppl.st	Tue Apr 19 12:58:46 2011 +0200
+++ b/PerforceSourceCodeManagementSettingsAppl.st	Tue Apr 19 13:21:57 2011 +0200
@@ -1,31 +1,31 @@
 "{ Package: 'stx:libtool' }"
 
-AbstractSettingsApplication subclass:#P4SourceCodeManagementSettingsAppl
-	instanceVariableNames:'sourceCacheDir listOfModules removeEnabled acceptChannel
-		selectedPerModuleRoot verboseSourceCodeAccess
-		perforceExecutableHolder listOfPerforceModules
-		defaultSettingsHolder tableColumns defaultSettingsPrototypeList'
-	classVariableNames:'RecentlyUsedCVSRoots RecentlyUsedStoreHosts
-		RecentlyUsedSmallTeamHosts LastStoreHost LastStoreUser
-		LastStorePassword'
-	poolDictionaries:''
-	category:'Interface-Smalltalk'
+AbstractSourceCodeManagementSettingsAppl subclass:#P4SourceCodeManagementSettingsAppl
+        instanceVariableNames:'sourceCacheDir listOfModules removeEnabled acceptChannel
+                selectedPerModuleRoot verboseSourceCodeAccess
+                perforceExecutableHolder listOfPerforceModules
+                defaultSettingsHolder tableColumns defaultSettingsPrototypeList'
+        classVariableNames:'RecentlyUsedCVSRoots RecentlyUsedStoreHosts
+                RecentlyUsedSmallTeamHosts LastStoreHost LastStoreUser
+                LastStorePassword'
+        poolDictionaries:''
+        category:'Interface-Smalltalk'
 !
 
 ApplicationModel subclass:#ManagerPerModuleApp
-	instanceVariableNames:'moduleHolder acceptChannel settingsHolder
-		sourceCodeManagementSettingsApp acceptEnableChannel canceled
-		defaultSettingsPrototypeList'
-	classVariableNames:''
-	poolDictionaries:''
-	privateIn:P4SourceCodeManagementSettingsAppl
+        instanceVariableNames:'moduleHolder acceptChannel settingsHolder
+                sourceCodeManagementSettingsApp acceptEnableChannel canceled
+                defaultSettingsPrototypeList'
+        classVariableNames:''
+        poolDictionaries:''
+        privateIn:P4SourceCodeManagementSettingsAppl
 !
 
 Object subclass:#ModuleManager
-	instanceVariableNames:'manager module settings app'
-	classVariableNames:''
-	poolDictionaries:''
-	privateIn:P4SourceCodeManagementSettingsAppl
+        instanceVariableNames:'manager module settings app'
+        classVariableNames:''
+        poolDictionaries:''
+        privateIn:P4SourceCodeManagementSettingsAppl
 !
 
 
@@ -47,8 +47,8 @@
     <resource: #image>
 
     ^Icon
-	constantNamed:#'AbstractSettingsApplication::SourceCodeManagementSettingsAppl class defaultIcon'
-	ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(8 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
+        constantNamed:#'AbstractSettingsApplication::SourceCodeManagementSettingsAppl class defaultIcon'
+        ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(8 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
 @@@@@@@@@@@A@PHB@0P@@@@@@@@@@@@@@@@@@@HEA \HA $JB0HD@@@@@@@@@@@@@@HLA04NC0HD@@L@@ P@@@@@@@@@@@@ED@ NDP@@@@@@@@@D@@@@@@@@
 @@@BA \FAPP@@@@@@@@@@@P@@@@@@@@@AQ@RC0@@@@@@@@@@@@@@@@@@@@@@@@TGA!!DD@@@@@@@@@@@@@@@@@@@D@PDIA08OA@@@@@@@@@@@@@@@@@@@AP S
 A0XIBPXGC0P@@@@@@@@@@@@@@@@ECAPLBPXOAP@@@@@@EQX@@@@@@@@@@@TIE@XOAP@@@@@@EQ\XE @@@@@@@@@@AP$OAP@@@@@@FQ\ZE!! V@@@@@@@@@@@E
@@ -332,6 +332,16 @@
       )
 ! !
 
+!P4SourceCodeManagementSettingsAppl class methodsFor:'queries'!
+
+managerClass
+    "backlink to my manager class (needed by the settings app)"
+
+    ^ PerforceSourceCodeManager
+
+    "Created: / 19-04-2011 / 12:52:02 / cg"
+! !
+
 !P4SourceCodeManagementSettingsAppl class methodsFor:'tableColumns specs'!
 
 tableColumns
@@ -349,17 +359,17 @@
 
     ^#(
       (DataSetColumnSpec
-	 label: 'Module'
-	 labelButtonType: Button
-	 usePreferredWidth: true
-	 model: module
+         label: 'Module'
+         labelButtonType: Button
+         usePreferredWidth: true
+         model: module
        )
       (DataSetColumnSpec
-	 label: 'Settings'
-	 labelButtonType: Button
-	 editorType: InputField
-	 model: settings
-	 isResizeable: false
+         label: 'Settings'
+         labelButtonType: Button
+         editorType: InputField
+         model: settings
+         isResizeable: false
        )
       )
 
@@ -373,10 +383,10 @@
 
     detectedManager := self listOfModules detect:[:eachModuleManager| eachModuleManager module = aModuleManager module] ifNone:nil.
     detectedManager isNil ifTrue:[
-	self listOfModules add:aModuleManager; sort.
-	self updateModifiedChannel.
+        self listOfModules add:aModuleManager; sort.
+        self updateModifiedChannel.
     ] ifFalse:[
-	Dialog information:'Manager for Module ', aModuleManager module, ' already exists'.
+        Dialog information:'Manager for Module ', aModuleManager module, ' already exists'.
     ].
 
 
@@ -385,7 +395,7 @@
 
 addModule:module withData:data
     (self listOfModules includes:module) ifFalse:[
-	self listOfModules add:module; sort.
+        self listOfModules add:module; sort.
     ].
 
     self updateModifiedChannel.
@@ -519,7 +529,7 @@
 acceptChannel
 
     acceptChannel isNil ifTrue:[
-	acceptChannel := TriggerValue new.
+        acceptChannel := TriggerValue new.
     ].
     ^ acceptChannel.
 !
@@ -527,8 +537,8 @@
 defaultSettingsHolder
 
     defaultSettingsHolder isNil ifTrue:[
-	defaultSettingsHolder := ValueHolder new.
-	defaultSettingsHolder addDependent:self.
+        defaultSettingsHolder := ValueHolder new.
+        defaultSettingsHolder addDependent:self.
     ].
     ^ defaultSettingsHolder.
 !
@@ -536,7 +546,7 @@
 defaultSettingsPrototypeList
 
     defaultSettingsPrototypeList isNil ifTrue:[
-	defaultSettingsPrototypeList := self perforcePrototypeList.
+        defaultSettingsPrototypeList := self perforcePrototypeList.
     ].
     ^ defaultSettingsPrototypeList.
 !
@@ -544,16 +554,16 @@
 listOfModules
 
     listOfModules isNil ifTrue:[
-	listOfModules := List new.
-	listOfModules addDependent:self.
+        listOfModules := List new.
+        listOfModules addDependent:self.
     ].
     ^ listOfModules.
 !
 
 perforceExecutableHolder
     perforceExecutableHolder isNil ifTrue:[
-	perforceExecutableHolder := ValueHolder new.
-	perforceExecutableHolder onChangeSend:#updateModifiedChannel to:self
+        perforceExecutableHolder := ValueHolder new.
+        perforceExecutableHolder onChangeSend:#updateModifiedChannel to:self
     ].
     ^ perforceExecutableHolder.
 
@@ -566,34 +576,34 @@
 
     client := PerforceSourceCodeManager perforceClient.
     client isEmptyOrNil ifTrue:[
-	client := 'workspace'.
+        client := 'workspace'.
     ].
     first := (client ,':', PerforceSourceCodeManager perforceUser, ':',
-			   (PerforceSourceCodeManager perforcePassword ? 'pass'), '@',
-			   PerforceSourceCodeManager perforcePort).
+                           (PerforceSourceCodeManager perforcePassword ? 'pass'), '@',
+                           PerforceSourceCodeManager perforcePort).
     ^ Array with:first.
 !
 
 removeEnabled
 
     removeEnabled isNil ifTrue:[
-	removeEnabled := false asValue.
+        removeEnabled := false asValue.
     ].
     ^ removeEnabled.
 !
 
 selectedPerModuleRoot
     selectedPerModuleRoot isNil ifTrue:[
-	selectedPerModuleRoot := ValueHolder new.
-	selectedPerModuleRoot addDependent:self.
+        selectedPerModuleRoot := ValueHolder new.
+        selectedPerModuleRoot addDependent:self.
     ].
     ^ selectedPerModuleRoot.
 !
 
 sourceCacheDir
     sourceCacheDir isNil ifTrue:[
-	sourceCacheDir := ValueHolder new.
-	sourceCacheDir onChangeSend:#updateModifiedChannel to:self
+        sourceCacheDir := ValueHolder new.
+        sourceCacheDir onChangeSend:#updateModifiedChannel to:self
     ].
     ^ sourceCacheDir.
 !
@@ -609,7 +619,7 @@
     "*** (and replace this comment by something more useful ;-)"
 
     tableColumns isNil ifTrue:[
-	tableColumns := self class tableColumns asValue.
+        tableColumns := self class tableColumns asValue.
 "/ if your app needs to be notified of changes, uncomment one of the lines below:
 "/       tableColumns addDependent:self.
 "/       tableColumns onChangeSend:#tableColumnsChanged to:self.
@@ -619,8 +629,8 @@
 
 verboseSourceCodeAccess
     verboseSourceCodeAccess isNil ifTrue:[
-	verboseSourceCodeAccess := false asValue.
-	verboseSourceCodeAccess onChangeSend:#updateModifiedChannel to:self
+        verboseSourceCodeAccess := false asValue.
+        verboseSourceCodeAccess onChangeSend:#updateModifiedChannel to:self
     ].
     ^ verboseSourceCodeAccess.
 ! !
@@ -639,23 +649,23 @@
     nm isEmptyOrNil ifTrue:[^ self].
 
     (fn := nm asFilename) exists ifFalse:[
-	(self confirm:('SourceCache directory ''' , nm , ''' does not exist.\Create ?' withCRs)) ifTrue:[
-	    fn makeDirectory;
-	       makeReadableForAll;
-	       makeWritableForAll;
-	       makeExecutableForAll.
-	] ifFalse:[
-	    self sourceCacheDir value:(AbstractSourceCodeManager cacheDirectoryName).
-	    ^ self.
-	].
+        (self confirm:('SourceCache directory ''' , nm , ''' does not exist.\Create ?' withCRs)) ifTrue:[
+            fn makeDirectory;
+               makeReadableForAll;
+               makeWritableForAll;
+               makeExecutableForAll.
+        ] ifFalse:[
+            self sourceCacheDir value:(AbstractSourceCodeManager cacheDirectoryName).
+            ^ self.
+        ].
     ].
     (fn isDirectory
     and:[fn isReadable
     and:[fn isWritable]]) ifTrue:[
-	AbstractSourceCodeManager cacheDirectoryName:nm.
+        AbstractSourceCodeManager cacheDirectoryName:nm.
     ] ifFalse:[
-	self warn:'Invalid sourceCache directory.'.
-	self sourceCacheDir value:(AbstractSourceCodeManager cacheDirectoryName).
+        self warn:'Invalid sourceCache directory.'.
+        self sourceCacheDir value:(AbstractSourceCodeManager cacheDirectoryName).
     ].
 !
 
@@ -764,7 +774,7 @@
 
     repositoryInfoPerModule := Dictionary new.
     self listOfModules do:[:aModuleManager|
-	repositoryInfoPerModule at:aModuleManager module put:aModuleManager settings.
+        repositoryInfoPerModule at:aModuleManager module put:aModuleManager settings.
     ].
     ^ repositoryInfoPerModule
 ! !
@@ -946,7 +956,7 @@
 defaultSettingsPrototypeList
 
     defaultSettingsPrototypeList isNil ifTrue:[
-	defaultSettingsPrototypeList := sourceCodeManagementSettingsApp perforcePrototypeList.
+        defaultSettingsPrototypeList := sourceCodeManagementSettingsApp perforcePrototypeList.
     ].
     ^ defaultSettingsPrototypeList.
 !
@@ -972,7 +982,7 @@
     "*** (and replace this comment by something more useful ;-)"
 
     acceptChannel isNil ifTrue:[
-	acceptChannel := TriggerValue new.
+        acceptChannel := TriggerValue new.
     ].
     ^ acceptChannel.
 !
@@ -988,7 +998,7 @@
     "*** (and replace this comment by something more useful ;-)"
 
     acceptEnableChannel isNil ifTrue:[
-	acceptEnableChannel := true asValue.
+        acceptEnableChannel := true asValue.
 "/ if your app needs to be notified of changes, uncomment one of the lines below:
 "/       acceptEnableChannel addDependent:self.
 "/       acceptEnableChannel onChangeSend:#acceptEnableChannelChanged to:self.
@@ -1007,9 +1017,9 @@
     "*** (and replace this comment by something more useful ;-)"
 
     moduleHolder isNil ifTrue:[
-	moduleHolder := ValueHolder new.
+        moduleHolder := ValueHolder new.
 "/ if your app needs to be notified of changes, uncomment one of the lines below:
-	moduleHolder addDependent:self.
+        moduleHolder addDependent:self.
 "/       moduleHolder onChangeSend:#moduleHolderChanged to:self.
     ].
     ^ moduleHolder.
@@ -1026,7 +1036,7 @@
     "*** (and replace this comment by something more useful ;-)"
 
     settingsHolder isNil ifTrue:[
-	settingsHolder := ValueHolder new.
+        settingsHolder := ValueHolder new.
 "/ if your app needs to be notified of changes, uncomment one of the lines below:
 "/       settingsHolder addDependent:self.
 "/       settingsHolder onChangeSend:#settingsHolderChanged to:self.
@@ -1135,5 +1145,5 @@
 !P4SourceCodeManagementSettingsAppl class methodsFor:'documentation'!
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/PerforceSourceCodeManagementSettingsAppl.st,v 1.3 2011-04-19 10:42:04 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/PerforceSourceCodeManagementSettingsAppl.st,v 1.4 2011-04-19 11:21:57 cg Exp $'
 ! !