Activates the Component.

        :param engine: Container to attach the Component to.
        :type engine: QObject
        :return: Method success.
        :rtype: bool

def activate(self, engine):
        """
        Activates the Component.

        :param engine: Container to attach the Component to.
        :type engine: QObject
        :return: Method success.
        :rtype: bool
        """

        LOGGER.debug("> Activating '{0}' Component.".format(self.__class__.__name__))

        self.__engine = engine
        self.__settings = self.__engine.settings
        self.__settings_section = self.name

        self.__default_script_editor_directory = os.path.join(self.__engine.user_application_data_directory,
                                                              Constants.io_directory,
                                                              self.__default_script_editor_directory)
        not foundations.common.path_exists(self.__default_script_editor_directory) and \
        os.makedirs(self.__default_script_editor_directory)
        self.__default_session_directory = os.path.join(
            self.__default_script_editor_directory, self.__default_session_directory)
        not foundations.common.path_exists(self.__default_session_directory) and os.makedirs(
            self.__default_session_directory)
        self.__default_script_editor_file = os.path.join(self.__default_script_editor_directory,
                                                         self.__default_script_editor_file)

        self.__console = code.InteractiveConsole(self.__engine.locals)

        self.activated = True
        return True