# Automatically generated PSI dialog (PSI version 6.2.13)
# Wed Oct 15 14:52:30 2003

#SF_SIZES 0 0.3 2;
f_tmp = FIELD float;

# Template: slider
activate.gad = PARM(1, "activate", 0, 1.5) float "Activation" 0.000000 1 STRETCH(1,0);




# Template: single
source.gad = 

{
 LAYOUT(horizontal) STRETCH(1, 0)

 PARMLABEL("Source Group", "source") SIZE(1.5, 0);
 PARMFIELD (source.state) string VALUE(source.val) STRETCH(1,0);
 source.menu VALUE(source.menuval) SIZE(0.22, 0.22) LOOK(arrowright);
}


# Template: single
group.gad = 

{
 LAYOUT(horizontal) STRETCH(1, 0)

 PARMLABEL("Group Name", "group") SIZE(1.5, 0);
 PARMFIELD (group.state) string VALUE(group.val) STRETCH(1,0);
}


# Template: toggle
preservegroup.gad = PARMBUTTON("preservegroup") toggle LOOKTEXT(check, "Preserve Group")
		VALUE(preservegroup.val) STRETCH(1, 0);


# Template: callbackmenu
predef.gad = predef.menu VALUE(predef.menuval)
		LOOKTEXT(popdown, "Predefined Rules") STRETCH(1, 0);

# Template: single
rule.gad = 

{
 LAYOUT(horizontal) STRETCH(1, 0)

 PARMLABEL("Rule", "rule") SIZE(1.5, 0);
 PARMFIELD (rule.state) string VALUE(rule.val) STRETCH(1,0);
}


# Template: menu
boundtype.gad = 
{
 LAYOUT(horizontal) STRETCH(1, 0)

 PARMLABEL("Bounding Type", "boundtype") SIZE(1.5, 0);
 boundtype.menu VALUE(boundtype.menuval)
	    LOOKTEXT(select, boundtype.menuval, left_nowrap) STRETCH(1, 0);
}



# Template: tuple
t.gad = PARM(3, "t", 0, 1.5) float "Center" STRETCH(1, 0);


# Template: tuple
size.gad = PARM(3, "size", 0, 1.5) float "Size" STRETCH(1, 0);


# Template: dynamicmenu.jumper
soppath.gad = 
{
 LAYOUT(horizontal) STRETCH(1, 0)

 PARMLABEL("SOP", "soppath") SIZE(1.3, 0);
 BUTTON push HELP("Jump to Op") LOOKICON(PSI_Jump, highlight, locate)
             SIZE(0.2, 0.2) VALUE(soppath.jump);

 PARMFIELD (soppath.state) pathstring VALUE(soppath.val) STRETCH(1,0);
 BUTTON push VALUE(soppath.plus) LOOKICON(DialogBox, bevel)
	 SIZE(0.22, 0.22);
}
# Template: toggle
ignorexform.gad = PARMBUTTON("ignorexform") toggle LOOKTEXT(check, "Ignore Transform Object")
		VALUE(ignorexform.val) STRETCH(1, 0);


# Template: slider
densitymin.gad = PARM(1, "densitymin", 0, 1.5) float "Density Minimum" 0.000000 1 STRETCH(1,0);




# Template: single
generator.gad = 

{
 LAYOUT(horizontal) STRETCH(1, 0)

 PARMLABEL("Generators", "generator") SIZE(1.5, 0);
 PARMFIELD (generator.state) string VALUE(generator.val) STRETCH(1,0);
 generator.menu VALUE(generator.menuval) SIZE(0.22, 0.22) LOOK(arrowright);
}


# Template: slider
multi.gad = PARM(1, "multi", 0, 1.5) integer "# of Groups" 1 10 STRETCH(1,0);




# Template: slider
multiindex.gad = PARM(1, "multiindex", 0, 1.5) integer "Group Index" 0.000000 10 STRETCH(1,0);




# Template: single
instances.gad = 

{
 LAYOUT(horizontal) STRETCH(1, 0)

 PARMLABEL("Instances", "instances") SIZE(1.5, 0);
 PARMFIELD (instances.state) string VALUE(instances.val) STRETCH(1,0);
 instances.menu VALUE(instances.menuval) SIZE(0.22, 0.22) LOOK(arrowright);
}


