REBOL [
    Title:   "Isle of Arran"
    Date:    16-April-2001
    Version: 1.1.0
    File:    %arran.r
    Home:    http://www.ross-gill.com/
    Author:  "Christopher Ross-Gill"
    Owner:   "Arran Multimedia Studio"
    Rights:  "Copyright ©2000-01 Arran Multimedia Studio"
    Purpose: "To present the Isle of Arran on the World Wide Reb"
    History: {
        OK, I'm not very good at this but I'll try...
        My first attempt used faces and worked pretty well but the
        code was a mess.  I wanted to do it in CID (thanks Allen for
        giving me a demo showing how to do that) and then VID.  But
        until the certainty of /View 1.x, I didn't want to learn the
        dialect unless it stuck.  So here it is - my first (of many,
        I hope) VID presentation.
    }
]

;o) Settings

pics: http://www.ross-gill.com/files/
paper: load-thru/binary pics/back-laggan.gif

dark-green:   0.102.0
light-green:  0.153.0
orange:       255.102.0
dark-blue:    0.51.102
light-blue:   51.102.153
white:        255.255.255
grey:         153.153.153


;o) Window

arran: [
    styles arran-style
    origin 12
    backdrop paper effect [fit]
    display-text: text-display current/text
    at 222x12
    display-image: image-display current/image
    at 222x200
    button-previous "<"
    at 346x200
    button-next ">"
    space 6
    across
    at 12x234
    category "Home" user-data "home"
    category "Brodick" user-data "brodick"
    category "Goatfell" user-data "goatfell"
    return
    category "Lochranza" user-data "ranza"
    category "Laggan" user-data "laggan"
    category "The Author" user-data "chris"
]


;o) Style sheet

