[Tutor] Glade

dman dsh8290@rit.edu
Sat, 16 Feb 2002 14:35:18 -0500


--rwEMma7ioTxnRzrJ
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Wed, Feb 06, 2002 at 09:20:15PM -0500, djuro m. wrote:
| 
| Hello everyone!
| 
| Could someone please "explain" to me how to make a simple gui working with
| python code by using Glade. ( I only need to see a code or how is python code
| tied with gui code file)

Attached is an example (it actually does something, though opinions on
the usefulness may vary ;-)).  It requires the 'libglade' library at
runtime.

(put both files in the same directory and run the script from that
directory)

-D

-- 

He who walks with the wise grows wise,
but a companion of fools suffers harm.
        Proverbs 13:20


--rwEMma7ioTxnRzrJ
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="CostModel.py"

#
# $Header: /home/dman/School/Metrics/exercise3b/RCS/CostModel.py,v 1.7 2001/10/27 18:01:02 dman Exp $
#
# Software Process and Product Metrics
#
# Exercise 3b
#
# Authors :
#      Corey Andalora <cja2729@rit.edu>
#      Derrick Hudson <dsh8290@rit.edu>
#
# History :
#      $Log: CostModel.py,v $
#      Revision 1.7  2001/10/27 18:01:02  dman
#      ditto
#
#      Revision 1.6  2001/10/27 17:52:45  dman
#      cosmetic fixes
#
#      Revision 1.5  2001/10/27 17:34:15  dman
#      changed EMs to have option menus with known values
#
#      Revision 1.4  2001/10/27 16:19:36  dman
#      added effort multiplier handling
#      finished?
#
#      Revision 1.3  2001/10/26 21:59:47  dman
#      removed print statement
#
#      Revision 1.2  2001/10/26 05:16:11  dman
#      many improvements.
#      added error dialog
#
#      Revision 1.1  2001/10/25 23:16:05  dman
#      Initial revision
#
#

import sys
import math

import gtk
import libglade




# constants

true  = 1
false = 0

# VLOW  = "Very Low"
# LOW   = "Low"
# NOM   = "Nominal"
# HIGH  = "High"
# VHIGH = "Very High"
# EHIGH = "Extra High"

VLOW  = "VL"
LOW   = "L"
NOM   = "N"
HIGH  = "H"
VHIGH = "VH"
EHIGH = "XH"



# values for the various factors the user will input
table = {

        #
        # Scale Factors
        #

        "PREC" :
            {
                VLOW  : 6.22 ,
                LOW   : 4.96 ,
                NOM   : 3.72 ,
                HIGH  : 2.48 , 
                VHIGH : 1.24 , 
                EHIGH : 0.00 , 
            } ,
        "FLEX" :
            {
                VLOW  : 5.07 ,
                LOW   : 4.05 ,
                NOM   : 3.04 ,
                HIGH  : 2.03 , 
                VHIGH : 1.01 , 
                EHIGH : 0.00 , 
            } ,
        "RESL" :
            {
                VLOW  : 7.07 ,
                LOW   : 5.65 ,
                NOM   : 4.24 ,
                HIGH  : 2.83 , 
                VHIGH : 1.41 , 
                EHIGH : 0.00 , 
            } ,
        "TEAM" :
            {
                VLOW  : 5.48 ,
                LOW   : 4.38 ,
                NOM   : 3.29 ,
                HIGH  : 2.19 , 
                VHIGH : 1.10 , 
                EHIGH : 0.00 , 
            } ,
        "PMAT" :
            {
                VLOW  : 7.08 ,
                LOW   : 6.24 ,
                NOM   : 4.68 ,
                HIGH  : 3.12 , 
                VHIGH : 1.56 , 
                EHIGH : 0.00 , 
            } ,


        #
        # Effort Multipliers
        #
        
        "RELY" :
            {
                VLOW  : 0.82 ,
                LOW   : 0.92 ,
                NOM   : 1.00 ,
                HIGH  : 1.10 , 
                VHIGH : 1.26 , 
                EHIGH : None , 
            } ,

        "DATA" :
            {
                VLOW  : None ,
                LOW   : 0.90 ,
                NOM   : 1.00 ,
                HIGH  : 1.14 , 
                VHIGH : 1.28 , 
                EHIGH : None , 
            } ,

        "CPLX" :
            {
                VLOW  : 0.73 ,
                LOW   : 0.87 ,
                NOM   : 1.00 ,
                HIGH  : 1.17 , 
                VHIGH : 1.34 , 
                EHIGH : 1.74 , 
            } ,

        "RUSE" :
            {
                VLOW  : None ,
                LOW   : 0.95 ,
                NOM   : 1.00 ,
                HIGH  : 1.07 , 
                VHIGH : 1.15 , 
                EHIGH : 1.24 , 
            } ,

        "DOCU" :
            {
                VLOW  : 0.81 ,
                LOW   : 0.91 ,
                NOM   : 1.00 ,
                HIGH  : 1.11 , 
                VHIGH : 1.23 , 
                EHIGH : None , 
            } ,

        "TIME" :
            {
                VLOW  : None ,
                LOW   : None ,
                NOM   : 1.00 ,
                HIGH  : 1.11 , 
                VHIGH : 1.29 , 
                EHIGH : 1.63 , 
            } ,

        "STOR" :
            {
                VLOW  : None ,
                LOW   : None ,
                NOM   : 1.00 ,
                HIGH  : 1.05 , 
                VHIGH : 1.17 , 
                EHIGH : 1.46 , 
            } ,

        "PVOL" :
            {
                VLOW  : None ,
                LOW   : 0.87 ,
                NOM   : 1.00 ,
                HIGH  : 1.15 , 
                VHIGH : 1.30 , 
                EHIGH : None , 
            } ,

        "ACAP" :
            {
                VLOW  : 1.42 ,
                LOW   : 1.19 ,
                NOM   : 1.00 ,
                HIGH  : 0.95 , 
                VHIGH : 0.71 , 
                EHIGH : None , 
            } ,

        "PCAP" :
            {
                VLOW  : 1.34 ,
                LOW   : 1.15 ,
                NOM   : 1.00 ,
                HIGH  : 0.88 , 
                VHIGH : 0.76 , 
                EHIGH : None , 
            } ,

        "AEXP" :
            {
                VLOW  : 1.22 ,
                LOW   : 1.10 ,
                NOM   : 1.00 ,
                HIGH  : 0.88 , 
                VHIGH : 0.81 , 
                EHIGH : None , 
            } ,

        "PEXP" :
            {
                VLOW  : 1.19 ,
                LOW   : 1.09 ,
                NOM   : 1.00 ,
                HIGH  : 0.91 , 
                VHIGH : 0.85 , 
                EHIGH : None , 
            } ,

        "LTEX" :
            {
                VLOW  : 1.20 ,
                LOW   : 1.09 ,
                NOM   : 1.00 ,
                HIGH  : 0.91 , 
                VHIGH : 0.84 , 
                EHIGH : None , 
            } ,

        "PCON" :
            {
                VLOW  : 1.29 ,
                LOW   : 1.12 ,
                NOM   : 1.00 ,
                HIGH  : 0.90 , 
                VHIGH : 0.81 , 
                EHIGH : None , 
            } ,

        "TOOL" :
            {
                VLOW  : 1.17 ,
                LOW   : 1.09 ,
                NOM   : 1.00 ,
                HIGH  : 0.90 , 
                VHIGH : 0.78 , 
                EHIGH : None , 
            } ,

        "SITE" :
            {
                VLOW  : 1.22 ,
                LOW   : 1.09 ,
                NOM   : 1.00 ,
                HIGH  : 0.93 , 
                VHIGH : 0.86 , 
                EHIGH : 0.80 , 
            } ,

        "SCED" :
            {
                VLOW  : 1.43 ,
                LOW   : 1.14 ,
                NOM   : 1.00 ,
                HIGH  : 1.00 , 
                VHIGH : 1.00 , 
                EHIGH : None , 
            } ,

    } # end of table


# Scale Factor names
sf_names = ( "PREC" , "FLEX" , "RESL" , "TEAM" , "PMAT" )

# Effort Multiplier names
em_names = (
    # Product
    "RELY" , "DATA" , "CPLX" , "RUSE" , "DOCU" ,
    # Platform
    "TIME" , "STOR" , "PVOL" ,
    # Personnel
    "ACAP" , "PCAP" , "AEXP" , "PEXP" , "LTEX" , "PCON" ,
    # Project
    "TOOL" , "SITE" , "SCED"
    )


# global data

glade_filename = "costmodel.glade" 



# event handlers

def on_exit( widget ) :
    """
    Handle exiting the application nicely
    """

    # stop the event loop, then exit
    gtk.mainquit()
    sys.exit( 0 )

    # end on_exit()


def on_compute_button_released( widget , *args ) :
    """
    Compute the effort and cost.
    """

    # get the input from the user
    try :
        A = widget_tree.get_widget( "a_input" ).get_value()
        size = widget_tree.get_widget( "size_input" ).get_value()

        # Scale Factors
        sf_inputs = []
        for sf in sf_names :
            sf_inputs.append( get_input( sf ) )

        B = 1.01 + 0.01 * sum( sf_inputs )

        # Effort Multipliers
        em_inputs = []
        for em in em_names :
            em_inputs.append( get_input( em ) )

        F = prod( em_inputs )

        cost_unit = widget_tree.get_widget( "cost_input" ).get_value()

    except ( TypeError , AttributeError ) :
        # silly user, didn't input data yet
        def close_dialog( button , *args ) :
            dialog = button.get_toplevel()
            dialog.destroy()
        new_tree = libglade.GladeXML( glade_filename , "MessageDialog" )
        new_tree.signal_autoconnect( { "msg_dlg_ok" : close_dialog } )
        label = new_tree.get_widget( "message_label" )
        label.set_text("You must enter all data before computing the outputs." )
        return


    effort = F * A * math.pow( size , B )

    # Display the numbers
    effort_label.set_text( "%.2f" % effort )
    cost_label.set_text( "%.2f" % ( cost_unit * effort ) )

    # end on_compute_button_released()




