Beispiel #1
0
bool LoadNewDLL( HWND hWnd, Interface *ip)
{
		TCHAR fullPath[MAX_PATH] = {0};
		TCHAR fileTitle[100] = {0};
		TCHAR initDir[MAX_PATH] = {0};
		FilterList FileFilter;

		OPENFILENAME ofn;
		memset(&ofn,0,sizeof(ofn));

		ofn.lStructSize = sizeof(OPENFILENAME);  // No OFN_ENABLEHOOK
		ofn.hwndOwner=hWnd;
		ofn.hInstance=hInstance;
#ifdef DESIGN_VER
		FileFilter.Append(GetString(IDS_MAX_PLUGINS_VIZ));
#else
		FileFilter.Append(GetString(IDS_MAX_PLUGINS));
#endif // DESIGN_VER
		FileFilter.Append(_T("*.DL?;*.BM?;*.FLT"));
		FileFilter.Append(GetString(IDS_ALL_FILES));
		FileFilter.Append(_T("*.*"));
		ofn.lpstrFilter = FileFilter;

		ofn.lpstrCustomFilter=NULL;
		ofn.nMaxCustFilter=0;
		ofn.nFilterIndex=1;
		ofn.lpstrFile=fullPath;
		ofn.nMaxFile=500;
		ofn.lpstrFileTitle = fileTitle;
		ofn.nMaxFileTitle=99;
		IPathConfigMgr* manager = IPathConfigMgr::GetPathConfigMgr();
		if(manager->GetPlugInEntryCount() > 0)	{
			_tcsncpy(initDir, manager->GetPlugInDir(0), MAX_PATH);
			ofn.lpstrInitialDir =  initDir;
		}
		else	{
			ofn.lpstrInitialDir = NULL;
		}
		ofn.lpstrTitle = GetString(IDS_CHOOSE_PLUGIN);
		ofn.Flags = OFN_FILEMUSTEXIST;
		ofn.FlagsEx = OFN_EX_NOPLACESBAR;

		fullPath[0]=_T('\0');
		GetOpenFileName(&ofn);

		if(fullPath[0]==_T('\0')){return false;}
		DllDir* dd = ip->GetDllDirectory();
		
		int dllIndex = dd->FindDllDescFromDllPath(fullPath);
		if (dllIndex >= 0)
		{
			return dd->LoadADll((dd->GetDllDescription(dllIndex)).GetFullPath(), TRUE);
		}

		return dd->LoadADll(fullPath, TRUE);
}
Beispiel #2
0
static void SaveAsColorFile(HWND hWnd) 
   {
   TSTR *fileName = DLGetWindowLongPtr<TSTR*>(hWnd);
   if (fileName) _tcscpy(fname,fileName->data());  

   // RB 10/15/2000: Init directory string
   if (fdir[0]==_T('\0')) {
      _tcscpy(fdir, GetCOREInterface()->GetDir(APP_IMAGE_DIR));
      }

   OPENFILENAME ofn;
   memset(&ofn,0,sizeof(ofn));
   FilterList fl;
   fl.Append(GetString(IDS_RB_COLORCLIPFILES));
   fl.Append(_T("*.ccb"));
   TSTR title = GetString(IDS_RB_SAVECOLOR);
   ofn.lStructSize     = sizeof(OPENFILENAME);  // No OFN_ENABLEHOOK
   ofn.hwndOwner       = hWnd;
   ofn.lpstrFilter     = fl;
   ofn.lpstrFile       = fname;
   ofn.nMaxFile        = 256;    
   ofn.lpstrInitialDir = fdir;
   ofn.Flags           = OFN_HIDEREADONLY|OFN_FILEMUSTEXIST|OFN_PATHMUSTEXIST;
   ofn.FlagsEx         = OFN_EX_NOPLACESBAR;
   ofn.lpstrDefExt     = _T("ccb");
   ofn.lpstrTitle      = title;

tryAgain:
   if (GetSaveFileName(&ofn)) {
      if (DoesFileExist(fname)) {
         TSTR buf1;
         TSTR buf2 = GetString(IDS_RB_SAVECOLOR);
         buf1.printf(GetString(IDS_RB_FILEEXISTS),fname);
         if (IDYES!=MessageBox(
            hWnd,
            buf1,buf2,MB_YESNO|MB_ICONQUESTION)) {
            goto tryAgain;
            }
         }
      
      if (!fileName) fileName = new TSTR;
      *fileName = fname;
      DLSetWindowLongPtr(hWnd, fileName);

      SaveColorFile(hWnd,*fileName);      
      }  
   }
