'From etoys2.1 of 26 July 2007 [latest update: #1614] on 11 September 2007 at 2:19:30 pm'! "Change Set: BookColor-tak Date: 11 September 2007 Author: Takashi Yamamiya It changes the default color of BookMorph and its icon to white as Yoshiki's request."! !BooklikeMorph methodsFor: 'page controls' stamp: 'tak 9/11/2007 12:05'! makePageControlsFrom: controlSpecs allowDragging: aBoolean "From the controlSpecs, create a set of page control and return them -- this method does *not* add the controls to the receiver." | col row b lastGuy barColor buttonColor | barColor _ (color brightness > 0.5) ifTrue: [color darker] ifFalse: [color lighter]. buttonColor _ (color brightness > 0.5) ifTrue: [color twiceDarker] ifFalse: [color twiceLighter]. col _ AlignmentMorph newColumn. col color: barColor; borderWidth: 0; layoutInset: 0. col hResizing: #spaceFill; vResizing: #shrinkWrap; extent: 5@5. row _ AlignmentMorph newRow beTransparent. row borderWidth: 0; layoutInset: 0. row hResizing: #spaceFill; vResizing: #shrinkWrap; extent: 5@5. aBoolean ifTrue: [row on: #mouseDown send: #moveViaTitle to: self]. controlSpecs do: [:spec | spec == #showDescription ifTrue: [row addMorphBack: self makeDescriptionViewer] ifFalse: [ spec == #pageNumber ifTrue: [row addMorphBack: self makePageNumberItem] ifFalse: [spec == #spacer ifTrue: [row addTransparentSpacerOfSize: (3 @ 0)] ifFalse: [spec == #variableSpacer ifTrue: [row addMorphBack: AlignmentMorph newVariableTransparentSpacer] ifFalse: [spec first isSymbol ifTrue: [b := ThreePhaseButtonMorph labelSymbol: spec first] ifFalse: [b := SimpleButtonMorph new borderWidth: 2; borderColor: Color black; color: buttonColor. b label: spec first font: Preferences standardMenuFont]. b target: self; actionSelector: spec second; borderWidth: 0; setBalloonText: spec third. row addMorphBack: b. (((lastGuy _ spec last asLowercase) includesSubString: 'menu') or: [lastGuy includesSubString: 'designations']) ifTrue: [b actWhen: #buttonDown]]]]]]. "pop up menu on mouseDown" col addMorphBack: row. ^ col! ! !BookMorph methodsFor: 'parts bin' stamp: 'tak 9/11/2007 14:04'! initializeToStandAlone super initializeToStandAlone. self removeEverything; pageSize: 360@228; color: Color white. self borderWidth: 1; borderColor: Color black. self beSticky. self showPageControls; insertPage. ^ self! ! !BookMorph class methodsFor: 'parts bin' stamp: 'tak 9/11/2007 14:14'! descriptionForPartsBin ^ self partName: 'Book' translatedNoop categories: {'Multimedia' translatedNoop} documentation: 'Multi-page structures' translatedNoop sampleImageForm: (PNGReadWriter on: (Base64MimeConverter mimeDecodeToBytes: 'iVBORw0KGgoAAAANSUhEUgAAAMgAAACgCAYAAABJ/yOpAAAABHNCSVQFBQUBSsjp7wAABMtJ REFUeF7l3S2S4kAAgFEkEonkCEiOgEQikUgkEolEcgSOgEQiOcYcAZfdniqmpnaBkE43JHni 7dZuzWR7m3z5ISHT6/X6hc/ne+TvL9fr1efz/cMPxOfzA/H5/EB8Pj8Qn88PxOfzA/H5OhLI 19eXz9dZfiA+nx+Iz+cH4vN1K5Dz+fxUEyaoCWP0xwAF8ntSy94l+NQL0IQx+mMAA3llop+9 AO+K49Nj9MeABfLqVujVrVTOvcYnx+iPAQwkxWTn3kI1YYz+GMBAckx4kw4lUo3RH4MfiB9I hTHU/ZSbH0gLAsk54akmvuoYY+5LKxvjvTGkDCR2DKnnoq2RZAkkNo4cK2DKOGJv3Hw0xkdj SB1IzBhyzEedSC6XS7Hf74vFYlGMx+Nit9uVfs9yufz++jrLaFwg75r0KmMsW/nkQKrMSexr dTgc/vs/rlar0u/r9/vfkdRZRiMDecekvzrGV1Y+PZBX5yX2tTqdTsVmsymOx+PPir5er0uj CoGE74ldRpZA6px7xK6Mud7OrLtSPhvjszHkCKTqGHLMQYpzkdvKXbb1D3uO0WhUaxmNDyTX pKdeMXIFkvoQNXcgMfMQG0jZ1n84HP4cXsUuoxWB5Jj0sjGm3GprgZSN+x17kHA4Fb4mfG3n 9yA5Jj3H4Y1/iBU3hhx7kHCuMRgMau+F/ED8QFobyLOt/2QyKebzee3zGP8Qyz/Eau0h1qOt f7jWEd69Ctc7iD2If5Lun6RX2fqHi3/PDq86tQfx3+b13+atuvUPh1az2SzJO2H+hUL/QmEr LhTermuELX5Y+cO/F84zwp/D34d3rX5fPd9ut7WW4d9q0pJbTVLOX5tvNbmdeIf7p+79frta ftszhPOQ2GX4Nyu26GbFNgTSpDt6w02I0+nUv93dv93dv9390Qn6o4uD/gem/A9M+R+Y8j9R 6H/k1v/Irf/QBv+hDf5DG/zH/viP/fHH4AfiPzjOH4MfiP/oUf/Ro/6jR/2HV/sPr/YfXu3/ +AOfzw/E5/MD8fn8QHy+pgfi8/k/BtqfDJ/PD8Tn8wPx+fxAfD4/EJ/PD8Tn8wPx+fxAfD4/ EJ/PD8Tn8/mB+Hx+ID6fH4jP5wfi8/mB+Hx+ID6fH4jP5wfi8/mB+Hx+ID6fzw/E5/MD8fn8 QHw+PxCfzw/E5/MD8fn8QHw+PxCfzw/E5/MD8QPx+fxAfD4/EJ/PD8Tn8wPx+fxAfL47ro3i B+Lz+YH4fH4gPp8fiM/nB+Lz+YH4fH4gPp8fiM/nB+Lz+YH4fD4/EJ/PD8Tn8wPx+fxAfD4/ EJ/PD8Tn8wPx+fxAfD4/EJ/PD8QPxOfzA/H5/EB8Pj8Qn88PxOfzA/H5/EB8Pj8Qn88PxOfz A/H5fH4gPp8fiM/nB+Lz+YH4fH4gPp8fiM/nB+Lz+YH4fH4gPp8fiB+Iz+cH4vP5gfg+o6P8 QHw+PxCfzw/E5/MD8fn8QHw+PxCfzw/E5/MD8fn8QHw+PxCfz+cH4vP5gfh8fiA+nx+Iz+cH 4vP5gfh8fiA+nx+Iz+cH4vP5gfiB+Hx+ID6fH4jP5wfi8/mB+Hx+ID6fH4jP5wfi8/mB+Hx+ ID6fzw/E5/MD8fn8QHw+PxCfzw/E5/MD8fn8QHy+jgXi8/nu+wM79mpMjbRBXAAAAABJRU5E rkJggg==' readStream) readStream) nextImage! ! !BookMorph class methodsFor: 'scripting' stamp: 'tak 9/11/2007 11:46'! authoringPrototype "Answer an instance of the receiver suitable for placing in a parts bin for authors" | book | book := self new initializeToStandAlone. book markAsPartsDonor. ^ book! !