#
# Utility Methods
#

def sum( item_list ) :
    """
    sum( seq ) => number

    Compute the sum of all the elements in sequence 'seq'.
    """

    if len( item_list ) < 1 :
        raise Exception( "Can't compute the sum of nothing!" )

    result = 0 # additive identity
    for item in item_list :
        result = result + item

    return result



def prod( item_list ) :
    """
    prod( seq ) => number

    Compute the product of all the elements in sequence 'seq'.
    """

    if len( item_list ) < 1 :
        raise Exception( "Can't compute the product of nothing!" )

    result = 1 # multiplicative identity
    for item in item_list :
        result = result * item

    return result



def clear_output( *args ) :
    """
    Clear the output labels.
    """

    effort_label.set_text( "" )
    cost_label.set_text( "" )



def get_input( widget_name ) :
    """
    Utility function to retrive the input from the user.
    """

    # get the selected menu item
    menu_item = widget_tree.get_widget( widget_name ).get_menu().get_active()

    # return the value stored with it
    return menu_item.get_data( "value" )

    # end get_input()


#
# main
#
def main() :
    """
    The "main" of the application.  This is where it all starts.
    """

    global widget_tree , effort_label , cost_label


    # the mapping to describe all the signal handlers
    signal_map = {
            "on_exit" : on_exit ,
            "on_compute_button_released" : on_compute_button_released ,
            "input_state_changed" : clear_output ,
        }
    
    # load the tree and connect the signal handlers
    widget_tree = libglade.GladeXML( glade_filename , "CostModel" )
    widget_tree.signal_autoconnect( signal_map )


    # store references to some widgets for easy access
    effort_label = widget_tree.get_widget( "effort_label" )
    cost_label = widget_tree.get_widget( "cost_label" )

    clear_output()

    # for each of the input menus
    for name in sf_names + em_names :

        menu = widget_tree.get_widget( name ).get_menu()

        # remove the blank entry, if possible
        try :
            for child in menu.children() :
                menu.remove( child )
        except TypeError :
            pass

        for choice in ( VLOW , LOW , NOM , HIGH , VHIGH , EHIGH ) :

            data = table[ name ][ choice ]

            # skip invalid choices
            if data is None :
                continue

            item = gtk.GtkMenuItem( choice )
            item.set_data( "value" , data )
            menu.append( item ) 
            item.show()

            if choice == NOM :
                menu.activate_item( item , true )

    # start the event loop
    gtk.mainloop()

    # end main()


if __name__ == "__main__" : 
    main()


--rwEMma7ioTxnRzrJ
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="costmodel.glade"

<?xml version="1.0"?>
<GTK-Interface>

<project>
  <name>CostModel</name>
  <program_name>costmodel</program_name>
  <directory></directory>
  <source_directory>src</source_directory>
  <pixmaps_directory>pixmaps</pixmaps_directory>
  <language>C</language>
  <gnome_support>False</gnome_support>
  <gettext_support>True</gettext_support>
  <use_widget_names>True</use_widget_names>
</project>

