+ connect(name_label, SIGNAL(textChanged(const QString& )),
+ this, SLOT(setName(const QString& )));
+}
+
+void SequenceDescription::setGlSequence(
+ boost::shared_ptr<GlSequence> glseq )
+{
+ if (glseq != glsequence_) {
+ glsequence_ = glseq;
+ setName(glsequence_->sequence()->get_species());
+ setLength(glsequence_->sequence()->length());
+ emit glsequenceChanged(glsequence_);
+ }
+}
+
+boost::shared_ptr<GlSequence> SequenceDescription::glsequence()
+{
+ return glsequence_;
+}
+
+void SequenceDescription::setName(std::string name)
+{
+ setName(QString(name.c_str()));
+}
+
+void SequenceDescription::setName(const QString& name_)
+{
+ std::string std_name_ = name_.toStdString();
+
+ if (std_name_ != glsequence_->sequence()->get_species()) {
+ glsequence_->sequence()->set_species(std_name_);
+ emit nameChanged(name_);
+ }
+
+ // no need to setText again if its because of user editing
+ if (name_ != name_label->text()) {
+ name_label->setText(name_);
+ name_label->setCursorPosition(0);
+ }