# Template: single
grpequal.gad = 

{
 LAYOUT(horizontal) STRETCH(1, 0)

 PARMFIELD (grpequal.state) string VALUE(grpequal.val) STRETCH(1,0);
 grpequal.menu VALUE(grpequal.menuval) SIZE(0.22, 0.22) LOOK(arrowright);
 { LOOKTEXT(plain, "=")}
}


not1.gad = SWITCHER
{
 LOOK(plain) VALUE(not1.val)

 BUTTON push SENDS(1) HELP("Click to take the complement of the group")
        VALUE(not1.val) LOOKICON(Empty, bevel) SIZE(0.245, 0.245);
 BUTTON push SENDS(0)
        VALUE(not1.val) LOOKICON(exclamation, bevel) SIZE(0.245, 0.245);
}


grp1.gad =
{
 LAYOUT(horizontal) STRETCH(1, 0)

 PARMFIELD (grp1.state) string VALUE(grp1.val) STRETCH(1, 0);
 grp1.menu VALUE(grp1.menuval)
         SIZE(0.25, 0.25) LOOK(arrowright);
}


op2.gad =
 op2.menu VALUE(op2.menuval) LOOKTEXT(select, op2.menuval, left_nowrap) SIZE(1.9, 0);


not2.gad = SWITCHER
{
 LOOK(plain) VALUE(not2.val)

 BUTTON push SENDS(1) HELP("Click to take the complement of the group")
        VALUE(not2.val) LOOKICON(Empty, bevel) SIZE(0.245, 0.245);
 BUTTON push SENDS(0)
        VALUE(not2.val) LOOKICON(exclamation, bevel) SIZE(0.245, 0.245);
}


grp2.gad =
{
 LAYOUT(horizontal) STRETCH(1, 0)

 PARMFIELD (grp2.state) string VALUE(grp2.val) STRETCH(1,0);
 grp2.menu VALUE(grp2.menuval)
         SIZE(0.25, 0.25) LOOK(arrowright);
}


op3.gad =
 op3.menu VALUE(op3.menuval) LOOKTEXT(select, op3.menuval, left_nowrap) SIZE(1.9, 0);


not3.gad = SWITCHER
{
 LOOK(plain) VALUE(not3.val)

 BUTTON push SENDS(1) HELP("Click to take the complement of the group")
        VALUE(not3.val) LOOKICON(Empty, bevel) SIZE(0.245, 0.245);
 BUTTON push SENDS(0)
        VALUE(not3.val) LOOKICON(exclamation, bevel) SIZE(0.245, 0.245);
}


grp3.gad =
{
 LAYOUT(horizontal) STRETCH(1, 0)

 PARMFIELD (grp3.state) string VALUE(grp3.val) STRETCH(1,0);
 grp3.menu VALUE(grp3.menuval)
         SIZE(0.25, 0.25) LOOK(arrowright);
}


op4.gad =
 op4.menu VALUE(op4.menuval) LOOKTEXT(select, op4.menuval, left_nowrap) SIZE(1.9, 0);


not4.gad = SWITCHER
{
 LOOK(plain) VALUE(not4.val)

 BUTTON push SENDS(1) HELP("Click to take the complement of the group")
        VALUE(not4.val) LOOKICON(Empty, bevel) SIZE(0.245, 0.245);
 BUTTON push SENDS(0)
        VALUE(not4.val) LOOKICON(exclamation, bevel) SIZE(0.245, 0.245);
}


grp4.gad =
{
 LAYOUT(horizontal) STRETCH(1, 0)

 PARMFIELD (grp4.state) string VALUE(grp4.val) STRETCH(1,0);
 grp4.menu VALUE(grp4.menuval)
         SIZE(0.25, 0.25) LOOK(arrowright);
}


