Exemple #1
0
void CExtObject::BeginEditParams(IObjParam *ip,ULONG flags,Animatable *prev)
{
	SimpleObject::BeginEditParams(ip,flags,prev);

	if (pmapCreate && pmapParam) {

		// Left over from last CExt ceated
		pmapCreate->SetParamBlock(this);
		pmapTypeIn->SetParamBlock(this);
		pmapParam->SetParamBlock(pblock);
		CExtWidthDlgProc* dlg = static_cast<CExtWidthDlgProc*>(pmapParam->GetUserDlgProc());
		if (dlg != NULL) {
			BOOL rws = dlg->GetRWSState();
			SetUsePhysicalScaleUVs(rws);
		}
	} else {

		// Gotta make a new one.
		if (flags&BEGIN_EDIT_CREATE) {
			pmapCreate = CreateCPParamMap(
				descCreate,CREATEDESC_LENGTH,
				this,
				ip,
				hInstance,
				MAKEINTRESOURCE(IDD_UEXTRUSIONS1),
				GetString(IDS_RB_CREATE_DIALOG),
				0);

			pmapTypeIn = CreateCPParamMap(
				descTypeIn,TYPEINDESC_LENGTH,
				this,
				ip,
				hInstance,
				MAKEINTRESOURCE(IDD_C_EXTRUSION2),
				GetString(IDS_RB_KEYBOARDENTRY),
				APPENDROLL_CLOSED);			
		}

		pmapParam = CreateCPParamMap(
			descParam,PARAMDESC_LENGTH,
			pblock,
			ip,
			hInstance,
			MAKEINTRESOURCE(IDD_C_EXTRUSION3),
			GetString(IDS_AP_PARAMETERS),
			0);
	}

	this->ip = ip;

	if(pmapTypeIn) {
		// A callback for the type in.
		pmapTypeIn->SetUserDlgProc(new CExtTypeInDlgProc(this));
	}	
	if(pmapParam) {
		// A callback for the type in.
		pmapParam->SetUserDlgProc(new CExtWidthDlgProc(this));
	}
}
Exemple #2
0
void ScubaObject::BeginEditParams(IObjParam *ip,ULONG flags,Animatable *prev)
	{
	SimpleObject::BeginEditParams(ip,flags,prev);

	if (pmapCreate && pmapParam) {
		
		// Left over from last Scuba ceated
		pmapCreate->SetParamBlock(this);
		pmapTypeIn->SetParamBlock(this);
		pmapParam->SetParamBlock(pblock);
        ScubaHeightDlgProc* dlg = static_cast<ScubaHeightDlgProc*>(pmapParam->GetUserDlgProc());
        if (dlg != NULL) {
            BOOL rws = dlg->GetRWSState();
            SetUsePhysicalScaleUVs(rws);
        }
	} else {
		
		if (flags&BEGIN_EDIT_CREATE) {
			pmapCreate = CreateCPParamMap(
				descCreate,CREATEDESC_LENGTH,
				this,
				ip,
				hInstance,
				MAKEINTRESOURCE(IDD_UREVS1),
				GetString(IDS_RB_CREATE_DIALOG),
				0);

			pmapTypeIn = CreateCPParamMap(
				descTypeIn,TYPEINDESC_LENGTH,
				this,
				ip,
				hInstance,
				MAKEINTRESOURCE(IDD_SCUBA2),
				GetString(IDS_RB_KEYBOARDENTRY),
				APPENDROLL_CLOSED);			
			}

		pmapParam = CreateCPParamMap(
			descParam,PARAMDESC_LENGTH,
			pblock,
			ip,
			hInstance,
			MAKEINTRESOURCE(IDD_SCUBA3),
			GetString(IDS_AP_PARAMETERS),
			0);
		}


	this->ip = ip;

	if(pmapTypeIn) {
		pmapTypeIn->SetUserDlgProc(new ScubaTypeInDlgProc(this));
		}
	if(pmapParam) {
		pmapParam->SetUserDlgProc(new ScubaHeightDlgProc(this));
		}
	}