<widget>
  <class>GtkWindow</class>
  <name>CostModel</name>
  <signal>
    <name>destroy_event</name>
    <handler>gtk_main_quit</handler>
    <last_modification_time>Thu, 25 Oct 2001 20:44:36 GMT</last_modification_time>
  </signal>
  <title>Cost Modeler</title>
  <type>GTK_WINDOW_TOPLEVEL</type>
  <position>GTK_WIN_POS_NONE</position>
  <modal>False</modal>
  <allow_shrink>False</allow_shrink>
  <allow_grow>True</allow_grow>
  <auto_shrink>False</auto_shrink>

  <widget>
    <class>GtkVBox</class>
    <name>vbox1</name>
    <homogeneous>False</homogeneous>
    <spacing>0</spacing>

    <widget>
      <class>GtkHandleBox</class>
      <name>handlebox1</name>
      <shadow_type>GTK_SHADOW_OUT</shadow_type>
      <handle_position>GTK_POS_LEFT</handle_position>
      <snap_edge>GTK_POS_TOP</snap_edge>
      <child>
	<padding>0</padding>
	<expand>False</expand>
	<fill>False</fill>
      </child>

      <widget>
	<class>GtkMenuBar</class>
	<name>menubar2</name>
	<shadow_type>GTK_SHADOW_OUT</shadow_type>

	<widget>
	  <class>GtkMenuItem</class>
	  <name>file_menu</name>
	  <label>File</label>
	  <right_justify>False</right_justify>

	  <widget>
	    <class>GtkMenu</class>
	    <name>file_menu_menu</name>

	    <widget>
	      <class>GtkMenuItem</class>
	      <name>exit_menuitem</name>
	      <accelerator>
		<modifiers>GDK_MOD1_MASK</modifiers>
		<key>GDK_E</key>
		<signal>activate</signal>
	      </accelerator>
	      <signal>
		<name>activate</name>
		<handler>on_exit</handler>
		<last_modification_time>Thu, 25 Oct 2001 20:43:40 GMT</last_modification_time>
	      </signal>
	      <label>Exit</label>
	      <right_justify>False</right_justify>
	    </widget>
	  </widget>
	</widget>
      </widget>
    </widget>

    <widget>
      <class>GtkHandleBox</class>
      <name>handlebox2</name>
      <shadow_type>GTK_SHADOW_OUT</shadow_type>
      <handle_position>GTK_POS_LEFT</handle_position>
      <snap_edge>GTK_POS_TOP</snap_edge>
      <child>
	<padding>0</padding>
	<expand>False</expand>
	<fill>False</fill>
      </child>

      <widget>
	<class>GtkToolbar</class>
	<name>toolbar2</name>
	<orientation>GTK_ORIENTATION_HORIZONTAL</orientation>
	<type>GTK_TOOLBAR_BOTH</type>
	<space_size>5</space_size>
	<space_style>GTK_TOOLBAR_SPACE_EMPTY</space_style>
	<relief>GTK_RELIEF_NORMAL</relief>
	<tooltips>True</tooltips>

	<widget>
	  <class>GtkButton</class>
	  <child_name>Toolbar:button</child_name>
	  <name>compute_button</name>
	  <signal>
	    <name>released</name>
	    <handler>on_compute_button_released</handler>
	    <last_modification_time>Thu, 25 Oct 2001 21:02:47 GMT</last_modification_time>
	  </signal>
	  <label>Compute</label>
	</widget>

	<widget>
	  <class>GtkButton</class>
	  <child_name>Toolbar:button</child_name>
	  <name>exit_button</name>
	  <signal>
	    <name>released</name>
	    <handler>on_exit</handler>
	    <last_modification_time>Thu, 25 Oct 2001 20:43:23 GMT</last_modification_time>
	  </signal>
	  <label>Exit</label>
	</widget>
      </widget>
    </widget>

    <widget>
      <class>GtkVBox</class>
      <name>vbox2</name>
      <homogeneous>False</homogeneous>
      <spacing>0</spacing>
      <child>
	<padding>0</padding>
	<expand>True</expand>
	<fill>True</fill>
      </child>

      <widget>
	<class>GtkFrame</class>
	<name>frame1</name>
	<label>Outputs</label>
	<label_xalign>0</label_xalign>
	<shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
	<child>
	  <padding>4</padding>
	  <expand>False</expand>
	  <fill>False</fill>
	</child>

	<widget>
	  <class>GtkTable</class>
	  <name>table2</name>
	  <rows>2</rows>
	  <columns>2</columns>
	  <homogeneous>False</homogeneous>
	  <row_spacing>0</row_spacing>
	  <column_spacing>0</column_spacing>

	  <widget>
	    <class>GtkLabel</class>
	    <name>label1</name>
	    <label>Effort (Person-Months) :</label>
	    <justify>GTK_JUSTIFY_CENTER</justify>
	    <wrap>False</wrap>
	    <xalign>0.5</xalign>
	    <yalign>0.5</yalign>
	    <xpad>0</xpad>
	    <ypad>0</ypad>
	    <child>
	      <left_attach>0</left_attach>
	      <right_attach>1</right_attach>
	      <top_attach>0</top_attach>
	      <bottom_attach>1</bottom_attach>
	      <xpad>6</xpad>
	      <ypad>0</ypad>
	      <xexpand>False</xexpand>
	      <yexpand>False</yexpand>
	      <xshrink>False</xshrink>
	      <yshrink>False</yshrink>
	      <xfill>True</xfill>
	      <yfill>False</yfill>
	    </child>
	  </widget>

	  <widget>
	    <class>GtkLabel</class>
	    <name>label2</name>
	    <label>Cost :</label>
	    <justify>GTK_JUSTIFY_CENTER</justify>
	    <wrap>False</wrap>
	    <xalign>0</xalign>
	    <yalign>0.5</yalign>
	    <xpad>0</xpad>
	    <ypad>0</ypad>
	    <child>
	      <left_attach>0</left_attach>
	      <right_attach>1</right_attach>
	      <top_attach>1</top_attach>
	      <bottom_attach>2</bottom_attach>
	      <xpad>6</xpad>
	      <ypad>0</ypad>
	      <xexpand>False</xexpand>
	      <yexpand>False</yexpand>
	      <xshrink>False</xshrink>
	      <yshrink>False</yshrink>
	      <xfill>True</xfill>
	      <yfill>False</yfill>
	    </child>
	  </widget>

	  <widget>
	    <class>GtkEntry</class>
	    <name>cost_label</name>
	    <can_focus>True</can_focus>
	    <editable>False</editable>
	    <text_visible>True</text_visible>
	    <text_max_length>0</text_max_length>
	    <text></text>
	    <child>
	      <left_attach>1</left_attach>
	      <right_attach>2</right_attach>
	      <top_attach>1</top_attach>
	      <bottom_attach>2</bottom_attach>
	      <xpad>0</xpad>
	      <ypad>0</ypad>
	      <xexpand>False</xexpand>
	      <yexpand>False</yexpand>
	      <xshrink>False</xshrink>
	      <yshrink>False</yshrink>
	      <xfill>False</xfill>
	      <yfill>False</yfill>
	    </child>
	  </widget>

	  <widget>
	    <class>GtkEntry</class>
	    <name>effort_label</name>
	    <can_focus>True</can_focus>
	    <editable>False</editable>
	    <text_visible>True</text_visible>
	    <text_max_length>0</text_max_length>
	    <text></text>
	    <child>
	      <left_attach>1</left_attach>
	      <right_attach>2</right_attach>
	      <top_attach>0</top_attach>
	      <bottom_attach>1</bottom_attach>
	      <xpad>0</xpad>
	      <ypad>0</ypad>
	      <xexpand>False</xexpand>
	      <yexpand>False</yexpand>
	      <xshrink>False</xshrink>
	      <yshrink>False</yshrink>
	      <xfill>False</xfill>
	      <yfill>False</yfill>
	    </child>
	  </widget>
	</widget>
      </widget>

      <widget>
	<class>GtkFrame</class>
	<name>frame2</name>
	<label>Inputs</label>
	<label_xalign>0</label_xalign>
	<shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
	<child>
	  <padding>3</padding>
	  <expand>True</expand>
	  <fill>True</fill>
	</child>

	<widget>
	  <class>GtkVBox</class>
	  <name>vbox3</name>
	  <homogeneous>False</homogeneous>
	  <spacing>0</spacing>

	  <widget>
	    <class>GtkFrame</class>
	    <name>frame5</name>
	    <label>Constants</label>
	    <label_xalign>0</label_xalign>
	    <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
	    <child>
	      <padding>3</padding>
	      <expand>True</expand>
	      <fill>True</fill>
	    </child>

	    <widget>
	      <class>GtkTable</class>
	      <name>table3</name>
	      <rows>3</rows>
	      <columns>2</columns>
	      <homogeneous>False</homogeneous>
	      <row_spacing>0</row_spacing>
	      <column_spacing>0</column_spacing>

	      <widget>
		<class>GtkSpinButton</class>
		<name>a_input</name>
		<can_focus>True</can_focus>
		<signal>
		  <name>changed</name>
		  <handler>input_state_changed</handler>
		  <last_modification_time>Sat, 27 Oct 2001 15:10:12 GMT</last_modification_time>
		</signal>
		<climb_rate>1</climb_rate>
		<digits>3</digits>
		<numeric>True</numeric>
		<update_policy>GTK_UPDATE_ALWAYS</update_policy>
		<snap>False</snap>
		<wrap>False</wrap>
		<value>1</value>
		<lower>0</lower>
		<upper>100</upper>
		<step>1</step>
		<page>10</page>
		<page_size>10</page_size>
		<child>
		  <left_attach>1</left_attach>
		  <right_attach>2</right_attach>
		  <top_attach>0</top_attach>
		  <bottom_attach>1</bottom_attach>
		  <xpad>0</xpad>
		  <ypad>0</ypad>
		  <xexpand>True</xexpand>
		  <yexpand>False</yexpand>
		  <xshrink>False</xshrink>
		  <yshrink>False</yshrink>
		  <xfill>True</xfill>
		  <yfill>False</yfill>
		</child>
	      </widget>

	      <widget>
		<class>GtkLabel</class>
		<name>label11</name>
		<label>Size (KLOC)</label>
		<justify>GTK_JUSTIFY_CENTER</justify>
		<wrap>False</wrap>
		<xalign>0</xalign>
		<yalign>0.5</yalign>
		<xpad>0</xpad>
		<ypad>0</ypad>
		<child>
		  <left_attach>0</left_attach>
		  <right_attach>1</right_attach>
		  <top_attach>1</top_attach>
		  <bottom_attach>2</bottom_attach>
		  <xpad>6</xpad>
		  <ypad>0</ypad>
		  <xexpand>True</xexpand>
		  <yexpand>False</yexpand>
		  <xshrink>False</xshrink>
		  <yshrink>False</yshrink>
		  <xfill>True</xfill>
		  <yfill>False</yfill>
		</child>
	      </widget>

	      <widget>
		<class>GtkLabel</class>
		<name>label10</name>
		<label>A</label>
		<justify>GTK_JUSTIFY_CENTER</justify>
		<wrap>False</wrap>
		<xalign>0</xalign>
		<yalign>0.5</yalign>
		<xpad>0</xpad>
		<ypad>0</ypad>
		<child>
		  <left_attach>0</left_attach>
		  <right_attach>1</right_attach>
		  <top_attach>0</top_attach>
		  <bottom_attach>1</bottom_attach>
		  <xpad>6</xpad>
		  <ypad>0</ypad>
		  <xexpand>True</xexpand>
		  <yexpand>False</yexpand>
		  <xshrink>False</xshrink>
		  <yshrink>False</yshrink>
		  <xfill>True</xfill>
		  <yfill>False</yfill>
		</child>
	      </widget>

	      <widget>
		<class>GtkSpinButton</class>
		<name>size_input</name>
		<can_focus>True</can_focus>
		<signal>
		  <name>changed</name>
		  <handler>input_state_changed</handler>
		  <last_modification_time>Sat, 27 Oct 2001 15:08:30 GMT</last_modification_time>
		</signal>
		<climb_rate>1</climb_rate>
		<digits>3</digits>
		<numeric>True</numeric>
		<update_policy>GTK_UPDATE_ALWAYS</update_policy>
		<snap>False</snap>
		<wrap>False</wrap>
		<value>1</value>
		<lower>0</lower>
		<upper>100</upper>
		<step>1</step>
		<page>10</page>
		<page_size>10</page_size>
		<child>
		  <left_attach>1</left_attach>
		  <right_attach>2</right_attach>
		  <top_attach>1</top_attach>
		  <bottom_attach>2</bottom_attach>
		  <xpad>0</xpad>
		  <ypad>0</ypad>
		  <xexpand>True</xexpand>
		  <yexpand>False</yexpand>
		  <xshrink>False</xshrink>
		  <yshrink>False</yshrink>
		  <xfill>True</xfill>
		  <yfill>False</yfill>
		</child>
	      </widget>

	      <widget>
		<class>GtkLabel</class>
		<name>label30</name>
		<label>Cost per Person-Month</label>
		<justify>GTK_JUSTIFY_CENTER</justify>
		<wrap>False</wrap>
		<xalign>0</xalign>
		<yalign>0.5</yalign>
		<xpad>0</xpad>
		<ypad>0</ypad>
		<child>
		  <left_attach>0</left_attach>
		  <right_attach>1</right_attach>
		  <top_attach>2</top_attach>
		  <bottom_attach>3</bottom_attach>
		  <xpad>6</xpad>
		  <ypad>0</ypad>
		  <xexpand>False</xexpand>
		  <yexpand>False</yexpand>
		  <xshrink>False</xshrink>
		  <yshrink>False</yshrink>
		  <xfill>True</xfill>
		  <yfill>False</yfill>
		</child>
	      </widget>

	      <widget>
		<class>GtkSpinButton</class>
		<name>cost_input</name>
		<can_focus>True</can_focus>
		<climb_rate>1</climb_rate>
		<digits>2</digits>
		<numeric>True</numeric>
		<update_policy>GTK_UPDATE_ALWAYS</update_policy>
		<snap>False</snap>
		<wrap>False</wrap>
		<value>1</value>
		<lower>0</lower>
		<upper>100</upper>
		<step>1</step>
		<page>10</page>
		<page_size>10</page_size>
		<child>
		  <left_attach>1</left_attach>
		  <right_attach>2</right_attach>
		  <top_attach>2</top_attach>
		  <bottom_attach>3</bottom_attach>
		  <xpad>0</xpad>
		  <ypad>0</ypad>
		  <xexpand>True</xexpand>
		  <yexpand>False</yexpand>
		  <xshrink>False</xshrink>
		  <yshrink>False</yshrink>
		  <xfill>True</xfill>
		  <yfill>False</yfill>
		</child>
	      </widget>
	    </widget>
	  </widget>

	  <widget>
	    <class>GtkFrame</class>
	    <name>frame3</name>
	    <label>Scale Factors</label>
	    <label_xalign>0</label_xalign>
	    <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
	    <child>
	      <padding>3</padding>
	      <expand>True</expand>
	      <fill>True</fill>
	    </child>

	    <widget>
	      <class>GtkTable</class>
	      <name>table4</name>
	      <rows>5</rows>
	      <columns>2</columns>
	      <homogeneous>False</homogeneous>
	      <row_spacing>0</row_spacing>
	      <column_spacing>0</column_spacing>

	      <widget>
		<class>GtkOptionMenu</class>
		<name>FLEX</name>
		<tooltip>Very Low : rigorous                  
Low : occaisonal relaxation
Nominal : some relaxation
High : general conformity
Very High : some conformity
Extra High : general goals</tooltip>
		<can_focus>True</can_focus>
		<items> 
