3232#include < Core/Datatypes/String.h>
3333#include < Core/Datatypes/Legacy/Field/Field.h>
3434
35+ #include < Core/Matlab/matlabfile.h>
36+ #include < Core/Matlab/matlabarray.h>
37+ #include < Core/Matlab/matlabconverter.h>
38+
3539using namespace SCIRun ::Modules::Matlab::DataIO;
3640// using namespace SCIRun::Core::Algorithms;
3741using namespace SCIRun ::Core::Datatypes;
3842using namespace SCIRun ::Dataflow::Networks;
3943
4044const ModuleLookupInfo ImportDatatypesFromMatlab::staticInfo_ (" ImportDatatypesFromMatlab" , " DataIO" , " Matlab" );
4145
46+ namespace detail
47+ {
48+ class ImportDatatypesFromMatlabImpl
49+ {
50+ public:
51+ void indexmatlabfile (bool postmsg);
52+ void displayerror (const std::string& str) const ;
53+
54+ std::string guimatrixinfotextslist_, guimatrixnameslist_, guimatrixname_;
55+ };
56+ }
57+
4258ImportDatatypesFromMatlab::ImportDatatypesFromMatlab () : Module(staticInfo_)
4359{
4460 INITIALIZE_PORT (Filename);
@@ -76,10 +92,6 @@ void ImportDatatypesFromMatlab::execute()
7692#include <Dataflow/Network/Ports/MatrixPort.h>
7793#include <Dataflow/Network/Ports/StringPort.h>
7894
79- #include <Core/Matlab/matlabfile.h>
80- #include <Core/Matlab/matlabarray.h>
81- #include <Core/Matlab/matlabconverter.h>
82-
8395#include <Dataflow/GuiInterface/GuiVar.h>
8496
8597namespace MatlabIO {
@@ -360,11 +372,14 @@ matlabarray ImportDatatypesFromMatlab::readmatlabarray(int p)
360372 return(marray);
361373}
362374
375+ #endif
363376
377+ namespace detail
378+ {
364379
365- void ImportDatatypesFromMatlab ::indexmatlabfile(bool postmsg)
380+ void ImportDatatypesFromMatlabImpl ::indexmatlabfile (bool postmsg)
366381{
367-
382+ const int NUMPORTS = 9 ;
368383 std::string filename = " " ;
369384 std::string matrixinfotexts[NUMPORTS];
370385 std::string matrixnames[NUMPORTS];
@@ -373,24 +388,24 @@ void ImportDatatypesFromMatlab::indexmatlabfile(bool postmsg)
373388 std::string newmatrixname = " " ;
374389 std::string matrixname = " " ;
375390
376- guimatrixinfotextslist_.set( matrixinfotextslist) ;
377- guimatrixnameslist_.set( matrixnameslist) ;
391+ guimatrixinfotextslist_ = matrixinfotextslist;
392+ guimatrixnameslist_ = matrixnameslist;
378393
379- SCIRun::ProgressReporter* pr = 0;
380- if (postmsg) pr = dynamic_cast<SCIRun::ProgressReporter* >(this);
381- matlabconverter translate(pr );
394+ // SCIRun::ProgressReporter* pr = 0;
395+ // if (postmsg) pr = dynamic_cast<SCIRun::ProgressReporter* >(this);
396+ matlabconverter translate (nullptr );
382397
383- filename = guifilename_.get();
398+ filename = guifilename_;
384399
385400 if (filename == " " )
386401 {
387402 // No file has been loaded, so reset the
388403 // matrix name variable
389- guimatrixname_.set( newmatrixname) ;
404+ guimatrixname_ = newmatrixname;
390405 return ;
391406 }
392407
393- matrixname = guimatrixname_.get() ;
408+ matrixname = guimatrixname_;
394409
395410 std::vector<std::string> matrixnamelist (NUMPORTS);
396411 bool foundmatrixname[NUMPORTS];
@@ -402,7 +417,7 @@ void ImportDatatypesFromMatlab::indexmatlabfile(bool postmsg)
402417 // TCL Dependent code
403418 std::ostringstream oss;
404419 oss << " lindex { " << matrixname << " } " << p;
405- TCLInterface::eval( oss.str(), matrixnamelist[p]) ;
420+ std::cout << oss.str () << matrixnamelist[p] << std::endl ;
406421 foundmatrixname[p] = false ;
407422 }
408423
@@ -417,7 +432,7 @@ void ImportDatatypesFromMatlab::indexmatlabfile(bool postmsg)
417432
418433 // all matlab data is stored in a matlabarray object
419434 matlabarray ma;
420- int cindex = 0; // compability index, which matlab array fits the SCIRun matrix best?
435+ int cindex = 0 ; // compatibility index, which matlab array fits the SCIRun matrix best?
421436 int maxindex = 0 ; // highest index found so far
422437
423438 // Scan the file and see which matrices are compatible
@@ -486,53 +501,48 @@ void ImportDatatypesFromMatlab::indexmatlabfile(bool postmsg)
486501
487502
488503 // Update TCL on the contents of this matrix
489- guimatrixname_.set( matrixname) ;
490- guimatrixinfotextslist_.set( matrixinfotextslist) ;
491- guimatrixnameslist_.set( matrixnameslist) ;
504+ guimatrixname_ = matrixname;
505+ guimatrixinfotextslist_ = matrixinfotextslist;
506+ guimatrixnameslist_ = matrixnameslist;
492507 }
493508
494509 // in case something went wrong
495510 // close the file and then dermine the problem
496511
497- catch (matlabfile::could_not_open_file)
512+ catch (matlabfile::could_not_open_file& )
498513 {
499514 displayerror (" ImportDatatypesFromMatlab: Could not open file" );
500515 }
501- catch (matlabfile::invalid_file_format)
516+ catch (matlabfile::invalid_file_format& )
502517 {
503518 displayerror (" ImportDatatypesFromMatlab: Invalid file format" );
504519 }
505- catch (matlabfile::io_error)
520+ catch (matlabfile::io_error& )
506521 {
507522 displayerror (" ImportDatatypesFromMatlab: IO error" );
508523 }
509- catch (matlabfile::out_of_range)
524+ catch (matlabfile::out_of_range& )
510525 {
511526 displayerror (" ImportDatatypesFromMatlab: Out of range" );
512527 }
513- catch (matlabfile::invalid_file_access)
528+ catch (matlabfile::invalid_file_access& )
514529 {
515530 displayerror (" ImportDatatypesFromMatlab: Invalid file access" );
516531 }
517- catch (matlabfile::empty_matlabarray)
532+ catch (matlabfile::empty_matlabarray& )
518533 {
519534 displayerror (" ImportDatatypesFromMatlab: Empty matlab array" );
520535 }
521- catch (matlabfile::matfileerror)
536+ catch (matlabfile::matfileerror& )
522537 {
523538 displayerror (" ImportDatatypesFromMatlab: Internal error in reader" );
524539 }
525540 return ;
526541}
527542
528-
529- void ImportDatatypesFromMatlab::displayerror(std::string str)
543+ void ImportDatatypesFromMatlabImpl::displayerror (const std::string& str) const
530544{
531- // Explicit call to TCL
532- TCLInterface::execute("tk_messageBox -icon error -type ok -title {ERROR} -message {" + str + "}");
545+ std::cout << " tk_messageBox -icon error -type ok -title {ERROR} -message {" << str << " }" << std::endl;
533546}
534547
535-
536- } // End namespace MatlabIO
537-
538- #endif
548+ }
0 commit comments