add prototype wrapping of the qt sequence browser
[mussa.git] / py / sequencebrowserwidget.cpp
diff --git a/py/sequencebrowserwidget.cpp b/py/sequencebrowserwidget.cpp
new file mode 100644 (file)
index 0000000..6056089
--- /dev/null
@@ -0,0 +1,52 @@
+#include <boost/python.hpp>
+namespace py = boost::python;
+#include <vector>
+
+#include "alg/Sequence.hpp"
+#include "alg/glsequence.cpp"
+#include "alg/glseqbrowser.cpp"
+#include "qui/seqbrowser/SequenceBrowserWidget.hpp"
+
+#include "stl_container_adapter.hpp"
+
+void export_sequencebrowserwidget()
+{
+
+  void (SequenceBrowserWidget::*setSequences_g)(
+      std::vector<boost::shared_ptr<GlSequence> > &) = &SequenceBrowserWidget::setSequences;
+
+  py::class_<SequenceBrowserWidget>("SequenceBrowserWidget", 
+                                    py::init<>())
+    // SIGNALS
+    .def("copySelectedSequenceAsFasta", 
+         &SequenceBrowserWidget::copySelectedSequenceAsFasta)
+    .def("setZoom", &SequenceBrowserWidget::setZoom)
+    .def("zoomOut", &SequenceBrowserWidget::zoomOut)
+    .def("zoomToSequence", &SequenceBrowserWidget::zoomToSequence)
+    .def("updatePosition", &SequenceBrowserWidget::updatePosition)
+    .def("promptSaveBrowserPixmap", 
+         &SequenceBrowserWidget::promptSaveBrowserPixmap)
+    .def("update", &SequenceBrowserWidget::update)
+    // Member functions
+    //.def("browser", &SequenceBrowserWidget::browser)
+    //.def("getPopupMenu", &SequenceBrowserWidget::getPopupMenu)
+    //.def("getCopySelectedSequenceAsFastaAction", 
+    //     &SequenceBrowserWidget::getCopySelectedSequenceAsFastaAction)
+    //.def("getCopySelectedSequenceAsStringAction", 
+    //     &SequenceBrowserWidget::getCopySelectedSequenceAsStringAction)
+    //.def("getEditSequencePropertiesAction", 
+    //     &SequenceBrowserWidget::getEditSequencePropertiesAction)
+    //.def("copySelectedTracksAsSeqLocation", 
+    //     &SequenceBrowserWidget::copySelectedTracksAsSeqLocation)
+    .def("zoom", &SequenceBrowserWidget::zoom)
+    .def("clear", &SequenceBrowserWidget::clear)
+    .def("setSequences", setSequences_g)
+    //.def("sequences", &SequenceBrowserWidget::sequences)
+    .def("clear_links", &SequenceBrowserWidget::clear_links)
+    .def("link", &SequenceBrowserWidget::link)
+    .def("selectedPaths", &SequenceBrowserWidget::selectedPaths)
+    .def("centerOnPath", &SequenceBrowserWidget::centerOnPath)
+
+    .def("show", &SequenceBrowserWidget::show)   
+  ;
+}