Beispiel #3
0
BOOL 
CppOutPickModeCallback::Pick(IObjParam *ip,ViewExp *vpt)
{
    INode *node = vpt->GetClosestHit();
    if (node) {
        static TCHAR fname[256] = {'\0'};
        OPENFILENAME ofn;
        memset(&ofn,0,sizeof(ofn));
        FilterList fl;
        fl.Append( GetString(IDS_RB_CPPFILES));
        fl.Append( _T("*.cpp"));		
        TSTR title = GetString(IDS_RB_SAVEOBJECT);

        ofn.lStructSize     = sizeof(OPENFILENAME);
        ofn.hwndOwner       = theCppOut.hPanel;
        ofn.lpstrFilter     = fl;
        ofn.lpstrFile       = fname;
        ofn.nMaxFile        = 256;    
        ofn.lpstrInitialDir = ip->GetDir(APP_EXPORT_DIR);
        ofn.Flags           = OFN_HIDEREADONLY|OFN_FILEMUSTEXIST|OFN_PATHMUSTEXIST;
        ofn.lpstrDefExt     = _T("asc");
        ofn.lpstrTitle      = title;

      tryAgain:
        if (GetSaveFileName(&ofn)) {
            if (DoesFileExist(fname)) {
                TSTR buf1;
                TSTR buf2 = GetString(IDS_RB_SAVEOBJECT);
                buf1.printf(GetString(IDS_RB_FILEEXISTS),fname);
                if (IDYES!=MessageBox(
                    theCppOut.hPanel,
                    buf1,buf2,MB_YESNO|MB_ICONQUESTION)) {
                    goto tryAgain;
                }
            }
            theCppOut.OutputObject(node,fname);
        }
    }
    return TRUE;
}
Beispiel #4
0
BOOL RendVueParamDlg::FileBrowse() {
   int tried = 0;
   FilterList filterList;
   HWND hWnd = hPanel;
   static int filterIndex = 1;
    OPENFILENAME  ofn;
   TSTR filename;
    TCHAR fname[512];
   TCHAR saveDir[1024];
      {
      TSTR dir;
      SplitFilename(workFileName, &dir, &filename,NULL);
      _tcscpy(saveDir,dir.data());
      }
   _tcscpy(fname,filename.data());
   _tcscat(fname, VUEEXT);

   filterList.Append(GetString(IDS_VUE_FILE));
   filterList.Append(VUEFILTER);

    memset(&ofn, 0, sizeof(ofn));

    ofn.lStructSize      = sizeof(OPENFILENAME);  // No OFN_ENABLEHOOK
    ofn.hwndOwner        = hWnd;
   ofn.hInstance        = hInstance;   


   ofn.nFilterIndex = filterIndex;
    ofn.lpstrFilter  = filterList;

    ofn.lpstrTitle   = GetString(IDS_WRITE_VUEFILE); 
    ofn.lpstrFile    = fname;
    ofn.nMaxFile     = _countof(fname);      

   Interface *iface = GetCOREInterface();
   
   if(saveDir[0])
         ofn.lpstrInitialDir = saveDir;
   else
      ofn.lpstrInitialDir = iface->GetDir(APP_SCENE_DIR);

   if(RunningNewShell()) {
      ofn.Flags = OFN_HIDEREADONLY | OFN_EXPLORER /* | OFN_ENABLEHOOK | OFN_ENABLETEMPLATE*/;  // OFN_OVERWRITEPROMPT;
      ofn.lpfnHook = NULL;// (LPOFNHOOKPROC)FileHook;
      ofn.lCustData = 0;      // 0 for save, 1 for open
//    ofn.lpTemplateName = MAKEINTRESOURCE(IDD_EXT_FILE);
   }
   else {
      ofn.Flags           =   OFN_HIDEREADONLY | OFN_PATHMUSTEXIST /* |OFN_ENABLEHOOK  | OFN_ENABLETEMPLATE */;
      ofn.lpfnHook        =   NULL; // (LPOFNHOOKPROC)PMFileHook;
      ofn.lCustData       =   0;
//    ofn.lpTemplateName     =   MAKEINTRESOURCE(IDD_PM_EXT_FILE);
   }

   ofn.FlagsEx = OFN_EX_NOPLACESBAR;

   FixFileExt(ofn,VUEEXT); // add ".vue" if absent

   while (GetSaveFileName(&ofn))    {
      FixFileExt(ofn,VUEEXT); // add ".vue" if absent

      workFileName = ofn.lpstrFile;
      return TRUE;
      }
   return FALSE;
   }