buttons.gad =
{
 LAYOUT(vertical) MARGIN(0.05, 0)
 # WIDTH is 4.0 here, so the widths of the buttons below are
 # 3.9 - (2 * 0.05) - (3 * 0.04) = 3.9 - 0.1 - 0.12 = 3.68

 #switcher controller
 BUTTONSTRIP radio
 {
        LAYOUT(horizontal)  STRETCH(1, 0) MARGIN(0, 0.04) LOOK(plain)
        VALUE(cswitcher.gad.val)

        BUTTON push LOOKTEXT(radio, "Rule")      SIZE(3.68/5, 0);
        BUTTON push LOOKTEXT(radio, "Bound")     SIZE(3.68/5, 0);
        BUTTON push LOOKTEXT(radio, "Gen")       SIZE(3.68/5, 0);
        BUTTON push LOOKTEXT(radio, "Rand")      SIZE(3.68/5, 0);
        BUTTON push LOOKTEXT(radio, "Inst")      SIZE(3.68/5, 0);
 }

 #page enable buttons
 BUTTONSTRIP bitmap
 {
  LAYOUT(horizontal) STRETCH(1, 0) MARGIN(0, 0.04) LOOK(plain)
        VALUE(enable.val)

  BUTTON toggle LOOKTEXT(check, "Enable") SIZE(3.68/5, 0);
  BUTTON toggle LOOKTEXT(check, "Enable") SIZE(3.68/5, 0);
  BUTTON toggle LOOKTEXT(check, "Enable") SIZE(3.68/5, 0);
  BUTTON toggle LOOKTEXT(check, "Enable") SIZE(3.68/5, 0);
  BUTTON toggle LOOKTEXT(check, "Enable") SIZE(3.68/5, 0);
 }
}
 
# Template: toggle
doselect.gad = PARMBUTTON("doselect") toggle LOOKTEXT(check, "Select group in detail")
		VALUE(doselect.val) STRETCH(1, 0);


# Template: single
select.gad = 

{
 LAYOUT(horizontal) STRETCH(1, 0)

 PARMLABEL("Select Group", "select") SIZE(1.5, 0);
 PARMFIELD (select.state) string VALUE(select.val) STRETCH(1,0);
 select.menu VALUE(select.menuval) SIZE(0.22, 0.22) LOOK(arrowright);
}


cswitcher.gad =
{
 LAYOUT(vertical) STRETCH(1, 0) MARGIN(0, 0) LOOK(line)

 buttons.gad;

 SWITCHER
 {
         LOOK(line) STRETCH(1, 0) LAYOUT(overlap!) MARGIN(0.05, 0)
	 VALUE(cswitcher.gad.val)
	 {
		LAYOUT(vertical) MARGIN(0, 0.025) STRETCH(1, 0)

		predef.gad;
		rule.gad;
	 }

	 {
		LAYOUT(vertical) MARGIN(0, 0.025) STRETCH(1, 0)

		boundtype.gad;
		t.gad;
		size.gad;
		soppath.gad;
		ignorexform.gad;
		densitymin.gad;
	 }

	 {
		LAYOUT(vertical) MARGIN(0, 0.025) STRETCH(1, 0)

		generator.gad;
	 }

	 {
		LAYOUT(vertical) MARGIN(0, 0.025) STRETCH(1, 0)

		multi.gad;
		multiindex.gad;
	 }

	 {
		LAYOUT(vertical) MARGIN(0, 0.025) STRETCH(1, 0)

		instances.gad;
	 }

 }
}

mswitcher.gad = 
{
 LAYOUT(vertical) STRETCH(1, 0)

 { LOOK(none) SIZE(0, 0.05) }	# Spacer

 BUTTONSTRIP radio
 {
	LAYOUT(horizontal!) MARGIN(0, 0) LOOK(none) STRETCH(1, 0)
	VALUE(mswitcher.gad.val)

	BUTTON push LAYOUT(horizontal!) LOOKTEXT(folder, "Create") STRETCH(1, 0);
	BUTTON push LAYOUT(horizontal!) LOOKTEXT(folder, "Combine") STRETCH(1, 0);
	BUTTON push LAYOUT(horizontal!) LOOKTEXT(folder, "Select") STRETCH(1, 0);
 }
 {
	LAYOUT(vertical) LOOK(tabdialog) STRETCH(1, 0) MARGIN(0.05, 0)

	{ SIZE(0, 0.05) }

	SWITCHER
	{
	 LOOK(plain) STRETCH(1, 0) LAYOUT(overlap!)
	 VALUE(mswitcher.gad.val)
	 {
		LAYOUT(vertical) MARGIN(0, 0.02) STRETCH(1, 0)

		source.gad;
		group.gad;
		preservegroup.gad;
		cswitcher.gad;
	 }

	 {
		LAYOUT(vertical) MARGIN(0, 0.025) STRETCH(1, 0)

                { LAYOUT(horizontal) STRETCH(1,0) MARGIN(0, 0.025)
                 grpequal.gad; not1.gad; grp1.gad; }
                { LAYOUT(horizontal) STRETCH(1,0) MARGIN(0, 0.025)
                 op2.gad; not2.gad; grp2.gad;}
                { LAYOUT(horizontal) STRETCH(1,0) MARGIN(0, 0.025)
                 op3.gad; not3.gad; grp3.gad; }
                { LAYOUT(horizontal) STRETCH(1,0) MARGIN(0, 0.025)
                 op4.gad; not4.gad; grp4.gad; }
	 }	

	 {
		LAYOUT(vertical) MARGIN(0, 0.02) STRETCH(1, 0)

		doselect.gad;
		select.gad;
	 }

	}
 }
}

