You can still bind normal event handlers as well. Just update whatever variables you need, then call the updateGraph() function manually.
Something like:
my $viewbutton = $mw->Button(-text=>"Change view", -command=>\&changeV
+iew);
...
sub changeView {
$viewmode++;
if($viewmode > 3) {
$viewmode = 0;
}
updateGraph();
return;
}
Tk::Chart is an extension of Tk::Canvas, which has support for Mouse interactions. You probably want to use $canvas->bind() or something similar to get mouse interactions with the canvas as event callbacks. To quote the documentation:
The only events for which bindings may be specified are those related
+to the mouse and keyboard (such as Enter, Leave,
ButtonPress, Motion, and KeyPress) or virtual events. The handling of
+events in canvases uses the current item defined
in "ITEM IDS AND TAGS" above. Enter and Leave events trigger for an i
+tem when it becomes the current item or ceases to
be the current item; note that these events are different than Enter
+and Leave events for windows. Mouse-related
events are directed to the current item, if any. Keyboard-related even
+ts are directed to the focus item, if any (see
the focus method below for more on this). If a virtual event is used i
+n a binding, that binding can trigger only if
the virtual event is defined by an underlying mouse-related or keyboar
+d-related event.
Frankly, i would have to spend a few hours of reading and testing on how exactly this would all work related to your graphs (which i leave as an excersise for the reader), but it sounds promising for what you want it to do.
perl -e 'use MIME::Base64; print decode_base64("4pmsIE5ldmVyIGdvbm5hIGdpdmUgeW91IHVwCiAgTmV2ZXIgZ29ubmEgbGV0IHlvdSBkb3duLi4uIOKZqwo=");'
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.