Esempio n. 1
0
	def doClose(self):
		self.hide()
		for x in self.onClose:
			x()

		# fixup circular references
		del self.helpList
		GUISkin.close(self)

		# first disconnect all render from their sources.
		# we might split this out into a "unskin"-call,
		# but currently we destroy the screen afterwards
		# anyway.
		for val in self.renderer:
			val.disconnectAll()  # disconnected converter/sources and probably destroy them. Sources will not be destroyed.

		del self.session
		for (name, val) in self.items():
			val.destroy()
			del self[name]

		self.renderer = [ ]

		# really delete all elements now
		self.__dict__.clear()
Esempio n. 2
0
    def doClose(self):
        self.hide()
        for x in self.onClose:
            x()

        # fixup circular references
        del self.helpList
        GUISkin.close(self)

        # first disconnect all render from their sources.
        # we might split this out into a "unskin"-call,
        # but currently we destroy the screen afterwards
        # anyway.
        for val in self.renderer:
            val.disconnectAll(
            )  # disconnected converter/sources and probably destroy them. Sources will not be destroyed.

        del self.session
        for (name, val) in self.items():
            val.destroy()
            del self[name]

        self.renderer = []

        # really delete all elements now
        self.__dict__.clear()
Esempio n. 3
0
	def doClose(self):
		self.hide()
		for x in self.onClose:
			x()
		
		# fixup circular references
		del self.helpList
		GUISkin.close(self)

		# first disconnect all render from their sources.
		# we might split this out into a "unskin"-call,
		# but currently we destroy the screen afterwards
		# anyway.
		for val in self.renderer:
			val.disconnectAll()  # disconnected converter/sources and probably destroy them. Sources will not be destroyed.

		del self.session

		# we can have multiple dict entries with different names but same Element
		# but we dont can call destroy multiple times
		for name in self.keys():
			val = self[name]
			del self[name] # remove from dict
			if val is not None: # is not a duplicate...
				val.destroy()
				for (n, v) in self.items():
					if v == val: # check if it is the same Element
						self[n] = None # mark as duplicate

		self.renderer = [ ]

		# really delete all elements now
		self.__dict__.clear()
Esempio n. 4
0
    def doClose(self):
        self.hide()
        for x in self.onClose:
            x()

        del self.helpList
        GUISkin.close(self)
        for val in self.renderer:
            val.disconnectAll()

        del self.session
        for name, val in self.items():
            val.destroy()
            del self[name]

        self.renderer = []
        self.__dict__.clear()
Esempio n. 5
0
    def doClose(self):
        self.hide()
        for x in self.onClose:
            x()

        del self.helpList
        GUISkin.close(self)
        for val in self.renderer:
            val.disconnectAll()

        del self.session
        for name, val in self.items():
            val.destroy()
            del self[name]

        self.renderer = []
        self.__dict__.clear()
Esempio n. 6
0
 def doClose(
     self
 ):  # Never call this directly - it will be called from the session!
     self.hide()
     for x in self.onClose:
         x()
     del self.helpList  # Fixup circular references.
     GUISkin.close(self)
     # First disconnect all render from their sources. We might split this out into
     # a "unskin"-call, but currently we destroy the screen afterwards anyway.
     for val in self.renderer:
         val.disconnectAll(
         )  # Disconnect converter/sources and probably destroy them. Sources will not be destroyed.
     del self.session
     for (name, val) in self.items():
         val.destroy()
         del self[name]
     self.renderer = []
     self.__dict__.clear()  # Really delete all elements now.
Esempio n. 7
0
    def doCloseInternal(self):
        for x in self.onClose:
            x()
        # fixup circular references
        del self.helpList
        GUISkin.close(self)

        # first disconnect all render from their sources.
        # we might split this out into a "unskin"-call,
        # but currently we destroy the screen afterwards
        # anyway.
        for val in self.renderer:
            val.disconnectAll(
            )  # disconnected converter/sources and probably destroy them. Sources will not be destroyed.

        # we can have multiple dict entries with different names but same Element
        # but we dont can call destroy multiple times
        for name in list(self.keys()):
            val = self[name]
            del self[name]  # remove from dict
            if val is not None:  # is not a duplicate...
                val.destroy()
                for (n, v) in self.items():
                    if v == val:  # check if it is the same Element
                        self[n] = None  # mark as duplicate

        self.renderer = []
        #these are the members that have to survive the __clear__()
        session = self.session
        onHideFinished = self.onHideFinished
        persisted_members = (
            self.instance,
            self._hideAnimFinishedConn,
            self._hideAnimFinishedConnInternal,
        )
        # really delete all elements now
        self.__dict__.clear()
        self.session = session
        self.onHideFinished = onHideFinished
        self.persisted_members = persisted_members