예제 #1
0
void NifProps::Init(HWND hWnd)
{
	mCbLayer.init(GetDlgItem(hWnd, IDC_CB_LAYER));
	mCbMaterial.init(GetDlgItem(hWnd, IDC_CB_MATERIAL));
	mCbMotionSystem.init(GetDlgItem(hWnd, IDC_CB_MOTION_SYSTEM));
	mCbQualityType.init(GetDlgItem(hWnd, IDC_CB_QUALITY_TYPE));
}
예제 #2
0
INT_PTR CapsuleParamDlgProc::DlgProc(TimeValue t,IParamMap2 *map,HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
   thishWnd=hWnd;
   switch (msg) 
   {
   case WM_INITDIALOG: 
      {
		  mCbMaterial.init(GetDlgItem(hWnd, IDC_CB_MATERIAL));
		  mCbMaterial.add("<Default>");
		  for (const char **str = NpHvkMaterialNames; *str; ++str)
			  mCbMaterial.add(*str);
		  Interval valid;
		  int sel = NP_INVALID_HVK_MATERIAL;
		  so->pblock2->GetValue( PB_MATERIAL, 0, sel, valid);
		  mCbMaterial.select( sel + 1 );

         Update(t);
         break;
      }
   case WM_COMMAND:
      switch (LOWORD(wParam)) 
      {
      case IDC_CB_MATERIAL:
         if (HIWORD(wParam)==CBN_SELCHANGE) {
            so->pblock2->SetValue( PB_MATERIAL, 0, mCbMaterial.selection() - 1);
         }
         break;
      }
      break;	
   }
   return FALSE;
}
INT_PTR RigidBodyParamDlgProc::DlgProc(TimeValue t,IParamMap *map,HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
   thishWnd=hWnd;
   switch (msg) 
   {
   case WM_INITDIALOG: 
      {
         mCbLayer.init(GetDlgItem(hWnd, IDC_CB_LAYER));
		 InitLayerTypeCombo(hWnd, IDC_CB_LAYER);

         mCbMotionSystem.init(GetDlgItem(hWnd, IDC_CB_MOTION_SYSTEM));         
         for (const TCHAR **str = NpHvkMotionSystems; *str; ++str)
            mCbMotionSystem.add(*str);

         mCbQualityType.init(GetDlgItem(hWnd, IDC_CB_QUALITY_TYPE));
         for (const TCHAR **str = NpHvkQualityTypes; *str; ++str)
            mCbQualityType.add(*str);

         Update(t);
         break;
      }
   case WM_COMMAND:
      switch (LOWORD(wParam))
      {
      case IDC_CB_LAYER:
         if (HIWORD(wParam)==CBN_SELCHANGE) {
            so->SetLayer( mCbLayer.selection(), t );
         }
         break;

      case IDC_CB_MOTION_SYSTEM:
         if (HIWORD(wParam)==CBN_SELCHANGE) {
            so->SetMotionSystem( mCbMotionSystem.selection(), t );
         }
         break;

      case IDC_CB_QUALITY_TYPE:
         if (HIWORD(wParam)==CBN_SELCHANGE) {
            so->SetQualityType( mCbQualityType.selection(), t );
         }
         break;
      }
      break;
   }
   return FALSE;
}
예제 #4
0
INT_PTR ProxyParamDlgProc::DlgProc(TimeValue t,IParamMap2 *map,HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
   thishWnd=hWnd;
   switch (msg) 
   {
   case WM_INITDIALOG: 
      {
		  mCbMaterial.init(GetDlgItem(hWnd, IDC_CB_MATERIAL));
		  InitMaterialTypeCombo(hWnd, IDC_CB_MATERIAL);
		  Interval valid;
		  int sel = NP_INVALID_HVK_MATERIAL;
		  so->pblock2->GetValue( PB_MATERIAL, 0, sel, valid);
		  mCbMaterial.select( sel + 1 );
		 // Disable all types not currently implemented
		  EnableWindow(GetDlgItem(hWnd, IDC_RDO_CAPSULE), CanCalcCapsule() ? TRUE : FALSE);
		  EnableWindow(GetDlgItem(hWnd, IDC_RDO_OBB), CanCalcOrientedBox() ? TRUE : FALSE);
		 //EnableWindow(GetDlgItem(hWnd, IDC_RDO_PACKED_STRIPS), FALSE);

         Update(t);
         break;
      }
   case WM_DESTROY:
	   if (so && so->iPickButton != NULL) {
		   ReleaseICustButton(so->iPickButton);
		   so->iPickButton = NULL;
	   }
	   break;

   case WM_COMMAND:
      switch (LOWORD(wParam)) 
      {
      case IDC_CB_MATERIAL:
         if (HIWORD(wParam)==CBN_SELCHANGE) {
            so->pblock2->SetValue( PB_MATERIAL, 0, mCbMaterial.selection() - 1 );
         }
         break;

	  case IDC_BTN_CLONE:
		  so->CreateMesh();
		  break;
      }
      break;	
   }
   return FALSE;
}
INT_PTR bhkRigidBodyModifierDlgProc::DlgProc (TimeValue t,IParamMap2 *map,HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
   switch (msg) 
   {
   case WM_INITDIALOG:
	   {
		   mCbMaterial.init(GetDlgItem(hWnd, IDC_CB_MATERIAL));
		   mCbMaterial.add(_T("<Default>"));
		   for (const wchar_t **str = NpHvkMaterialNames; *str; ++str)
			   mCbMaterial.add(*str);
		   Interval valid;
		   int sel = NP_INVALID_HVK_MATERIAL;
		   mod->pblock->GetValue( PB_MATERIAL, 0, sel, valid);
		   mCbMaterial.select( sel + 1 );
		   EnableWindow(GetDlgItem(hWnd, IDC_RDO_CAPSULE), CanCalcCapsule() ? TRUE : FALSE);
 		   EnableWindow(GetDlgItem(hWnd, IDC_RDO_OBB), CanCalcOrientedBox() ? TRUE : FALSE);
		   Update(t);
		   break;
	   }

   case WM_DESTROY:
	   break;

   case WM_COMMAND:
	   switch (LOWORD(wParam))
	   {
	   case IDC_CB_MATERIAL:
		   if (HIWORD(wParam)==CBN_SELCHANGE) {
			   mod->pblock->SetValue( PB_MATERIAL, 0, mCbMaterial.selection() - 1 );
		   }
		   break;

	   case IDC_BTN_CLONE:
		   mod->CreateMesh();
		   break;

	   default:
		   return FALSE;
	   }
   }
   return FALSE;
}
예제 #6
0
INT_PTR ListParamDlgProc::DlgProc(TimeValue t,IParamMap2 *map,HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
   thishWnd=hWnd;
   switch (msg) 
   {
   case WM_INITDIALOG: 
      {
		  mCbMaterial.init(GetDlgItem(hWnd, IDC_CB_MATERIAL));
		  InitMaterialTypeCombo(hWnd, IDC_CB_MATERIAL);

		  Interval valid;
		  int sel = NP_INVALID_HVK_MATERIAL;
		  so->pblock2->GetValue( PB_MATERIAL, 0, sel, valid);
		  mCbMaterial.select( sel + 1 );

         Update(t);
         break;
      }
   case WM_DESTROY:
	   if (so && so->iPickButton != NULL) {
		   ReleaseICustButton(so->iPickButton);
		   so->iPickButton = NULL;
	   }
	   break;

   case WM_COMMAND:
      switch (LOWORD(wParam)) 
      {
      case IDC_CB_MATERIAL:
         if (HIWORD(wParam)==CBN_SELCHANGE) {
            so->pblock2->SetValue( PB_MATERIAL, 0, mCbMaterial.selection() - 1 );
         }
         break;
      }
      break;	
   }
   return FALSE;
}