<?xml version="1.0" encoding="UTF-8"?>
<!--
 Copyright 2010-2015, 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.
-->
<ui version="4.0">
 <class>HandWriting</class>
 <widget class="QMainWindow" name="HandWriting">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>500</width>
    <height>249</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>Mozc Hand Writing</string>
  </property>
  <widget class="QWidget" name="centralwidget">
   <layout class="QGridLayout" name="gridLayout_2">
    <property name="leftMargin">
     <number>0</number>
    </property>
    <property name="topMargin">
     <number>2</number>
    </property>
    <property name="rightMargin">
     <number>0</number>
    </property>
    <property name="bottomMargin">
     <number>0</number>
    </property>
    <property name="horizontalSpacing">
     <number>0</number>
    </property>
    <item row="0" column="0">
     <layout class="QGridLayout" name="gridLayout">
      <property name="sizeConstraint">
       <enum>QLayout::SetDefaultConstraint</enum>
      </property>
      <property name="spacing">
       <number>6</number>
      </property>
      <item row="0" column="1">
       <spacer name="horizontalSpacer">
        <property name="orientation">
         <enum>Qt::Horizontal</enum>
        </property>
        <property name="sizeHint" stdset="0">
         <size>
          <width>40</width>
          <height>20</height>
         </size>
        </property>
       </spacer>
      </item>
      <item row="0" column="2">
       <widget class="QFontComboBox" name="fontComboBox"/>
      </item>
      <item row="0" column="3">
       <widget class="QComboBox" name="sizeComboBox">
        <item>
         <property name="text">
          <string>Largest</string>
         </property>
        </item>
        <item>
         <property name="text">
          <string>Larger</string>
         </property>
        </item>
        <item>
         <property name="text">
          <string>Medium</string>
         </property>
        </item>
        <item>
         <property name="text">
          <string>Smaller</string>
         </property>
        </item>
        <item>
         <property name="text">
          <string>Smallest</string>
         </property>
        </item>
       </widget>
      </item>
      <item row="1" column="0">
       <widget class="HandWritingCanvas" name="handWritingCanvas" native="true">
        <property name="sizePolicy">
         <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
          <horstretch>0</horstretch>
          <verstretch>0</verstretch>
         </sizepolicy>
        </property>
        <property name="minimumSize">
         <size>
          <width>170</width>
          <height>170</height>
         </size>
        </property>
        <property name="maximumSize">
         <size>
          <width>170</width>
          <height>170</height>
         </size>
        </property>
       </widget>
      </item>
      <item row="1" column="1" rowspan="3" colspan="3">
       <widget class="ResultList" name="resultListWidget"/>
      </item>
      <item row="2" column="0">
       <layout class="QHBoxLayout" name="horizontalLayout">
        <item>
         <widget class="QPushButton" name="clearButton">
          <property name="text">
           <string>clear</string>
          </property>
         </widget>
        </item>
        <item>
         <widget class="QPushButton" name="revertButton">
          <property name="text">
           <string>revert</string>
          </property>
         </widget>
        </item>
       </layout>
      </item>
      <item row="3" column="0">
       <spacer name="verticalSpacer">
        <property name="orientation">
         <enum>Qt::Vertical</enum>
        </property>
        <property name="sizeHint" stdset="0">
         <size>
          <width>20</width>
          <height>40</height>
         </size>
        </property>
       </spacer>
      </item>
      <item row="0" column="0">
       <widget class="QComboBox" name="handwritingSourceComboBox">
        <item>
         <property name="text">
          <string>Local</string>
         </property>
        </item>
        <item>
         <property name="text">
          <string>Cloud</string>
         </property>
        </item>
       </widget>
      </item>
     </layout>
    </item>
   </layout>
  </widget>
 </widget>
 <customwidgets>
  <customwidget>
   <class>ResultList</class>
   <extends>QListWidget</extends>
   <header>gui/character_pad/result_list.h</header>
  </customwidget>
  <customwidget>
   <class>HandWritingCanvas</class>
   <extends>QWidget</extends>
   <header>gui/character_pad/hand_writing_canvas.h</header>
  </customwidget>
 </customwidgets>
 <resources/>
 <connections/>
</ui>
