fixes to baseline styles (but they're not perfect yet)

This commit is contained in:
Dave Schuyler 2001-03-13 06:48:22 +00:00
parent ff67d626cc
commit d4b777bf79

View File

@ -336,6 +336,9 @@ class LevelEditor(NodePath, PandaObject):
# Become the new node path # Become the new node path
self.assign(hidden.attachNewNode('LevelEditor')) self.assign(hidden.attachNewNode('LevelEditor'))
# Enable replaceSelected by default:
self.replaceSelectedEnabled=1
# Create ancillary objects # Create ancillary objects
# Style manager for keeping track of styles/colors # Style manager for keeping track of styles/colors
self.styleManager = LevelStyleManager() self.styleManager = LevelStyleManager()
@ -626,6 +629,7 @@ class LevelEditor(NodePath, PandaObject):
return DNASTORE.findDNAGroup(nodePath.id()) return DNASTORE.findDNAGroup(nodePath.id())
def replaceSelected(self): def replaceSelected(self):
if self.replaceSelectedEnabled:
# Update visible geometry using new DNA # Update visible geometry using new DNA
newRoot = self.replace(self.selectedNPRoot, self.selectedDNARoot) newRoot = self.replace(self.selectedNPRoot, self.selectedDNARoot)
# Reselect node path and respawn followSelectedNodePathTask # Reselect node path and respawn followSelectedNodePathTask
@ -3571,20 +3575,13 @@ class LevelEditorPanel(Pmw.MegaToplevel):
self.levelEditor.selectedNodePathHookHooks.append(self.updateSignPage) self.levelEditor.selectedNodePathHookHooks.append(self.updateSignPage)
gridFrame = Frame(signPage) gridFrame = Frame(signPage)
self.baselineString=StringVar()
self.baselineString.trace("wu", self.signBaselineTrace)
self.baselineTextBox = Entry(
gridFrame, width = 24,
textvariable=self.baselineString)
self.baselineTextBox.grid(row=1, column=0, columnspan=6)
signSelectedFrame = Frame(gridFrame) signSelectedFrame = Frame(gridFrame)
self.currentBaselineIndex=0 self.currentBaselineIndex=0
self.baselineMenu = Pmw.ComboBox( self.baselineMenu = Pmw.ComboBox(
signSelectedFrame, signSelectedFrame,
labelpos = W, labelpos = W,
label_text = 'Selected:', entry_width = 14, label_text = 'Selected:', entry_width = 24,
selectioncommand = self.selectSignBaseline, selectioncommand = self.selectSignBaseline,
history = 0, # unique = 0, history = 0, # unique = 0,
scrolledlist_items = ['<the sign>']) scrolledlist_items = ['<the sign>'])
@ -3598,16 +3595,14 @@ class LevelEditorPanel(Pmw.MegaToplevel):
signSelectedFrame.grid(row=0, column=0, columnspan=6) signSelectedFrame.grid(row=0, column=0, columnspan=6)
fontList = [""]+self.styleManager.getCatalogCodes('font') self.baselineString=StringVar()
self.fontMenu = Pmw.ComboBox( self.baselineString.trace("wu", self.signBaselineTrace)
gridFrame, labelpos = W, self.baselineTextBox = Entry(
label_text = 'Font:', entry_width = 12, gridFrame, width = 24,
selectioncommand = self.setSignBaslineFont, history = 0, textvariable=self.baselineString)
scrolledlist_items = fontList) self.baselineTextBox.grid(row=1, column=0, columnspan=6)
self.fontMenu.selectitem(fontList[0])
self.fontMenu.grid(row=2, column=3, columnspan=3)
levelAttribute = ( # Yes, there are a lot of steps here: levelAttribute = (
self.styleManager.attributeDictionary self.styleManager.attributeDictionary
['baseline_style']['toontown_central'] ['baseline_style']['toontown_central']
.getDict().keys()) .getDict().keys())
@ -3621,6 +3616,15 @@ class LevelEditorPanel(Pmw.MegaToplevel):
self.baselineStyleMenu.selectitem(baselineStyleList[0]) self.baselineStyleMenu.selectitem(baselineStyleList[0])
self.baselineStyleMenu.grid(row=2, column=0, columnspan=3) self.baselineStyleMenu.grid(row=2, column=0, columnspan=3)
fontList = [""]+self.styleManager.getCatalogCodes('font')
self.fontMenu = Pmw.ComboBox(
gridFrame, labelpos = W,
label_text = 'Font:', entry_width = 12,
selectioncommand = self.setSignBaslineFont, history = 0,
scrolledlist_items = fontList)
self.fontMenu.selectitem(fontList[0])
self.fontMenu.grid(row=2, column=3, columnspan=3)
signButtonFrame = Frame(gridFrame) signButtonFrame = Frame(gridFrame)
self.bigFirstLetterIntVar = IntVar() self.bigFirstLetterIntVar = IntVar()
@ -3947,6 +3951,7 @@ class LevelEditorPanel(Pmw.MegaToplevel):
return target return target
def selectSignBaseline(self, val): def selectSignBaseline(self, val):
print "\nselectSignBaseline:", val
if not self.currentSignDNA: if not self.currentSignDNA:
return return
# Temporarily undefine DNATarget (this will speed # Temporarily undefine DNATarget (this will speed
@ -4037,7 +4042,8 @@ class LevelEditorPanel(Pmw.MegaToplevel):
if val == '<custom>': if val == '<custom>':
return return
elif val == 'Zero': elif val == 'Zero':
self.currentBaselineDNA=None self.levelEditor.replaceSelectedEnabled=0
# Don't set string: self.baselineString.set('') # Don't set string: self.baselineString.set('')
self.addCurveFloater.set(0) self.addCurveFloater.set(0)
self.addKernFloater.set(0) self.addKernFloater.set(0)
@ -4047,18 +4053,21 @@ class LevelEditorPanel(Pmw.MegaToplevel):
self.bigFirstLetterIntVar.set(0) self.bigFirstLetterIntVar.set(0)
self.allCapsIntVar.set(0) self.allCapsIntVar.set(0)
self.dropShadowIntVar.set(0) self.dropShadowIntVar.set(0)
self.currentBaselineDNA=baseline
target=self.levelEditor.DNATarget
self.levelEditor.DNATarget=None
self.fontMenu.selectitem(0) self.fontMenu.selectitem(0)
self.addXFloater.set(0) self.addXFloater.set(0)
self.addZFloater.set(0) self.addZFloater.set(0)
self.addScaleXFloater.set(1) self.addScaleXFloater.set(1)
self.addScaleZFloater.set(1) self.addScaleZFloater.set(1)
self.addRollFloater.set(0) self.addRollFloater.set(0)
self.levelEditor.DNATarget=target
self.bigFirstLetterIntVar.set(0)
self.allCapsIntVar.set(0)
self.dropShadowIntVar.set(0)
self.updateSelectedObjColor(Vec4(1.0))
self.levelEditor.replaceSelectedEnabled=1
self.levelEditor.replaceSelected() self.levelEditor.replaceSelected()
return return
else: else:
@ -4067,7 +4076,7 @@ class LevelEditorPanel(Pmw.MegaToplevel):
['baseline_style']['toontown_central'] ['baseline_style']['toontown_central']
# TODO: toontown_centeral should not be hard coded. # TODO: toontown_centeral should not be hard coded.
.getDict()[val]) .getDict()[val])
self.currentBaselineDNA=None self.levelEditor.replaceSelectedEnabled=0
# Don't set string: self.baselineString.set('') # Don't set string: self.baselineString.set('')
if settings['curve']: if settings['curve']:
@ -4086,11 +4095,6 @@ class LevelEditorPanel(Pmw.MegaToplevel):
self.allCapsIntVar.set('c' in flags) self.allCapsIntVar.set('c' in flags)
self.dropShadowIntVar.set('d' in flags) self.dropShadowIntVar.set('d' in flags)
self.currentBaselineDNA=baseline
target=self.levelEditor.DNATarget
self.levelEditor.DNATarget=None
if settings['code']: if settings['code']:
self.fontMenu.selectitem(settings['code']) self.fontMenu.selectitem(settings['code'])
if settings['x']: if settings['x']:
@ -4104,8 +4108,10 @@ class LevelEditorPanel(Pmw.MegaToplevel):
if settings['roll']: if settings['roll']:
self.addRollFloater.set(float(settings['roll'])) self.addRollFloater.set(float(settings['roll']))
self.levelEditor.DNATarget=target if settings['color']:
self.updateSelectedObjColor(settings['color'])
self.levelEditor.replaceSelectedEnabled=1
self.levelEditor.replaceSelected() self.levelEditor.replaceSelected()