<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>InvokeMethod</class>
 <widget class="QDialog" name="InvokeMethod" >
  <property name="geometry" >
   <rect>
    <x>0</x>
    <y>0</y>
    <width>503</width>
    <height>416</height>
   </rect>
  </property>
  <property name="windowTitle" >
   <string>Invoke Methods</string>
  </property>
  <layout class="QGridLayout" >
   <property name="margin" >
    <number>11</number>
   </property>
   <property name="spacing" >
    <number>6</number>
   </property>
   <item row="1" column="0" colspan="2" >
    <widget class="QGroupBox" name="boxParameters" >
     <property name="title" >
      <string>&amp;Parameter List</string>
     </property>
     <layout class="QGridLayout" >
      <property name="margin" >
       <number>11</number>
      </property>
      <property name="spacing" >
       <number>6</number>
      </property>
      <item row="0" column="0" colspan="3" >
       <widget class="QTreeWidget" name="listParameters" >
        <property name="rootIsDecorated" >
         <bool>false</bool>
        </property>
        <column>
         <property name="text" >
          <string>Parameter</string>
         </property>
        </column>
        <column>
         <property name="text" >
          <string>Type</string>
         </property>
        </column>
        <column>
         <property name="text" >
          <string>Value</string>
         </property>
        </column>
       </widget>
      </item>
      <item row="1" column="2" >
       <widget class="QToolButton" name="buttonSet" >
        <property name="text" >
         <string>&amp;Set</string>
        </property>
       </widget>
      </item>
      <item row="1" column="1" >
       <widget class="QLineEdit" name="editValue" />
      </item>
      <item row="1" column="0" >
       <widget class="QLabel" name="TextLabel3" >
        <property name="text" >
         <string>Parameter &amp;Value:</string>
        </property>
        <property name="buddy" >
         <cstring>editValue</cstring>
        </property>
       </widget>
      </item>
     </layout>
    </widget>
   </item>
   <item row="0" column="0" colspan="2" >
    <layout class="QGridLayout" >
     <property name="margin" >
      <number>0</number>
     </property>
     <property name="spacing" >
      <number>6</number>
     </property>
     <item row="1" column="1" >
      <widget class="QLineEdit" name="editReturn" >
       <property name="readOnly" >
        <bool>true</bool>
       </property>
      </widget>
     </item>
     <item row="0" column="1" >
      <widget class="QComboBox" name="comboMethods" >
       <property name="sizePolicy" >
        <sizepolicy>
         <hsizetype>7</hsizetype>
         <vsizetype>0</vsizetype>
         <horstretch>0</horstretch>
         <verstretch>0</verstretch>
        </sizepolicy>
       </property>
       <property name="editable" >
        <bool>true</bool>
       </property>
       <property name="insertPolicy" >
        <enum>QComboBox::NoInsert</enum>
       </property>
       <property name="duplicatesEnabled" >
        <bool>false</bool>
       </property>
      </widget>
     </item>
     <item row="0" column="0" >
      <widget class="QLabel" name="labelMethods" >
       <property name="text" >
        <string>&amp;Method Name:</string>
       </property>
       <property name="buddy" >
        <cstring>comboMethods</cstring>
       </property>
      </widget>
     </item>
     <item row="0" column="2" >
      <spacer>
       <property name="orientation" >
        <enum>Qt::Horizontal</enum>
       </property>
       <property name="sizeType" >
        <enum>QSizePolicy::Preferred</enum>
       </property>
       <property name="sizeHint" >
        <size>
         <width>20</width>
         <height>20</height>
        </size>
       </property>
      </spacer>
     </item>
     <item row="1" column="0" >
      <widget class="QLabel" name="TextLabel1" >
       <property name="text" >
        <string>Returned Value:</string>
       </property>
      </widget>
     </item>
     <item row="0" column="3" >
      <widget class="QPushButton" name="buttonInvoke" >
       <property name="text" >
        <string>&amp;Invoke</string>
       </property>
       <property name="default" >
        <bool>true</bool>
       </property>
      </widget>
     </item>
     <item row="1" column="2" colspan="2" >
      <spacer>
       <property name="orientation" >
        <enum>Qt::Horizontal</enum>
       </property>
       <property name="sizeType" >
        <enum>QSizePolicy::Expanding</enum>
       </property>
       <property name="sizeHint" >
        <size>
         <width>111</width>
         <height>21</height>
        </size>
       </property>
      </spacer>
     </item>
    </layout>
   </item>
   <item row="2" column="0" >
    <spacer>
     <property name="orientation" >
      <enum>Qt::Horizontal</enum>
     </property>
     <property name="sizeType" >
      <enum>QSizePolicy::Expanding</enum>
     </property>
     <property name="sizeHint" >
      <size>
       <width>361</width>
       <height>21</height>
      </size>
     </property>
    </spacer>
   </item>
   <item row="2" column="1" >
    <widget class="QPushButton" name="buttonClose" >
     <property name="text" >
      <string>C&amp;lose</string>
     </property>
     <property name="autoDefault" >
      <bool>false</bool>
     </property>
    </widget>
   </item>
  </layout>
 </widget>
 <layoutdefault spacing="6" margin="11" />
 <pixmapfunction></pixmapfunction>
 <resources/>
 <connections>
  <connection>
   <sender>buttonClose</sender>
   <signal>clicked()</signal>
   <receiver>InvokeMethod</receiver>
   <slot>accept()</slot>
   <hints>
    <hint type="sourcelabel" >
     <x>453</x>
     <y>396</y>
    </hint>
    <hint type="destinationlabel" >
     <x>327</x>
     <y>384</y>
    </hint>
   </hints>
  </connection>
 </connections>
</ui>
