[squeak-dev] The Trunk: EToys-mt.497.mcz
commits at source.squeak.org
commits at source.squeak.org
Wed Mar 22 12:47:17 UTC 2023
Marcel Taeumel uploaded a new version of EToys to project The Trunk:
http://source.squeak.org/trunk/EToys-mt.497.mcz
==================== Summary ====================
Name: EToys-mt.497
Author: mt
Time: 22 March 2023, 1:47:14.554694 pm
UUID: ce698d07-c7f0-8744-b46f-dd0267affbcd
Ancestors: EToys-mt.496
Complement System-mt.1391
=============== Diff against EToys-mt.496 ===============
Item was removed:
- Object subclass: #ExtendedClipboardInterface
- instanceVariableNames: 'clipboard'
- classVariableNames: 'Current WinClipboardTypes'
- poolDictionaries: ''
- category: 'Etoys-Squeakland-System-Clipboard-Extended'!
- ExtendedClipboardInterface class
- instanceVariableNames: 'mimeTypeMap clipboardFormatMap'!
- ExtendedClipboardInterface class
- instanceVariableNames: 'mimeTypeMap clipboardFormatMap'!
Item was removed:
- ----- Method: ExtendedClipboardInterface class>>clipboardFormatMap (in category 'private') -----
- clipboardFormatMap
- ^clipboardFormatMap!
Item was removed:
- ----- Method: ExtendedClipboardInterface class>>current (in category 'accessing') -----
- current
- | platform |
- Current
- ifNil: [Current := (Smalltalk includesKey: #CPlatform)
- ifTrue: [(Smalltalk at: #CPlatform) current extendedClipboardInterfaceClass new]
- ifFalse: ["workaround"
- platform := SmalltalkImage current platformName.
- platform = 'unix'
- ifTrue: [ExtendedClipboardUnixInterface new]
- ifFalse: [platform = 'Win32'
- ifTrue: [ExtendedClipboardWinInterface new]
- ifFalse: [ExtendedClipboardMacInterface new]]]].
- ^ Current!
Item was removed:
- ----- Method: ExtendedClipboardInterface class>>initialize (in category 'class initialization') -----
- initialize
- "ExtendedClipboardInterface initialize"
- Current := nil.
- Smalltalk
- addToStartUpList: self;
- addToShutDownList: self.!
Item was removed:
- ----- Method: ExtendedClipboardInterface class>>mimeTypeMap (in category 'private') -----
- mimeTypeMap
- ^mimeTypeMap!
Item was removed:
- ----- Method: ExtendedClipboardInterface class>>shutDown: (in category 'system startup') -----
- shutDown: quitting
- !
Item was removed:
- ----- Method: ExtendedClipboardInterface class>>startUp: (in category 'system startup') -----
- startUp: resuming
- "The image is either being newly started (resuming is true), or it's just been snapshotted"
-
- Current := nil.
- self current.!
Item was removed:
- ----- Method: ExtendedClipboardInterface>>addClipboardData:dataFormat: (in category 'general-api-add') -----
- addClipboardData: data dataFormat: aFormat
- clipboard = 0 ifTrue:
- [Clipboard clipboardText: data asString.
- ^self].
- self primAddClipboardData: clipboard data: data dataFormat: aFormat.!
Item was removed:
- ----- Method: ExtendedClipboardInterface>>addClipboardDataConvertFormToJPEG: (in category 'general-api-add') -----
- addClipboardDataConvertFormToJPEG: aForm
-
- self useImageReadWriter: JPEGReadWriter2
- onForm: aForm
- addClipboardMethod: [:b | self addJPEGClipboardData: b].
- !
Item was removed:
- ----- Method: ExtendedClipboardInterface>>addClipboardDataConvertFormToPNG: (in category 'general-api-add') -----
- addClipboardDataConvertFormToPNG: aForm
-
- self useImageReadWriter: PNGReadWriter
- onForm: aForm
- addClipboardMethod: [:b | self addPNGClipboardData: b].
- !
Item was removed:
- ----- Method: ExtendedClipboardInterface>>addClipboardDataResolveCorrectType: (in category 'general-api-add') -----
- addClipboardDataResolveCorrectType: data
- ^data class addClipboardDataResolveCorrectType: data!
Item was removed:
- ----- Method: ExtendedClipboardInterface>>addJPEGClipboardData: (in category 'general-api-add') -----
- addJPEGClipboardData: data
- ^self subclassResponsibility!
Item was removed:
- ----- Method: ExtendedClipboardInterface>>addPNGClipboardData: (in category 'general-api-add') -----
- addPNGClipboardData: data
- "I'm not sure the proper way of default behavior, though, now I made it blank to avoid a temporary error. -- 6/28/2007 tak"
- "Do nothing"!
Item was removed:
- ----- Method: ExtendedClipboardInterface>>addRTFClipboardData: (in category 'general-api-add') -----
- addRTFClipboardData: data
- ^self subclassResponsibility!
Item was removed:
- ----- Method: ExtendedClipboardInterface>>addStringClipboardData: (in category 'general-api-add') -----
- addStringClipboardData: data
- ^self subclassResponsibility!
Item was removed:
- ----- Method: ExtendedClipboardInterface>>addTextClipboardData: (in category 'general-api-add') -----
- addTextClipboardData: data
- ^self subclassResponsibility!
Item was removed:
- ----- Method: ExtendedClipboardInterface>>addWideStringClipboardData: (in category 'general-api-add') -----
- addWideStringClipboardData: data
- ^self subclassResponsibility!
Item was removed:
- ----- Method: ExtendedClipboardInterface>>cleanupToCopyMorphic (in category 'general-api-add') -----
- cleanupToCopyMorphic
- "For some very complicated issue, this method is called when you copy a morph.
- The morph is stored into PasteBuffer class variable. So text clipboard should not be
- referenced. That's why this is needed. I'll re-implement it more straightforward way."
- Clipboard clipboardText: ''.
- !
Item was removed:
- ----- Method: ExtendedClipboardInterface>>clearClipboard (in category 'general-api-utility') -----
- clearClipboard
- clipboard = 0 ifTrue: [^self].
- ^ self primClearClipboard: clipboard.!
Item was removed:
- ----- Method: ExtendedClipboardInterface>>clipboardMimeTypeExists: (in category 'testing') -----
- clipboardMimeTypeExists: mimeType
- | availableFormats |
- availableFormats := self readAvailableFormats.
- ^availableFormats includes: mimeType!
Item was removed:
- ----- Method: ExtendedClipboardInterface>>createClipboard (in category 'general-api-utility') -----
- createClipboard
- clipboard = 0 ifTrue: [^self].
- ^ self primCreateClipboard.!
Item was removed:
- ----- Method: ExtendedClipboardInterface>>getClipboardFormat: (in category 'general-api-utility') -----
- getClipboardFormat: formatNumber
- clipboard = 0 ifTrue: [^nil].
- ^ self primGetClipboardFormat: clipboard formatNumber: formatNumber.!
Item was removed:
- ----- Method: ExtendedClipboardInterface>>initialize (in category 'initialize-release') -----
- initialize
- clipboard := [self createClipboard] on: Error do: [:ex | clipboard := 0]!
Item was removed:
- ----- Method: ExtendedClipboardInterface>>primAddClipboardData:data:dataFormat: (in category 'system primitives') -----
- primAddClipboardData: clipboard data: data dataFormat: aFormat
-
- <primitive:'ioAddClipboardData' module: 'ClipboardExtendedPlugin'>
- ^ self primitiveFailed.!
Item was removed:
- ----- Method: ExtendedClipboardInterface>>primClearClipboard: (in category 'system primitives') -----
- primClearClipboard: clipboard
-
- <primitive:'ioClearClipboard' module: 'ClipboardExtendedPlugin'>
- ^ self primitiveFailed.
- !
Item was removed:
- ----- Method: ExtendedClipboardInterface>>primCreateClipboard (in category 'system primitives') -----
- primCreateClipboard
- <primitive:'ioCreateClipboard' module: 'ClipboardExtendedPlugin'>
- ^ self primitiveFailed.
- !
Item was removed:
- ----- Method: ExtendedClipboardInterface>>primGetClipboardFormat:formatNumber: (in category 'system primitives') -----
- primGetClipboardFormat: clipboard formatNumber: formatNumber
-
- <primitive:'ioGetClipboardFormat' module: 'ClipboardExtendedPlugin'>
- ^ self primitiveFailed.
- !
Item was removed:
- ----- Method: ExtendedClipboardInterface>>primReadClipboardData:format: (in category 'system primitives') -----
- primReadClipboardData: clipboard format: format
-
- <primitive:'ioReadClipboardData' module: 'ClipboardExtendedPlugin'>.
- ^ self primitiveFailed.
- !
Item was removed:
- ----- Method: ExtendedClipboardInterface>>readBMPClipboardData (in category 'general-api-read') -----
- readBMPClipboardData
- ^ self subclassResponsibility!
Item was removed:
- ----- Method: ExtendedClipboardInterface>>readByteStringClipboardData (in category 'general-api-read') -----
- readByteStringClipboardData
- ^ self subclassResponsibility!
Item was removed:
- ----- Method: ExtendedClipboardInterface>>readClipboardData: (in category 'general-api-read') -----
- readClipboardData: format
- ^clipboard = 0 ifFalse:
- [self primReadClipboardData: clipboard format: format].!
Item was removed:
- ----- Method: ExtendedClipboardInterface>>readFormClipboardData (in category 'general-api-read') -----
- readFormClipboardData
- ^ nil!
Item was removed:
- ----- Method: ExtendedClipboardInterface>>readJPEGClipboardData (in category 'general-api-read') -----
- readJPEGClipboardData
- ^ self subclassResponsibility!
Item was removed:
- ----- Method: ExtendedClipboardInterface>>readPNGClipboardData (in category 'general-api-read') -----
- readPNGClipboardData
- ^ self subclassResponsibility!
Item was removed:
- ----- Method: ExtendedClipboardInterface>>readRTFClipboardData (in category 'general-api-read') -----
- readRTFClipboardData
- ^ self subclassResponsibility!
Item was removed:
- ----- Method: ExtendedClipboardInterface>>readStringClipboardData (in category 'general-api-read') -----
- readStringClipboardData
- ^ self subclassResponsibility!
Item was removed:
- ----- Method: ExtendedClipboardInterface>>readTIFFClipboardData (in category 'general-api-read') -----
- readTIFFClipboardData
- ^ self subclassResponsibility!
Item was removed:
- ----- Method: ExtendedClipboardInterface>>readTextClipboardData (in category 'general-api-read') -----
- readTextClipboardData
- ^ nil!
Item was removed:
- ----- Method: ExtendedClipboardInterface>>readWideStringClipboardData (in category 'general-api-read') -----
- readWideStringClipboardData
- ^ self subclassResponsibility!
Item was removed:
- ----- Method: ExtendedClipboardInterface>>setTextString: (in category 'general-api-utility') -----
- setTextString: aString
- Smalltalk at: #CClipboard ifPresent: [:c | c clipboardText: aString]!
Item was removed:
- ----- Method: ExtendedClipboardInterface>>useImageReadWriter:onForm:addClipboardMethod: (in category 'general-api-add') -----
- useImageReadWriter: aImageReadWriterClass onForm: aForm addClipboardMethod: aAddClipBoardBlock
- | estimate buffer stream pngConverter |
- (aForm isKindOf: Form) ifTrue:
- [estimate := (aForm extent x)*(aForm extent y).
- estimate := 1024 max: (estimate * 4 * 3 // 4).
- buffer := ByteArray new: estimate.
- stream := (RWBinaryOrTextStream on: buffer) binary .
- pngConverter := aImageReadWriterClass on: stream.
- pngConverter nextPutImage: aForm.
- pngConverter close.
- aAddClipBoardBlock value: stream contents].
-
- !
Item was removed:
- ExtendedClipboardInterface subclass: #ExtendedClipboardMacInterface
- instanceVariableNames: ''
- classVariableNames: ''
- poolDictionaries: ''
- category: 'Etoys-Squeakland-System-Clipboard-Extended'!
Item was removed:
- ----- Method: ExtendedClipboardMacInterface class>>initialize (in category 'class initialization') -----
- initialize
- "ExtendedClipboardMacInterface initialize"
-
- self
- initializeClipboardFormatMap;
- initializeMimeTypeMap!
Item was removed:
- ----- Method: ExtendedClipboardMacInterface class>>initializeClipboardFormatMap (in category 'class initialization') -----
- initializeClipboardFormatMap
- "ExtendedClipboardMacInterface initializeClipboardFormatMap"
-
- clipboardFormatMap := Dictionary new.
- clipboardFormatMap
- at: 'public.rtf' put: 'text/rtf' asMIMEType;
- at: 'com.apple.traditional-mac-plain-text' put: 'text/plain' asMIMEType;
- at: 'public.png' put: 'image/png' asMIMEType;
- at: 'public.jpeg' put: 'image/jpeg' asMIMEType;
- at: 'public.tiff' put: 'image/tiff' asMIMEType;
- at: 'public.utf16-plain-text' put: 'text/unicode' asMIMEType;
- at: 'public.utf8-plain-text' put: 'text/utf8-unicode' asMIMEType;
- yourself
- !
Item was removed:
- ----- Method: ExtendedClipboardMacInterface class>>initializeMimeTypeMap (in category 'class initialization') -----
- initializeMimeTypeMap
- "ExtendedClipboardWinInterface initializeMimeTypeMap"
-
- mimeTypeMap := Dictionary new.
- mimeTypeMap
- at: 'text/rtf' asMIMEType put: 'public.rtf';
- at: 'text/*' asMIMEType put: 'com.apple.traditional-mac-plain-text';
- at: 'image/jpeg' asMIMEType put: 'public.jpeg';
- at: 'image/png' asMIMEType put: 'public.png';
- at: 'text/unicode' asMIMEType put: 'public.utf8-plain-text';
- yourself
- !
Item was removed:
- ----- Method: ExtendedClipboardMacInterface>>addJPEGClipboardData: (in category 'general-api-add') -----
- addJPEGClipboardData: data
- self clearClipboard.
- self addClipboardData: data dataFormat: 'public.jpeg'
- !
Item was removed:
- ----- Method: ExtendedClipboardMacInterface>>addPNGClipboardData: (in category 'general-api-add') -----
- addPNGClipboardData: data
- self clearClipboard.
- self addClipboardData: data dataFormat: 'public.png'
- !
Item was removed:
- ----- Method: ExtendedClipboardMacInterface>>addRTFClipboardData: (in category 'general-api-add') -----
- addRTFClipboardData: data
- self clearClipboard.
- self addClipboardData: data dataFormat: 'public.rtf'
- !
Item was removed:
- ----- Method: ExtendedClipboardMacInterface>>addStringClipboardData: (in category 'general-api-add') -----
- addStringClipboardData: data
- self clearClipboard.
- self addClipboardData: data dataFormat: 'public.text'
- !
Item was removed:
- ----- Method: ExtendedClipboardMacInterface>>addTextClipboardData: (in category 'general-api-add') -----
- addTextClipboardData: data
- | buffer stream |
- self clearClipboard.
- self addClipboardData: data asString dataFormat: 'public.text'.
- self halt.
- buffer := ByteArray new: 2048.
- stream := (RWBinaryOrTextStream on: buffer) binary .
- data serializeOn: stream.
- self addClipboardData: (buffer copyFrom: 1 to: stream size) dataFormat: 'org.squeak.text'.
-
-
- !
Item was removed:
- ----- Method: ExtendedClipboardMacInterface>>addUF8StringClipboardData: (in category 'general-api-add') -----
- addUF8StringClipboardData: aString
- | ba |
-
- self clearClipboard.
- ba := aString convertToWithConverter: (UTF8TextConverter new).
- self addClipboardData: ba dataFormat: 'public.utf8-plain-text'
- !
Item was removed:
- ----- Method: ExtendedClipboardMacInterface>>addWideStringClipboardData: (in category 'general-api-add') -----
- addWideStringClipboardData: aString
- | ba |
-
- self clearClipboard.
- ba := aString convertToWithConverter: (UTF16TextConverter new useByteOrderMark: true).
- self addClipboardData: ba dataFormat: 'public.utf16-plain-text'
- !
Item was removed:
- ----- Method: ExtendedClipboardMacInterface>>readAvailableFormats (in category 'general-api-read') -----
- readAvailableFormats
- | currentFormat availableFormats mimeType formatData |
- availableFormats := OrderedCollection new: 10.
- currentFormat := 1.
- [formatData := self getClipboardFormat: currentFormat.
- formatData notNil]
- whileTrue: [
- mimeType := self class clipboardFormatMap at: formatData asString ifAbsent: [nil].
- mimeType ifNotNil: [
- availableFormats add: mimeType].
- currentFormat := currentFormat +1].
- ^availableFormats!
Item was removed:
- ----- Method: ExtendedClipboardMacInterface>>readByteStringClipboardData (in category 'general-api-read') -----
- readByteStringClipboardData
- ^(self readClipboardData: 'com.apple.traditional-mac-plain-text')
- ifNotNil: [: bytes | bytes asString macToSqueak]
- !
Item was removed:
- ----- Method: ExtendedClipboardMacInterface>>readFormClipboardData (in category 'general-api-read') -----
- readFormClipboardData
- | bytes formats |
- formats := self readAvailableFormats.
- (formats includes: 'image/png' asMIMEType)
- ifTrue: [bytes := self readPNGClipboardData.
- ^ (PNGReadWriter on: bytes readStream) nextImage].
- (formats includes: 'image/jpeg' asMIMEType)
- ifTrue: [bytes := self readJPEGClipboardData.
- ^ (JPEGReadWriter2 on: bytes readStream) nextImage].
- ^ nil!
Item was removed:
- ----- Method: ExtendedClipboardMacInterface>>readJPEGClipboardData (in category 'general-api-read') -----
- readJPEGClipboardData
- | bytes |
- bytes := self readClipboardData: 'public.jpeg'.
- ^bytes
- !
Item was removed:
- ----- Method: ExtendedClipboardMacInterface>>readPNGClipboardData (in category 'general-api-read') -----
- readPNGClipboardData
- | bytes |
- bytes := self readClipboardData: 'public.png'.
- ^bytes
- !
Item was removed:
- ----- Method: ExtendedClipboardMacInterface>>readRTFClipboardData (in category 'general-api-read') -----
- readRTFClipboardData
- | bytes |
- bytes := self readClipboardData: 'public.rtf'.
- ^bytes ifNil: [bytes] ifNotNil: [bytes asString]
- !
Item was removed:
- ----- Method: ExtendedClipboardMacInterface>>readStringClipboardData (in category 'general-api-read') -----
- readStringClipboardData
- | string |
- string := self readUTF8StringClipboardData.
- string ifNil: [string := self readWideStringClipboardData].
- string ifNil: [string := self readByteStringClipboardData].
- ^string
- !
Item was removed:
- ----- Method: ExtendedClipboardMacInterface>>readTIFFClipboardData (in category 'general-api-read') -----
- readTIFFClipboardData
- | bytes |
- bytes := self readClipboardData: 'public.tiff'.
- ^bytes
- !
Item was removed:
- ----- Method: ExtendedClipboardMacInterface>>readTextClipboardData (in category 'general-api-read') -----
- readTextClipboardData
- ^self readStringClipboardData
- ifNotNil: [:string | (string replaceAll: Character lf with: Character cr) asText]
- !
Item was removed:
- ----- Method: ExtendedClipboardMacInterface>>readUTF8StringClipboardData (in category 'general-api-read') -----
- readUTF8StringClipboardData
- ^(self readClipboardData: 'public.utf8-plain-text')
- ifNotNil: [:bytes |
- [bytes asString utf8ToSqueak] ifError: [bytes asString] ]
- !
Item was removed:
- ----- Method: ExtendedClipboardMacInterface>>readWideStringClipboardData (in category 'general-api-read') -----
- readWideStringClipboardData
- | bytes |
- "utf16 plain text has no bom"
-
- bytes := self readClipboardData: 'public.utf16-plain-text'.
- ^bytes ifNil: [bytes] ifNotNil:
- [bytes asString convertFromWithConverter: (UTF16TextConverter new useLittleEndian: (SmalltalkImage current endianness = #little)
- )]
- !
Item was removed:
- ----- Method: ExtendedClipboardMacInterface>>setTextString: (in category 'general-api-utility') -----
- setTextString: aString
- super setTextString: aString.
- aString isWideString
- ifTrue: [self addUF8StringClipboardData: aString].
- Smalltalk at: #MacServicesInterface ifPresent: [:c | c current setTextString: aString].!
Item was removed:
- ExtendedClipboardInterface subclass: #ExtendedClipboardUnixInterface
- instanceVariableNames: ''
- classVariableNames: ''
- poolDictionaries: ''
- category: 'Etoys-Squeakland-System-Clipboard-Extended'!
Item was removed:
- ----- Method: ExtendedClipboardUnixInterface>>addPNGClipboardData: (in category 'general-api-add') -----
- addPNGClipboardData: data
- self clearClipboard.
- self addClipboardData: data dataFormat: 'image/png'
- !
Item was removed:
- ----- Method: ExtendedClipboardUnixInterface>>cleanupToCopyMorphic (in category 'general-api-add') -----
- cleanupToCopyMorphic
- Clipboard default reset.
- !
Item was removed:
- ----- Method: ExtendedClipboardUnixInterface>>readAvailableFormats (in category 'general-api-read') -----
- readAvailableFormats
- | currentFormat availableFormats mimeType formatData |
- availableFormats := OrderedCollection new: 10.
- currentFormat := 1.
- [formatData := self getClipboardFormat: currentFormat.
- formatData notNil]
- whileTrue: [
- "mimeType := self class clipboardFormatMap at: formatData asString ifAbsent: [nil]".
- mimeType := formatData.
- mimeType ifNotNil: [
- availableFormats add: mimeType].
- currentFormat := currentFormat +1].
- ^availableFormats!
Item was removed:
- ----- Method: ExtendedClipboardUnixInterface>>readFormClipboardData (in category 'general-api-read') -----
- readFormClipboardData
- | bytes formats |
- formats := self readAvailableFormats.
- (formats includes: 'image/png')
- ifTrue: [bytes := self readClipboardData: 'image/png'.
- ^ (PNGReadWriter on: bytes readStream) nextImage].
- (formats includes: 'image/bmp')
- ifTrue: [bytes := self readClipboardData: 'image/bmp'.
- ^ (BMPReadWriter on: bytes readStream) nextImage].
- ^ nil!
Item was removed:
- ----- Method: ExtendedClipboardUnixInterface>>readHTMLClipboardData (in category 'general-api-read') -----
- readHTMLClipboardData
- | bytes source |
- "Answer a HTMLDocument object"
- bytes := self readClipboardData: 'text/html'.
- (bytes beginsWith: '<!!DOCTYPE' asByteArray)
- ifTrue: ["BAD HACK for Abiword"
- source := bytes asString convertFromWithConverter: UTF8TextConverter new]
- ifFalse: ["BAD HACK for mozilla"
- source := bytes asString
- convertFromWithConverter: (UTF16TextConverter new useLittleEndian: SmalltalkImage current isLittleEndian)].
- ^ HtmlParser parse: source readStream!
Item was removed:
- ----- Method: ExtendedClipboardUnixInterface>>readStringClipboardData (in category 'general-api-read') -----
- readStringClipboardData
- ^self readWideStringClipboardData!
Item was removed:
- ----- Method: ExtendedClipboardUnixInterface>>readTextClipboardData (in category 'general-api-read') -----
- readTextClipboardData
- | formats |
- formats := self readAvailableFormats.
- (formats includes: 'text/html')
- ifTrue: [^ self readHTMLClipboardData formattedText].
- (formats includes: 'UTF8_STRING')
- ifTrue: [^self readWideStringClipboardData asText].
- (formats includes: 'STRING')
- ifTrue: ["handled by old clipboard code, fall through"].
- ^ nil!
Item was removed:
- ----- Method: ExtendedClipboardUnixInterface>>readWideStringClipboardData (in category 'general-api-read') -----
- readWideStringClipboardData
- ^(self readClipboardData: 'UTF8_STRING') asString utf8ToSqueak!
Item was removed:
- ExtendedClipboardInterface subclass: #ExtendedClipboardWinInterface
- instanceVariableNames: ''
- classVariableNames: ''
- poolDictionaries: ''
- category: 'Etoys-Squeakland-System-Clipboard-Extended'!
Item was removed:
- ----- Method: ExtendedClipboardWinInterface class>>initialize (in category 'class initialization') -----
- initialize
- "ExtendedClipboardWinInterface initialize"
-
- self
- initializeClipboardFormatMap;
- initializeMimeTypeMap!
Item was removed:
- ----- Method: ExtendedClipboardWinInterface class>>initializeClipboardFormatMap (in category 'class initialization') -----
- initializeClipboardFormatMap
- "ExtendedClipboardWinInterface initializeClipboardFormatMap"
-
- clipboardFormatMap := Dictionary new.
- "at: 6 put: 'image/tiff' asMIMEType; CF_TIFF"
-
- clipboardFormatMap
- at: 49510 put: 'text/rtf' asMIMEType;
- at: 1 put: 'text/plain' asMIMEType; "CF_TEXT"
- at: 2 put: 'image/bmp' asMIMEType; "CF_BITMAP"
- at: 12 put: 'audio/wave'; "CF_WAVE"
- at: 13 put: 'text/unicode' asMIMEType; "CF_UNICODETEXT"
- at: 16 put: 'CF_LOCALE'; "CF_LOCALE"
- yourself.
-
-
- !
Item was removed:
- ----- Method: ExtendedClipboardWinInterface class>>initializeMimeTypeMap (in category 'class initialization') -----
- initializeMimeTypeMap
- "ExtendedClipboardWinInterface initializeMimeTypeMap"
-
- mimeTypeMap := Dictionary new.
- mimeTypeMap
- at: 'text/rtf' asMIMEType put: 49510;
- at: 'text/plain' asMIMEType put: 1; "CF_TEXT"
- at: 'image/*' asMIMEType put: 2; "CF_BITMAP"
- at: 'metafile' put: 3; "CF_METAFILEPICT"
- at: 'CF_SYLK' put: 4; "CF_SYLK"
- at: 'CF_DIF' put: 5; "CF_DIF"
- at: 'image/tiff' asMIMEType put: 6; "CF_TIFF"
- at: 'oemtext' put: 7; "CF_OEMTEXT"
- at: 'CF_DIB' put: 8; "CF_DIB"
- at: 'CF_PALETTE' put: 9; "CF_PALETTE"
- at: 'CF_PENDATA' put: 10; "CF_PENDATA"
- at: 'CF_RIFF' put: 11; "CF_RIFF"
- at: 'wave' put: 12; "CF_WAVE"
- at: 'text/unicode' asMIMEType put: 13; "CF_UNICODETEXT"
- at: 'CF_ENHMETAFILE' put: 14; "CF_ENHMETAFILE"
- at: 'CF_HDROP' put: 15; "CF_HDROP"
- at: 'CF_LOCALE' put: 16; "CF_LOCALE"
- at: 'CF_DIBV5' put: 17; "CF_DIBV5"
- yourself
- !
Item was removed:
- ----- Method: ExtendedClipboardWinInterface>>readAvailableFormats (in category 'general-api-read') -----
- readAvailableFormats
- | currentFormat availableFormats mimeType |
- availableFormats := OrderedCollection new: 10.
- currentFormat := 0.
- self openClipboard.
- [currentFormat := self format: currentFormat.
- currentFormat ~= 0]
- whileTrue: [
- mimeType := self class clipboardFormatMap at: currentFormat ifAbsent: [nil].
- mimeType ifNotNil: [
- availableFormats add: mimeType]].
- self closeClipboard.
- ^availableFormats!
Item was removed:
- ----- Method: ExtendedClipboardWinInterface>>readBMPClipboardData (in category 'general-api-read') -----
- readBMPClipboardData
- | string |
- self openClipboard.
- [string := (self getClipboardData: (self class mimeTypeMap at: 'image/*' asMIMEType)) fromCString]
- ensure: [self closeClipboard].
- ^string!
Item was removed:
- ----- Method: ExtendedClipboardWinInterface>>readFormClipboardData (in category 'general-api-read') -----
- readFormClipboardData
- | bytes formats |
- formats := self readAvailableFormats.
- (formats includes: 'image/bmp' asMIMEType)
- ifTrue: [bytes := self readBMPClipboardData.
- ^ (BMPReadWriter on: bytes readStream) nextImage].
- ^ nil!
Item was removed:
- ----- Method: ExtendedClipboardWinInterface>>readRTFClipboardData (in category 'general-api-read') -----
- readRTFClipboardData
- | string |
- self openClipboard.
- [string := (self getClipboardData: (self class mimeTypeMap at: 'text/rtf' asMIMEType)) fromCString]
- ensure: [self closeClipboard].
- ^string!
Item was removed:
- ----- Method: ExtendedClipboardWinInterface>>readStringClipboardData (in category 'general-api-read') -----
- readStringClipboardData
- | string |
- self openClipboard.
- [string := (self getClipboardData: (self class mimeTypeMap at: 'text/plain' asMIMEType)) fromCString]
- ensure: [self closeClipboard].
- ^string!
Item was removed:
- ----- Method: ExtendedClipboardWinInterface>>readTIFFClipboardData (in category 'general-api-read') -----
- readTIFFClipboardData
- | string |
- self openClipboard.
- [string := (self getClipboardData: (self class mimeTypeMap at: 'image/tiff' asMIMEType)) fromCString]
- ensure: [self closeClipboard].
- ^string!
Item was removed:
- ----- Method: ExtendedClipboardWinInterface>>readWideStringClipboardData (in category 'general-api-read') -----
- readWideStringClipboardData
- | string |
- self openClipboard.
- [string := (self getClipboardData: (self class mimeTypeMap at: 'text/unicode' asMIMEType)) fromUTF16String]
- ensure: [self closeClipboard].
- ^string!
Item was removed:
- Object subclass: #MIMEType
- instanceVariableNames: 'main sub parameters'
- classVariableNames: 'DefaultSuffixes StandardMIMEMappings'
- poolDictionaries: ''
- category: 'Etoys-Squeakland-Network-MIME'!
Item was removed:
- ----- Method: MIMEType class>>contentTypeMultipart (in category 'instance creation') -----
- contentTypeMultipart
- ^self main: 'multipart' sub: 'form-data'!
Item was removed:
- ----- Method: MIMEType class>>contentTypeURLEncoded (in category 'instance creation') -----
- contentTypeURLEncoded
- ^self main: 'application' sub: 'x-www-form-urlencoded'!
Item was removed:
- ----- Method: MIMEType class>>defaultHTML (in category 'instance creation') -----
- defaultHTML
- ^self main: 'text' sub: 'html'!
Item was removed:
- ----- Method: MIMEType class>>defaultStream (in category 'instance creation') -----
- defaultStream
- ^self main: 'application' sub: 'octet-stream'!
Item was removed:
- ----- Method: MIMEType class>>defaultSuffixes (in category 'class initialization') -----
- defaultSuffixes
- "MIMEType defaultSuffixes"
-
- ^DefaultSuffixes ifNil: [DefaultSuffixes := self initializeDefaultSuffixes]!
Item was removed:
- ----- Method: MIMEType class>>defaultText (in category 'instance creation') -----
- defaultText
- ^self main: 'text' sub: 'plain'!
Item was removed:
- ----- Method: MIMEType class>>forExtension: (in category 'instance creation') -----
- forExtension: fileExtension
- | mime |
- SmalltalkImage current platformName = 'Mac OS'
- ifTrue:
- [mime := Smalltalk at: #MIMETypeMacResolver ifPresent: [:c | c getMIMETypeForFilename: 'a.',fileExtension]].
- mime ifNotNil: [^mime].
- ^(self mimeMappings at: fileExtension asLowercase ifAbsent: [^nil]) first!
Item was removed:
- ----- Method: MIMEType class>>forFileName: (in category 'instance creation') -----
- forFileName: fileName
- | ext type |
- ext := FileDirectory extensionFor: fileName.
- (ext = '' and: [SmalltalkImage current platformName = 'Mac OS'])
- ifTrue: [type := (FileDirectory default getMacFileTypeAndCreator: fileName) at: 1.
- ^self forExtension: type].
- ^self forExtension: (FileDirectory extensionFor: fileName)!
Item was removed:
- ----- Method: MIMEType class>>fromMIMEString: (in category 'instance creation') -----
- fromMIMEString: mimeString
- | idx main rest sub parameters |
- idx := mimeString indexOf: $/.
- idx = 0
- ifTrue: [self error: 'Illegal mime type string "' , mimeString , '".'].
- main := mimeString copyFrom: 1 to: idx-1.
- rest := mimeString copyFrom: idx+1 to: mimeString size.
- idx := mimeString indexOf: $;.
- idx = 0
- ifTrue: [sub := rest]
- ifFalse: [
- sub := rest copyFrom: 1 to: idx.
- parameters := rest copyFrom: idx+1 to: rest size].
- ^self
- main: main
- sub: sub
- parameters: parameters
- !
Item was removed:
- ----- Method: MIMEType class>>huntForDashAndRemove: (in category 'accessing') -----
- huntForDashAndRemove: aString
- | n |
- (n := aString lastIndexOf: $-) > 0 ifTrue: [^aString copyFrom: n+1 to: aString size].
- ^aString
- !
Item was removed:
- ----- Method: MIMEType class>>initialize (in category 'class initialization') -----
- initialize
- "MIMEType initialize"
-
- self initializeStandardMIMETypes.
- FileDirectory initializeStandardMIMETypes.!
Item was removed:
- ----- Method: MIMEType class>>initializeDefaultSubTypeSuffixes (in category 'class initialization') -----
- initializeDefaultSubTypeSuffixes
- "MIMEType initializeDefaultSubTypeSuffixes"
-
- | defaultSuffixes |
- defaultSuffixes := Dictionary new: 43.
- defaultSuffixes
- at: 'jpeg' put: 'jpg';
- yourself.
- ^defaultSuffixes!
Item was removed:
- ----- Method: MIMEType class>>initializeDefaultSuffixes (in category 'class initialization') -----
- initializeDefaultSuffixes
- "MIMEType initializeDefaultSubTypeSuffixes"
- "DefaultSuffixes := nil"
-
- | defaultSuffixes |
- defaultSuffixes := Dictionary new: 43.
- defaultSuffixes
- at: 'image/jpeg' put: 'jpg';
- at: 'audio/x-mpeg' put: 'mp3';
- at: 'video/x-mpeg' put: 'mpg';
- at: 'image/png' put: 'png';
- at: 'text/xml' put: 'xml';
- yourself.
- ^defaultSuffixes!
Item was removed:
- ----- Method: MIMEType class>>initializeStandardMIMETypes (in category 'class initialization') -----
- initializeStandardMIMETypes
- "MIMEType initializeStandardMIMETypes"
-
- StandardMIMEMappings := Dictionary new.
- self standardMIMETypes keysAndValuesDo:[:extension :mimeStrings |
- StandardMIMEMappings
- at: extension asString asLowercase
- put: (mimeStrings collect: [:mimeString | MIMEType fromMIMEString: mimeString]).
- ].!
Item was removed:
- ----- Method: MIMEType class>>main:sub: (in category 'instance creation') -----
- main: mainType sub: subType
- ^self new
- main: mainType;
- sub: subType!
Item was removed:
- ----- Method: MIMEType class>>main:sub:parameters: (in category 'instance creation') -----
- main: mainType sub: subType parameters: parameters
- ^self new
- main: mainType;
- sub: subType;
- parameters: parameters!
Item was removed:
- ----- Method: MIMEType class>>mimeMappings (in category 'accessing') -----
- mimeMappings
- ^StandardMIMEMappings!
Item was removed:
- ----- Method: MIMEType class>>simpleSuffixForMimeType: (in category 'accessing') -----
- simpleSuffixForMimeType: mimeType
- ^(self defaultSuffixes at: mimeType ifAbsent: [self huntForDashAndRemove: mimeType sub]) asSymbol!
Item was removed:
- ----- Method: MIMEType class>>standardMIMETypes (in category 'class initialization') -----
- standardMIMETypes
- "MIMEType standardMIMETypes"
- "We had to split this method because of the 256 literal limit in methods."
- | mimeTypes |
- mimeTypes := self standardMIMETypes2.
- mimeTypes
- at: 'adr' put: #('application/x-msaddr');
- at: 'jpe' put: #('image/jpeg');
- at: 'ttf' put: #('application/x-truetypefont');
- at: 'wiz' put: #('application/msword');
- at: 'xml' put: #('text/xml' 'text/html');
- at: 'ppz' put: #('application/vnd.ms-powerpoint');
- at: 'rpm' put: #('audio/x-pn-realaudio-plugin');
- at: 'rgb' put: #('image/x-rgb');
- at: 'mid' put: #('audio/midi' 'audio/x-midi');
- at: 'pnm' put: #('image/x-portable-anymap');
- at: 'bcpio' put: #('application/x-bcpio');
- at: 'pot' put: #('application/vnd.ms-powerpoint');
- at: 'o' put: #('application/octet-stream');
- at: 'vgp' put: #('video/x-videogram-plugin');
- at: 'ua' put: #('text/plain');
- at: 'zpa' put: #('application/pcphoto');
- at: 'pdf' put: #('application/pdf');
- at: 'class' put: #('application/octet-stream');
- at: 'ra' put: #('audio/x-realaudio');
- at: 'ips' put: #('application/ips');
- at: 'uu' put: #('application/octet-stream');
- at: 'sh' put: #('application/x-sh');
- at: 'ebk' put: #('application/x-expandedbook');
- at: 'pbm' put: #('image/x-portable-bitmap');
- at: 'ram' put: #('audio/x-pn-realaudio');
- at: 'tsv' put: #('text/tab-separated-values');
- at: 'dvi' put: #('application/x-dvi');
- at: 'lha' put: #('application/octet-stream');
- at: 'gif' put: #('image/gif');
- at: 'aif' put: #('audio/x-aiff');
- at: 'etx' put: #('text/x-setext');
- at: 'jfif-tbnl' put: #('image/jpeg');
- at: 'pps' put: #('application/vnd.ms-powerpoint');
- at: 'mp3' put: #('audio/mpeg' 'audio/x-mpeg');
- at: 'pgr' put: #('text/parsnegar-document');
- at: 'con' put: #('application/x-connector');
- at: 'viv' put: #('video/vnd.vivo');
- at: 'latex' put: #('application/x-latex');
- at: 'h' put: #('text/plain');
- at: 'ms' put: #('application/x-troff-ms');
- at: 'zip' put: #('application/zip');
- at: 'axs' put: #('application/olescript');
- at: 'gtar' put: #('application/x-gtar');
- at: 'fhc' put: #('image/x-freehand');
- at: 'asf' put: #('video/x-ms-asf');
- at: 'm3u' put: #('audio/x-mpeg');
- at: 'ai' put: #('application/postscript');
- at: 'movie' put: #('video/x-sgi-movie' 'video/x-sgi.movie');
- at: 'exe' put: #('application/octet-stream');
- at: 'htm' put: #('text/html' 'text/plain');
- at: 'a' put: #('application/octet-stream');
- at: 'mv' put: #('video/x-sgi-movie');
- at: 'fh4' put: #('image/x-freehand');
- at: 'avi' put: #('video/avi');
- at: 'tiff' put: #('image/tiff');
- at: 'mpga' put: #('audio/mpeg');
- at: 'mov' put: #('video/mov');
- at: 'html' put: #('text/html' 'text/plain');
- at: 'hqx' put: #('application/mac-binhex40' 'application/octet-stream');
- at: 'ras' put: #('image/x-cmu-rast');
- at: 'arc' put: #('application/octet-stream');
- at: 'dump' put: #('application/octet-stream');
- at: 'jfif' put: #('image/jpeg');
- at: 'dus' put: #('audio/x-dspeech');
- at: 'me' put: #('application/x-troff-me');
- at: 'mime' put: #('message/rfc822');
- at: 'gtaru' put: #('application/x-gtar');
- at: 'cdf' put: #('application/x-netcdf');
- at: 'xpm' put: #('image/x-xpixmap');
- at: 'jpg' put: #('image/jpeg');
- at: 'dot' put: #('application/msword');
- at: 'css' put: #('text/css' 'text/x-css');
- at: 'chat' put: #('application/x-chat');
- at: 'gz' put: #('application/gzip');
- at: 'mp2' put: #('audio/mpeg');
- at: 'cpt' put: #('application/mac-compactpro');
- at: 'wlt' put: #('application/x-mswallet');
- at: 'text' put: #('text/plain');
- at: 'wsrc' put: #('application/x-wais-source');
- at: 'xwd' put: #('image/x-xwindowdump');
- at: 'rm' put: #('audio/x-pn-realaudio');
- at: 'wrl' put: #('model/vrml');
- at: 'doc' put: #('application/ms-word-document' 'application/msword');
- at: 'ustar' put: #('audio/basic');
- at: 'js' put: #('application/x-javascript');
- at: 'rtx' put: #('application/rtf');
- at: 'aam' put: #('application/x-authorware-map');
- at: 'oda' put: #('application/oda');
- at: 'ppa' put: #('application/vnd.ms-powerpoint');
- at: 'xbm' put: #('image/x-xbitmap');
- at: 'cpio' put: #('application/x-cpio');
- at: 'sv4crc' put: #('application/x-sv4crc');
- at: 'mpg' put: #('video/mpg' 'video/mpeg' 'video/x-mpeg');
- at: 't' put: #('application/x-troff');
- at: 'txt' put: #('text/plain');
- at: 'sit' put: #('application/x-stuffit');
- at: 'wid' put: #('application/x-DemoShield');
- at: 'swf' put: #('application/x-shockwave-flash');
- at: 'lzh' put: #('application/octet-stream');
- at: 'au' put: #('audio/basic');
- at: 'java' put: #('text/plain');
- at: 'mpeg' put: #('video/mpeg' 'video/x-mpeg');
- at: 'qt' put: #('video/quicktime');
- at: 'pgm' put: #('image/x-portable-graymap');
- at: 'hdf' put: #('application/x-hdf');
- at: 'c' put: #('text/plain');
- at: 'cpp' put: #('text/plain');
- at: 'vgx' put: #('video/x-videogram');
- at: 'aifc' put: #('audio/x-aiff');
- at: 'tex' put: #('application/x.tex');
- at: 'wav' put: #('audio/wav' 'audio/x-wav');
- at: 'ivr' put: #('i-world/i-vrml');
- at: 'saveme' put: #('application/octet-stream');
- at: 'csh' put: #('application/x-csh');
- at: 'aas' put: #('application/x-authorware-map');
- at: 'tar' put: #('application/x-tar');
- at: 'vivo' put: #('video/vnd.vivo');
- yourself.
- ^mimeTypes!
Item was removed:
- ----- Method: MIMEType class>>standardMIMETypes2 (in category 'class initialization') -----
- standardMIMETypes2
- "MIMEType standardMimeTypes2"
- "We had to split this method because of the 256 literal limit in methods."
- | mimeTypes |
- mimeTypes := Dictionary new: 100.
- mimeTypes
- at: 'nc' put: #('application/x-netcdf');
- at: 'shar' put: #('application/x-shar');
- at: 'pgp' put: #('application/x-pgp-plugin');
- at: 'texi' put: #('application/x-texinfo');
- at: 'z' put: #('application/x-compress');
- at: 'aiff' put: #('audio/aiff' 'audio/x-aiff');
- at: 'bin' put: #('application/octet-stream');
- at: 'pwz' put: #('application/vnd.ms-powerpoint');
- at: 'rtc' put: #('application/rtc');
- at: 'asx' put: #('video/x-ms-asf');
- at: 'ief' put: #('image/ief');
- at: 'ps' put: #('application/postscript');
- at: 'xls' put: #('application/vnd.ms-excel');
- at: 'vrml' put: #('model/vrml');
- at: 'jpeg' put: #('image/jpeg');
- at: 'dwg' put: #('image/vnd');
- at: 'dms' put: #('application/octet-stream');
- at: 'tif' put: #('image/tiff');
- at: 'roff' put: #('application/x-troff');
- at: 'midi' put: #('audio/midi');
- at: 'eps' put: #('application/postscript');
- at: 'man' put: #('application/x-troff-man');
- at: 'sv4cpio' put: #('application/x-sv4cpio');
- at: 'tr' put: #('application/x-troff');
- at: 'dxf' put: #('image/vnd');
- at: 'rtf' put: #('text/rtf' 'application/rtf');
- at: 'frl' put: #('application/freeloader');
- at: 'xlb' put: #('application/vnd.ms-excel');
- at: 'pl' put: #('text/plain');
- at: 'snd' put: #('audio/basic');
- at: 'texinfo' put: #('application/x-texinfo');
- at: 'tbk' put: #('application/toolbook');
- at: 'ppm' put: #('image/x-portable-pixmap');
- at: 'cht' put: #('audio/x-dspeech');
- at: 'bmp' put: #('image/bmp');
- at: 'vgm' put: #('video/x-videogram');
- at: 'fh5' put: #('image/x-freehand');
- at: 'src' put: #('application/x-wais-source');
- at: 'm4' put: #('audio/x-mp4-audio');
- at: 'm4b' put: #('audio/x-quicktime-protected-b');
- at: 'm4p' put: #('audio/x-quicktime-protected');
- at: 'mp4v' put: #('video/x-mp4-video');
- at: 'm4v' put: #('video/x-mp4-video');
- at: 'mp4' put: #('video/x-mp4-video');
- at: 'wma' put: #('audio/x-ms-wma');
- at: 'wmv' put: #('video/x-ms-wmv');
- at: 'wm' put: #('video/x-ms-wm');
- at: 'png' put: #('image/png');
- yourself.
- ^mimeTypes
- !
Item was removed:
- ----- Method: MIMEType class>>suffixForMimeType: (in category 'accessing') -----
- suffixForMimeType: mimeType
- ^self defaultSuffixes at: mimeType ifAbsent: [mimeType sub]!
Item was removed:
- ----- Method: MIMEType>>= (in category 'comparing') -----
- = anotherObject
- anotherObject class == self class
- ifFalse: [^false].
- ^self main = anotherObject main
- and: [self sub = anotherObject sub]!
Item was removed:
- ----- Method: MIMEType>>asMIMEType (in category 'converting') -----
- asMIMEType
- ^self!
Item was removed:
- ----- Method: MIMEType>>beginsWith: (in category 'comparing') -----
- beginsWith: aString
- ^self printString beginsWith: aString!
Item was removed:
- ----- Method: MIMEType>>hash (in category 'comparing') -----
- hash
- ^self main hash bitXor: self sub hash!
Item was removed:
- ----- Method: MIMEType>>main (in category 'accessing') -----
- main
- ^main!
Item was removed:
- ----- Method: MIMEType>>main: (in category 'accessing') -----
- main: mainType
- main := mainType!
Item was removed:
- ----- Method: MIMEType>>parameters: (in category 'accessing') -----
- parameters: params
- parameters := params!
Item was removed:
- ----- Method: MIMEType>>printOn: (in category 'printing') -----
- printOn: stream
- stream
- nextPutAll: main; nextPut: $/ ; nextPutAll: sub!
Item was removed:
- ----- Method: MIMEType>>sub (in category 'accessing') -----
- sub
- ^sub!
Item was removed:
- ----- Method: MIMEType>>sub: (in category 'accessing') -----
- sub: subType
- sub := subType!
Item was removed:
- ----- Method: String>>asMIMEType (in category '*Etoys-Squeakland-network-mime') -----
- asMIMEType
- ^MIMEType fromMIMEString: self!
More information about the Squeak-dev
mailing list
|