diff -r fb6b725c7c8e -r 9de675480091 UIHelpTool.st --- a/UIHelpTool.st Mon Mar 06 09:33:21 2006 +0100 +++ b/UIHelpTool.st Mon Mar 06 09:35:02 2006 +0100 @@ -550,9 +550,12 @@ ! modified - "true if any items are added, deleted or modified" - - ^ classItemList contains:[:aClassItem | aClassItem modified ]. + "true if any items are added, deleted or modified + " + classItemList do:[:aClassItem| + aClassItem modified ifTrue:[^ true]. + ]. + ^ false ! modified:aBoolean @@ -647,7 +650,6 @@ "returns the info label as value holder" masterApplication notNil ifTrue:[ - builder aspectAt:#useAlienInfoLabelHolder put:true. ^ masterApplication infoLabelHolder ]. ^ super infoLabelHolder @@ -1111,7 +1113,23 @@ ]. ! +openDocumentation + "opens the documentation file of the Help Tool + " + self openHTMLDocument: 'tools/uipainter/HelpTool.html' +! ! +!UIHelpTool::ClassItem class methodsFor:'instance creation'! + +onClass:aClass + |root| + + root := self new. + root onClass:aClass. + ^ root +! ! + +!UIHelpTool::ClassItem methodsFor:'accessing'! list "returns the hierarchical list assigned to the classItem; the @@ -1131,7 +1149,7 @@ ^ theClass ! ! -!UIHelpTool::ClassIte +!UIHelpTool::ClassItem methodsFor:'change & update'! helpTextChangedFor:anItem "called if an helpKey changed its contents @@ -1150,17 +1168,6 @@ (modified and:[theClass notNil]) ifFalse:[ ^ self ]. - KeyItem| |helpText| - helpText := aKeyItem helpText. - helpText isNil ifTrue:[ helpText := '' ]. - - stream nextPutLine:(aKeyItem helpKey storeString). - stream nextPutLine:(helpText storeString); ccreateHelpMethodNamed:aMethodName - |stream| - - (modified and:[theClass notNil]) ifFalse:[ - ^ self - ]. stream := '' writeStream. stream nextPutAll: @@ -1192,7 +1199,31 @@ inCategory:'help specs'. self modified:false. +! ! +!UIHelpTool::ClassItem methodsFor:'displaying'! + +icon + "returns the display icon (always nil) + " + ^ nil +! + +label + "returns the display label + " + |label| + + theClass notNil ifTrue:[ label := theClass name ] + ifFalse:[ label := '** not yet defined **' ]. + + modified ifTrue:[ + label := Text string:label color:(Color red). + ]. + ^ label +! ! + +!UIHelpTool::ClassItem methodsFor:'instance creation'! initialize "setup defaults @@ -1214,9 +1245,6 @@ !UIHelpTool::ClassItem methodsFor:'private'! basicAdd:aChild sortBlock:aBlock - "catch low-level add to update the - -basicAdd:aChild sortBlock:aBlock "catch low-level add to update the modification flag " self modified:true. @@ -1230,7 +1258,9 @@ " self modified:true. - aList + aList do:[:el| el modified:true ]. + ^ super basicAddAll:aList beforeIndex:anIndex. +! basicRemoveFromIndex:startIndex toIndex:stopIndex "catch low-level remove to update the modification flag @@ -1250,7 +1280,10 @@ ! modified - "true, if any + "true, if any item is modified, created or deleted + " + ^ modified +! modified:aBoolean "true, if any item is modified, created or deleted @@ -1275,21 +1308,23 @@ key := aKey asSymbol. self do:[:anItem| - anItem helpKemodified:aBoolean - "true, if any item is modified, created or deleted - " - modified ~~ aBoolean ifTrue:[ - modified := aBoolean. - - modified ifFalse:[ - self do:[:el| el modified:false ]. - ]. + anItem helpKey == key ifTrue:[ ^ anItem ]. + ] ]. + ^ nil ! ! -!UIHelpTool::ClassItem methodsFor:'searching'! +!UIHelpTool::KeyItem class methodsFor:'instance creation'! + +helpKey:aKey helpText:aText + |key| + key := self new. + key helpKey:aKey helpText:aText. + ^ key +! ! +!UIHelpTool::KeyItem methodsFor:'accessing'! helpKey "returns the helpKey, a symbol @@ -1315,33 +1350,38 @@ helpText := text. (modified or:[parent isNil]) ifFalse:[ - parent h - -helpText:aText - "set the contents assigned to the helpKey; if the contents changes, - a notification is raised. - " - |text| - - text := sehelpText:aText - "set the contents assigned to the helpKey; if the contents changes, - a notification is raised. - " - |text| - - text := self formatText:aText. - - text ~= helpText ifTrue:[ - helpText := text. - - (modified or:[parent isNil]) ifFalse:[ parent helpTextChangedFor:self. ] ]. ! ! +!UIHelpTool::KeyItem methodsFor:'displaying'! + +icon + "returns the display icon (always nil) + " + ^ icon ! +icon:anIcon + + icon ~= anIcon ifTrue:[ + icon := anIcon. + self changed:#icon. + ]. +! + +label + "returns the display label + " + modified ifTrue:[ + ^ Text string:helpKey color:(Color red) + ]. + ^ helpKey +! ! + +!UIHelpTool::KeyItem methodsFor:'instance creation'! + helpKey:aKey helpText:aText "set the key and contents without a change notification " @@ -1360,9 +1400,6 @@ !UIHelpTool::KeyItem methodsFor:'private'! formatText:aText - "format the text, replace carriage return by spaces - -formatText:aText "format the text, replace carriage return by spaces and compress spaces " |text result| @@ -1374,7 +1411,19 @@ result := text first. text from:2 do:[:t| result := result, ' ', t ]. - ^ resu + ^ result + ]. + ]. + ^ nil +! ! + +!UIHelpTool::KeyItem methodsFor:'queries'! + +modified + "returns true if the helpText is modified + " + ^ modified +! modified:aBoolean "set the modification flag @@ -1390,22 +1439,3 @@ version ^ '$Header$' ! ! -ader: /cvs/stx/stx/libtool2/UIHelpTool.st,v 1.77 2006/02/15 21:55:10 cg Exp $'modified - "returns true if the helpText is modified - " - ^ modified -! - -modified:aBoolean - "set the modification flag - " - aBoolean == modified ifFalse:[ - modified := aBoolean. - self changed:#redraw. - Vù Vù! - -!UIHelpTool class methodsFor:'documentation'! - -version - ^ '$Header$' -! !