Marcel Taeumel uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-mt.853.mcz ==================== Summary ==================== Name: System-mt.853 Author: mt Time: 31 July 2016, 10:54:53.47549 am UUID: 51cc93f8-a4bd-3c46-87c6-509e16783c2b Ancestors: System-mt.852 *** Widget Refactorings and UI Themes (Part 3 of 11) *** Prepare Shout syntax highlighting for UI themes. (Temporarily no syntax highlighting. Sorry. Be patient.) =============== Diff against System-mt.852 =============== Item was added: + ----- Method: TextDiffBuilder class>>applyUserInterfaceTheme (in category 'preferences') ----- + applyUserInterfaceTheme + + NormalTextAttributes := nil. + InsertTextAttributes := nil. + RemoveTextAttributes := nil.! Item was added: + ----- Method: TextDiffBuilder class>>canApplyThemeToInstances (in category 'preferences') ----- + canApplyThemeToInstances + ^ false! Item was removed: - ----- Method: TextDiffBuilder class>>initialize (in category 'class initialization') ----- - initialize - - self initializeTextAttributes! Item was removed: - ----- Method: TextDiffBuilder class>>initializeTextAttributes (in category 'class initialization') ----- - initializeTextAttributes - - InsertTextAttributes := { TextColor red }. - RemoveTextAttributes := { TextEmphasis struckOut. TextColor blue }. - NormalTextAttributes :={ TextEmphasis normal } - ! Item was added: + ----- Method: TextDiffBuilder class>>themeProperties (in category 'preferences') ----- + themeProperties + + ^ { + { #insertTextAttributes. 'Styling'. 'Text attributes to use when a patch was inserted.' }. + { #normalTextAttributes. 'Styling'. 'Text attributes to use when text did not change.' }. + { #removeTextAttributes. 'Styling'. 'Text attributes to use when a patch was removed.' }. + }! Item was added: + ----- Method: TextDiffBuilder>>applyUserInterfaceTheme (in category 'updating') ----- + applyUserInterfaceTheme + "My class-side cache is invalidated there. My dependents have to invoke my services again."! Item was changed: ----- Method: TextDiffBuilder>>buildDisplayPatch (in category 'creating patches') ----- buildDisplayPatch | stream | stream := AttributedTextStream new. + + "Lazy initialize the text attributes cache." + NormalTextAttributes ifNil: [NormalTextAttributes := self userInterfaceTheme normalTextAttributes + ifNil: [{TextEmphasis normal}]]. + InsertTextAttributes ifNil: [InsertTextAttributes := self userInterfaceTheme insertTextAttributes + ifNil: [{TextColor red}]]. + RemoveTextAttributes ifNil: [RemoveTextAttributes := self userInterfaceTheme removeTextAttributes + ifNil: [{TextEmphasis struckOut. TextColor blue}]]. + self patchSequenceDoIfMatch: [ :string | self print: string withAttributes: NormalTextAttributes on: stream ] ifInsert: [ :string | self print: string withAttributes: InsertTextAttributes on: stream ] ifRemove: [ :string | self print: string withAttributes: RemoveTextAttributes on: stream ]. ^stream contents! |
Free forum by Nabble | Edit this page |