Beispiel #5
0
static void LoadColorFile(HWND hWnd)
   {  
   // RB 10/15/2000: Init directory string
   if (fdir[0]==_T('\0')) {
      _tcscpy(fdir, GetCOREInterface()->GetDir(APP_IMAGE_DIR));
      }

   OPENFILENAME ofn;
   memset(&ofn,0,sizeof(ofn));
   FilterList fl;
   fl.Append(GetString(IDS_RB_COLORCLIPFILES));
   fl.Append(_T("*.ccb"));
   TSTR title = GetString(IDS_RB_LOADCOLOR);
   ofn.lStructSize     = sizeof(OPENFILENAME);  // No OFN_ENABLEHOOK
   ofn.hwndOwner       = hWnd;
   ofn.lpstrFilter     = fl;
   ofn.lpstrFile       = fname;
   ofn.nMaxFile        = 256;    
   ofn.lpstrInitialDir = fdir;
   ofn.Flags           = OFN_HIDEREADONLY|OFN_FILEMUSTEXIST|OFN_PATHMUSTEXIST;
   ofn.FlagsEx         = OFN_EX_NOPLACESBAR;
   ofn.lpstrDefExt     = _T("ccb");
   ofn.lpstrTitle      = title;

   if (GetOpenFileName(&ofn)) {
      MaxSDK::Util::TextFile::Reader file;	
      if(!file.Open(fname)) {
         TSTR buf2 = GetString(IDS_RB_COLORCLIPBOARD);
         TSTR buf1;
         buf1.printf(GetString(IDS_RB_CANTOPENFILE),fname);       
         MessageBox(hWnd,buf1,buf2,MB_ICONEXCLAMATION);
         return;
         }
      TSTR colorLine;
      // pre-R6
      for (int i=0; i<12; i++) {
         int r, g, b;
		 colorLine = file.ReadLine();
		 if(EOF == _stscanf(colorLine, _T("%d %d %d\n"), &r, &g, &b)) break;
         Color color(float(r)/255.0f,float(g)/255.0f,float(b)/255.0f);
         TSTR name;
         name.printf(GetString(IDS_RB_COLORNUM),i);
         IColorSwatch *cs = GetIColorSwatch(GetDlgItem(hWnd,csIDs[i]),color,name);
         ReleaseIColorSwatch(cs);
         }     
      
      // post-R6
      for (int i=0; i<12; i++) {
         float r, g, b, a;
		 colorLine = file.ReadLine();
         if(EOF == _stscanf(colorLine, _T("%f %f %f %f\n"),&r, &g, &b, &a)) break;
         AColor color(r,g,b,a);
         TSTR name;
         name.printf(GetString(IDS_RB_COLORNUM),i);
         IColorSwatch *cs = GetIColorSwatch(GetDlgItem(hWnd,csIDs[i]),color,name);
         ReleaseIColorSwatch(cs);
      }     

      file.Close();

      TSTR *fileName = DLGetWindowLongPtr<TSTR*>(hWnd);
      delete fileName;
      fileName = new TSTR(fname);
      DLSetWindowLongPtr(hWnd, fileName);
      SetupTitle(hWnd,*fileName);
      }  
   }