Exemple #3
0
void PrismObject::BeginEditParams(IObjParam *ip,ULONG flags,Animatable *prev)
	{
	SimpleObject::BeginEditParams(ip,flags,prev);
	this->ip = ip;

	if (pmapCreate && pmapParam) {
		
		// Left over from last Prism ceated
		pmapCreate->SetParamBlock(this);
		pmapTypeIn->SetParamBlock(this);
		pmapParam->SetParamBlock(pblock);
	} else {
		
		// Gotta make a new one.
		if (flags&BEGIN_EDIT_CREATE) {
			pmapCreate = CreateCPParamMap(
				descCreate,CREATEDESC_LENGTH,
				this,
				ip,
				hInstance,
				MAKEINTRESOURCE(IDD_PRISM1),
				GetString(IDS_RB_CREATE_DIALOG),
				0);

			pmapTypeIn = CreateCPParamMap(
				descTypeIn,TYPEINDESC_LENGTH,
				this,
				ip,
				hInstance,
				MAKEINTRESOURCE(IDD_PRISM2),
				GetString(IDS_RB_KEYBOARDENTRY),
				APPENDROLL_CLOSED);			
			}

		pmapParam = CreateCPParamMap(
			descParam,PARAMDESC_LENGTH,
			pblock,
			ip,
			hInstance,
			MAKEINTRESOURCE(IDD_PRISM3),
			GetString(IDS_AP_PARAMETERS),
			0);
		}

	if(pmapTypeIn) {
		// A callback for the type in.
		pmapTypeIn->SetUserDlgProc(new PrismTypeInDlgProc(this));
		}	
	if(pmapParam) {
		pmapParam->SetUserDlgProc(new PrismSideDlgProc(this));
		}
	}
Exemple #4
0
void RectangleObject::BeginEditParams( IObjParam *ip, ULONG flags,Animatable *prev)
	{
	SimpleSpline::BeginEditParams(ip,flags,prev);
	this->ip = ip;

	if (pmapCreate && pmapParam) {
		
		// Left over from last shape ceated
		pmapCreate->SetParamBlock(this);
		pmapTypeIn->SetParamBlock(this);
		pmapParam->SetParamBlock(pblock);
	} else {
		
		// Gotta make a new one.
		if (flags&BEGIN_EDIT_CREATE) {
			pmapCreate = CreateCPParamMap(
				descCreate,CREATEDESC_LENGTH,
				this,
				ip,
				hInstance,
				MAKEINTRESOURCE(IDD_RECTANGLEPARAM1),
				GetString(IDS_TH_CREATION_METHOD),
				0);

			pmapTypeIn = CreateCPParamMap(
				descTypeIn,TYPEINDESC_LENGTH,
				this,
				ip,
				hInstance,
				MAKEINTRESOURCE(IDD_RECTANGLEPARAM3),
				GetString(IDS_TH_KEYBOARD_ENTRY),
				APPENDROLL_CLOSED);
			}

		pmapParam = CreateCPParamMap(
			descParam,PARAMDESC_LENGTH,
			pblock,
			ip,
			hInstance,
			MAKEINTRESOURCE(IDD_RECTANGLEPARAM2),
			GetString(IDS_TH_PARAMETERS),
			0);
		}

	if(pmapTypeIn) {
		// A callback for the type in.
		pmapTypeIn->SetUserDlgProc(new RectangleTypeInDlgProc(this));
		}
	}