</items>
		<initial_choice>0</initial_choice>
		<child>
		  <left_attach>1</left_attach>
		  <right_attach>2</right_attach>
		  <top_attach>1</top_attach>
		  <bottom_attach>2</bottom_attach>
		  <xpad>0</xpad>
		  <ypad>0</ypad>
		  <xexpand>False</xexpand>
		  <yexpand>False</yexpand>
		  <xshrink>False</xshrink>
		  <yshrink>False</yshrink>
		  <xfill>True</xfill>
		  <yfill>False</yfill>
		</child>
	      </widget>

	      <widget>
		<class>GtkOptionMenu</class>
		<name>RESL</name>
		<tooltip>Very Low : little (20%)           
Low : some (40%)
Nominal : often (60%)
High : generally (75%)
Very High : mostly (90%)
Extra High : full (100%)</tooltip>
		<can_focus>True</can_focus>
		<items> 
</items>
		<initial_choice>0</initial_choice>
		<child>
		  <left_attach>1</left_attach>
		  <right_attach>2</right_attach>
		  <top_attach>2</top_attach>
		  <bottom_attach>3</bottom_attach>
		  <xpad>0</xpad>
		  <ypad>0</ypad>
		  <xexpand>False</xexpand>
		  <yexpand>False</yexpand>
		  <xshrink>False</xshrink>
		  <yshrink>False</yshrink>
		  <xfill>True</xfill>
		  <yfill>False</yfill>
		</child>
	      </widget>

	      <widget>
		<class>GtkOptionMenu</class>
		<name>TEAM</name>
		<tooltip>Very Low : very difficult interactions           
Low : some difficult interactions
Nominal : basically cooperative interactions
High : largely cooperative
Very High : highly cooperative
Extra High : seamless interactions</tooltip>
		<can_focus>True</can_focus>
		<items> 
</items>
		<initial_choice>0</initial_choice>
		<child>
		  <left_attach>1</left_attach>
		  <right_attach>2</right_attach>
		  <top_attach>3</top_attach>
		  <bottom_attach>4</bottom_attach>
		  <xpad>0</xpad>
		  <ypad>0</ypad>
		  <xexpand>False</xexpand>
		  <yexpand>False</yexpand>
		  <xshrink>False</xshrink>
		  <yshrink>False</yshrink>
		  <xfill>True</xfill>
		  <yfill>False</yfill>
		</child>
	      </widget>

	      <widget>
		<class>GtkOptionMenu</class>
		<name>PMAT</name>
		<tooltip>Weighted average of "Yes" answers to CMM Maturity
Questionaire</tooltip>
		<can_focus>True</can_focus>
		<items> 
</items>
		<initial_choice>0</initial_choice>
		<child>
		  <left_attach>1</left_attach>
		  <right_attach>2</right_attach>
		  <top_attach>4</top_attach>
		  <bottom_attach>5</bottom_attach>
		  <xpad>0</xpad>
		  <ypad>0</ypad>
		  <xexpand>False</xexpand>
		  <yexpand>False</yexpand>
		  <xshrink>False</xshrink>
		  <yshrink>False</yshrink>
		  <xfill>True</xfill>
		  <yfill>False</yfill>
		</child>
	      </widget>

	      <widget>
		<class>GtkOptionMenu</class>
		<name>PREC</name>
		<tooltip>Very Low : thoroughly unprecedented
Low : largely unprecedented
Nominal : somewhat unprecedented
High : generally familiar
Very High : largely familiar
Extra High : thoroughly familiar</tooltip>
		<can_focus>True</can_focus>
		<signal>
		  <name>button_release_event</name>
		  <handler>input_state_changed</handler>
		  <last_modification_time>Sat, 27 Oct 2001 16:18:28 GMT</last_modification_time>
		</signal>
		<items> 
</items>
		<initial_choice>0</initial_choice>
		<child>
		  <left_attach>1</left_attach>
		  <right_attach>2</right_attach>
		  <top_attach>0</top_attach>
		  <bottom_attach>1</bottom_attach>
		  <xpad>0</xpad>
		  <ypad>0</ypad>
		  <xexpand>True</xexpand>
		  <yexpand>False</yexpand>
		  <xshrink>False</xshrink>
		  <yshrink>False</yshrink>
		  <xfill>True</xfill>
		  <yfill>False</yfill>
		</child>
	      </widget>

	      <widget>
		<class>GtkLabel</class>
		<name>label3</name>
		<label>Precedentedness</label>
		<justify>GTK_JUSTIFY_CENTER</justify>
		<wrap>False</wrap>
		<xalign>0</xalign>
		<yalign>0.5</yalign>
		<xpad>0</xpad>
		<ypad>0</ypad>
		<child>
		  <left_attach>0</left_attach>
		  <right_attach>1</right_attach>
		  <top_attach>0</top_attach>
		  <bottom_attach>1</bottom_attach>
		  <xpad>6</xpad>
		  <ypad>0</ypad>
		  <xexpand>True</xexpand>
		  <yexpand>False</yexpand>
		  <xshrink>False</xshrink>
		  <yshrink>False</yshrink>
		  <xfill>True</xfill>
		  <yfill>False</yfill>
		</child>
	      </widget>

	      <widget>
		<class>GtkLabel</class>
		<name>label6</name>
		<label>Development Flexibility</label>
		<justify>GTK_JUSTIFY_CENTER</justify>
		<wrap>False</wrap>
		<xalign>0</xalign>
		<yalign>0.5</yalign>
		<xpad>0</xpad>
		<ypad>0</ypad>
		<child>
		  <left_attach>0</left_attach>
		  <right_attach>1</right_attach>
		  <top_attach>1</top_attach>
		  <bottom_attach>2</bottom_attach>
		  <xpad>6</xpad>
		  <ypad>0</ypad>
		  <xexpand>False</xexpand>
		  <yexpand>False</yexpand>
		  <xshrink>False</xshrink>
		  <yshrink>False</yshrink>
		  <xfill>True</xfill>
		  <yfill>False</yfill>
		</child>
	      </widget>

	      <widget>
		<class>GtkLabel</class>
		<name>label7</name>
		<label>Architecture/Risk Solution</label>
		<justify>GTK_JUSTIFY_CENTER</justify>
		<wrap>False</wrap>
		<xalign>0</xalign>
		<yalign>0.5</yalign>
		<xpad>0</xpad>
		<ypad>0</ypad>
		<child>
		  <left_attach>0</left_attach>
		  <right_attach>1</right_attach>
		  <top_attach>2</top_attach>
		  <bottom_attach>3</bottom_attach>
		  <xpad>6</xpad>
		  <ypad>0</ypad>
		  <xexpand>False</xexpand>
		  <yexpand>False</yexpand>
		  <xshrink>False</xshrink>
		  <yshrink>False</yshrink>
		  <xfill>True</xfill>
		  <yfill>False</yfill>
		</child>
	      </widget>

	      <widget>
		<class>GtkLabel</class>
		<name>label8</name>
		<label>Team Cohesion</label>
		<justify>GTK_JUSTIFY_CENTER</justify>
		<wrap>False</wrap>
		<xalign>0</xalign>
		<yalign>0.5</yalign>
		<xpad>0</xpad>
		<ypad>0</ypad>
		<child>
		  <left_attach>0</left_attach>
		  <right_attach>1</right_attach>
		  <top_attach>3</top_attach>
		  <bottom_attach>4</bottom_attach>
		  <xpad>6</xpad>
		  <ypad>0</ypad>
		  <xexpand>False</xexpand>
		  <yexpand>False</yexpand>
		  <xshrink>False</xshrink>
		  <yshrink>False</yshrink>
		  <xfill>True</xfill>
		  <yfill>False</yfill>
		</child>
	      </widget>

	      <widget>
		<class>GtkLabel</class>
		<name>label9</name>
		<label>Process Maturity</label>
		<justify>GTK_JUSTIFY_CENTER</justify>
		<wrap>False</wrap>
		<xalign>0</xalign>
		<yalign>0.5</yalign>
		<xpad>0</xpad>
		<ypad>0</ypad>
		<child>
		  <left_attach>0</left_attach>
		  <right_attach>1</right_attach>
		  <top_attach>4</top_attach>
		  <bottom_attach>5</bottom_attach>
		  <xpad>6</xpad>
		  <ypad>0</ypad>
		  <xexpand>False</xexpand>
		  <yexpand>False</yexpand>
		  <xshrink>False</xshrink>
		  <yshrink>False</yshrink>
		  <xfill>True</xfill>
		  <yfill>False</yfill>
		</child>
	      </widget>
	    </widget>
	  </widget>

	  <widget>
	    <class>GtkFrame</class>
	    <name>frame4</name>
	    <label>Effort Multipliers</label>
	    <label_xalign>0</label_xalign>
	    <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
	    <child>
	      <padding>3</padding>
	      <expand>True</expand>
	      <fill>True</fill>
	    </child>

	    <widget>
	      <class>GtkHBox</class>
	      <name>hbox2</name>
	      <homogeneous>False</homogeneous>
	      <spacing>0</spacing>

	      <widget>
		<class>GtkFrame</class>
		<name>frame6</name>
		<label>Product</label>
		<label_xalign>0</label_xalign>
		<shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
		<child>
		  <padding>3</padding>
		  <expand>True</expand>
		  <fill>True</fill>
		</child>

		<widget>
		  <class>GtkTable</class>
		  <name>table5</name>
		  <rows>5</rows>
		  <columns>2</columns>
		  <homogeneous>False</homogeneous>
		  <row_spacing>0</row_spacing>
		  <column_spacing>0</column_spacing>

		  <widget>
		    <class>GtkLabel</class>
		    <name>label12</name>
		    <label>RELY</label>
		    <justify>GTK_JUSTIFY_CENTER</justify>
		    <wrap>False</wrap>
		    <xalign>0</xalign>
		    <yalign>0.5</yalign>
		    <xpad>0</xpad>
		    <ypad>0</ypad>
		    <child>
		      <left_attach>0</left_attach>
		      <right_attach>1</right_attach>
		      <top_attach>0</top_attach>
		      <bottom_attach>1</bottom_attach>
		      <xpad>6</xpad>
		      <ypad>0</ypad>
		      <xexpand>True</xexpand>
		      <yexpand>False</yexpand>
		      <xshrink>False</xshrink>
		      <yshrink>False</yshrink>
		      <xfill>True</xfill>
		      <yfill>False</yfill>
		    </child>
		  </widget>

		  <widget>
		    <class>GtkLabel</class>
		    <name>label13</name>
		    <label>DATA</label>
		    <justify>GTK_JUSTIFY_CENTER</justify>
		    <wrap>False</wrap>
		    <xalign>0</xalign>
		    <yalign>0.5</yalign>
		    <xpad>0</xpad>
		    <ypad>0</ypad>
		    <child>
		      <left_attach>0</left_attach>
		      <right_attach>1</right_attach>
		      <top_attach>1</top_attach>
		      <bottom_attach>2</bottom_attach>
		      <xpad>6</xpad>
		      <ypad>0</ypad>
		      <xexpand>False</xexpand>
		      <yexpand>False</yexpand>
		      <xshrink>False</xshrink>
		      <yshrink>False</yshrink>
		      <xfill>True</xfill>
		      <yfill>False</yfill>
		    </child>
		  </widget>

		  <widget>
		    <class>GtkLabel</class>
		    <name>label14</name>
		    <label>CPLX</label>
		    <justify>GTK_JUSTIFY_CENTER</justify>
		    <wrap>False</wrap>
		    <xalign>0</xalign>
		    <yalign>0.5</yalign>
		    <xpad>0</xpad>
		    <ypad>0</ypad>
		    <child>
		      <left_attach>0</left_attach>
		      <right_attach>1</right_attach>
		      <top_attach>2</top_attach>
		      <bottom_attach>3</bottom_attach>
		      <xpad>6</xpad>
		      <ypad>0</ypad>
		      <xexpand>False</xexpand>
		      <yexpand>False</yexpand>
		      <xshrink>False</xshrink>
		      <yshrink>False</yshrink>
		      <xfill>True</xfill>
		      <yfill>False</yfill>
		    </child>
		  </widget>

		  <widget>
		    <class>GtkLabel</class>
		    <name>label15</name>
		    <label>RUSE</label>
		    <justify>GTK_JUSTIFY_CENTER</justify>
		    <wrap>False</wrap>
		    <xalign>0</xalign>
		    <yalign>0.5</yalign>
		    <xpad>0</xpad>
		    <ypad>0</ypad>
		    <child>
		      <left_attach>0</left_attach>
		      <right_attach>1</right_attach>
		      <top_attach>3</top_attach>
		      <bottom_attach>4</bottom_attach>
		      <xpad>6</xpad>
		      <ypad>0</ypad>
		      <xexpand>False</xexpand>
		      <yexpand>False</yexpand>
		      <xshrink>False</xshrink>
		      <yshrink>False</yshrink>
		      <xfill>True</xfill>
		      <yfill>False</yfill>
		    </child>
		  </widget>

		  <widget>
		    <class>GtkLabel</class>
		    <name>label16</name>
		    <label>DOCU</label>
		    <justify>GTK_JUSTIFY_CENTER</justify>
		    <wrap>False</wrap>
		    <xalign>0</xalign>
		    <yalign>0.5</yalign>
		    <xpad>0</xpad>
		    <ypad>0</ypad>
		    <child>
		      <left_attach>0</left_attach>
		      <right_attach>1</right_attach>
		      <top_attach>4</top_attach>
		      <bottom_attach>5</bottom_attach>
		      <xpad>6</xpad>
		      <ypad>0</ypad>
		      <xexpand>False</xexpand>
		      <yexpand>False</yexpand>
		      <xshrink>False</xshrink>
		      <yshrink>False</yshrink>
		      <xfill>True</xfill>
		      <yfill>False</yfill>
		    </child>
		  </widget>

		  <widget>
		    <class>GtkOptionMenu</class>
		    <name>DATA</name>
		    <tooltip>Low : DB bytes / Pgm SLOC &lt; 10
