From 822f89fadbd2e7a0c0900f8f51155089f87bfb42 Mon Sep 17 00:00:00 2001 From: rdb Date: Thu, 13 Sep 2018 20:58:11 +0200 Subject: [PATCH] dgui: accept arg in setText, setImage, setGeom, also add clearers This enables the "setters" to behave in a way that people expect setters to behave. Since `setText(None)` now does not behave expectedly, a `clearText()` has also been added to remove the text. Closes #385 --- direct/src/gui/DirectFrame.py | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/direct/src/gui/DirectFrame.py b/direct/src/gui/DirectFrame.py index e078b28021..684fda005c 100644 --- a/direct/src/gui/DirectFrame.py +++ b/direct/src/gui/DirectFrame.py @@ -61,7 +61,14 @@ class DirectFrame(DirectGuiWidget): def destroy(self): DirectGuiWidget.destroy(self) - def setText(self): + def clearText(self): + self['text'] = None + self.setText() + + def setText(self, text=None): + if text is not None: + self['text'] = text + # Determine if user passed in single string or a sequence if self['text'] == None: textList = (None,) * self['numStates'] @@ -100,7 +107,14 @@ class DirectFrame(DirectGuiWidget): sort = DGG.TEXT_SORT_INDEX, ) - def setGeom(self): + def clearGeom(self): + self['geom'] = None + self.setGeom() + + def setGeom(self, geom=None): + if geom is not None: + self['geom'] = geom + # Determine argument type geom = self['geom'] @@ -142,7 +156,14 @@ class DirectFrame(DirectGuiWidget): geom = geom, scale = 1, sort = DGG.GEOM_SORT_INDEX) - def setImage(self): + def clearImage(self): + self['image'] = None + self.setImage() + + def setImage(self, image=None): + if image is not None: + self['image'] = image + # Determine argument type arg = self['image'] if arg == None: