<?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.

-->

<Form version="1.4" maxVersion="1.4" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
  <AuxValues>
    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="true"/>
    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
  </AuxValues>

  <Layout>
    <DimensionLayout dim="0">
      <Group type="103" groupAlignment="0" attributes="0">
          <Group type="102" alignment="0" attributes="0">
              <EmptySpace min="-2" max="-2" attributes="0"/>
              <Group type="103" groupAlignment="0" attributes="0">
                  <Group type="102" alignment="1" attributes="0">
                      <Component id="topButton" min="-2" max="-2" attributes="0"/>
                      <EmptySpace type="separate" max="-2" attributes="0"/>
                      <Component id="detailView" min="-2" max="-2" attributes="0"/>
                      <EmptySpace pref="443" max="32767" attributes="0"/>
                      <Component id="lSearch" min="-2" max="-2" attributes="0"/>
                      <EmptySpace min="-2" pref="4" max="-2" attributes="0"/>
                      <Component id="tfSearch" min="-2" pref="114" max="-2" attributes="0"/>
                  </Group>
                  <Component id="spTab" alignment="0" pref="776" max="32767" attributes="0"/>
                  <Group type="102" alignment="0" attributes="0">
                      <Component id="bTabAction" min="-2" max="-2" attributes="0"/>
                      <EmptySpace max="-2" attributes="0"/>
                      <Component id="bDeactivate" min="-2" max="-2" attributes="0"/>
                      <EmptySpace max="-2" attributes="0"/>
                      <Component id="bUninstall" min="-2" max="-2" attributes="0"/>
                      <EmptySpace min="-2" pref="8" max="-2" attributes="0"/>
                      <Component id="lSelectionInfo" min="-2" max="-2" attributes="2"/>
                      <EmptySpace type="unrelated" min="-2" max="-2" attributes="0"/>
                      <Component id="lWarning" pref="542" max="32767" attributes="0"/>
                      <EmptySpace min="-2" pref="99" max="-2" attributes="0"/>
                  </Group>
              </Group>
              <EmptySpace min="-2" max="-2" attributes="0"/>
          </Group>
      </Group>
    </DimensionLayout>
    <DimensionLayout dim="1">
      <Group type="103" groupAlignment="0" attributes="0">
          <Group type="102" alignment="1" attributes="0">
              <EmptySpace min="-2" max="-2" attributes="0"/>
              <Group type="103" groupAlignment="2" attributes="0">
                  <Component id="tfSearch" alignment="2" min="-2" max="-2" attributes="0"/>
                  <Component id="lSearch" alignment="2" min="-2" max="-2" attributes="0"/>
                  <Component id="topButton" alignment="2" min="-2" max="-2" attributes="0"/>
                  <Component id="detailView" alignment="2" min="-2" max="-2" attributes="0"/>
              </Group>
              <EmptySpace min="-2" max="-2" attributes="0"/>
              <Component id="spTab" pref="73" max="32767" attributes="0"/>
              <EmptySpace min="-2" max="-2" attributes="0"/>
              <Group type="103" groupAlignment="2" max="-2" attributes="0">
                  <Component id="bTabAction" alignment="2" min="-2" max="-2" attributes="1"/>
                  <Component id="lSelectionInfo" linkSize="2" alignment="2" max="32767" attributes="1"/>
                  <Component id="lWarning" linkSize="2" alignment="2" min="-2" max="-2" attributes="0"/>
                  <Component id="bDeactivate" alignment="2" min="-2" max="-2" attributes="1"/>
                  <Component id="bUninstall" alignment="2" min="-2" max="-2" attributes="1"/>
              </Group>
              <EmptySpace min="-2" max="-2" attributes="0"/>
          </Group>
      </Group>
    </DimensionLayout>
  </Layout>
  <SubComponents>
    <Component class="javax.swing.JLabel" name="lSelectionInfo">
    </Component>
    <Component class="javax.swing.JButton" name="bTabAction">
    </Component>
    <Component class="javax.swing.JLabel" name="lSearch">
      <Properties>
        <Property name="labelFor" type="java.awt.Component" editor="org.netbeans.modules.form.ComponentChooserEditor">
          <ComponentRef name="tfSearch"/>
        </Property>
        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
          <ResourceString bundle="org/netbeans/modules/autoupdate/ui/Bundle.properties" key="lSearch1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
        </Property>
      </Properties>
      <AccessibilityProperties>
        <Property name="AccessibleContext.accessibleDescription" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
          <ResourceString bundle="org/netbeans/modules/autoupdate/ui/Bundle.properties" key="ACD_Search" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
        </Property>
      </AccessibilityProperties>
      <AuxValues>
        <AuxValue name="generateMnemonicsCode" type="java.lang.Boolean" value="true"/>
      </AuxValues>
    </Component>
    <Component class="javax.swing.JTextField" name="tfSearch">
    </Component>
    <Container class="javax.swing.JSplitPane" name="spTab">
      <Properties>
        <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
          <Border info="null"/>
        </Property>
        <Property name="dividerLocation" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
          <Connection code="Integer.parseInt(NbBundle.getMessage (UnitTab.class, &quot;UnitTab_Splitter_DefaultDividerLocation&quot;))" type="code"/>
        </Property>
        <Property name="resizeWeight" type="double" value="0.5"/>
        <Property name="oneTouchExpandable" type="boolean" value="true"/>
      </Properties>

      <Layout class="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout"/>
    </Container>
    <Component class="javax.swing.JButton" name="topButton">
      <Properties>
        <Property name="text" type="java.lang.String" value="jButton1"/>
      </Properties>
      <AccessibilityProperties>
        <Property name="AccessibleContext.accessibleName" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
          <ResourceString bundle="org/netbeans/modules/autoupdate/ui/Bundle.properties" key="ACN_Reload" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
        </Property>
        <Property name="AccessibleContext.accessibleDescription" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
          <ResourceString bundle="org/netbeans/modules/autoupdate/ui/Bundle.properties" key="ACD_Reload" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
        </Property>
      </AccessibilityProperties>
    </Component>
    <Component class="javax.swing.JLabel" name="lWarning">
      <AuxValues>
        <AuxValue name="generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
      </AuxValues>
    </Component>
    <Component class="javax.swing.JCheckBox" name="detailView">
      <Properties>
        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
          <ResourceString bundle="org/netbeans/modules/autoupdate/ui/Bundle.properties" key="UnitTab.detailView.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
        </Property>
      </Properties>
      <Events>
        <EventHandler event="itemStateChanged" listener="java.awt.event.ItemListener" parameters="java.awt.event.ItemEvent" handler="detailViewItemStateChanged"/>
      </Events>
      <AuxValues>
        <AuxValue name="JavaCodeGenerator_InitCodePre" type="java.lang.String" value="detailViewInit();"/>
        <AuxValue name="JavaCodeGenerator_SerializeTo" type="java.lang.String" value="UnitTab_detailView"/>
      </AuxValues>
    </Component>
    <Component class="javax.swing.JButton" name="bDeactivate">
    </Component>
    <Component class="javax.swing.JButton" name="bUninstall">
    </Component>
  </SubComponents>
</Form>