Nominal : 10 D/P &lt; 100
High : 100 D/P &lt; 1000
Very High : D/P 1000</tooltip>
		    <can_focus>True</can_focus>
		    <signal>
		      <name>button_release_event</name>
		      <handler>input_state_changed</handler>
		      <last_modification_time>Sat, 27 Oct 2001 16:18:28 GMT</last_modification_time>
		    </signal>
		    <items> 
</items>
		    <initial_choice>0</initial_choice>
		    <child>
		      <left_attach>1</left_attach>
		      <right_attach>2</right_attach>
		      <top_attach>1</top_attach>
		      <bottom_attach>2</bottom_attach>
		      <xpad>0</xpad>
		      <ypad>0</ypad>
		      <xexpand>False</xexpand>
		      <yexpand>False</yexpand>
		      <xshrink>False</xshrink>
		      <yshrink>False</yshrink>
		      <xfill>True</xfill>
		      <yfill>False</yfill>
		    </child>
		  </widget>

		  <widget>
		    <class>GtkOptionMenu</class>
		    <name>CPLX</name>
		    <tooltip>Very Low : very low complexity
Low : low complexity
Nominal : avarage complexity
High : high complexity
Very High : very high complexity
Extra High : extremely complex
</tooltip>
		    <can_focus>True</can_focus>
		    <signal>
		      <name>button_release_event</name>
		      <handler>input_state_changed</handler>
		      <last_modification_time>Sat, 27 Oct 2001 16:18:28 GMT</last_modification_time>
		    </signal>
		    <items> 
</items>
		    <initial_choice>0</initial_choice>
		    <child>
		      <left_attach>1</left_attach>
		      <right_attach>2</right_attach>
		      <top_attach>2</top_attach>
		      <bottom_attach>3</bottom_attach>
		      <xpad>0</xpad>
		      <ypad>0</ypad>
		      <xexpand>False</xexpand>
		      <yexpand>False</yexpand>
		      <xshrink>False</xshrink>
		      <yshrink>False</yshrink>
		      <xfill>True</xfill>
		      <yfill>False</yfill>
		    </child>
		  </widget>

		  <widget>
		    <class>GtkOptionMenu</class>
		    <name>RUSE</name>
		    <tooltip>Low : none                                               
Nominal : across project
High : across program
Very High : across product line
Extra High : across multiple product lines</tooltip>
		    <can_focus>True</can_focus>
		    <signal>
		      <name>button_release_event</name>
		      <handler>input_state_changed</handler>
		      <last_modification_time>Sat, 27 Oct 2001 16:18:28 GMT</last_modification_time>
		    </signal>
		    <items> 
</items>
		    <initial_choice>0</initial_choice>
		    <child>
		      <left_attach>1</left_attach>
		      <right_attach>2</right_attach>
		      <top_attach>3</top_attach>
		      <bottom_attach>4</bottom_attach>
		      <xpad>0</xpad>
		      <ypad>0</ypad>
		      <xexpand>False</xexpand>
		      <yexpand>False</yexpand>
		      <xshrink>False</xshrink>
		      <yshrink>False</yshrink>
		      <xfill>True</xfill>
		      <yfill>False</yfill>
		    </child>
		  </widget>

		  <widget>
		    <class>GtkOptionMenu</class>
		    <name>DOCU</name>
		    <tooltip>Very Low : Many life-cycle needs uncovered
Low : Some life-cycle needs uncovered
Nominal : Right-sized to life-cycle needs
Very High : Excessive for life-cycle needs</tooltip>
		    <can_focus>True</can_focus>
		    <signal>
		      <name>button_release_event</name>
		      <handler>input_state_changed</handler>
		      <last_modification_time>Sat, 27 Oct 2001 16:18:28 GMT</last_modification_time>
		    </signal>
		    <items> 
</items>
		    <initial_choice>0</initial_choice>
		    <child>
		      <left_attach>1</left_attach>
		      <right_attach>2</right_attach>
		      <top_attach>4</top_attach>
		      <bottom_attach>5</bottom_attach>
		      <xpad>0</xpad>
		      <ypad>0</ypad>
		      <xexpand>False</xexpand>
		      <yexpand>False</yexpand>
		      <xshrink>False</xshrink>
		      <yshrink>False</yshrink>
		      <xfill>True</xfill>
		      <yfill>False</yfill>
		    </child>
		  </widget>

		  <widget>
		    <class>GtkOptionMenu</class>
		    <name>RELY</name>
		    <tooltip>Very Low :  slight inconvenience          
Low : easily recoverable losses
Nominal : easily recoverable losses
High : high financial loss
Very High : risk to human life</tooltip>
		    <can_focus>True</can_focus>
		    <signal>
		      <name>button_release_event</name>
		      <handler>input_state_changed</handler>
		      <last_modification_time>Sat, 27 Oct 2001 16:18:28 GMT</last_modification_time>
		    </signal>
		    <items>VL