Exemple #5
0
void
TouchSensorObject::BeginEditParams( IObjParam *ip, ULONG flags,
                                   Animatable *prev )
{
    iObjParams = ip;
    
    if (pmapParam) {
        // Left over from last TouchSensor created		
        pmapParam->SetParamBlock(pblock);
    } else {
        
        // Gotta make a new one.
        pmapParam = CreateCPParamMap(descParam,PARAMDESC_LENGTH,
                                     pblock,
                                     ip,
                                     hInstance,
                                     MAKEINTRESOURCE(IDD_TOUCH_SENSOR),
                                     _T("Touch Sensor"/*JP_LOC*/),
                                     0);
    }
    
    if (pmapParam) {
        // A callback for dialog
        pmapParam->SetUserDlgProc(new TouchSensorParamDlgProc(this));
    }
}
Exemple #6
0
void FExtrudeMod::BeginEditParams(
		IObjParam  *ip, ULONG flags,Animatable *prev)
	{
	this->ip = ip;
	editMod  = this;

	// Add our sub object type
	// TSTR type1(GetString(IDS_RB_EXTRUDECENT));
	// const TCHAR *ptype[] = {type1};
	// This call is obsolete. Please see BaseObject::NumSubObjTypes() and BaseObject::GetSubObjType()
	// ip->RegisterSubObjectTypes(ptype, 1);

	// Create sub object editing modes.
	moveMode    = new MoveModBoxCMode(this,ip);
	
	TimeValue t = ip->GetTime();
	NotifyDependents(Interval(t,t), PART_ALL, REFMSG_BEGIN_EDIT);
	NotifyDependents(Interval(t,t), PART_ALL, REFMSG_MOD_DISPLAY_ON);
	SetAFlag(A_MOD_BEING_EDITED);

	pmapParam = CreateCPParamMap(
		descParam,PARAMDESC_LENGTH,
		pblock,
		ip,
		hInstance,
		MAKEINTRESOURCE(IDD_FACEEXTRUDEPARAM),
		GetString(IDS_RB_PARAMETERS),
		0);	
	}
Exemple #7
0
void SWrapObject::BeginEditParams(
		IObjParam *ip,ULONG flags,Animatable *prev)
	{
	this->ip = ip;
	if (flags&BEGIN_EDIT_CREATE) {
		creating = TRUE;
	} else { creating = FALSE; }

	if (pmapParam) {		
		// Left over
		pmapParam->SetParamBlock(pblock);
	} else {		
		hSot = ip->AddRollupPage( 
			hInstance, 
			MAKEINTRESOURCE(IDD_SW_DESC),
			DefaultSOTProc,
			GetString(IDS_AP_TOP), 
			(LPARAM)ip,APPENDROLL_CLOSED);

		// Gotta make a new one.
		pmapParam = CreateCPParamMap(
			descParam,PARAMDESC_LENGTH,
			pblock,
			ip,
			hInstance,
			MAKEINTRESOURCE(IDD_AP_SURFWRAP),
			GetString(IDS_AP_PARAMETERS),
			0);
		}
		if (pmapParam)
			pmapParam->SetUserDlgProc(new SWrapObjectDlgProc(this));
	}
Exemple #8
0
void PBombObject::BeginEditParams(
		IObjParam *ip,ULONG flags,Animatable *prev)
	{
	SimpleWSMObject::BeginEditParams(ip,flags,prev);
	this->ip = ip;

	if (pmapParam) {		
		// Left over
		pmapParam->SetParamBlock(pblock);
	} else {		
		hSot = ip->AddRollupPage( 
			hInstance, 
			MAKEINTRESOURCE(IDD_SW_DESC_BOTH),
			DefaultSOTProc,
			GetString(IDS_RB_TOP), 
			(LPARAM)ip,APPENDROLL_CLOSED);

		// Gotta make a new one.
		pmapParam = CreateCPParamMap(
			descParamBomb,BOMBPARAMDESC_LENGTH,
			pblock,
			ip,
			hInstance,
			MAKEINTRESOURCE(IDD_SW_PARTICLEBOMB),
			GetString(IDS_RB_PARAMETERS),
			0);
		}
		if (pmapParam) pmapParam->SetUserDlgProc(new PBombDlgProc(this));
	}
