First of all, let me hint that I am very new to Gtkmm programming, and
relatively new to C++ programming in general.
I am trying to write a simple program that draws a bezier curve in a
DrawingArea which can be manipulated by clicking and dragging its
Right now the program draws a curve, but I have not yet successfully
implemented anything to manipulate it. That's what I'm working on.
I figured I'd start by figuring out how to detect a button click on the
DrawingArea. I know I'll need to get the coordinates of the mouse
pointer as well. From reading the tutorial, etc. it seemed that
Widget::signal_button_press_event() is the appropriate method to use. I
have connected it to a signal handler in my MainWindow class.
Everything compiles fine but the code in my signal handler doesn't seem
Here's what code it seems you'd need.
In MainWindow's constructor (curveArea is my DrawingArea):
A protected member of MainWindow:
bool MainWindow::on_curve_button_press_event(GdkEventButton* event)
std::cout << "The drawing area was clicked" << std::endl;
I searched the web for a while trying to find any hints, and was only
able to find something on a mailing list from 2002 that said it was a
bug. Seems like that wouldn't be relevant anymore. Any help would be
greatly appreciated. If you want all my source code, let me know.
Lastly, my development environment:
Fedora Core 3