<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>PortsWindow</class>
 <widget class="QWidget" name="PortsWindow">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>663</width>
    <height>352</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>Form</string>
  </property>
  <layout class="QGridLayout">
   <item row="0" column="0">
    <widget class="QSplitter" name="splitter">
     <property name="orientation">
      <enum>Qt::Horizontal</enum>
     </property>
     <property name="childrenCollapsible">
      <bool>false</bool>
     </property>
     <widget class="XTreeView" name="tvPortList">
      <property name="sizePolicy">
       <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
        <horstretch>1</horstretch>
        <verstretch>0</verstretch>
       </sizepolicy>
      </property>
      <property name="contextMenuPolicy">
       <enum>Qt::ActionsContextMenu</enum>
      </property>
      <property name="selectionMode">
       <enum>QAbstractItemView::SingleSelection</enum>
      </property>
     </widget>
     <widget class="QStackedWidget" name="swDetail">
      <property name="sizePolicy">
       <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
        <horstretch>2</horstretch>
        <verstretch>0</verstretch>
       </sizepolicy>
      </property>
      <property name="currentIndex">
       <number>2</number>
      </property>
      <widget class="QWidget" name="blankPage">
       <layout class="QVBoxLayout" name="verticalLayout">
        <item>
         <widget class="QLabel" name="label">
          <property name="text">
           <string>&lt;p&gt;&lt;b&gt;Welcome to Ostinato!&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;The port list on the left contains all the ports on which you can transmit packets.&lt;/p&gt;
&lt;p&gt;Ports belong to a port group. Make sure the Port Group has a &lt;img src=&quot;:/icons/bullet_green.png&quot;/&gt; next to it, then double click the port group to show or hide the ports in the port group.&lt;/p&gt;
&lt;p&gt;To generate packets, you need to create and configure packet streams. A stream is a sequence of one or more packets.&lt;/p&gt;
&lt;p&gt;To create a stream, select the port on which you want to send packets.&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;Don't see the port that you want (or any ports at all) inside the port group? &lt;a href=&quot;https://jump.ostinato.org/noports&quot;&gt;Get Help!&lt;/a&gt;&lt;/p&gt;</string>
          </property>
          <property name="alignment">
           <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
          </property>
          <property name="wordWrap">
           <bool>true</bool>
          </property>
          <property name="openExternalLinks">
           <bool>true</bool>
          </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>
      </widget>
      <widget class="QWidget" name="portGroupDetail">
       <layout class="QVBoxLayout" name="verticalLayout_2">
        <item>
         <widget class="QLabel" name="label_5">
          <property name="text">
           <string>&lt;p&gt;You have selected a port group in the port list on the left.&lt;/p&gt;