Exemple #9
0
void
	FogObject::BeginEditParams( IObjParam *ip, ULONG flags,
	Animatable *prev )
{
	iObjParams = ip;

	if (pmapParam) {

		// Left over from last Fog created		
		pmapParam->SetParamBlock(pblock);
	} else {

		// Gotta make a new one.
		pmapParam = CreateCPParamMap(descParam,PARAMDESC_LENGTH,
			pblock,
			ip,
			hInstance,
			MAKEINTRESOURCE(IDD_FOG),
			GetString(IDS_FOG_CLASS),
			0);
	}

	if (pmapParam) {
		// A callback for dialog
		pmapParam->SetUserDlgProc(new FogParamDlgProc(this));
	}
}
Exemple #10
0
void WaveObject::BeginEditParams(IObjParam *ip,ULONG flags,Animatable *prev)
	{
	SimpleWSMObject::BeginEditParams(ip,flags,prev);
	this->ip = ip;

	if (pmapParam) {
		
		// Left over from last SinWave ceated
		pmapParam->SetParamBlock(pblock);
	} else {
		hSot = ip->AddRollupPage( 
				hInstance, 
				MAKEINTRESOURCE(IDD_SINWAVE_SOT),
				DefaultSOTProc,
				GetString(IDS_RB_SOT), 
				(LPARAM)ip,APPENDROLL_CLOSED);

		// Gotta make a new one.
		pmapParam = CreateCPParamMap(
			descParamObj,OBJPARAMDESC_LENGH,
			pblock,
			ip,
			hInstance,
			MAKEINTRESOURCE(DialogID()),
			GetString(IDS_RB_PARAMETERS),
			0);		
		}
	}
Exemple #11
0
/*===========================================================================*\
 | User Interface stuff...
\*===========================================================================*/
void SpherifyMod::BeginEditParams(IObjParam *ip, 
	ULONG flags, Animatable *prev) {
	this->ip = ip;
	// Create and add the Alter rollup to the command panel...
	pmap = CreateCPParamMap(descParam, DESC_LENGTH,
		pblock, ip, hInstance, MAKEINTRESOURCE(IDD_SPHERIFY), 
		GetString(IDS_PARAMETERS), 0);
}
Exemple #12
0
void NormalMod::BeginEditParams(IObjParam *ip, ULONG flags,Animatable *prev)
   {
   pmapParam = CreateCPParamMap(
      descNormParam,NORMPARAMDESC_LENGH,
      pblock,
      ip,
      hInstance,
      MAKEINTRESOURCE(IDD_NORMALPARAM),
      GetString(IDS_RB_PARAMETERS),
      0);      
   }
Exemple #13
0
void WaveMod::BeginEditParams( IObjParam *ip, ULONG flags,Animatable *prev )
	{
	SimpleWSMMod::BeginEditParams(ip,flags,prev);
		
	pmapParam = CreateCPParamMap(
		descParamMod,MODPARAMDESC_LENGH,
		pblock,
		ip,
		hInstance,
		MAKEINTRESOURCE(IDD_SINWAVEMODPARAM),
		GetString(IDS_RB_PARAMETERS),
		0);		
	}