</items>
		    <initial_choice>0</initial_choice>
		    <child>
		      <left_attach>1</left_attach>
		      <right_attach>2</right_attach>
		      <top_attach>0</top_attach>
		      <bottom_attach>1</bottom_attach>
		      <xpad>0</xpad>
		      <ypad>0</ypad>
		      <xexpand>True</xexpand>
		      <yexpand>False</yexpand>
		      <xshrink>False</xshrink>
		      <yshrink>False</yshrink>
		      <xfill>True</xfill>
		      <yfill>False</yfill>
		    </child>
		  </widget>
		</widget>
	      </widget>

	      <widget>
		<class>GtkFrame</class>
		<name>frame7</name>
		<label>Platform</label>
		<label_xalign>0</label_xalign>
		<shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
		<child>
		  <padding>3</padding>
		  <expand>True</expand>
		  <fill>True</fill>
		</child>

		<widget>
		  <class>GtkTable</class>
		  <name>table6</name>
		  <rows>3</rows>
		  <columns>2</columns>
		  <homogeneous>False</homogeneous>
		  <row_spacing>0</row_spacing>
		  <column_spacing>0</column_spacing>

		  <widget>
		    <class>GtkLabel</class>
		    <name>label17</name>
		    <label>TIME</label>
		    <justify>GTK_JUSTIFY_CENTER</justify>
		    <wrap>False</wrap>
		    <xalign>0</xalign>
		    <yalign>0.5</yalign>
		    <xpad>0</xpad>
		    <ypad>0</ypad>
		    <child>
		      <left_attach>0</left_attach>
		      <right_attach>1</right_attach>
		      <top_attach>0</top_attach>
		      <bottom_attach>1</bottom_attach>
		      <xpad>6</xpad>
		      <ypad>0</ypad>
		      <xexpand>True</xexpand>
		      <yexpand>False</yexpand>
		      <xshrink>False</xshrink>
		      <yshrink>False</yshrink>
		      <xfill>True</xfill>
		      <yfill>False</yfill>
		    </child>
		  </widget>

		  <widget>
		    <class>GtkLabel</class>
		    <name>label18</name>
		    <label>STOR</label>
		    <justify>GTK_JUSTIFY_CENTER</justify>
		    <wrap>False</wrap>
		    <xalign>0</xalign>
		    <yalign>0.5</yalign>
		    <xpad>0</xpad>
		    <ypad>0</ypad>
		    <child>
		      <left_attach>0</left_attach>
		      <right_attach>1</right_attach>
		      <top_attach>1</top_attach>
		      <bottom_attach>2</bottom_attach>
		      <xpad>6</xpad>
		      <ypad>0</ypad>
		      <xexpand>False</xexpand>
		      <yexpand>False</yexpand>
		      <xshrink>False</xshrink>
		      <yshrink>False</yshrink>
		      <xfill>True</xfill>
		      <yfill>False</yfill>
		    </child>
		  </widget>

		  <widget>
		    <class>GtkLabel</class>
		    <name>label19</name>
		    <label>PVOL</label>
		    <justify>GTK_JUSTIFY_CENTER</justify>
		    <wrap>False</wrap>
		    <xalign>0</xalign>
		    <yalign>0.5</yalign>
		    <xpad>0</xpad>
		    <ypad>0</ypad>
		    <child>
		      <left_attach>0</left_attach>
		      <right_attach>1</right_attach>
		      <top_attach>2</top_attach>
		      <bottom_attach>3</bottom_attach>
		      <xpad>6</xpad>
		      <ypad>0</ypad>
		      <xexpand>False</xexpand>
		      <yexpand>False</yexpand>
		      <xshrink>False</xshrink>
		      <yshrink>False</yshrink>
		      <xfill>True</xfill>
		      <yfill>False</yfill>
		    </child>
		  </widget>

		  <widget>
		    <class>GtkOptionMenu</class>
		    <name>TIME</name>
		    <tooltip>Nominal : 50% use of available execution time
High : 70%
Very High : 85%
Extra High : 95%</tooltip>
		    <can_focus>True</can_focus>
		    <signal>
		      <name>button_release_event</name>
		      <handler>input_state_changed</handler>
		      <last_modification_time>Sat, 27 Oct 2001 16:18:28 GMT</last_modification_time>
		    </signal>
		    <items>VL
</items>
		    <initial_choice>0</initial_choice>
		    <child>
		      <left_attach>1</left_attach>
		      <right_attach>2</right_attach>
		      <top_attach>0</top_attach>
		      <bottom_attach>1</bottom_attach>
		      <xpad>0</xpad>
		      <ypad>0</ypad>
		      <xexpand>False</xexpand>
		      <yexpand>False</yexpand>
		      <xshrink>False</xshrink>
		      <yshrink>False</yshrink>
		      <xfill>True</xfill>
		      <yfill>False</yfill>
		    </child>
		  </widget>

		  <widget>
		    <class>GtkOptionMenu</class>
		    <name>STOR</name>
		    <tooltip>Nominal : 50% use of available storage
High : 70%
Very High : 85%
Extra High : 95%</tooltip>
		    <can_focus>True</can_focus>
		    <signal>
		      <name>button_release_event</name>
		      <handler>input_state_changed</handler>
		      <last_modification_time>Sat, 27 Oct 2001 16:18:28 GMT</last_modification_time>
		    </signal>
		    <items> 
</items>
		    <initial_choice>0</initial_choice>
		    <child>
		      <left_attach>1</left_attach>
		      <right_attach>2</right_attach>
		      <top_attach>1</top_attach>
		      <bottom_attach>2</bottom_attach>
		      <xpad>0</xpad>
		      <ypad>0</ypad>
		      <xexpand>False</xexpand>
		      <yexpand>False</yexpand>
		      <xshrink>False</xshrink>
		      <yshrink>False</yshrink>
		      <xfill>True</xfill>
		      <yfill>False</yfill>
		    </child>
		  </widget>

		  <widget>
		    <class>GtkOptionMenu</class>
		    <name>PVOL</name>
		    <tooltip>Low : major change every 12 mo. ; minor change
every 1 mo.
Nominal : major : 6 mo. ; minor : 2 wk.
High : major : 2 mo. ; minor : 1 wk.
Very High : major : 2 wk. ; minor 2 days</tooltip>
		    <can_focus>True</can_focus>
		    <signal>
		      <name>button_release_event</name>
		      <handler>input_state_changed</handler>
		      <last_modification_time>Sat, 27 Oct 2001 16:18:28 GMT</last_modification_time>
		    </signal>
		    <items> 
</items>
		    <initial_choice>0</initial_choice>
		    <child>
		      <left_attach>1</left_attach>
		      <right_attach>2</right_attach>
		      <top_attach>2</top_attach>
		      <bottom_attach>3</bottom_attach>
		      <xpad>0</xpad>
		      <ypad>0</ypad>
		      <xexpand>False</xexpand>
		      <yexpand>False</yexpand>
		      <xshrink>False</xshrink>
		      <yshrink>False</yshrink>
		      <xfill>True</xfill>
		      <yfill>False</yfill>
		    </child>
		  </widget>
		</widget>
	      </widget>

	      <widget>
		<class>GtkFrame</class>
		<name>frame8</name>
		<label>Personnel</label>
		<label_xalign>0</label_xalign>
		<shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
		<child>
		  <padding>0</padding>
		  <expand>True</expand>
		  <fill>True</fill>
		</child>

		<widget>
		  <class>GtkTable</class>
		  <name>table7</name>
		  <rows>6</rows>
		  <columns>2</columns>
		  <homogeneous>False</homogeneous>
		  <row_spacing>0</row_spacing>
		  <column_spacing>0</column_spacing>

		  <widget>
		    <class>GtkLabel</class>
		    <name>label21</name>
		    <label>ACAP</label>
		    <justify>GTK_JUSTIFY_CENTER</justify>
		    <wrap>False</wrap>
		    <xalign>0</xalign>
		    <yalign>0.5</yalign>
		    <xpad>0</xpad>
		    <ypad>0</ypad>
		    <child>
		      <left_attach>0</left_attach>
		      <right_attach>1</right_attach>
		      <top_attach>0</top_attach>
		      <bottom_attach>1</bottom_attach>
		      <xpad>6</xpad>
		      <ypad>0</ypad>
		      <xexpand>True</xexpand>
		      <yexpand>False</yexpand>
		      <xshrink>False</xshrink>
		      <yshrink>False</yshrink>
		      <xfill>True</xfill>
		      <yfill>False</yfill>
		    </child>
		  </widget>

		  <widget>
		    <class>GtkLabel</class>
		    <name>label22</name>
		    <label>PCAP</label>
		    <justify>GTK_JUSTIFY_CENTER</justify>
		    <wrap>False</wrap>
		    <xalign>0</xalign>
		    <yalign>0.5</yalign>
		    <xpad>0</xpad>
		    <ypad>0</ypad>
		    <child>
		      <left_attach>0</left_attach>
		      <right_attach>1</right_attach>
		      <top_attach>1</top_attach>
		      <bottom_attach>2</bottom_attach>
		      <xpad>6</xpad>
		      <ypad>0</ypad>
		      <xexpand>False</xexpand>
		      <yexpand>False</yexpand>
		      <xshrink>False</xshrink>
		      <yshrink>False</yshrink>
		      <xfill>True</xfill>
		      <yfill>False</yfill>
		    </child>
		  </widget>

		  <widget>
		    <class>GtkLabel</class>
		    <name>label23</name>
		    <label>AEXP</label>
		    <justify>GTK_JUSTIFY_CENTER</justify>
		    <wrap>False</wrap>
		    <xalign>0</xalign>
		    <yalign>0.5</yalign>
		    <xpad>0</xpad>
		    <ypad>0</ypad>
		    <child>
		      <left_attach>0</left_attach>
		      <right_attach>1</right_attach>
		      <top_attach>2</top_attach>
		      <bottom_attach>3</bottom_attach>
		      <xpad>6</xpad>
		      <ypad>0</ypad>
		      <xexpand>False</xexpand>
		      <yexpand>False</yexpand>
		      <xshrink>False</xshrink>
		      <yshrink>False</yshrink>
		      <xfill>True</xfill>
		      <yfill>False</yfill>
		    </child>
		  </widget>

		  <widget>
		    <class>GtkLabel</class>
		    <name>label27</name>
		    <label>PEXP</label>
		    <justify>GTK_JUSTIFY_CENTER</justify>
		    <wrap>False</wrap>
		    <xalign>0</xalign>
		    <yalign>0.5</yalign>
		    <xpad>0</xpad>
		    <ypad>0</ypad>
		    <child>
		      <left_attach>0</left_attach>
		      <right_attach>1</right_attach>
		      <top_attach>3</top_attach>
		      <bottom_attach>4</bottom_attach>
		      <xpad>6</xpad>
		      <ypad>0</ypad>
		      <xexpand>False</xexpand>
		      <yexpand>False</yexpand>
		      <xshrink>False</xshrink>
		      <yshrink>False</yshrink>
		      <xfill>True</xfill>
		      <yfill>False</yfill>
		    </child>
		  </widget>

		  <widget>
		    <class>GtkLabel</class>
		    <name>label28</name>
		    <label>LTEX</label>
		    <justify>GTK_JUSTIFY_CENTER</justify>
		    <wrap>False</wrap>
		    <xalign>0</xalign>
		    <yalign>0.5</yalign>
		    <xpad>0</xpad>
		    <ypad>0</ypad>
		    <child>
		      <left_attach>0</left_attach>
		      <right_attach>1</right_attach>
		      <top_attach>4</top_attach>
		      <bottom_attach>5</bottom_attach>
		      <xpad>6</xpad>
		      <ypad>0</ypad>
		      <xexpand>False</xexpand>
		      <yexpand>False</yexpand>
		      <xshrink>False</xshrink>
		      <yshrink>False</yshrink>
		      <xfill>True</xfill>
		      <yfill>False</yfill>
		    </child>
		  </widget>

		  <widget>
		    <class>GtkLabel</class>
		    <name>label29</name>
		    <label>PCON</label>
		    <justify>GTK_JUSTIFY_CENTER</justify>
		    <wrap>False</wrap>
		    <xalign>0</xalign>
		    <yalign>0.5</yalign>
		    <xpad>0</xpad>
		    <ypad>0</ypad>
		    <child>
		      <left_attach>0</left_attach>
		      <right_attach>1</right_attach>
		      <top_attach>5</top_attach>
		      <bottom_attach>6</bottom_attach>
		      <xpad>6</xpad>
		      <ypad>0</ypad>
		      <xexpand>False</xexpand>
		      <yexpand>False</yexpand>
		      <xshrink>False</xshrink>
		      <yshrink>False</yshrink>
		      <xfill>True</xfill>
		      <yfill>False</yfill>
		    </child>
		  </widget>

		  <widget>
		    <class>GtkOptionMenu</class>
		    <name>ACAP</name>
		    <tooltip>Very Low : 15th percentile
