<ui version="4.0" stdsetdef="1" >
  <class>QAxSelect</class>
  <comment>*********************************************************************
**
** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the ActiveQt framework of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:BSD$
** You may use this file under the terms of the BSD license as follows:
**
** "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 Nokia Corporation and its Subsidiary(-ies) 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."
** $QT_END_LICENSE$
**
*********************************************************************</comment>
  <widget class="QDialog" name="QAxSelect" >
    <property name="objectName" >
      <string notr="true" >QAxSelect</string>
    </property>
    <property name="geometry" >
      <rect>
        <x>0</x>
        <y>0</y>
        <width>439</width>
        <height>326</height>
      </rect>
    </property>
    <property name="windowTitle" >
      <string>Select ActiveX Control</string>
    </property>
    <property name="sizeGripEnabled" >
      <bool>true</bool>
    </property>
    <layout class="QGridLayout" >
      <property name="objectName" >
        <string notr="true" >unnamed</string>
      </property>
      <property name="margin" >
        <number>11</number>
      </property>
      <property name="spacing" >
        <number>6</number>
      </property>
      <item rowspan="2" row="0" column="1" colspan="1" >
        <layout class="QVBoxLayout" >
          <property name="objectName" >
            <string notr="true" >unnamed</string>
          </property>
          <property name="margin" >
            <number>0</number>
          </property>
          <property name="spacing" >
            <number>6</number>
          </property>
          <item>
            <widget class="QPushButton" name="buttonOk" >
              <property name="objectName" >
                <string notr="true" >buttonOk</string>
              </property>
              <property name="text" >
                <string>OK</string>
              </property>
              <property name="autoDefault" >
                <bool>true</bool>
              </property>
              <property name="default" >
                <bool>true</bool>
              </property>
            </widget>
          </item>
          <item>
            <widget class="QPushButton" name="buttonCancel" >
              <property name="objectName" >
                <string notr="true" >buttonCancel</string>
              </property>
              <property name="text" >
                <string>&amp;Cancel</string>
              </property>
              <property name="autoDefault" >
                <bool>true</bool>
              </property>
            </widget>
          </item>
          <item>
            <spacer name="Spacer2" >
              <property name="sizeHint" >
                <size>
                  <width>20</width>
                  <height>0</height>
                </size>
              </property>
              <property name="sizeType" >
                <enum>Expanding</enum>
              </property>
              <property name="orientation" >
                <enum>Vertical</enum>
              </property>
            </spacer>
          </item>
        </layout>
      </item>
      <item row="0" column="0" >
        <widget class="QListView" name="ActiveXList" >
          <property name="objectName" >
            <string notr="true" >ActiveXList</string>
          </property>
        </widget>
      </item>
      <item row="1" column="0" >
        <layout class="QHBoxLayout" >
          <property name="objectName" >
            <string notr="true" >unnamed</string>
          </property>
          <property name="margin" >
            <number>0</number>
          </property>
          <property name="spacing" >
            <number>6</number>
          </property>
          <item>
            <widget class="QLabel" name="TextLabel1" >
              <property name="objectName" >
                <string notr="true" >TextLabel1</string>
              </property>
              <property name="text" >
                <string>COM &amp;Object:</string>
              </property>
              <property name="buddy" stdset="0" >
                <cstring>ActiveX</cstring>
              </property>
            </widget>
          </item>
          <item>
            <widget class="QLineEdit" name="ActiveX" >
              <property name="objectName" >
                <string notr="true" >ActiveX</string>
              </property>
            </widget>
          </item>
        </layout>
      </item>
    </layout>
  </widget>
  <layoutdefault spacing="6" margin="11" />
  <includes>
    <include location="local" >qaxwidget.h</include>
  </includes>
</ui>