Exemple #14
0
void
BackgroundObject::BeginEditParams( IObjParam *ip, ULONG flags,
                                Animatable *prev )
{
    iObjParams = ip;
    
    if (skyParam) {
        
        // Left over from last Background created		
        skyParam->SetParamBlock(pblock);
        groundParam->SetParamBlock(pblock);

    } else {
        
        // Gotta make a new one.
        skyParam = CreateCPParamMap(descSkyParam,PARAMDESC_SKY_LENGTH,
                                     pblock,
                                     ip,
                                     hInstance,
                                     MAKEINTRESOURCE(IDD_BACKGROUND_COLORS),
                                     GetString(IDS_SKY_COLORS),
                                     0);
        groundParam = CreateCPParamMap(descGroundParam,PARAMDESC_GROUND_LENGTH,
                                     pblock,
                                     ip,
                                     hInstance,
                                     MAKEINTRESOURCE(IDD_BACKGROUND_COLORS1),
                                     GetString(IDS_GROUND_COLORS),
                                     APPENDROLL_CLOSED);
     // imageDlg = ip->AddRollupPage(hInstance,
        imgDlg = GetCOREInterface()->AddRollupPage(hInstance,
                                     MAKEINTRESOURCE(IDD_BACKGROUND_IMAGES),
                                     BackgroundImageDlgProc,
                                     GetString(IDS_IMAGES),
                                     (LPARAM) this,
                                     APPENDROLL_CLOSED);
    }
    
}
Exemple #15
0
void TriPatchObject::BeginEditParams( IObjParam *ip, ULONG flags, Animatable *prev )
	{
	editOb = this;
	this->ip = ip;
	
	if (pmapTypeIn && pmapParam) {
		
		// Left over from last shape ceated
		pmapTypeIn->SetParamBlock(this);
		pmapParam->SetParamBlock(pblock);
	} else {
		
		// Gotta make a new one.
		if (flags&BEGIN_EDIT_CREATE) {
			pmapTypeIn = CreateCPParamMap(
				descTypeIn,TYPEINDESC_LENGTH,
				this,
				ip,
				hInstance,
				MAKEINTRESOURCE(IDD_TRIPATCHPARAM2),
				GetString(IDS_TH_KEYBOARD_ENTRY),
				APPENDROLL_CLOSED);
			}

		pmapParam = CreateCPParamMap(
			descParam,PARAMDESC_LENGTH,
			pblock,
			ip,
			hInstance,
			MAKEINTRESOURCE(IDD_TRIPATCHPARAM),
			GetString(IDS_TH_PARAMETERS),
			0);
		}

	if(pmapTypeIn) {
		// A callback for the type in.
		pmapTypeIn->SetUserDlgProc(new TriPatchTypeInDlgProc(this));
		}
	}
Exemple #16
0
void OptMod::BeginEditParams(IObjParam *ip, ULONG flags,Animatable *prev)
	{
	pmapParam = CreateCPParamMap(
		descParam,PARAMDESC_LENGH,
		pblock,
		ip,
		hInstance,
		MAKEINTRESOURCE(IDD_OPTIMIZEPARAM),
		GetString(IDS_RB_PARAMETERS),
		0);	
	theOptProc.ip  = ip;
	theOptProc.mod = this;
	pmapParam->SetUserDlgProc(&theOptProc);
	}
Exemple #17
0
void SkewMod::BeginEditParams( IObjParam *ip, ULONG flags,Animatable *prev )
	{
	SimpleMod::BeginEditParams(ip,flags,prev);
		
	pmapParam = CreateCPParamMap(
		descParam,PARAMDESC_LENGH,
		pblock,
		ip,
		hInstance,
		MAKEINTRESOURCE(IDD_SKEWPARAM),
		GetString(IDS_RB_PARAMETERS),
		0);	
	pmapParam->SetUserDlgProc(&theSkewProc);
	}