dialog_norm.gad = 
{
 LAYOUT(vertical>) MARGIN(0, 0.02) STRETCH(1, 0) LOOK(plain)

# { LOOK(none) SIZE(3, 0.01) STRETCH(0, 0) }	# This sets min width
# { LOOK(underline) SIZE(0, 0.01) STRETCH(1, 0) }

 activate.gad;
 mswitcher.gad;
}


preset.menu = APPMENUBUTTON cursor VALUE(PSI_PRESET);

yank_info = LOOKSIZEFEEL
{ 
    FULLOVERLAY LAYOUT(horizontal) MARGIN(0.1, 0)

    LOOKTEXT(paper, PSI_COPY_INFO)
    VALUE(PSI_COPY_INFO)
}

extrastuffstowbar_minimize.val := 1;

dialog = OPENNOTIFIER
{
    LAYOUT(vertical>) MARGIN(0, 0.02) LOOK(plain) VALUE(open.val)
    STRETCH(1, 0)
     
    SWITCHER tight
    {
	LAYOUT(overlap%) VALUE(extrastuffstowbar_minimize.val) STRETCH(1, 0) LOOK(plain)
	{
	    LAYOUT(horizontal%) MARGIN(0.02, 0) STRETCH(1, 0)

	    BUTTON push SENDS(1) HELP("Push to hide parameter controls")
			LOOK(bevel2) VALUE(extrastuffstowbar_minimize.val) SIZE(0.06, 0)
			STRETCH(0, 1);

	    {
		LAYOUT(horizontal) MARGIN(0, 0)

		BUTTON repeat SENDS(-1)
		    HELP("Jump To Previous Keyframe In This Operator")
		    LOOKSYMBOL("prevKey", "PlayBarOnColor", none)
		    FGCOLOR("PlayBarOffColor") BGCOLOR("BackgroundColor")
		    LOOKOPTION(shifted, 0) SIZE(0.2, 0.2) VALUE(PSI_KEY_STEP);
		BUTTON repeat SENDS( 1)
		    HELP("Jump To Next Keyframe In This Operator")
		    LOOKSYMBOL("nextKey", "PlayBarOnColor", none)
		    FGCOLOR("PlayBarOffColor") BGCOLOR("BackgroundColor")
		    LOOKOPTION(shifted, 0) SIZE(0.2, 0.2) VALUE(PSI_KEY_STEP);
	    }
	    MENUBUTTON yank_info cursor LOOKICON(SI_clipboard, bevel) 
			SIZE(0.2, 0.2);
	    {
		LAYOUT(horizontal) MARGIN(0, 0.02)
		MENUBUTTON preset.menu sticky LOOKTEXT(popdown, "Presets")
			    VALUE(PSI_PRESET);
	    }
	}
	{
	    LAYOUT(horizontal) MARGIN(0, 0) STRETCH(1, 0)
	    BUTTON push SENDS(0) HELP("Push to show parameter controls")
			LOOK(bevel2) VALUE(extrastuffstowbar_minimize.val) 
			SIZE(0, 0.06) STRETCH(1, 0);
	}
    }

    dialog_norm.gad;
}
#SF_SIZES;
