<?xml version="1.0" encoding="utf-8"?>
<!--
 Copyright 2010-2014, Google Inc.
 All rights reserved.

 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are
 met:

     * Redistributions of source code must retain the above copyright
 notice, this list of conditions and the following disclaimer.
     * Redistributions in binary form must reproduce the above
 copyright notice, this list of conditions and the following disclaimer
 in the documentation and/or other materials provided with the
 distribution.
     * Neither the name of Google Inc. nor the names of its
 contributors may be used to endorse or promote products derived from
 this software without specific prior written permission.

 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->
<!-- This file is a part of CandidateView so please maintain in parallel. -->
<org.mozc.android.inputmethod.japanese.CandidateView xmlns:android="http://schemas.android.com/apk/res/android" >

    <LinearLayout
        android:id="@+id/candidate_word_frame"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="horizontal" >

        <!--
             By the layout_weight parameter, ConversionCandidateWordView will fill
             the parent view except ScrollGuideView declared below.
        -->

        <view
            android:id="@+id/conversion_candidate_word_container_view"
            android:layout_width="0dip"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            class="org.mozc.android.inputmethod.japanese.ConversionCandidateWordContainerView" >

            <!--
                layout_width/height attributes, which are mandatory, of the children are ignored.
                Layout process is done by ConversionCandidateWordViewContainerView without
                layout parameters.
            -->

            <view
                android:id="@+id/candidate_word_view"
                android:layout_width="0dip"
                android:layout_height="0dip"
                class="org.mozc.android.inputmethod.japanese.CandidateView$ConversionCandidateWordView" />

            <org.mozc.android.inputmethod.japanese.ui.InputFrameFoldButtonView
                android:id="@+id/input_frame_fold_button"
                android:layout_width="0dip"
                android:layout_height="0dip"
                android:disabledAlpha="0"
                android:minHeight="0dip"
                android:minWidth="0dip"
                android:textOff=""
                android:textOn=""
                android:soundEffectsEnabled="false"
                android:contentDescription="@string/cd_keyboard_fold_button" />
        </view>

        <org.mozc.android.inputmethod.japanese.ui.ScrollGuideView
            android:id="@+id/candidate_scroll_guide_view"
            android:layout_width="@dimen/candidate_scrollbar_width"
            android:layout_height="fill_parent"
            android:layout_weight="0" />
    </LinearLayout>

</org.mozc.android.inputmethod.japanese.CandidateView>