&lt;p&gt;You can transmit packets on any of the ports within the port group.&lt;/p&gt;
&lt;p&gt;Make sure the port group has a &lt;img src=&quot;:/icons/bullet_green.png&quot;/&gt; next to it and then double click the port group to show or hide the ports in the port group.&lt;/p&gt;
&lt;p&gt;To generate packets, you need to create and configure packet streams. A stream is a sequence of one or more packets.&lt;/p&gt;
&lt;p&gt;To create a stream, select the port on which you want to send packets. &lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;Don't see the port that you want (or any ports at all) inside the port group? &lt;a href=&quot;https://jump.ostinato.org/noports&quot;&gt;Get Help!&lt;/a&gt;&lt;/p&gt;</string>
          </property>
          <property name="alignment">
           <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
          </property>
          <property name="wordWrap">
           <bool>true</bool>
          </property>
          <property name="openExternalLinks">
           <bool>true</bool>
          </property>
         </widget>
        </item>
        <item>
         <spacer name="verticalSpacer_2">
          <property name="orientation">
           <enum>Qt::Vertical</enum>
          </property>
          <property name="sizeHint" stdset="0">
           <size>
            <width>20</width>
            <height>177</height>
           </size>
          </property>
         </spacer>
        </item>
       </layout>
      </widget>
      <widget class="QWidget" name="portDetail">
       <layout class="QVBoxLayout">
        <property name="margin">
         <number>0</number>
        </property>
        <item>
         <widget class="QFrame" name="frame">
          <property name="frameShape">
           <enum>QFrame::Panel</enum>
          </property>
          <property name="frameShadow">
           <enum>QFrame::Raised</enum>
          </property>
          <layout class="QHBoxLayout">
           <property name="margin">
            <number>3</number>
           </property>
           <item>
            <spacer>
             <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>
            <widget class="QLabel" name="applyHint">
             <property name="text">
              <string>Apply Hint</string>
             </property>
            </widget>
           </item>
           <item>
            <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>
            <widget class="QPushButton" name="pbApply">
             <property name="text">
              <string>Apply</string>
             </property>
            </widget>
           </item>
          </layout>
         </widget>
        </item>
        <item>
         <widget class="QTabWidget" name="portConfig">
          <property name="currentIndex">
           <number>0</number>
          </property>
          <widget class="QWidget" name="streamsTab">
           <attribute name="title">
            <string>Streams</string>
           </attribute>
           <layout class="QVBoxLayout">
            <item>
             <layout class="QHBoxLayout">
              <item>
               <widget class="QToolButton" name="startTx">
                <property name="toolTip">
                 <string>Start Transmit</string>
                </property>
                <property name="statusTip">
                 <string>Start transmit on selected port</string>
                </property>
                <property name="text">
                 <string/>
                </property>
                <property name="icon">
                 <iconset resource="ostinato.qrc">
                  <normaloff>:/icons/control_play.png</normaloff>:/icons/control_play.png</iconset>
                </property>
               </widget>
              </item>
              <item>
               <widget class="QToolButton" name="stopTx">
                <property name="toolTip">
                 <string>Stop Transmit</string>
                </property>
                <property name="statusTip">
                 <string>Stop transmit on selected port</string>
                </property>
                <property name="text">
                 <string/>
                </property>
                <property name="icon">
                 <iconset resource="ostinato.qrc">
                  <normaloff>:/icons/control_stop.png</normaloff>:/icons/control_stop.png</iconset>
                </property>
               </widget>
              </item>
              <item>
               <spacer>
                <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>
               <widget class="QRadioButton" name="radioButton">
                <property name="text">
                 <string>Avg pps</string>
                </property>
                <property name="checked">
                 <bool>true</bool>
                </property>
               </widget>
              </item>
              <item>
               <widget class="QLineEdit" name="averagePacketsPerSec"/>
              </item>
              <item>
               <widget class="QRadioButton" name="radioButton_2">
                <property name="text">
                 <string>Avg bps</string>
                </property>
               </widget>
              </item>
              <item>
               <widget class="QLineEdit" name="averageBitsPerSec">
                <property name="enabled">
                 <bool>false</bool>
                </property>
               </widget>
              </item>
             </layout>
            </item>
            <item>
             <widget class="XTableView" name="tvStreamList">
              <property name="sizePolicy">
               <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
                <horstretch>0</horstretch>
                <verstretch>1</verstretch>
               </sizepolicy>
              </property>
              <property name="contextMenuPolicy">
               <enum>Qt::ActionsContextMenu</enum>
              </property>
              <property name="whatsThis">
               <string>This is the stream list for the selected port

A stream is a sequence of one or more packets