Low : 35th percentile
Nominal : 55th percentile
High : 75th percentile
Very High: 90th percentile</tooltip>
		    <can_focus>True</can_focus>
		    <signal>
		      <name>button_release_event</name>
		      <handler>input_state_changed</handler>
		      <last_modification_time>Sat, 27 Oct 2001 16:18:28 GMT</last_modification_time>
		    </signal>
		    <items>VL
</items>
		    <initial_choice>0</initial_choice>
		    <child>
		      <left_attach>1</left_attach>
		      <right_attach>2</right_attach>
		      <top_attach>0</top_attach>
		      <bottom_attach>1</bottom_attach>
		      <xpad>0</xpad>
		      <ypad>0</ypad>
		      <xexpand>False</xexpand>
		      <yexpand>False</yexpand>
		      <xshrink>False</xshrink>
		      <yshrink>False</yshrink>
		      <xfill>True</xfill>
		      <yfill>False</yfill>
		    </child>
		  </widget>

		  <widget>
		    <class>GtkOptionMenu</class>
		    <name>PCAP</name>
		    <width>34</width>
		    <tooltip>Very Low : 15th percentile            
Low : 35th percentile
Nominal : 55th percentile
High : 75th percentile
Very High : 90th percentile</tooltip>
		    <can_focus>True</can_focus>
		    <signal>
		      <name>button_release_event</name>
		      <handler>input_state_changed</handler>
		      <last_modification_time>Sat, 27 Oct 2001 16:18:28 GMT</last_modification_time>
		    </signal>
		    <items> 
</items>
		    <initial_choice>0</initial_choice>
		    <child>
		      <left_attach>1</left_attach>
		      <right_attach>2</right_attach>
		      <top_attach>1</top_attach>
		      <bottom_attach>2</bottom_attach>
		      <xpad>0</xpad>
		      <ypad>0</ypad>
		      <xexpand>False</xexpand>
		      <yexpand>False</yexpand>
		      <xshrink>False</xshrink>
		      <yshrink>False</yshrink>
		      <xfill>True</xfill>
		      <yfill>False</yfill>
		    </child>
		  </widget>

		  <widget>
		    <class>GtkOptionMenu</class>
		    <name>AEXP</name>
		    <width>34</width>
		    <tooltip>Very Low : 2 months
Low : 6 months
Nominal : 1 year
High : 3 years
Very High : 6 years</tooltip>
		    <can_focus>True</can_focus>
		    <signal>
		      <name>button_release_event</name>
		      <handler>input_state_changed</handler>
		      <last_modification_time>Sat, 27 Oct 2001 16:18:28 GMT</last_modification_time>
		    </signal>
		    <items> 
</items>
		    <initial_choice>0</initial_choice>
		    <child>
		      <left_attach>1</left_attach>
		      <right_attach>2</right_attach>
		      <top_attach>2</top_attach>
		      <bottom_attach>3</bottom_attach>
		      <xpad>0</xpad>
		      <ypad>0</ypad>
		      <xexpand>False</xexpand>
		      <yexpand>False</yexpand>
		      <xshrink>False</xshrink>
		      <yshrink>False</yshrink>
		      <xfill>True</xfill>
		      <yfill>False</yfill>
		    </child>
		  </widget>

		  <widget>
		    <class>GtkOptionMenu</class>
		    <name>PEXP</name>
		    <width>34</width>
		    <tooltip>Very Low : 2 months
Low : 6 months
Nominal : 1 year
High : 3 years
Very High : 6 years</tooltip>
		    <can_focus>True</can_focus>
		    <signal>
		      <name>button_release_event</name>
		      <handler>input_state_changed</handler>
		      <last_modification_time>Sat, 27 Oct 2001 16:18:28 GMT</last_modification_time>
		    </signal>
		    <items> 
</items>
		    <initial_choice>0</initial_choice>
		    <child>
		      <left_attach>1</left_attach>
		      <right_attach>2</right_attach>
		      <top_attach>3</top_attach>
		      <bottom_attach>4</bottom_attach>
		      <xpad>0</xpad>
		      <ypad>0</ypad>
		      <xexpand>False</xexpand>
		      <yexpand>False</yexpand>
		      <xshrink>False</xshrink>
		      <yshrink>False</yshrink>
		      <xfill>True</xfill>
		      <yfill>False</yfill>
		    </child>
		  </widget>

		  <widget>
		    <class>GtkOptionMenu</class>
		    <name>LTEX</name>
		    <width>34</width>
		    <tooltip>Very Low : 2 months
Low : 6 months
Nominal : 1 year
High : 3 years
Very High : 6 years</tooltip>
		    <can_focus>True</can_focus>
		    <signal>
		      <name>button_release_event</name>
		      <handler>input_state_changed</handler>
		      <last_modification_time>Sat, 27 Oct 2001 16:18:28 GMT</last_modification_time>
		    </signal>
		    <items> 
</items>
		    <initial_choice>0</initial_choice>
		    <child>
		      <left_attach>1</left_attach>
		      <right_attach>2</right_attach>
		      <top_attach>4</top_attach>
		      <bottom_attach>5</bottom_attach>
		      <xpad>0</xpad>
		      <ypad>0</ypad>
		      <xexpand>False</xexpand>
		      <yexpand>False</yexpand>
		      <xshrink>False</xshrink>
		      <yshrink>False</yshrink>
		      <xfill>True</xfill>
		      <yfill>False</yfill>
		    </child>
		  </widget>

		  <widget>
		    <class>GtkOptionMenu</class>
		    <name>PCON</name>
		    <width>34</width>
		    <tooltip>Very Low : 48% / year
Low : 24% / year
Nominal : 12% / year
High : 6% / year
Very High : 3% / year</tooltip>
		    <can_focus>True</can_focus>
		    <signal>
		      <name>button_release_event</name>
		      <handler>input_state_changed</handler>
		      <last_modification_time>Sat, 27 Oct 2001 16:18:28 GMT</last_modification_time>
		    </signal>
		    <items> 
