<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
-->
<ui version="4.0">
 <class>PropDialog</class>
 <widget class="QDialog" name="PropDialog">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>630</width>
    <height>637</height>
   </rect>
  </property>
  <property name="sizePolicy">
   <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
    <horstretch>0</horstretch>
    <verstretch>0</verstretch>
   </sizepolicy>
  </property>
  <property name="font">
   <font>
    <pointsize>11</pointsize>
   </font>
  </property>
  <property name="windowTitle">
   <string>Property Browser</string>
  </property>
  <property name="windowIcon">
   <iconset resource="Resource.qrc">
    <normaloff>:/file/R_DUMMY</normaloff>:/file/R_DUMMY</iconset>
  </property>
  <layout class="QVBoxLayout" name="verticalLayout_3">
   <item>
    <layout class="QVBoxLayout" name="verticalLayout" stretch="0,2,1">
     <property name="sizeConstraint">
      <enum>QLayout::SetMinimumSize</enum>
     </property>
     <item>
      <widget class="QLabel" name="m_label">
       <property name="text">
        <string>TextLabel</string>
       </property>
      </widget>
     </item>
     <item>
      <widget class="QListWidget" name="m_listWidget">
       <property name="sizePolicy">
        <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
         <horstretch>0</horstretch>
         <verstretch>0</verstretch>
        </sizepolicy>
       </property>
       <property name="font">
        <font>
         <family>Helvetica</family>
         <pointsize>11</pointsize>
         <weight>50</weight>
         <bold>false</bold>
        </font>
       </property>
       <property name="autoScroll">
        <bool>false</bool>
       </property>
       <property name="autoScrollMargin">
        <number>1</number>
       </property>
       <property name="editTriggers">
        <set>QAbstractItemView::DoubleClicked</set>
       </property>
       <property name="showDropIndicator" stdset="0">
        <bool>false</bool>
       </property>
       <property name="alternatingRowColors">
        <bool>false</bool>
       </property>
       <property name="iconSize">
        <size>
         <width>32</width>
         <height>32</height>
        </size>
       </property>
       <property name="movement">
        <enum>QListView::Free</enum>
       </property>
       <property name="resizeMode">
        <enum>QListView::Adjust</enum>
       </property>
       <property name="viewMode">
        <enum>QListView::ListMode</enum>
       </property>
       <property name="modelColumn">
        <number>0</number>
       </property>
       <property name="batchSize">
        <number>100</number>
       </property>
       <property name="wordWrap">
        <bool>true</bool>
       </property>
       <property name="selectionRectVisible">
        <bool>true</bool>
       </property>
      </widget>
     </item>
     <item>
      <layout class="QHBoxLayout" name="horizontalLayout_2" stretch="0,1">
       <property name="spacing">
        <number>6</number>
       </property>
       <property name="sizeConstraint">
        <enum>QLayout::SetMinAndMaxSize</enum>
       </property>
       <item>
        <widget class="QGroupBox" name="m_GrpBox">
         <property name="sizePolicy">
          <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
           <horstretch>0</horstretch>
           <verstretch>0</verstretch>
          </sizepolicy>
         </property>
         <property name="minimumSize">
          <size>
           <width>520</width>
           <height>180</height>
          </size>
         </property>
         <property name="font">
          <font>
           <weight>50</weight>
           <bold>false</bold>
          </font>
         </property>
         <property name="title">
          <string>Property Display List</string>
         </property>
         <layout class="QVBoxLayout" name="verticalLayout_4">
          <item>
           <layout class="QGridLayout" name="gridLayout">
            <property name="sizeConstraint">
             <enum>QLayout::SetDefaultConstraint</enum>
            </property>
            <item row="0" column="0">
             <widget class="QCheckBox" name="m_CharInputs">
              <property name="sizePolicy">
               <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
                <horstretch>0</horstretch>
                <verstretch>0</verstretch>
               </sizepolicy>
              </property>
              <property name="text">
               <string>Char. Inputs</string>
              </property>
             </widget>
            </item>
            <item row="0" column="1">
             <widget class="QCheckBox" name="m_Constraints">
              <property name="sizePolicy">
               <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
                <horstretch>0</horstretch>
                <verstretch>0</verstretch>
               </sizepolicy>
              </property>
              <property name="text">
               <string>Constraints</string>
              </property>
             </widget>
            </item>
            <item row="0" column="2">
             <widget class="QCheckBox" name="m_Context">
              <property name="sizePolicy">
               <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
                <horstretch>0</horstretch>
                <verstretch>0</verstretch>
               </sizepolicy>
              </property>
              <property name="text">
               <string>Context</string>
              </property>
             </widget>
            </item>
            <item row="0" column="3">
             <widget class="QCheckBox" name="m_Cost">
              <property name="sizePolicy">
               <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
                <horstretch>0</horstretch>
                <verstretch>0</verstretch>
               </sizepolicy>
              </property>
              <property name="text">
               <string>Cost</string>
              </property>
             </widget>
            </item>
            <item row="1" column="0">
             <widget class="QCheckBox" name="m_CharOutputs">
              <property name="sizePolicy">
               <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
                <horstretch>0</horstretch>
                <verstretch>0</verstretch>
               </sizepolicy>
              </property>
              <property name="text">
               <string>Char Outputs</string>
              </property>
             </widget>
            </item>
            <item row="2" column="0">
             <widget class="QCheckBox" name="m_EssOutputs">
              <property name="sizePolicy">
               <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
                <horstretch>0</horstretch>
                <verstretch>0</verstretch>
               </sizepolicy>
              </property>
              <property name="text">
               <string>Ess Outputs</string>
              </property>
             </widget>
            </item>
            <item row="3" column="0">
             <widget class="QCheckBox" name="m_GroupAnalysis">
              <property name="sizePolicy">
               <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
                <horstretch>0</horstretch>
                <verstretch>0</verstretch>
               </sizepolicy>
              </property>
              <property name="text">
               <string>Group Analysis</string>
              </property>
             </widget>
            </item>
            <item row="2" column="1">
             <widget class="QCheckBox" name="m_TableAnalysis">
              <property name="sizePolicy">
               <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
                <horstretch>0</horstretch>
                <verstretch>0</verstretch>
               </sizepolicy>
              </property>
              <property name="text">
               <string>Table Analysis</string>
              </property>
             </widget>
            </item>
            <item row="2" column="2">
             <widget class="QCheckBox" name="m_WizDirect">
              <property name="sizePolicy">
               <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
                <horstretch>0</horstretch>
                <verstretch>0</verstretch>
               </sizepolicy>
              </property>
              <property name="text">
               <string>Wiz. Direct.</string>
              </property>
             </widget>
            </item>
            <item row="2" column="3">
             <widget class="QCheckBox" name="m_JBBC">
              <property name="sizePolicy">
               <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
                <horstretch>0</horstretch>
                <verstretch>0</verstretch>
               </sizepolicy>
              </property>
              <property name="text">
               <string>JBBC</string>
              </property>
             </widget>
            </item>
            <item row="3" column="1">
             <widget class="QCheckBox" name="m_QueryGraph">
              <property name="sizePolicy">
               <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
                <horstretch>0</horstretch>
                <verstretch>0</verstretch>
               </sizepolicy>
              </property>
              <property name="text">
               <string>Query Graph</string>
              </property>
             </widget>
            </item>
            <item row="3" column="2">
             <widget class="QCheckBox" name="m_CascadesTrcInfo">
              <property name="sizePolicy">
               <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
                <horstretch>0</horstretch>
                <verstretch>0</verstretch>
               </sizepolicy>
              </property>
              <property name="text">
               <string>CascadesTrcInfo</string>
              </property>
             </widget>
            </item>
            <item row="1" column="1">
             <widget class="QCheckBox" name="m_LogicalProp">
              <property name="sizePolicy">
               <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
                <horstretch>0</horstretch>
                <verstretch>0</verstretch>
               </sizepolicy>
              </property>
              <property name="text">
               <string>Logical Prop</string>
              </property>
             </widget>
            </item>
            <item row="1" column="2">
             <widget class="QCheckBox" name="m_PhysicalProp">
              <property name="sizePolicy">
               <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
                <horstretch>0</horstretch>
                <verstretch>0</verstretch>
               </sizepolicy>
              </property>
              <property name="text">
               <string>Physical Prop</string>
              </property>
             </widget>
            </item>
            <item row="1" column="3">
             <widget class="QCheckBox" name="m_ASM">
              <property name="sizePolicy">
               <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
                <horstretch>0</horstretch>
                <verstretch>0</verstretch>
               </sizepolicy>
              </property>
              <property name="text">
               <string>ASM</string>
              </property>
             </widget>
            </item>
           </layout>
          </item>
         </layout>
        </widget>
       </item>
       <item>
        <layout class="QVBoxLayout" name="verticalLayout_2">
         <property name="topMargin">
          <number>10</number>
         </property>
         <item>
          <widget class="QPushButton" name="m_OK">
           <property name="minimumSize">
            <size>
             <width>80</width>
             <height>30</height>
            </size>
           </property>
           <property name="maximumSize">
            <size>
             <width>100</width>
             <height>30</height>
            </size>
           </property>
           <property name="text">
            <string>OK</string>
           </property>
          </widget>
         </item>
         <item>
          <widget class="QPushButton" name="m_ClrAll">
           <property name="sizePolicy">
            <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
             <horstretch>0</horstretch>
             <verstretch>0</verstretch>
            </sizepolicy>
           </property>
           <property name="minimumSize">
            <size>
             <width>80</width>
             <height>30</height>
            </size>
           </property>
           <property name="maximumSize">
            <size>
             <width>100</width>
             <height>30</height>
            </size>
           </property>
           <property name="text">
            <string>Clear All</string>
           </property>
          </widget>
         </item>
         <item>
          <widget class="QPushButton" name="m_ShowAll">
           <property name="minimumSize">
            <size>
             <width>80</width>
             <height>30</height>
            </size>
           </property>
           <property name="maximumSize">
            <size>
             <width>100</width>
             <height>30</height>
            </size>
           </property>
           <property name="text">
            <string>Show All</string>
           </property>
          </widget>
         </item>
         <item>
          <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>
        </layout>
       </item>
      </layout>
     </item>
    </layout>
   </item>
  </layout>
 </widget>
 <resources>
  <include location="Resource.qrc"/>
 </resources>
 <connections/>
</ui>
