}
void SequenceBrowserWidget::setSequences(
- const std::vector< boost::shared_ptr<Sequence> >& sequences,
+ const std::vector<boost::shared_ptr<Sequence> >& sequences,
boost::shared_ptr<AnnotationColors> cm)
{
SequenceBrowser& browser = scrollable_browser.browser();
++seq_i)
{
boost::shared_ptr<GlSequence> gs(new GlSequence(*seq_i, cm));
- converted_sequences.push_back(*gs);
- browser.push_sequence(*gs);
+ converted_sequences.push_back(gs);
+ browser.push_sequence(gs);
}
left_sidebar.setSequences(converted_sequences);
right_sidebar.setSequences(converted_sequences);
+
+ // connect the text change signals to each other
+ vector<SequenceDescription *> left = left_sidebar.descriptions;
+ vector<SequenceDescription *> right = right_sidebar.descriptions;
+ for(size_t i = 0; i != sequences.size() and i != right.size(); ++i)
+ {
+ connect(left[i], SIGNAL(nameChanged(const QString &)),
+ right[i], SLOT(setName(const QString &)));
+ connect(right[i], SIGNAL(nameChanged(const QString &)),
+ left[i], SLOT(setName(const QString &)));
+ }
+
updatePosition();
}
-void SequenceBrowserWidget::setSequences(std::vector<GlSequence>& sequences)
+void SequenceBrowserWidget::setSequences(
+ std::vector<boost::shared_ptr<GlSequence> >& sequences
+)
{
SequenceBrowser& browser = scrollable_browser.browser();
clear();
- for(vector<GlSequence>::iterator seq_i = sequences.begin();
+ for(vector<boost::shared_ptr<GlSequence> >::iterator seq_i = sequences.begin();
seq_i != sequences.end();
++seq_i)
{
updatePosition();
}
-const vector<GlSequence>& SequenceBrowserWidget::sequences() const
+const vector<boost::shared_ptr<GlSequence> >& SequenceBrowserWidget::sequences() const
{
return scrollable_browser.browser().sequences();
}
void SequenceBrowserWidget::updatePosition()
{
const SequenceBrowser& browser = scrollable_browser.browser();
- const vector<GlSequence> &sequences = browser.sequences();
+ const vector<boost::shared_ptr<GlSequence> > &sequences = browser.sequences();
vector<SequenceDescription *> left = left_sidebar.descriptions;
vector<SequenceDescription *> right = right_sidebar.descriptions;
for(size_t i = 0; i != sequences.size() and i != right.size(); ++i)
{
- left[i]->setPosition(sequences[i].leftbase(browser.viewportLeft()));
- right[i]->setPosition(sequences[i].rightbase(browser.viewportRight()));
+ left[i]->setPosition(sequences[i]->leftbase(browser.viewportLeft()));
+ right[i]->setPosition(sequences[i]->rightbase(browser.viewportRight()));
}
scrollable_browser.browser().update();
scrollable_browser.updateScrollBar();