</items>
		    <initial_choice>0</initial_choice>
		    <child>
		      <left_attach>1</left_attach>
		      <right_attach>2</right_attach>
		      <top_attach>5</top_attach>
		      <bottom_attach>6</bottom_attach>
		      <xpad>0</xpad>
		      <ypad>0</ypad>
		      <xexpand>False</xexpand>
		      <yexpand>False</yexpand>
		      <xshrink>False</xshrink>
		      <yshrink>False</yshrink>
		      <xfill>True</xfill>
		      <yfill>False</yfill>
		    </child>
		  </widget>
		</widget>
	      </widget>

	      <widget>
		<class>GtkFrame</class>
		<name>frame9</name>
		<label>Project</label>
		<label_xalign>0</label_xalign>
		<shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
		<child>
		  <padding>0</padding>
		  <expand>True</expand>
		  <fill>True</fill>
		</child>

		<widget>
		  <class>GtkTable</class>
		  <name>table8</name>
		  <rows>3</rows>
		  <columns>2</columns>
		  <homogeneous>False</homogeneous>
		  <row_spacing>0</row_spacing>
		  <column_spacing>0</column_spacing>

		  <widget>
		    <class>GtkLabel</class>
		    <name>label24</name>
		    <label>TOOL</label>
		    <justify>GTK_JUSTIFY_CENTER</justify>
		    <wrap>False</wrap>
		    <xalign>0</xalign>
		    <yalign>0.5</yalign>
		    <xpad>0</xpad>
		    <ypad>0</ypad>
		    <child>
		      <left_attach>0</left_attach>
		      <right_attach>1</right_attach>
		      <top_attach>0</top_attach>
		      <bottom_attach>1</bottom_attach>
		      <xpad>6</xpad>
		      <ypad>0</ypad>
		      <xexpand>True</xexpand>
		      <yexpand>False</yexpand>
		      <xshrink>False</xshrink>
		      <yshrink>False</yshrink>
		      <xfill>True</xfill>
		      <yfill>False</yfill>
		    </child>
		  </widget>

		  <widget>
		    <class>GtkLabel</class>
		    <name>label25</name>
		    <label>SITE</label>
		    <justify>GTK_JUSTIFY_CENTER</justify>
		    <wrap>False</wrap>
		    <xalign>0</xalign>
		    <yalign>0.5</yalign>
		    <xpad>0</xpad>
		    <ypad>0</ypad>
		    <child>
		      <left_attach>0</left_attach>
		      <right_attach>1</right_attach>
		      <top_attach>1</top_attach>
		      <bottom_attach>2</bottom_attach>
		      <xpad>6</xpad>
		      <ypad>0</ypad>
		      <xexpand>False</xexpand>
		      <yexpand>False</yexpand>
		      <xshrink>False</xshrink>
		      <yshrink>False</yshrink>
		      <xfill>True</xfill>
		      <yfill>False</yfill>
		    </child>
		  </widget>

		  <widget>
		    <class>GtkLabel</class>
		    <name>label26</name>
		    <label>SCED</label>
		    <justify>GTK_JUSTIFY_CENTER</justify>
		    <wrap>False</wrap>
		    <xalign>0</xalign>
		    <yalign>0.5</yalign>
		    <xpad>0</xpad>
		    <ypad>0</ypad>
		    <child>
		      <left_attach>0</left_attach>
		      <right_attach>1</right_attach>
		      <top_attach>2</top_attach>
		      <bottom_attach>3</bottom_attach>
		      <xpad>6</xpad>
		      <ypad>0</ypad>
		      <xexpand>False</xexpand>
		      <yexpand>False</yexpand>
		      <xshrink>False</xshrink>
		      <yshrink>False</yshrink>
		      <xfill>True</xfill>
		      <yfill>False</yfill>
		    </child>
		  </widget>

		  <widget>
		    <class>GtkOptionMenu</class>
		    <name>TOOL</name>
		    <tooltip>Very Low : edit , code , debug                            
Low : simple , frontend , backend , CASE , little integration
Nominal : basic life-cycle tools, moderately integrated
High : strong, mature, life-cycle tools, moderately integrated
Very High : strong, mature, proactive life-cycle tools, well integrated with processes, methods, reuse</tooltip>
		    <can_focus>True</can_focus>
		    <signal>
		      <name>button_release_event</name>
		      <handler>input_state_changed</handler>
		      <last_modification_time>Sat, 27 Oct 2001 16:18:28 GMT</last_modification_time>
		    </signal>
		    <items>VL
</items>
		    <initial_choice>0</initial_choice>
		    <child>
		      <left_attach>1</left_attach>
		      <right_attach>2</right_attach>
		      <top_attach>0</top_attach>
		      <bottom_attach>1</bottom_attach>
		      <xpad>0</xpad>
		      <ypad>0</ypad>
		      <xexpand>False</xexpand>
		      <yexpand>False</yexpand>
		      <xshrink>False</xshrink>
		      <yshrink>False</yshrink>
		      <xfill>True</xfill>
		      <yfill>False</yfill>
		    </child>
		  </widget>

		  <widget>
		    <class>GtkOptionMenu</class>
		    <name>SITE</name>
		    <width>34</width>
		    <tooltip>Very Low : international / some phone , mail                       
Low : multi-city and multi-company / individual phone , fax
Nominal : multi-city or multi-company / narrowband email
High : same city or metro area / wideband electronic communication
Very High : same building or complex / wideband electronic comm. , occaisonal
video conference
Extra High : fully collocated / interactive multimedia</tooltip>
		    <can_focus>True</can_focus>
		    <signal>
		      <name>button_release_event</name>
		      <handler>input_state_changed</handler>
		      <last_modification_time>Sat, 27 Oct 2001 16:18:28 GMT</last_modification_time>
		    </signal>
		    <items> 
</items>
		    <initial_choice>0</initial_choice>
		    <child>
		      <left_attach>1</left_attach>
		      <right_attach>2</right_attach>
		      <top_attach>1</top_attach>
		      <bottom_attach>2</bottom_attach>
		      <xpad>0</xpad>
		      <ypad>0</ypad>
		      <xexpand>False</xexpand>
		      <yexpand>False</yexpand>
		      <xshrink>False</xshrink>
		      <yshrink>False</yshrink>
		      <xfill>True</xfill>
		      <yfill>False</yfill>
		    </child>
		  </widget>

		  <widget>
		    <class>GtkOptionMenu</class>
		    <name>SCED</name>
		    <width>34</width>
		    <tooltip>Very Low : 75% of nominal
Low : 85%
Nominal : 100%
High : 130%
Very High : 160%</tooltip>
		    <can_focus>True</can_focus>
		    <signal>
		      <name>button_release_event</name>
		      <handler>input_state_changed</handler>
		      <last_modification_time>Sat, 27 Oct 2001 16:18:28 GMT</last_modification_time>
		    </signal>
		    <items> 
</items>
		    <initial_choice>0</initial_choice>
		    <child>
		      <left_attach>1</left_attach>
		      <right_attach>2</right_attach>
		      <top_attach>2</top_attach>
		      <bottom_attach>3</bottom_attach>
		      <xpad>0</xpad>
		      <ypad>0</ypad>
		      <xexpand>False</xexpand>
		      <yexpand>False</yexpand>
		      <xshrink>False</xshrink>
		      <yshrink>False</yshrink>
		      <xfill>True</xfill>
		      <yfill>False</yfill>
		    </child>
		  </widget>
		</widget>
	      </widget>
	    </widget>
	  </widget>
	</widget>
      </widget>
    </widget>
  </widget>
</widget>

<widget>
  <class>GtkDialog</class>
  <name>MessageDialog</name>
  <signal>
    <name>destroy_event</name>
    <handler>gtk_widget_destroy</handler>
    <last_modification_time>Fri, 26 Oct 2001 05:09:02 GMT</last_modification_time>
  </signal>
  <title>Cost Modeler : Message</title>
  <type>GTK_WINDOW_TOPLEVEL</type>
  <position>GTK_WIN_POS_NONE</position>
  <modal>False</modal>
  <allow_shrink>True</allow_shrink>
  <allow_grow>True</allow_grow>
  <auto_shrink>False</auto_shrink>

  <widget>
    <class>GtkVBox</class>
    <child_name>Dialog:vbox</child_name>
    <name>dialog-vbox1</name>
    <homogeneous>False</homogeneous>
    <spacing>0</spacing>

    <widget>
      <class>GtkHBox</class>
      <child_name>Dialog:action_area</child_name>
      <name>dialog-action_area1</name>
      <border_width>10</border_width>
      <homogeneous>True</homogeneous>
      <spacing>5</spacing>
      <child>
	<padding>0</padding>
	<expand>False</expand>
	<fill>True</fill>
	<pack>GTK_PACK_END</pack>
      </child>

      <widget>
	<class>GtkButton</class>
	<name>button1</name>
	<can_focus>True</can_focus>
	<signal>
	  <name>released</name>
	  <handler>msg_dlg_ok</handler>
	  <last_modification_time>Fri, 26 Oct 2001 05:09:24 GMT</last_modification_time>
	</signal>
	<label>Ok</label>
	<relief>GTK_RELIEF_NORMAL</relief>
	<child>
	  <padding>0</padding>
	  <expand>False</expand>
	  <fill>False</fill>
	</child>
      </widget>
    </widget>

    <widget>
      <class>GtkHBox</class>
      <name>hbox1</name>
      <homogeneous>False</homogeneous>
      <spacing>0</spacing>
      <child>
	<padding>0</padding>
	<expand>True</expand>
	<fill>True</fill>
      </child>

      <widget>
	<class>Placeholder</class>
      </widget>

      <widget>
	<class>GtkLabel</class>
	<name>message_label</name>
	<label>message label</label>
	<justify>GTK_JUSTIFY_CENTER</justify>
	<wrap>False</wrap>
	<xalign>0.5</xalign>
	<yalign>0.5</yalign>
	<xpad>0</xpad>
	<ypad>0</ypad>
	<child>
	  <padding>6</padding>
	  <expand>True</expand>
	  <fill>False</fill>
	</child>
      </widget>
    </widget>
  </widget>
</widget>

</GTK-Interface>

--rwEMma7ioTxnRzrJ--