// ----------------------------------------
// ---------- mussa_class.hh -----------
// ----------------------------------------
-#include <QObject>
+#include <QObject>
+#include <QString>
#include <boost/filesystem/path.hpp>
#include <boost/shared_ptr.hpp>
std::string int_to_str(int an_int);
+class Mussa;
+//! provide a simple name to point to our Mussa shared_ptr
+typedef boost::shared_ptr<Mussa> MussaRef;
+
class Mussa : public QObject
{
Q_OBJECT
signals:
//! call whatever signaling system we want
- void progress(const std::string& description, int cur, int max);
+ void progress(const QString& description, int cur, int max);
//! triggered when our state changes between unsaved(true) and saved(false)
void isModified(bool);
Mussa();
Mussa(const Mussa &);
+ //! dynamically construct a new Mussa object and return a reference to it
+ static MussaRef init();
+
//! save all of mussa
void save(boost::filesystem::path save_path="");
//! save the nway comparison
void clear();
//! set parameters from a file - 'mupa' ~ mussa parameters
- void load_mupa_file(std::string para_file_path) { load_mupa_file(boost::filesystem::path(para_file_path));}
+ void load_mupa_file(std::string para_file_path);
void load_mupa_file(boost::filesystem::path para_file_path);
+ //! load mussa parameters from a stream, specifing output location
+ void load_mupa_stream(
+ std::istream & para_file,
+ boost::filesystem::path& file_path_base
+ );
+
// set parameters individually (eg from user input into gui classes)
//! set analysis name
void seqcomp();
};
-//! provide a simple name to point to our Mussa shared_ptr
-typedef boost::shared_ptr<Mussa> MussaRef;
#endif