File: GlobalHandler.py

package info (click to toggle)
pyfltk 1.3.8%2Brepack-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 1,868 kB
  • sloc: python: 7,494; cpp: 351; perl: 55; makefile: 24
file content (119 lines) | stat: -rw-r--r-- 2,914 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#
# "$Id: GlobalHandler.py 493 2012-02-14 21:40:41Z andreasheld $"
#
# Global handler test program for pyFLTK the Python bindings
# for the Fast Light Tool Kit (FLTK).
#
# FLTK copyright 1998-1999 by Bill Spitzak and others.
# pyFLTK copyright 2003 by Andreas Held and others.
#
# This library is free software you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License, version 2.0 as published by the Free Software Foundation.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Library General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this library if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA.
#
# Please report all bugs and problems to "pyfltk-user@lists.sourceforge.net".
#

from fltk import *


def EventHandler1(event):
    print("EventHandler1: ", event)
    if event == FL_SHORTCUT:
        print("Received FL_SHORTCUT", Fl.event_key())
        return 1
    else:
        return 0

def EventHandler2(event):
    print("EventHandler2: ", event)
    if event == FL_SHORTCUT:
        print("Received FL_SHORTCUT", Fl.event_key())
        return 1
    else:
        return 0

def CheckHandler1(data):
	print("CheckHandler1: ", data)

def CheckHandler2():
	print("CheckHandler2: no data")


cb1 = 0
cb2 = 0
cb3 = 0
cb4 = 0

def Handler1CB(widget):
    global cb1
    if cb1:
        widget.label("Add Handler1")
        Fl.remove_handler(EventHandler1)
        cb1 = 0
    else:
        widget.label("Remove Handler1")
        Fl.add_handler(EventHandler1)
        cb1 = 1

def Handler2CB(widget):
    global cb2
    if cb2:
        widget.label("Add Handler2")
        Fl.remove_handler(EventHandler2)
        cb2 = 0
    else:
        widget.label("Remove Handler2")
        Fl.add_handler(EventHandler2)
        cb2 = 1

def Check1CB(widget):
    global cb3
    if cb3:
        widget.label("Add Check1")
        Fl.remove_check(CheckHandler1)
        cb3 = 0
    else:
        widget.label("Remove Check1")
        Fl.add_check(CheckHandler1, "Check1")
        cb3 = 1

def Check2CB(widget):
    global cb4
    if cb4:
        widget.label("Add Check2")
        Fl.remove_check(CheckHandler2)
        cb4 = 0
    else:
        widget.label("Remove Check2")
        Fl.add_check(CheckHandler2)
        cb4 = 1

win = Fl_Window(100,150,300,200, "GloablHandler")
b1 = Fl_Button(20,50,120,30,"Add Handler1")
b1.callback(Handler1CB)
b2 = Fl_Button(160,50,120,30,"Add Handler2")
b2.callback(Handler2CB)

b3 = Fl_Button(20,100,120,30,"Add Check1")
b3.callback(Check1CB)
b4 = Fl_Button(160,100,120,30,"Add Check2")
b4.callback(Check2CB)

win.show()

Fl.run()