~jtaylor/ubuntu/natty/pyfltk/fix-779340

« back to all changes in this revision

Viewing changes to fltk/test/chart.py

  • Committer: Bazaar Package Importer
  • Author(s): Aaron M. Ucko
  • Date: 2009-03-13 20:47:00 UTC
  • Revision ID: james.westby@ubuntu.com-20090313204700-ra4hgdlhxzrccas3
Tags: upstream-1.1.3
ImportĀ upstreamĀ versionĀ 1.1.3

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#
 
2
# "$Id: chart.py 28 2003-07-16 20:00:27Z andreasheld $"
 
3
#
 
4
# Charts test program for pyFLTK the Python bindings
 
5
# for the Fast Light Tool Kit (FLTK).
 
6
#
 
7
# FLTK copyright 1998-1999 by Bill Spitzak and others.
 
8
# pyFLTK copyright 2003 by Andreas Held and others.
 
9
#
 
10
# This library is free software you can redistribute it and/or
 
11
# modify it under the terms of the GNU Library General Public
 
12
# License as published by the Free Software Foundation either
 
13
# version 2 of the License, or (at your option) any later version.
 
14
#
 
15
# This library is distributed in the hope that it will be useful,
 
16
# but WITHOUT ANY WARRANTY without even the implied warranty of
 
17
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
18
# Library General Public License for more details.
 
19
#
 
20
# You should have received a copy of the GNU Library General Public
 
21
# License along with this library if not, write to the Free Software
 
22
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 
23
# USA.
 
24
#
 
25
# Please report all bugs and problems to "pyfltk-user@lists.sourceforge.net".
 
26
#
 
27
 
 
28
from fltk import *
 
29
import sys
 
30
 
 
31
# Note:  the child windows are assigned to the charts list
 
32
#        for the program to exit correctly, the Python shadows
 
33
#        must be deleted.  this is accomplished by the charts=None
 
34
#        in the exit function
 
35
charts =[]
 
36
 
 
37
def cb_OK(ptr):
 
38
        global charts
 
39
        charts = None  ### <- this allows the program to exit
 
40
        sys.exit(0)
 
41
 
 
42
 
 
43
graphWidth = 150
 
44
graphHeight = 100
 
45
border = 30
 
46
numRows = 3
 
47
numCols = 3
 
48
buttonWidth = 60
 
49
buttonHeight = 30
 
50
 
 
51
 
 
52
# ugly, hacked coordinates
 
53
x1 = border
 
54
x2 = (border*2)+graphWidth
 
55
x3 = (border+graphWidth)*2+border
 
56
y1 = border
 
57
y2 = border*2+graphHeight
 
58
y3 = border*3+graphHeight*2
 
59
chartInfo = [ \
 
60
        (FL_BAR_CHART,"FL_BAR_CHART", x1, y1), 
 
61
        (FL_HORBAR_CHART,"FL_HORBAR_CHART", x2, y1),
 
62
        (FL_LINE_CHART,"FL_LINE_CHART", x3, y1),
 
63
        (FL_SPIKE_CHART,"FL_SPIKE_CHART", x1, y2),
 
64
        (FL_PIE_CHART,"FL_PIE_CHART", x2, y2),
 
65
        (FL_SPECIALPIE_CHART,"FL_SPECIALPIE_CHART", x3, y2),
 
66
        (FL_FILL_CHART,"FL_FILL_CHART", x1, y3) ]
 
67
 
 
68
 
 
69
foo_window = Fl_Window(100, 100, border+numCols*(border+graphWidth), 
 
70
                                numRows*(border+graphHeight)+border+buttonHeight+border)
 
71
 
 
72
for chartParams in      chartInfo:
 
73
        chart = Fl_Chart(chartParams[2], chartParams[3], 
 
74
                                graphWidth, graphHeight, chartParams[1])
 
75
        chart.type(chartParams[0])
 
76
        chart.add(2, "Win 3.1", 0)
 
77
        chart.add(3, "Dos", 1)
 
78
        chart.add(5, "NT", 3)
 
79
        chart.add(10, "Linux", 2)
 
80
        charts.append(chart)
 
81
 
 
82
okButton = Fl_Return_Button( (numCols-1)*(graphWidth+border), 
 
83
                numRows*(graphHeight+border)+border, buttonWidth, buttonHeight, "OK")
 
84
okButton.callback(cb_OK)
 
85
 
 
86
foo_window.end()
 
87
foo_window.show(len(sys.argv), sys.argv)
 
88
 
 
89
Fl.run()
 
90