diff -r bf9fecf4787f -r 2c9a342e1f2a Cairo__AbstractViewer.st --- a/Cairo__AbstractViewer.st Mon Feb 29 18:08:00 2016 +0000 +++ b/Cairo__AbstractViewer.st Tue Mar 01 16:10:07 2016 +0000 @@ -152,29 +152,34 @@ ( (MenuItem label: 'Cut' - itemValue: cutSelection + itemValue: editMenuCut nameKey: Cut shortcutKey: Cut + ignoreShortcutKeys: true ) (MenuItem label: 'Copy' - itemValue: copySelection + itemValue: editMenuCopy nameKey: Copy shortcutKey: Copy + ignoreShortcutKeys: true ) (MenuItem label: 'Paste' - itemValue: paste + itemValue: editMenuPaste nameKey: Paste shortcutKey: Paste + ignoreShortcutKeys: true ) (MenuItem label: '-' ) (MenuItem label: 'Accept' + itemValue: editMenuAccept nameKey: Accept shortcutKey: Accept + ignoreShortcutKeys: true ) ) nil @@ -232,6 +237,11 @@ itemValue: menuZoomSet: argument: 400 ) + (MenuItem + label: '800%' + itemValue: menuZoomSet: + argument: 800 + ) ) nil nil @@ -241,8 +251,16 @@ nil nil ) +! ! - "Modified: / 28-02-2016 / 16:22:49 / Jan Vrany " +!AbstractViewer class methodsFor:'queries'! + +isAbstract + "Return if this class is an abstract class. + True is returned here for myself only; false for subclasses. + Abstract subclasses must redefine again." + + ^ self == Cairo::AbstractViewer. ! ! !AbstractViewer methodsFor:'aspects'! @@ -411,30 +429,27 @@ ! menuExamplesFromClass: aClass - | examples | - - examples := aClass testSelectors collect:[:each | aClass lookupMethodFor: each ]. - examples sort: [ :a :b | (a annotationsAt: #example: orAt: #example:category:) first arguments first - < (b annotationsAt: #example: orAt: #example:category:) first arguments first ]. - ^ self menuExamplesFromMethods: examples + ^ self menuExamplesFromSuite: aClass buildSuite. "Created: / 26-02-2016 / 22:34:48 / Jan Vrany " - "Modified: / 27-02-2016 / 09:04:32 / Jan Vrany " + "Modified: / 01-03-2016 / 10:05:59 / Jan Vrany " ! -menuExamplesFromMethods: methods - | menu | +menuExamplesFromSuite: aTestSuite + | examples menu | + examples := aTestSuite tests. + examples sort: [ :a :b | a name < b name ]. menu := Menu new. - methods do:[:method | + examples do:[:example | menu addItem: (MenuItem - label: (method annotationsAt: #example: orAt: #example:category:) first arguments first - itemValue: #menuExampleShowMethod: - argument: method) + label: example name + itemValue: #menuExampleShow: + argument: example source) ]. ^ menu - "Created: / 26-02-2016 / 22:35:56 / Jan Vrany " + "Created: / 01-03-2016 / 10:04:52 / Jan Vrany " ! ! !AbstractViewer methodsFor:'menu actions'!