ParamDlg* CellTex::CreateParamDlg(HWND hwMtlEdit, IMtlParams *imp) { // paramDlg = new CellTexParamDlg(this,imp,hwMtlEdit); // return paramDlg; // create the rollout dialogs xyzGenDlg = xyzGen->CreateParamDlg(hwMtlEdit, imp); IAutoMParamDlg* masterDlg = cellTexCD.CreateParamDlgs(hwMtlEdit, imp, this); texoutDlg = texout->CreateParamDlg(hwMtlEdit, imp); // add the secondary dialogs to the master masterDlg->AddDlg(xyzGenDlg); masterDlg->AddDlg(texoutDlg); // celTex_param_blk.SetUserDlgProc(new NoiseDlgProc(this)); return masterDlg; }
// This method gets called when the material or texture is to be displayed // in the material editor parameters area. ParamDlg* Planet::CreateParamDlg(HWND hwMtlEdit, IMtlParams *imp) { // Allocate a new instance of ParamDlg to manage the UI. This will // create the rollup page in the materials editor. // PlanetDlg *planetDlg = new PlanetDlg(hwMtlEdit, imp, this); // Update the dialog display with the proper values of the texture. // planetDlg->LoadDialog(); // paramDlg = planetDlg; // return planetDlg; // create the rollout dialogs xyzGenDlg = xyzGen->CreateParamDlg(hwMtlEdit, imp); IAutoMParamDlg* masterDlg = planetCD.CreateParamDlgs(hwMtlEdit, imp, this); // add the secondary dialogs to the master masterDlg->AddDlg(xyzGenDlg); return masterDlg; }
// This method gets called when the material or texture is to be displayed // in the material editor parameters area. ParamDlg* Speckle::CreateParamDlg(HWND hwMtlEdit, IMtlParams *imp) { // Allocate a new instance of ParamDlg to manage the UI. This will // create the rollup page in the materials editor. // SpeckleDlg *speckleDlg = new SpeckleDlg(hwMtlEdit, imp, this); // Update the dialog display with the proper values of the texture. // speckleDlg->LoadDialog(); // paramDlg = speckleDlg; // return speckleDlg; xyzGenDlg = xyzGen->CreateParamDlg(hwMtlEdit, imp); IAutoMParamDlg* masterDlg = speckleCD.CreateParamDlgs(hwMtlEdit, imp, this); // add the secondary dialogs to the master masterDlg->AddDlg(xyzGenDlg); speckle_param_blk.SetUserDlgProc(new SpeckleDlgProc(this)); return masterDlg; }
ParamDlg* Noise::CreateParamDlg(HWND hwMtlEdit, IMtlParams *imp) { // JBW: the main difference here is the automatic creation of a ParamDlg by the new // ClassDesc2 function CreateParamDlgs(). This mirrors the way BeginEditParams() // can be redirected to the ClassDesc2 for automatic ParamMap2 management. In this // case a special subclass of ParamDlg, AutoMParamDlg, defined in IParamm2.h, is // created. It can act as a 'master' ParamDlg to which you can add any number of // secondary dialogs and it will make sure all the secondary dialogs are kept // up-to-date and deleted as necessary. // create the rollout dialogs xyzGenDlg = xyzGen->CreateParamDlg(hwMtlEdit, imp); IAutoMParamDlg* masterDlg = noiseCD.CreateParamDlgs(hwMtlEdit, imp, this); texoutDlg = texout->CreateParamDlg(hwMtlEdit, imp); // add the secondary dialogs to the master masterDlg->AddDlg(xyzGenDlg); masterDlg->AddDlg(texoutDlg); noise_param_blk.SetUserDlgProc(new NoiseDlgProc(this)); EnableStuff(); return masterDlg; }