Initializes the Component ui.

        :return: Method success.
        :rtype: bool

def initialize_ui(self):
        """
        Initializes the Component ui.

        :return: Method success.
        :rtype: bool
        """

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

        self.__model = ProjectsModel(self, default_project=self.__default_project)

        self.Script_Editor_tabWidget = ScriptEditor_QTabWidget(self.__engine)
        self.Script_Editor_tabWidget_frame_gridLayout.addWidget(self.Script_Editor_tabWidget, 0, 0)
        self.__Script_Editor_tabWidget_set_ui()

        self.__recent_files_actions = []
        for i in range(self.__maximum_recent_files):
            self.__recent_files_actions.append(QAction(self.__menu_bar,
                                                       visible=False,
                                                       triggered=self.__load_recent_file__triggered))

        self.__menu_bar = QMenuBar()
        self.__menu_bar.setNativeMenuBar(False)
        self.Menu_Bar_frame_gridLayout.addWidget(self.__menu_bar)
        # Qt 4.8.4: Needs to show the menu_bar, otherwise it doesn't appear.
        self.__menu_bar.show()
        self.__initialize_menu_bar()

        self.Script_Editor_Output_plainTextEdit.setParent(None)
        self.Script_Editor_Output_plainTextEdit = Basic_QPlainTextEdit(self)
        self.Script_Editor_Output_plainTextEdit_frame_gridLayout.addWidget(
            self.Script_Editor_Output_plainTextEdit, 0, 0)
        self.Script_Editor_Output_plainTextEdit.setObjectName("Script_Editor_Output_plainTextEdit")
        self.__Script_Editor_Output_plainTextEdit_set_ui()

        self.__search_and_replace = SearchAndReplace(self, Qt.Window)
        self.__search_in_files = SearchInFiles(self, Qt.Window)

        self.__initialize_languages_model()

        self.Editor_Status_editorStatus = EditorStatus(self)
        self.__engine.statusBar.insertPermanentWidget(0, self.Editor_Status_editorStatus)

        Editor.get_untitled_file_name = self.__get_untitled_file_name

        # Signals / Slots.
        self.__engine.timer.timeout.connect(self.__Script_Editor_Output_plainTextEdit_refresh_ui)
        self.__engine.content_dropped.connect(self.__engine__content_dropped)
        self.__engine.layouts_manager.layout_restored.connect(self.__engine_layouts_manager__layout_restored)
        self.__engine.file_system_events_manager.file_changed.connect(
            self.__engine_file_system_events_manager__file_changed)
        self.__engine.file_system_events_manager.file_invalidated.connect(
            self.__engine_file_system_events_manager__file_invalidated)
        self.__engine.file_system_events_manager.directory_changed.connect(
            self.__engine_file_system_events_manager__directory_changed)
        self.__engine.file_system_events_manager.directory_invalidated.connect(
            self.__engine_file_system_events_manager__directory_invalidated)
        self.Script_Editor_tabWidget.tabCloseRequested.connect(self.__Script_Editor_tabWidget__tabCloseRequested)
        self.Script_Editor_tabWidget.currentChanged.connect(self.__Script_Editor_tabWidget__currentChanged)
        self.Script_Editor_tabWidget.content_dropped.connect(self.__Script_Editor_tabWidget__content_dropped)
        self.Script_Editor_tabWidget.tabBar().tabMoved.connect(self.__Script_Editor_tabWidget_tabBar__tabMoved)
        self.visibilityChanged.connect(self.__script_editor__visibilityChanged)
        self.ui_refresh.connect(self.__Script_Editor_Output_plainTextEdit_refresh_ui)
        self.recent_files_changed.connect(self.__set_recent_files_actions)
        self.__model.file_registered.connect(self.__model__file_registered)
        self.__model.file_unregistered.connect(self.__model__file_unregistered)
        self.__model.directory_registered.connect(self.__model__directory_registered)
        self.__model.directory_unregistered.connect(self.__model__directory_unregistered)
        self.__model.project_registered.connect(self.__model__project_registered)
        self.__model.project_unregistered.connect(self.__model__project_unregistered)
        self.__model.editor_registered.connect(self.__model__editor_registered)
        self.__model.editor_unregistered.connect(self.__model__editor_unregistered)

        self.initialized_ui = True
        return True