another i18n/.po update
[ardour.git] / libs / canvas / widget.cc
index 97d7b91a1a09bb0dc6c1fe082a94cd30fc30519e..25541c1660abf8bbe349925e36a35130394d91c1 100644 (file)
 using namespace std;
 using namespace ArdourCanvas;
 
-Widget::Widget (Group* parent, CairoWidget& w)
+Widget::Widget (Canvas* c, CairoWidget& w)
+       : Item (c)
+       , _widget (w)
+{
+       Event.connect (sigc::mem_fun (*this, &Widget::event_proxy));
+}
+
+Widget::Widget (Item* parent, CairoWidget& w)
        : Item (parent)
        , _widget (w)
 {
@@ -39,13 +46,14 @@ Widget::Widget (Group* parent, CairoWidget& w)
 bool
 Widget::event_proxy (GdkEvent* ev)
 {
+       /* XXX need to translate coordinate into widget's own coordinate space */
        return _widget.event (ev);
 }
 
 void
 Widget::render (Rect const & area, Cairo::RefPtr<Cairo::Context> context) const
 {
-       std::cerr << "Render widget\n";
+       // std::cerr << "Render widget\n";
 
        if (!_bounding_box) {
                std::cerr << "no bbox\n";
@@ -67,7 +75,7 @@ Widget::render (Rect const & area, Cairo::RefPtr<Cairo::Context> context) const
        crect.height = draw.height();
        crect.width = draw.width();
 
-       std::cerr << "will draw " << draw << "\n";
+       // std::cerr << "will draw " << draw << "\n";
        context->save ();
        context->translate (-draw.x0, -draw.y0);
        //context->rectangle (draw.x0, draw.y0, draw.width(), draw.height());
@@ -83,7 +91,7 @@ Widget::compute_bounding_box () const
 {
        std::cerr << "cbbox for widget\n";
 
-       GtkRequisition req;
+       GtkRequisition req = { 0, 0 };
        Gtk::Allocation alloc;
 
        _widget.size_request (req);