2
# This file is part of GNU Enterprise.
4
# GNU Enterprise is free software; you can redistribute it
5
# and/or modify it under the terms of the GNU General Public
6
# License as published by the Free Software Foundation; either
7
# version 2, or (at your option) any later version.
9
# GNU Enterprise is distributed in the hope that it will be
10
# useful, but WITHOUT ANY WARRANTY; without even the implied
11
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12
# PURPOSE. See the GNU General Public License for more details.
14
# You should have received a copy of the GNU General Public
15
# License along with program; see the file COPYING. If not,
16
# write to the Free Software Foundation, Inc., 59 Temple Place
17
# - Suite 330, Boston, MA 02111-1307, USA.
19
# Copyright 2002-2005 Free Software Foundation
30
from constants import *
31
from Label import Label
33
class FocusedLabel(Label):
35
Like a normal label but this can be receive Get/Lost focus and
36
Action messages. What is this used for? Items like dropdown menus
39
def __init__(self, Parent, LabelName, Y, X, Caption, **properties):
40
Label.__init__(self, Parent, LabelName, Y, X, Caption, **properties)
42
self.SetMethod("SYSRUN", self.Run)
43
self.SetMethod("SYSPAINT", self.Paint)
44
self.SetMethod("SYSGOTFOCUS", self.GotFocus)
45
self.SetMethod("SYSLOSTFOCUS", self.LostFocus)
46
self.SetMethod("CLICK", None)
48
def Run(self, v1, v2, v3):
49
Container = self.PARENT.Screen()
51
self.ExecMethod("CLICK", self, None, None)
52
if self.HasProperty("EXITFORM"):
57
ch = Container.GetChar()
58
if self.PARENT.BreakOrder(ch) :
60
if ch in (Container.TokDownArrow, Container.TokNextField, Container.TokUpArrow):
62
if ch == Container.TokUpArrow:
65
elif ch == Container.TokActivate:
66
self.ExecMethod("CLICK", self, None, None)
67
if self.HasProperty("EXITFORM"):
70
self.ExecMethod("SYSGOTFOCUS", None, None, None)
72
def Paint(self, HasFocus, v2, v3):
74
Container = self.PARENT.Screen()
77
color = self.FOCUSCOLOR
84
caption = self.CAPTION
85
Container.PrintAt(Y,X,caption, color)
87
def GotFocus(self, v1, v2, v3):
88
self.Paint(1, None, None)
91
def LostFocus(self, v1, v2, v3):
92
self.Paint(0, None, None)