165 lines
4.5 KiB
Python
165 lines
4.5 KiB
Python
|
"""
|
||
|
Global definitions used by Direct Gui Classes and handy constants
|
||
|
that can be used during widget construction
|
||
|
"""
|
||
|
|
||
|
__all__ = []
|
||
|
|
||
|
from panda3d.core import *
|
||
|
|
||
|
defaultFont = None
|
||
|
defaultFontFunc = TextNode.getDefaultFont
|
||
|
defaultClickSound = None
|
||
|
defaultRolloverSound = None
|
||
|
defaultDialogGeom = None
|
||
|
defaultDialogRelief = PGFrameStyle.TBevelOut
|
||
|
drawOrder = 100
|
||
|
panel = None
|
||
|
|
||
|
# USEFUL GUI CONSTANTS
|
||
|
# Constant used to indicate that an option can only be set by a call
|
||
|
# to the constructor.
|
||
|
INITOPT = ['initopt']
|
||
|
|
||
|
# Mouse buttons
|
||
|
LMB = 0
|
||
|
MMB = 1
|
||
|
RMB = 2
|
||
|
|
||
|
# Widget state
|
||
|
NORMAL = 'normal'
|
||
|
DISABLED = 'disabled'
|
||
|
|
||
|
# Frame style
|
||
|
FLAT = PGFrameStyle.TFlat
|
||
|
RAISED = PGFrameStyle.TBevelOut
|
||
|
SUNKEN = PGFrameStyle.TBevelIn
|
||
|
GROOVE = PGFrameStyle.TGroove
|
||
|
RIDGE = PGFrameStyle.TRidge
|
||
|
TEXTUREBORDER = PGFrameStyle.TTextureBorder
|
||
|
|
||
|
FrameStyleDict = {'flat': FLAT, 'raised': RAISED, 'sunken': SUNKEN,
|
||
|
'groove': GROOVE, 'ridge': RIDGE,
|
||
|
'texture_border': TEXTUREBORDER,
|
||
|
}
|
||
|
|
||
|
# Orientation of DirectSlider and DirectScrollBar
|
||
|
HORIZONTAL = 'horizontal'
|
||
|
VERTICAL = 'vertical'
|
||
|
VERTICAL_INVERTED = 'vertical_inverted'
|
||
|
|
||
|
# Dialog button values
|
||
|
DIALOG_NO = 0
|
||
|
DIALOG_OK = DIALOG_YES = DIALOG_RETRY = 1
|
||
|
DIALOG_CANCEL = -1
|
||
|
|
||
|
# User can bind commands to these gui events
|
||
|
DESTROY = 'destroy-'
|
||
|
PRINT = 'print-'
|
||
|
ENTER = PGButton.getEnterPrefix()
|
||
|
EXIT = PGButton.getExitPrefix()
|
||
|
WITHIN = PGButton.getWithinPrefix()
|
||
|
WITHOUT = PGButton.getWithoutPrefix()
|
||
|
B1CLICK = PGButton.getClickPrefix() + MouseButton.one().getName() + '-'
|
||
|
B2CLICK = PGButton.getClickPrefix() + MouseButton.two().getName() + '-'
|
||
|
B3CLICK = PGButton.getClickPrefix() + MouseButton.three().getName() + '-'
|
||
|
B1PRESS = PGButton.getPressPrefix() + MouseButton.one().getName() + '-'
|
||
|
B2PRESS = PGButton.getPressPrefix() + MouseButton.two().getName() + '-'
|
||
|
B3PRESS = PGButton.getPressPrefix() + MouseButton.three().getName() + '-'
|
||
|
B1RELEASE = PGButton.getReleasePrefix() + MouseButton.one().getName() + '-'
|
||
|
B2RELEASE = PGButton.getReleasePrefix() + MouseButton.two().getName() + '-'
|
||
|
B3RELEASE = PGButton.getReleasePrefix() + MouseButton.three().getName() + '-'
|
||
|
# For DirectEntry widgets
|
||
|
OVERFLOW = PGEntry.getOverflowPrefix()
|
||
|
ACCEPT = PGEntry.getAcceptPrefix() + KeyboardButton.enter().getName() + '-'
|
||
|
ACCEPTFAILED = PGEntry.getAcceptFailedPrefix() + KeyboardButton.enter().getName() + '-'
|
||
|
TYPE = PGEntry.getTypePrefix()
|
||
|
ERASE = PGEntry.getErasePrefix()
|
||
|
CURSORMOVE = PGEntry.getCursormovePrefix()
|
||
|
# For DirectSlider and DirectScrollBar widgets
|
||
|
ADJUST = PGSliderBar.getAdjustPrefix()
|
||
|
|
||
|
|
||
|
# For setting the sorting order of a widget's visible components
|
||
|
IMAGE_SORT_INDEX = 10
|
||
|
GEOM_SORT_INDEX = 20
|
||
|
TEXT_SORT_INDEX = 30
|
||
|
|
||
|
FADE_SORT_INDEX = 1000
|
||
|
NO_FADE_SORT_INDEX = 2000
|
||
|
|
||
|
# Handy conventions for organizing top-level gui objects in loose buckets.
|
||
|
BACKGROUND_SORT_INDEX = -100
|
||
|
MIDGROUND_SORT_INDEX = 0
|
||
|
FOREGROUND_SORT_INDEX = 100
|
||
|
|
||
|
# Symbolic constants for the indexes into an optionInfo list.
|
||
|
_OPT_DEFAULT = 0
|
||
|
_OPT_VALUE = 1
|
||
|
_OPT_FUNCTION = 2
|
||
|
|
||
|
# DirectButton States:
|
||
|
BUTTON_READY_STATE = PGButton.SReady # 0
|
||
|
BUTTON_DEPRESSED_STATE = PGButton.SDepressed # 1
|
||
|
BUTTON_ROLLOVER_STATE = PGButton.SRollover # 2
|
||
|
BUTTON_INACTIVE_STATE = PGButton.SInactive # 3
|
||
|
|
||
|
def getDefaultRolloverSound():
|
||
|
return defaultRolloverSound
|
||
|
|
||
|
def setDefaultRolloverSound(newSound):
|
||
|
global defaultRolloverSound
|
||
|
defaultRolloverSound = newSound
|
||
|
|
||
|
def getDefaultClickSound():
|
||
|
return defaultClickSound
|
||
|
|
||
|
def setDefaultClickSound(newSound):
|
||
|
global defaultClickSound
|
||
|
defaultClickSound = newSound
|
||
|
|
||
|
def getDefaultFont():
|
||
|
global defaultFont
|
||
|
if defaultFont == None:
|
||
|
defaultFont = defaultFontFunc()
|
||
|
return defaultFont
|
||
|
|
||
|
def setDefaultFont(newFont):
|
||
|
global defaultFont
|
||
|
defaultFont = newFont
|
||
|
|
||
|
def setDefaultFontFunc(newFontFunc):
|
||
|
global defaultFontFunc
|
||
|
defaultFontFunc = newFontFunc
|
||
|
|
||
|
def getDefaultDialogGeom():
|
||
|
global defaultDialogGeom
|
||
|
return defaultDialogGeom
|
||
|
|
||
|
def getDefaultDialogRelief():
|
||
|
global defaultDialogRelief
|
||
|
return defaultDialogRelief
|
||
|
|
||
|
def setDefaultDialogGeom(newDialogGeom, relief=None):
|
||
|
global defaultDialogGeom, defaultDialogRelief
|
||
|
defaultDialogGeom = newDialogGeom
|
||
|
defaultDialogRelief = relief
|
||
|
|
||
|
def getDefaultDrawOrder():
|
||
|
return drawOrder
|
||
|
|
||
|
def setDefaultDrawOrder(newDrawOrder):
|
||
|
global drawOrder
|
||
|
drawOrder = newDrawOrder
|
||
|
|
||
|
def getDefaultPanel():
|
||
|
return panel
|
||
|
|
||
|
def setDefaultPanel(newPanel):
|
||
|
global panel
|
||
|
panel = newPanel
|
||
|
|
||
|
#from OnscreenText import *
|
||
|
#from OnscreenGeom import *
|
||
|
#from OnscreenImage import *
|