blink is a small library, based on Gtk that can be used to add a control panel to an electronics simulation. So far it has been used only on Linux, but as it uses only C, Glib and Gtk libraries, it should be buildable for other environments.
So far it has been used as a front end to the simavr simulator for AVR microcontrollers
and for some experiments with Icarus Verilog.
The simavr code can be found in the adjacent forked repository, with a brief explanation here. The source code is in the file simavr/simavr/sim/panel.c.
Just run make
in the lib subdirectroy to build the library.
The interface definitions are in the file sim.h.