<?xml version="1.0" encoding="UTF-8" ?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License.  You may obtain a copy of the License at
  
      http://www.apache.org/licenses/LICENSE-2.0
    	  
  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License.
  
-->
<library>

<class name="om_vscrollbar" extends="basescrollbar" styleable="false"
    axis="y">

    <!--- @keywords private -->
    <attribute name="width" value="10"/>
    
    <!--- @keywords private -->
    <method name="_showEnabled">
        <![CDATA[
        if (!_enabled) {
        	//this.scrolltrack.thumb.setAttribute('height', 0);
            this.scrolltrack.thumb.setAttribute('visibility', 'hidden');
        } else {
            this.scrolltrack.thumb.setAttribute('visibility', 'visible');
        }
        super._showEnabled();
    ]]>
    </method>

	<view name="toparrow" height="0" />
    <view name="scrolltrack">
    	 <basescrolltrack name="top"
           resource="omscrolltrack_y_rsc" stretches="height">
         	<attribute name="height" value="${parent.height}"/>
            <attribute name="width" value="${parent.width}"/>  
         </basescrolltrack>
         <basescrollthumb name="thumb" x="1">
             <view resource="omscrollbar_ythumbtop_rsc"/>
             <view resource="omscrollbar_ythumbmiddle_rsc" stretches="both"/>
             <view resource="omscrollbar_ythumbbottom_rsc"/>
             <stableborderlayout axis="y"/>
        </basescrollthumb>
    </view>

	<view height="0" name="bottomarrow" />
    <stableborderlayout axis="y"/>

</class>
</library>
