Activates given Component.

        :param name: Component name.
        :type name: unicode
        :return: Method success.
        :rtype: bool

def activate_component(self, name):
        """
        Activates given Component.

        :param name: Component name.
        :type name: unicode
        :return: Method success.
        :rtype: bool
        """

        if not name in self.__engine.components_manager.components:
            raise manager.exceptions.ComponentExistsError(
                "{0} | '{1}' Component isn't registered in the Components Manager!".format(self.__class__.__name__,
                                                                                           name))

        component = self.__engine.components_manager.components[name]
        if component.interface.activated:
            LOGGER.warning("!> {0} | '{1}' Component is already activated!".format(self.__class__.__name__, name))
            return False

        LOGGER.debug("> Attempting '{0}' Component activation.".format(component.name))
        component.interface.activate(self.__engine)
        if component.category in ("Default", "QObject"):
            component.interface.initialize()
        elif component.category == "QWidget":
            component.interface.initialize_ui()
            component.interface.add_widget()
        LOGGER.info("{0} | '{1}' Component has been activated!".format(self.__class__.__name__, component.name))
        self.activated_component.emit(name)
        self.refresh_nodes.emit()
        return True