<ui version="4.0" >
 <author></author>
 <comment>*********************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the tools applications of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:GPL-EXCEPT$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
** $QT_END_LICENSE$
**
*********************************************************************</comment>
 <exportmacro></exportmacro>
 <class>ChangeProperties</class>
 <widget class="QDialog" name="ChangeProperties" >
  <property name="geometry" >
   <rect>
    <x>0</x>
    <y>0</y>
    <width>728</width>
    <height>584</height>
   </rect>
  </property>
  <property name="windowTitle" >
   <string>Change Control Properties</string>
  </property>
  <layout class="QVBoxLayout" >
   <property name="margin" >
    <number>11</number>
   </property>
   <property name="spacing" >
    <number>6</number>
   </property>
   <item>
    <widget class="QTabWidget" name="tabWidget" >
     <widget class="QWidget" name="propertiesTab" >
      <attribute name="title" >
       <string>&amp;Properties</string>
      </attribute>
      <layout class="QVBoxLayout" >
       <property name="margin" >
        <number>11</number>
       </property>
       <property name="spacing" >
        <number>6</number>
       </property>
       <item>
        <widget class="QTreeWidget" name="listProperties" >
         <property name="rootIsDecorated" >
          <bool>false</bool>
         </property>
         <column>
          <property name="text" >
           <string>Property</string>
          </property>
         </column>
         <column>
          <property name="text" >
           <string>Type</string>
          </property>
         </column>
         <column>
          <property name="text" >
           <string>Value</string>
          </property>
         </column>
        </widget>
       </item>
       <item>
        <layout class="QHBoxLayout" >
         <property name="margin" >
          <number>0</number>
         </property>
         <property name="spacing" >
          <number>6</number>
         </property>
         <item>
          <widget class="QLabel" name="valueLabel" >
           <property name="text" >
            <string>Property &amp;Value:</string>
           </property>
           <property name="buddy" >
            <cstring>editValue</cstring>
           </property>
          </widget>
         </item>
         <item>
          <widget class="QLineEdit" name="editValue" />
         </item>
         <item>
          <widget class="QToolButton" name="buttonSet" >
           <property name="text" >
            <string>&amp;Set</string>
           </property>
          </widget>
         </item>
        </layout>
       </item>
      </layout>
     </widget>
     <widget class="QWidget" name="requestTab" >
      <attribute name="title" >
       <string>Property Edit &amp;Requests</string>
      </attribute>
      <layout class="QVBoxLayout" >
       <property name="margin" >
        <number>11</number>
       </property>
       <property name="spacing" >
        <number>6</number>
       </property>
       <item>
        <widget class="QTreeWidget" name="listEditRequests" >
         <column>
          <property name="text" >
           <string>Property</string>
          </property>
         </column>
        </widget>
       </item>
      </layout>
     </widget>
    </widget>
   </item>
   <item>
    <layout class="QHBoxLayout" >
     <property name="margin" >
      <number>0</number>
     </property>
     <property name="spacing" >
      <number>6</number>
     </property>
     <item>
      <spacer>
       <property name="orientation" >
        <enum>Qt::Horizontal</enum>
       </property>
       <property name="sizeType" >
        <enum>QSizePolicy::Expanding</enum>
       </property>
       <property name="sizeHint" >
        <size>
         <width>1</width>
         <height>1</height>
        </size>
       </property>
      </spacer>
     </item>
     <item>
      <widget class="QPushButton" name="buttonClose" >
       <property name="text" >
        <string>C&amp;lose</string>
       </property>
      </widget>
     </item>
    </layout>
   </item>
  </layout>
 </widget>
 <layoutdefault spacing="6" margin="11" />
 <pixmapfunction></pixmapfunction>
 <resources/>
 <connections>
  <connection>
   <sender>buttonClose</sender>
   <signal>clicked()</signal>
   <receiver>ChangeProperties</receiver>
   <slot>accept()</slot>
   <hints>
    <hint type="sourcelabel" >
     <x>669</x>
     <y>558</y>
    </hint>
    <hint type="destinationlabel" >
     <x>566</x>
     <y>551</y>
    </hint>
   </hints>
  </connection>
 </connections>
</ui>