Exemple #18
0
void PinObject::BeginEditParams(IObjParam *ip,ULONG flags,Animatable *prev)
{
	SimpleWSMObject::BeginEditParams(ip,flags,prev);
	this->ip = ip;
	if (pmapParam)
	{	// Left over
		pmapParam->SetParamBlock(pblock);
	}
	else
	{	hSot = ip->AddRollupPage(hInstance,MAKEINTRESOURCE(IDD_SW_DESC_DYNONLY),DefaultSOTProc,GetString(IDS_AP_TOP),(LPARAM)ip,APPENDROLL_CLOSED);
		// Gotta make a new one.
		pmapParam = CreateCPParamMap(descParamPin,PINPARAMDESC_LENGTH,pblock,ip,hInstance,MAKEINTRESOURCE(IDD_SW_DYNPIN),GetString(IDS_AP_PARAMETERS),0);
	}
}
Exemple #19
0
void RelaxMod::BeginEditParams( IObjParam *ip, ULONG flags,Animatable *prev ) {
	this->ip = ip;
	editMod = this;

	TimeValue t = ip->GetTime();
	NotifyDependents(Interval(t,t), PART_ALL, REFMSG_BEGIN_EDIT);
	NotifyDependents(Interval(t,t), PART_ALL, REFMSG_MOD_DISPLAY_ON);
	SetAFlag(A_MOD_BEING_EDITED);

	pmapParam = CreateCPParamMap(
		descParam,PARAMDESC_LENGTH,
		pblock,
		ip,
		hInstance,
		MAKEINTRESOURCE(IDD_RELAX),
		GetString (IDS_PARAMETERS),
		0);
}
Exemple #20
0
void StretchMod::BeginEditParams( IObjParam *ip, ULONG flags,Animatable *prev )
{
    SimpleMod::BeginEditParams(ip,flags,prev);
        
    static int loaded = 0;
    static TCHAR stringBuf[MAX_STRING_LENGTH];
    if (! loaded) {
        LoadString (hResource, IDS_PARAMETERS, stringBuf, 
                    MAX_STRING_LENGTH);
        loaded = 1;
    }

    pmapParam = 
        CreateCPParamMap (descParam, PARAMDESC_LENGH,
                          pblock, ip, hResource,
                          MAKEINTRESOURCE(IDD_STRETCHPARAM),
                          stringBuf, 0);        
    pmapParam->SetUserDlgProc(&theStretchProc);
}
Exemple #21
0
void SimpleOSMToWSMObject::BeginEditParams(
		IObjParam  *ip, ULONG flags,Animatable *prev)
	{
	SimpleWSMObject::BeginEditParams(ip,flags,prev);
	if (pmapParam) {
		pmapParam->SetParamBlock(pblock);
	} else {
		pmapParam = CreateCPParamMap(
			descParam,PARAMDESC_LENGH,
			pblock,
			ip,
			getResMgr().getHInst(RES_ID_RB),
			MAKEINTRESOURCE(IDD_OSMTOWSMPARAMS),
			GetResString(IDS_RB_GIZMOPARAMS),
			0);
		}
	mod->BeginEditParams(ip,flags,prev);
	// This call is obsolete. Please see BaseObject::NumSubObjTypes() and BaseObject::GetSubObjType()
	// ip->RegisterSubObjectTypes(NULL,0);
	}
