No there's no one widget for this.
You'll have to create one of your own. The gtk website has tutorials on using gtk and cairo to create customised widgets. They'll help you get started. Apart from that you can browse around others code to get pointers.
Things you'll need to get on top of include:
Using GObject to create a customised widget class (based on GtkDrawingCanvas)
Drawing with cairo.
Designing signal handlers for click drag events.
It's not near where you're after but I've got a program that draws circles at certain positions and can detect when you click on a certain set
https://github.com/pchilds/MOFsim/tree/master/src (drawcirc.c and .h have the drawing funtions). It might serve as a starting point to get a jump on the learning curve.