title: in c++ gtk::drawarea: how to refresh image
body: <p>I am using gtkmm for a GUI in C++.
  I have a <code>Gtk::DrawingArea</code> on which I have an image (filename):</p>
  
  <pre><code>class MyArea : public Gtk::DrawingArea
  {
  public:
      MyArea(string filename)
      {
          m_image = Gdk::Pixbuf::create_from_file(filename.c_str());
      }
  
      virtual bool on_draw(const Cairo::RefPtr&lt;Cairo::Context&gt;&amp; cr)
      {
          if (!m_image)
              return false;
  
          Gtk::Allocation allocation = get_allocation();
          const int width  = allocation.get_width();
          const int height = allocation.get_height();
  
          // Draw the image in the middle of the drawing area, or (if the image is
          // larger than the drawing area) draw the middle part of the image.
          Gdk::Cairo::set_source_pixbuf(cr, m_image, (width - m_image-&gt;get_width())/2, (height - m_image-&gt;get_height())/2);
          cr-&gt;paint();
  
          return true;
      }
      Glib::RefPtr&lt;Gdk::Pixbuf&gt; m_image;
  }
  </code></pre>
  
  <p>I would like to have a function that change the image (with filename2). But I can't find how to :-/</p>
  
  <p>Could someone help me with this please. Thank You</p>