Right-click to create a stream</string>
              </property>
              <property name="frameShape">
               <enum>QFrame::StyledPanel</enum>
              </property>
              <property name="lineWidth">
               <number>1</number>
              </property>
              <property name="selectionMode">
               <enum>QAbstractItemView::ExtendedSelection</enum>
              </property>
              <property name="selectionBehavior">
               <enum>QAbstractItemView::SelectRows</enum>
              </property>
             </widget>
            </item>
           </layout>
          </widget>
          <widget class="QWidget" name="devicesTab">
           <attribute name="title">
            <string>Devices</string>
           </attribute>
           <layout class="QVBoxLayout">
            <item>
             <widget class="DevicesWidget" name="devicesWidget" native="true"/>
            </item>
           </layout>
          </widget>
         </widget>
        </item>
       </layout>
      </widget>
     </widget>
    </widget>
   </item>
  </layout>
  <action name="actionNew_Port_Group">
   <property name="icon">
    <iconset resource="ostinato.qrc">
     <normaloff>:/icons/portgroup_add.png</normaloff>:/icons/portgroup_add.png</iconset>
   </property>
   <property name="text">
    <string>New Port Group</string>
   </property>
  </action>
  <action name="actionDelete_Port_Group">
   <property name="icon">
    <iconset resource="ostinato.qrc">
     <normaloff>:/icons/portgroup_delete.png</normaloff>:/icons/portgroup_delete.png</iconset>
   </property>
   <property name="text">
    <string>Delete Port Group</string>
   </property>
  </action>
  <action name="actionConnect_Port_Group">
   <property name="icon">
    <iconset resource="ostinato.qrc">
     <normaloff>:/icons/portgroup_connect.png</normaloff>:/icons/portgroup_connect.png</iconset>
   </property>
   <property name="text">
    <string>Connect Port Group</string>
   </property>
  </action>
  <action name="actionDisconnect_Port_Group">
   <property name="icon">
    <iconset resource="ostinato.qrc">
     <normaloff>:/icons/portgroup_disconnect.png</normaloff>:/icons/portgroup_disconnect.png</iconset>
   </property>
   <property name="text">
    <string>Disconnect Port Group</string>
   </property>
  </action>
  <action name="actionNew_Stream">
   <property name="icon">
    <iconset resource="ostinato.qrc">
     <normaloff>:/icons/stream_add.png</normaloff>:/icons/stream_add.png</iconset>
   </property>
   <property name="text">
    <string>New Stream</string>
   </property>
  </action>
  <action name="actionDelete_Stream">
   <property name="icon">
    <iconset resource="ostinato.qrc">
     <normaloff>:/icons/stream_delete.png</normaloff>:/icons/stream_delete.png</iconset>
   </property>
   <property name="text">
    <string>Delete Stream</string>
   </property>
  </action>
  <action name="actionEdit_Stream">
   <property name="icon">
    <iconset resource="ostinato.qrc">
     <normaloff>:/icons/stream_edit.png</normaloff>:/icons/stream_edit.png</iconset>
   </property>
   <property name="text">
    <string>Edit Stream</string>
   </property>
  </action>
  <action name="actionExclusive_Control">
   <property name="checkable">
    <bool>true</bool>
   </property>
   <property name="text">
    <string>Exclusive Port Control (EXPERIMENTAL)</string>
   </property>
  </action>
  <action name="actionOpen_Streams">
   <property name="text">
    <string>Open Streams ...</string>
   </property>
  </action>
  <action name="actionSave_Streams">
   <property name="text">
    <string>Save Streams ...</string>
   </property>
  </action>
  <action name="actionPort_Configuration">
   <property name="text">
    <string>Port Configuration ...</string>
   </property>
  </action>
  <action name="actionDuplicate_Stream">
   <property name="icon">
    <iconset resource="ostinato.qrc">
     <normaloff>:/icons/stream_duplicate.png</normaloff>:/icons/stream_duplicate.png</iconset>
   </property>
   <property name="text">
    <string>Duplicate Stream</string>
   </property>
  </action>
 </widget>
 <customwidgets>
  <customwidget>
   <class>DevicesWidget</class>
   <extends>QWidget</extends>
   <header>deviceswidget.h</header>
   <container>1</container>
  </customwidget>
  <customwidget>
   <class>XTreeView</class>
   <extends>QTreeView</extends>
   <header>xtreeview.h</header>
  </customwidget>
  <customwidget>
   <class>XTableView</class>
   <extends>QTableView</extends>
   <header>xtableview.h</header>
  </customwidget>
 </customwidgets>
 <resources>
  <include location="ostinato.qrc"/>
 </resources>
 <connections>
  <connection>
   <sender>radioButton</sender>
   <signal>toggled(bool)</signal>
   <receiver>averagePacketsPerSec</receiver>
   <slot>setEnabled(bool)</slot>
   <hints>
    <hint type="sourcelabel">
     <x>326</x>
     <y>80</y>
    </hint>
    <hint type="destinationlabel">
     <x>454</x>
     <y>79</y>
    </hint>
   </hints>
  </connection>
  <connection>
   <sender>radioButton_2</sender>
   <signal>toggled(bool)</signal>
   <receiver>averageBitsPerSec</receiver>
   <slot>setEnabled(bool)</slot>
   <hints>
    <hint type="sourcelabel">
     <x>523</x>
     <y>80</y>
    </hint>
    <hint type="destinationlabel">
     <x>651</x>
     <y>88</y>
    </hint>
   </hints>
  </connection>
 </connections>
</ui>