The Trunk: HelpSystem-Core-mt.84.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: HelpSystem-Core-mt.84.mcz

commits-2
Marcel Taeumel uploaded a new version of HelpSystem-Core to project The Trunk:
http://source.squeak.org/trunk/HelpSystem-Core-mt.84.mcz

==================== Summary ====================

Name: HelpSystem-Core-mt.84
Author: mt
Time: 24 November 2015, 9:48:03.135 am
UUID: ce8e1b34-772e-4968-a6f7-ad1afed12b10
Ancestors: HelpSystem-Core-mt.83

Removes dead code. Avoid losing unaccepted changes without confirmation. Like on code editors.

=============== Diff against HelpSystem-Core-mt.83 ===============

Item was changed:
  ----- Method: HelpBrowser>>accept: (in category 'actions') -----
  accept: text
  "Accept edited text. Compile it into a HelpTopic"
 
  | code parent topicClass topicMethod |
  (self currentParentTopic isNil or: [self currentParentTopic isEditable not])
  ifTrue: [^ self inform: 'This help topic cannot be edited.'].
 
+ self changed: #clearUserEdits.
+
  parent := self currentParentTopic.
  topicClass := parent helpClass.
  topicMethod := self currentTopic key.
 
  code := String streamContents:[:s|
  s nextPutAll: topicMethod.
  s crtab; nextPutAll: '"This method was automatically generated. Edit it using:"'.
  s crtab; nextPutAll: '"', self name,' edit: ', topicMethod storeString,'"'.
  s crtab; nextPutAll: '^HelpTopic'.
  s crtab: 2; nextPutAll: 'title: ', currentTopic title storeString.
  s crtab: 2; nextPutAll: 'contents: '.
  s cr; nextPutAll: (String streamContents:[:c| c nextChunkPutWithStyle: text]) storeString.
  s nextPutAll:' readStream nextChunkText'.
  ].
 
  topicClass class
  compile: code
  classified: ((topicClass class organization categoryOfElement: topicMethod) ifNil:['pages']).
 
  parent refresh.
  parent == self rootTopic ifTrue: [self rootTopic: parent].
 
  self currentTopic: (parent subtopics detect: [:t | t key = topicMethod]).!

Item was changed:
  ----- Method: HelpBrowser>>currentTopic: (in category 'accessing') -----
  currentTopic: aHelpTopic
 
+ self okToChange ifFalse: [^ self].
  self currentTopic == aHelpTopic ifTrue: [^ self].
 
  currentTopic := aHelpTopic.
  topicPath := nil.
 
  self changed: #currentTopic.
  self changed: #topicContents.!

Item was removed:
- ----- Method: HelpBrowser>>find (in category 'actions') -----
- find
- "Prompt the user for a string to search for, and search the receiver from the current selection onward for it."
-
- | reply |
- reply := UIManager default request: 'Find what? ' initialAnswer: ''.
- reply size = 0 ifTrue: [
- ^ self].
- self findStringInHelpTopic: reply
- !

Item was removed:
- ----- Method: HelpBrowser>>find: (in category 'actions') -----
- find: aString
- ^SystemNavigation allMethodsSelect: [:method |
- method  hasLiteralSuchThat: [:lit |
- (lit isString and: [lit isSymbol not]) and:
- [lit includesSubstring: aString caseSensitive: false]]]
- localTo: CustomHelp
-        !

Item was removed:
- ----- Method: HelpBrowser>>findAgain (in category 'actions') -----
- findAgain
- | i |
- (i := result indexOf: currentTopic) ~= 0
- ifTrue: [i = result size
- ifTrue: [(self confirm: 'Start over?')
- ifTrue: [i := 1]
- ifFalse: [^ self]].
- self
- onItemClicked: (result at: i + 1)]!

Item was removed:
- ----- Method: HelpBrowser>>findStringInHelpTopic: (in category 'actions') -----
- findStringInHelpTopic: aString
-
- result := OrderedCollection new.
- self inSubtopic: self rootTopic find: aString.
- result ifNotEmpty: [self topic: result first].
- !

Item was removed:
- ----- Method: HelpBrowser>>inSubtopic:find: (in category 'actions') -----
- inSubtopic: aTopic find: aString
- ((aTopic title asString includesSubstring: aString caseSensitive: false)
- or: [aTopic contents asString includesSubstring: aString caseSensitive: false])
- ifTrue: [result addIfNotPresent:  aTopic].
- aTopic subtopics
- do: [:sub | self inSubtopic: sub find: aString]!

Item was removed:
- ----- Method: HelpBrowser>>inTopic:replaceCurrentTopicWith: (in category 'actions') -----
- inTopic: parentTopic replaceCurrentTopicWith: aNewTopic
-
- parentTopic subtopics
- do: [  :sub | self inTopic: parentTopic replaceSubtopic: sub with: aNewTopic]!

Item was removed:
- ----- Method: HelpBrowser>>inTopic:replaceSubtopic:with: (in category 'actions') -----
- inTopic: parentTopic replaceSubtopic: aTopic with: aNewTopic
- | i |
-
- (aTopic = oldTopic)
- ifTrue: [  i := parentTopic subtopics indexOf: aTopic.
- parentTopic subtopics at: i put: aNewTopic.  ^self ].
-
- aTopic subtopics
- do: [  :sub | self inTopic: aTopic replaceSubtopic: sub with: aNewTopic]!

Item was added:
+ ----- Method: HelpBrowser>>okToChange (in category 'updating') -----
+ okToChange
+
+ self canDiscardEdits ifTrue: [^ true].
+ self changed: #wantToChange.  "Solicit cancel from view"
+ ^ self canDiscardEdits!

Item was changed:
  ----- Method: HelpBrowser>>searchTerm: (in category 'searching') -----
  searchTerm: aString
  "Spawn a new search topic."
 
  | topic |
+ self okToChange ifFalse: [^ self].
+
  topic := self searchTopic subtopics
  detect: [:t | t term = aString]
  ifNone: [ | newTopic |
  newTopic := SearchTopic new
  term: aString;
  yourself.
  self searchTopic addSubtopic: newTopic.
  newTopic addDependent: self. "Tell me about your updates."
  newTopic].
 
  "self changed: #searchTerm."
 
  "Select results and expand searches node if necessary."
  self currentTopicPath: {self searchTopic. topic}.
  self assert: self currentTopic == topic.
 
  topic
  topicsToSearch: self toplevelTopics allButLast;
  startSearch.!