View in color | License | Download script | History | Other scripts by: romano |
7-Sep 17:16 UTC
[0.044] 12.507k
[0.044] 12.507k
dump-style.rREBOL [
Title: "Dump-Style"
Date: 11-Jun-2002
Version: 1.0.0
File: %dump-style.r
Author: "Romano Paolo Tenca"
Purpose: {Dump style facets and returns a block which can be passed to stylize
to create a clone of the style.
}
History: {
^-^-1.0.0 11/06/02 first public release
^-}
Email: %rotenca--libero--it
Web: http://web.tiscali.it/anarkick/index.r
Note: {
^-^-It is based on undocumented features and can fail in future Rebol versions
^-^-or with some custom styles
^-}
library: [
level: 'intermediate
platform: []
type: 'tool
domain: [GUI debug]
tested-under: none
support: none
license: none
see-also: none
]
]
dump-style: func [
style [word!]
/quiet "Do not print the style"
/clip "Copy the style to the clipboard"
/name "Use this name for the cloned style" new [word!]
/styles ss "Stylesheet"
/local facets h
][
if none? styles [ss: svv/vid-styles]
if not name [new: style]
if ss: select ss style [
either ss/facets [
parse/all facets: copy/deep ss/facets [
thru 'with into [
any [
thru words: into [
any [
h: function! (change/only h second first h)
| skip
]
]
]
]
]
ss: compose [
(to-set-word new) (ss/style) (facets)
]
if not quiet [
print mold/only ss
]
if clip [
write clipboard:// mold/only ss
]
ss
][
print ["Facets not found. Base style: " ss/style]
ss/style
]
]
]
;this can be cancelled or commented out
if system/user/name <> "Romano Paolo Tenca" [
print "First example: dump of the 'field style:^/"
dump-style 'field
print "^/Second example: code which creates a 'text-list clone:"
do probe [
x: dump-style/quiet/name 'text-list 'text-list-clone
comment {Vid styles are bound to svv}
x: bind x in svv 'self
my-styles: stylize x
view center-face layout [
backcolor silver
styles my-styles
text-list-clone 300x100 data [
"This is the style:"
"'text-list-clone"
"in the stylesheet"
"'my-styles"
]
]
]
halt
] Notes
|