arran-style: stylize [
    text-display: vtext as-is 200x220 font [
        name: "garamond"
        size: 14
        style: 'bold
    ]
    image-display: image 244x184 frame dark-blue 2x2
    button-nav: button 120x20 user-data dark-blue
    feel [
        over: func [face over? offset][
            either over? [
                face/user-data: light-blue
                show face
            ][
                face/user-data: dark-blue
                show face
            ]
        ]
    ]
    edge [size: 0x0]
    font [name: "garamond" size: 14 style: 'bold]
    button-next: button-nav [
        if not tail? next current/group [
            current/group: next current/group
            current/field: first current/group
            display-text/text: current/text
            display-image/image: current/image
            show x-arran
        ]
    ]
    feel [
        redraw: func [face idx][
            either tail? next current/group [
                face/color: grey
            ][
                face/color: face/user-data
            ]
        ]
    ]
    button-previous: button-nav [
        if not head? current/group [
            current/group: back current/group
            current/field: first current/group
            display-text/text: current/text
            display-image/image: current/image
            show x-arran
        ]
    ]
    feel [
        redraw: func [face idx][
            either head? current/group [
                face/color: grey
            ][
                face/color: face/user-data
            ]
        ]
    ]
    category: button 148x22 dark-green [
        face/light: dark-green
        current/category: face/user-data
        current/group: select database current/category
        current/field: first current/group
        display-text/text: current/text
        display-image/image: current/image
        show x-arran
    ]
    feel [
        redraw: func [face idx][
            either face/user-data = current/category [
                face/color: orange
            ][
                face/color: face/light
            ]
        ]
        over: func [face over? offset][
            if not face/user-data = current/category [
                either over? [
                    face/light: light-green
                    show face
                ][
                    face/light: dark-green
                    show face
                ]
            ]
        ]
    ]
    edge [size: 0x0]
    font [name: "garamond" size: 14 style: 'bold]
    with [light: dark-green]
]


;o) Information

database: [
    "default" [
        [
            {
            Welcome to the Isle of Arran. Here are some photos
            from summer 1999 with some informative text.
            _Enjoy :-)
            }
            %goatfell-holyisle.jpg
        ]
    ]
    "home" [
        [
            {
            From Goatfell facing south. _In
            the foreground is Brodick Bay.  Above
            that is Lamlash Bay and Holy Isle
            (due a visit this year from the Dalai
            Lama). _In the distance is the Ayrshire
            hills and Ailsa Craig.
            }
            %goatfell-holyisle.jpg
        ]
    ]
    "brodick" [
        [
            {
            The main village on the island and a
            gateway to the mountains, villages and
            the mainland _Tourists here playing
            putting with Goatfell in the background.
            }
            %brodick-putting.jpg
        ][
            {
            Brodick Castle, for centuries the home
            of the Hamiltons, is steeped in Scottish
            history.  This was the first castle taken
            by Robert the Bruce on his return to Scotland.
            }
            %castle-flag.jpg
        ][
            {
            There is a regular ferry crossing all year
            round with a good train connection to Glasgow.
            }
            %brodick-ferry.jpg
        ][
            {
            Reinforcing the island's image as a holiday
            destination, this picture shows just a handful
            of the yachts that come from all over Europe
            and beyond to sail round this and other
            Scottish islands.
            }
            %brodick-yachtsb.jpg
        ]
    ]
    "goatfell" [
        [
            {
            The highest mountain on Arran and for at
            least a 50 mile radius. _The picture in
            the 'HOME' section was taken from Goatfell,
            facing Brodick and the south.
            }
            %goatfell-close.jpg
        ][
            {
            The Top _If you're going to climb, you may as
            well take along a guitar (with amp).  My friend
            blending in with the other satisfied climbers.
            Note the trig point (874m) and View Guide.
            }
            %goatfell-player.jpg
        ][
            {
            North West _You can see other Arran peaks -
            Cir Mhor (under the buzzard), Caisteal Abhail
            (to the right) and the Witch's Step (The giant
            vertical groove).  In the distance are the
            paps of Jura beyond Kintyre.
            }
            %goatfell-jura.jpg
        ][
            {
            North _In the foreground is North Goatfell.
            The Witch's Step is on the left with Glen Sannox
            in between.  The passage of water above is the
            Firth of Clyde with Greenock and Glasgow to the
            right.
            }
            %goatfell-north.jpg
        ][
            {
            East _The wonderfully positioned village of Corrie.
            Considered by many to be the most picturesque
            village on the island, it is a great starting point
            for many walks and climbs.
            }
            %goatfell-corrie.jpg
        ][
            {
            South _Another man with a guitar, towering over the
            speck that is Ailsa Craig (itself twice as big as
            the great pyramids).
            }
            %goatfell-star.jpg
        ][
            {
            South West _Looking across the island over Glen
            Rosa (foreground) to Shiskine.  In the distance is
            the Mull of Kintyre and Northern Ireland.
            }
            %goatfell-shiskine.jpg
        ]
    ]
    "ranza" [
        [
            {
            Lochranza is based in a fjord-like glen. _As the
            glen faces north, Lochranza doesn't see the sun
            from mid-November to mid-February.  But they
            don't care, they have their own distillery.
            }
            %ranza-village.jpg
        ][
            {
            Lochranza Castle, set in the middle of the loch
            on a small peninsula of its own _The peninsula
            makes a wonderful shelter for small boats,
            while the other side is deep and plays host to
            a large number of yachts.

            }
            %ranza-castle.jpg
        ][
            {
            Arran's other ferry to the mainland runs from
            Lochranza to Cloanaig on Kintyre.  It is a summer
            only service. _At the top-left of the picture,
            you can just make out the Caisteal Abhail and
            the Witch's Step.
            }
            %ranza-ferry.jpg
        ]
    ]
    "laggan" [
        [
            {
            Laggan is an old mining village which was
            completely emptied during the clearances. The
            best way to reach it is by boat. _There are
            many clearance sites on Arran in various states
            of repair.

            }
            %laggan-ruin.jpg
        ][
            {
            The means of travel. _Edward here knows
            everything about the Herring Fishing Industry
            in Scotland, both past and present.  Amongst
            other things.
            }
            %laggan-boat.jpg
        ][
            {
            The north east corner of the island is the most
            inaccessible.  This was the main problem for
            the residents of Laggan, and one of the reasons
            they left
            }
            %laggan-corner.jpg
        ][
            {
            Hold a camera over the side of a boat and you get...
            }
            %laggan-speed.jpg
        ]
    ]
    "chris" [
        [
            {
            Modesty forbidding the use of my own picture, here's
            my apple tree (new) sparkling in the summer sun.
            _http://www.ross-gill.com/arran/ _Christopher Ross-Gill
            }
            %chris-apple.jpg
        ][
            {
            Here is Bonnie.  A very well-behaved collie who
            went almost everywhere the camera went :-)
            }
            %chris-bonnie.jpg
        ]
    ]
]


;o) Execute Program

ready: func [txt][
    replace/all trim/lines copy txt "_" "^/^/"
]

current: context [
    category: "default"
    group: select database category
    field: first group
    text: does [ready first field]
    image: does [load-thru/binary join pics second field]
]

view/title center-face x-arran: layout arran "Isle of Arran"