void PaintPatchMod::BeginEditParams(IObjParam *ip, ULONG flags, Animatable *prev) { this->ip = ip; CreatePatchDataTempData(); hOpsPanel = ip->AddRollupPage(hInstance, MAKEINTRESOURCE(IDD_EDPATCH_OPS), PatchOpsDlgProc, "Geometry", (LPARAM) this, rsOps ? 0 : APPENDROLL_CLOSED); // Create sub object editing modes. paintMode = new EPM_PaintCMode(this, ip); // Disable show end result. ip->EnableShowEndResult(FALSE); // Setup named selection sets SetupNamedSelDropDown(); 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); }
void EditPatchMod::BeginEditParams(IObjParam *ip, ULONG flags, Animatable *prev) { this->ip = ip; patchUIValid = FALSE; CreatePatchDataTempData(); hSelectPanel = ip->AddRollupPage(hInstance, MAKEINTRESOURCE(IDD_EDPATCH_SELECT), PatchSelectDlgProc, GetString(IDS_TH_SELECTION), (LPARAM)this, rsSel ? 0 : APPENDROLL_CLOSED); hOpsPanel = ip->AddRollupPage(hInstance, MAKEINTRESOURCE(IDD_EDPATCH_OPS), PatchOpsDlgProc, GetString(IDS_TH_GEOMETRY), (LPARAM) this, rsOps ? 0 : APPENDROLL_CLOSED); /* watje 3 - 18 - 99 if (selLevel == EP_OBJECT) { hSurfPanel = ip->AddRollupPage(hInstance, MAKEINTRESOURCE(IDD_EDPATCH_SURF_OBJ), PatchObjSurfDlgProc, GetString(IDS_TH_SURFACEPROPERTIES), (LPARAM) this, rsSurf ? 0 : APPENDROLL_CLOSED); } else */ if (selLevel == EP_PATCH) { hSurfPanel = ip->AddRollupPage(hInstance, MAKEINTRESOURCE(IDD_EDPATCH_SURF), PatchSurfDlgProc, GetString(IDS_TH_SURFACEPROPERTIES), (LPARAM) this, rsSurf ? 0 : APPENDROLL_CLOSED); } else hSurfPanel = NULL; if (selLevel == EP_TILE) { hTilePanel = ip->AddRollupPage(hInstance, MAKEINTRESOURCE(IDD_EDPATCH_TILE), PatchTileDlgProc, "Tile Properties", (LPARAM) this, rsTile ? 0 : APPENDROLL_CLOSED); } else hTilePanel = NULL; if (selLevel == EP_EDGE) { hEdgePanel = ip->AddRollupPage(hInstance, MAKEINTRESOURCE(IDD_EDPATCH_EDGE), PatchEdgeDlgProc, "Edge Properties", (LPARAM) this, rsEdge ? 0 : APPENDROLL_CLOSED); } else hEdgePanel = NULL; // Create sub object editing modes. moveMode = new MoveModBoxCMode(this, ip); rotMode = new RotateModBoxCMode(this, ip); uscaleMode = new UScaleModBoxCMode(this, ip); nuscaleMode = new NUScaleModBoxCMode(this, ip); squashMode = new SquashModBoxCMode(this, ip); selectMode = new SelectModBoxCMode(this, ip); extrudeMode = new EPM_ExtrudeCMode(this, ip); bevelMode = new EPM_BevelCMode(this, ip); bindMode = new EPM_BindCMode(this, ip); // Restore the selection level. ip->SetSubObjectLevel(selLevel); // Disable show end result. ip->EnableShowEndResult(FALSE); // Setup named selection sets SetupNamedSelDropDown(); // Update selection UI display SelectionChanged(); 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); }