#!/bin/sh
""":"
exec python $0 ${1+"$@"}
"""
# --------------------- HelloCrosshairs.py --------------------
#
# This program demonstrates all methods available for crosshairs.
# Note that this program does not do anything useful;
# its purpose is to try out functionality only.
#
from Tkinter import * # The Tk package
import Pmw # The Python MegaWidget package
import math # import the sin-function
master = Tk() # build Tk-environment
ncurves = 4 # draw 4 curves
npoints = 32 # use 32 points on each curve
if not Pmw.Blt.haveblt(master): # Is Blt installed?
print("BLT is not installed!")
else:
vector_x = [] # make vector for x-axis
vector_y = []
for y in range(ncurves):
vector_y.append([])
for x in range(npoints+1):
vector_x.append(x*0.1)
# fill vectors with cool graphs
for c in range(ncurves):
vector_y[c].append(math.sin(c*x*0.1))
g = Pmw.Blt.Graph(master)
g.pack(expand=1, fill='both')
for c in range(ncurves):
curvename = 'sin(' + str(c) +'x)'
g.line_create(curvename,
xdata=tuple(vector_x),
ydata=tuple(vector_y[c]),
symbol='')
g.configure(title='Hello Crosshairs')
######################## crosshairs_cget #############################
if g.crosshairs_cget("hide"):
print "the crosshairs are hidden"
else:
print "the crosshairs are visible"
###################### crosshairs_configure ##########################
all = g.crosshairs_configure()
print "all options:"
for option in all.keys():
print option, "=", g.crosshairs_cget(option)
print "\n"
# show crosshairs
g.crosshairs_configure(
dashes="1",
hide=0,
linewidth=1,
position="@120, 120",
color="lightblue")
######################## crosshairs_toggle ##########################
g.crosshairs_toggle() # hide the crosshairs
######################### crosshairs_off ############################
g.crosshairs_off() # hide the crosshairs (no effect - already hidden)
########################## crosshairs_on ############################
g.crosshairs_on() # show the crosshairs again
# Normally we want to bind the crosshairs to the mouse like this:
def mouseMove(event):
pos = "@" +str(event.x) +"," +str(event.y)
g.crosshairs_configure(position = pos)
g.bind("<Motion>", mouseMove)
master.mainloop()