void bhkRigidBodyIfcHelper::BeginEditRBParams(IObjParam *ip,ULONG flags,Animatable *prev)
{
   // Gotta make a new one.
   if (NULL == rbpmapParam) 
   {
      rbpmapParam = CreateCPParamMap(
         descRigidBodyParam,descRigidBodyParamLength,
         rbpblock,
         ip,
         hInstance,
         MAKEINTRESOURCE(IDD_RIGIDBODY),
         GetString(IDS_RB_RIGIDBODY_PARAM),
         0);
   }
   this->rbip = ip;

   if(rbpmapParam) {
      // A callback for the type in.
      rbpmapParam->SetUserDlgProc(new RigidBodyParamDlgProc(this));
   }
}
Exemple #23
0
void
BillboardObject::BeginEditParams( IObjParam *ip, ULONG flags,
                                Animatable *prev )
{
    iObjParams = ip;
    
    if (pmapParam) {
        
        // Left over from last Billboard created		
        pmapParam->SetParamBlock(pblock);
    } else {
        
        // Gotta make a new one.
        pmapParam = CreateCPParamMap(descParam,PARAMDESC_LENGTH,
                                     pblock,
                                     ip,
                                     hInstance,
                                     MAKEINTRESOURCE(IDD_BBOARD),
                                     GetString(IDS_BILLBOARD_CLASS),
                                     0);
    }
    
}
Exemple #24
0
void
Cal3DObject::BeginEditParams(IObjParam *ip, ULONG flags,
                             Animatable *prev)
{
    iObjParams = ip;
    TimeValue t = ip->GetTime(); // not really needed...yet

    if (pmapParam)
    {

        // Left over from last Cal3D created
        pmapParam->SetParamBlock(pblock);
    }
    else
    {

        // Gotta make a new one.
        pmapParam = CreateCPParamMap(descParam, PARAMDESC_LENGTH,
                                     pblock,
                                     ip,
                                     hInstance,
                                     MAKEINTRESOURCE(IDD_CAL3D),
                                     _T("Cal3D" /*JP_LOC*/),
                                     0);
    }

    if (pmapParam)
    {
        // A callback for dialog
        pmapParam->SetUserDlgProc(new Cal3DParamDlgProc(this));
    }

    animationIDSpin = GetISpinner(GetDlgItem(hRollup, IDC_ANIMATION_SPIN));
    actionIDSpin = GetISpinner(GetDlgItem(hRollup, IDC_ACTION_SPIN2));

    sizeSpin = GetISpinner(GetDlgItem(hRollup, IDC_CAL_ICON_SIZE_SPINNER));
}
Exemple #25
0
// This method is called by the system when the user needs 
// to edit the objects parameters in the command panel.  
void ChBoxObject::BeginEditParams(IObjParam *ip,ULONG flags,Animatable *prev)
{
	// We subclass off SimpleObject so we must call its
	// BeginEditParams() method first.
	SimpleObject::BeginEditParams(ip,flags,prev);
	// Save the interface pointer.

	if (pmapCreate && pmapParam) {

		// Left over from last box ceated
		pmapCreate->SetParamBlock(this);
		pmapTypeIn->SetParamBlock(this);
		pmapParam->SetParamBlock(pblock);
		ChBoxParamDlgProc* dlg = static_cast<ChBoxParamDlgProc*>(pmapParam->GetUserDlgProc());
		if (dlg != NULL) {
			BOOL rws = dlg->GetRWSState();
			SetUsePhysicalScaleUVs(rws);
		}
	} else {

		// Gotta make a new one.
		if (flags&BEGIN_EDIT_CREATE) {
			// Here we create each new rollup page in the command panel
			// using our descriptors.
			pmapCreate = CreateCPParamMap(
				descCreate,CREATEDESC_LENGTH,
				this,
				ip,
				hInstance,
				MAKEINTRESOURCE(IDD_CHAMFERCUBE1),
				GetString(IDS_RB_CREATE_DIALOG),
				0);

			pmapTypeIn = CreateCPParamMap(
				descTypeIn,TYPEINDESC_LENGTH,
				this,
				ip,
				hInstance,
				MAKEINTRESOURCE(IDD_CHAMFERCUBE2),
				GetString(IDS_RB_KEYBOARDENTRY),
				APPENDROLL_CLOSED);
		}

		pmapParam = CreateCPParamMap(
			descParam,PARAMDESC_LENGTH,
			pblock,
			ip,
			hInstance,
			MAKEINTRESOURCE(IDD_CHAMFERCUBE3),
			GetString(IDS_AP_PARAMETERS),
			0);
	}

	this->ip = ip;

	if(pmapTypeIn) {
		// A callback for the type in.
		// This handles processing the Create button in the 
		// Keyboard Entry rollup page.
		pmapTypeIn->SetUserDlgProc(new ChBoxTypeInDlgProc(this));
	}
	if (pmapParam != NULL) {
		pmapParam->SetUserDlgProc(new ChBoxParamDlgProc(this));
	}
}