return 5000;
}
}
-
+int GlSeqBrowser::zoomToSequence()
+{
+ // (experimentally determined zoom level)
+ const int friendly_zoom = 7;
+ setZoom(friendly_zoom);
+ return friendly_zoom;
+}
void GlSeqBrowser::setZoom(int new_zoom)
{
update_viewport(viewport_center, new_zoom);
//! zoom out far enough to show the full size of the sequence
int zoomOut();
+ //! zoom in to a reasonable sequence view
+ int zoomToSequence();
//! set the current zoom level in (base pairs / pix ) * 100
/*! a zoomlevel of 1 is .01 base pairs per pixel or a rather exploded
* 100 pixels per base pair
GLfloat GlSequence::right() const
{
- return length()-seq_x;
+ return length()+seq_x;
}
void GlSequence::setY(GLfloat value)
{
assert ( basepair < seq.size() );
glPushMatrix();
- glTranslatef( leftbase(left) + basepair, seq_y, 1.0 );
+ glTranslatef( seq_x+leftbase(left) + basepair, seq_y, 1.0 );
glScalef(0.1, 1.0, 1.0);
switch (*seq_itor) {
case 'A': case 'a':
browser.setSequences(analysis.sequences(), analysis.colorMapper());
setSelectedPaths(m, sel_paths);
setAlignment(0);
+ browser.zoomToSequence();
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(&browser);
protected:
void setSelectedPaths(Mussa &m, const std::set<int>& sel_paths);
- Mussa &analysis;
+ Mussa& analysis;
+ //std::vector<Sequence> sequences;
//const std::set<int>& selected_paths;
std::vector<ExtendedConservedPath> selected_paths;
SequenceBrowserWidget browser;
left[i]->setPosition(sequences[i].leftbase(browser.viewportLeft()));
right[i]->setPosition(sequences[i].rightbase(browser.viewportRight()));
}
+ scrollable_browser.updateScrollBar();
}
void SequenceBrowserWidget::promptSaveBrowserPixmap()
void SequenceBrowserWidget::zoomOut()
{
scrollable_browser.browser().zoomOut();
+ scrollable_browser.updateScrollBar();
+}
+
+void SequenceBrowserWidget::zoomToSequence()
+{
+ scrollable_browser.browser().zoomToSequence();
+ scrollable_browser.updateScrollBar();
}
void SequenceBrowserWidget::setZoom(int z)
void setZoom(int);
//! zoom to fit the whole scene on the screen
void zoomOut();
+ //! zoom to sequence
+ void zoomToSequence();
void updatePosition();
//! ask the user where to save an image of the current browser view