.. index:: pair: class; EE::UI::Tools::UICodeEditorSplitter .. _doxid-class_e_e_1_1_u_i_1_1_tools_1_1_u_i_code_editor_splitter: class EE::UI::Tools::UICodeEditorSplitter ========================================= .. toctree:: :hidden: enum_EE_UI_Tools_UICodeEditorSplitter_SplitDirection.rst struct_EE_UI_Tools_UICodeEditorSplitter_NavigationRecord.rst class_EE_UI_Tools_UICodeEditorSplitter_Client.rst .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include class UICodeEditorSplitter { public: // enums enum :ref:`SplitDirection`; // structs struct :ref:`NavigationRecord`; // classes class :ref:`Client`; // construction virtual :target:`~UICodeEditorSplitter`(); // methods static const std::map<:ref:`KeyBindings::Shortcut`, std::string> :target:`getDefaultKeybindings`(); static const std::map<:ref:`KeyBindings::Shortcut`, std::string> :target:`getLocalDefaultKeybindings`(); static std::vector :target:`getUnlockedCommands`(); static UICodeEditorSplitter* :target:`New`(:ref:`UICodeEditorSplitter::Client`* client, :ref:`UISceneNode`* sceneNode, std::shared_ptr<:ref:`ThreadPool`> = nullptr, const std::vector<:ref:`SyntaxColorScheme`>& colorSchemes = {}, const std::string& initColorScheme = ""); virtual bool :target:`tryTabClose`(:ref:`UIWidget`* widget, :ref:`UITabWidget::FocusTabBehavior` focusTabBehavior, std::function onMsgBoxCloseCb = {}); virtual bool :target:`tryCloseAllTabs`(:ref:`UIWidget`* widget, :ref:`UITabWidget::FocusTabBehavior` focusTabBehavior); virtual bool :target:`tryCloseOtherTabs`(:ref:`UIWidget`* widget, :ref:`UITabWidget::FocusTabBehavior` focusTabBehavior); virtual bool :target:`tryCloseCleanTabs`(:ref:`UIWidget`* widget, :ref:`UITabWidget::FocusTabBehavior` focusTabBehavior); virtual bool :target:`tryCloseTabsToDirection`(:ref:`UIWidget`* widget, :ref:`UITabWidget::FocusTabBehavior` focusTabBehavior, bool toTheRight); void :target:`closeTab`(:ref:`UIWidget`* widget, :ref:`UITabWidget::FocusTabBehavior` focusTabBehavior); bool :target:`curEditorExistsAndFocused`() const; :ref:`UISplitter`* :target:`split`(const :ref:`SplitDirection`& direction, :ref:`UIWidget`* editor, bool openCurEditor = true); void :target:`switchToTab`(:ref:`Int32` index); :ref:`UITabWidget`* :target:`findPreviousSplit`(:ref:`UIWidget`* widget); void :target:`switchPreviousSplit`(:ref:`UIWidget`* widget); :ref:`UITabWidget`* :target:`findNextSplit`(:ref:`UIWidget`* widget); void :target:`switchNextSplit`(:ref:`UIWidget`* widget); void :target:`setCurrentEditor`(:ref:`UICodeEditor`* editor); :ref:`UITabWidget`* :target:`tabWidgetFromEditor`(:ref:`UICodeEditor`* editor) const; :ref:`UITab`* :target:`tabFromEditor`(:ref:`UICodeEditor`* editor) const; :ref:`UITabWidget`* :target:`tabWidgetFromWidget`(:ref:`UIWidget`* widget) const; :ref:`UISplitter`* :target:`splitterFromEditor`(:ref:`UICodeEditor`* editor) const; :ref:`UISplitter`* :target:`splitterFromWidget`(:ref:`UIWidget`* widget) const; std::pair<:ref:`UITab`*, :ref:`UICodeEditor`*> :target:`createCodeEditorInTabWidget`(:ref:`UITabWidget`* tabWidget); std::pair<:ref:`UITab`*, :ref:`UIWidget`*> :target:`createWidgetInTabWidget`(:ref:`UITabWidget`* tabWidget, :ref:`UIWidget`* widget, const std::string& tabName, bool focus = true); std::pair<:ref:`UITab`*, :ref:`UIWidget`*> :target:`createWidget`(:ref:`UIWidget`* widget, const std::string& tabName, bool focus = true); std::vector`*, :ref:`UITabWidget`*>> :target:`getTabFromOwnedWidgetId`(const std::string& id); bool :target:`removeTabWithOwnedWidgetId`(const std::string& id, bool destroyOwnedNode = true, bool immediateClose = false); :ref:`UICodeEditor`* :target:`createCodeEditor`(); void :target:`focusSomeEditor`(:ref:`Node`* searchFrom = nullptr); bool :target:`loadDocument`(std::shared_ptr<:ref:`TextDocument`> doc, :ref:`UICodeEditor`* codeEditor = nullptr); std::pair<:ref:`UITab`*, :ref:`UICodeEditor`*> :target:`createEditorInNewTab`(); std::pair<:ref:`UITab`*, :ref:`UICodeEditor`*> :target:`loadDocumentInNewTab`(std::shared_ptr<:ref:`TextDocument`> doc); bool :target:`loadFileFromPath`(const std::string& path, :ref:`UICodeEditor`* codeEditor = nullptr); void :target:`loadAsyncFileFromPath`(const std::string& path, :ref:`UICodeEditor`* codeEditor = nullptr, std::function`*, const std::string&)> onLoaded = std::function`*, const std::string&)>()); std::pair<:ref:`UITab`*, :ref:`UICodeEditor`*> :target:`loadFileFromPathInNewTab`(const std::string& path); void :target:`loadAsyncFileFromPathInNewTab`(const std::string& path, std::function`*, const std::string&)> onLoaded = std::function`*, const std::string&)>()); void :target:`loadAsyncFileFromPathInNewTab`(const std::string& path, std::function`*, const std::string&)> onLoaded, :ref:`UITabWidget`* tabWidget); void :target:`removeUnusedTab`(:ref:`UITabWidget`* tabWidge, bool destroyOwnedNode = true, bool immediateCloset = true); :ref:`UITabWidget`* :target:`createEditorWithTabWidget`(:ref:`Node`* parent, bool openCurEditor = true); :ref:`UITab`* :target:`isDocumentOpen`(const std::string& path, bool checkOnlyInCurrentTabWidget = false, bool checkOpeningDocuments = false) const; :ref:`UITab`* :target:`isDocumentOpen`(const :ref:`URI`& uri, bool checkOnlyInCurrentTabWidget = false, bool checkOpeningDocuments = false) const; :ref:`UICodeEditor`* :target:`editorFromTab`(:ref:`UITab`* tab) const; :ref:`UICodeEditor`* :target:`findEditorFromPath`(const std::string& path); void :target:`applyColorScheme`(const :ref:`SyntaxColorScheme`& colorScheme); void :target:`forEachWidgetClass`(const std::string& className, std::function`*)> run) const; void :target:`forEachWidgetType`(const :ref:`UINodeType`& nodeType, std::function`*)> run) const; void :target:`forEachWidgetTypeStoppable`(const :ref:`UINodeType`& nodeType, std::function`*)> run) const; void :target:`forEachWidgetStoppable`(std::function`*)> run) const; void :target:`forEachWidget`(std::function`*)> run) const; void :target:`forEachEditor`(std::function`*)> run) const; void :target:`forEachDoc`(std::function`&doc)> run) const; void :target:`forEachDocSharedPtr`(std::function`> doc) const; void :target:`forEachTabWidget`(std::function`*)> run) const; void :target:`zoomIn`(); void :target:`zoomOut`(); void :target:`zoomReset`(); void :target:`closeSplitter`(:ref:`UISplitter`* splitter); void :target:`addRemainingTabWidgets`(:ref:`Node`* widget); void :target:`closeTabWidgets`(:ref:`UISplitter`* splitter); :ref:`UICodeEditor`* :target:`getCurEditor`() const; bool :target:`curEditorIsNotNull`() const; const :ref:`SyntaxColorScheme`& :target:`getCurrentColorScheme`() const; const std::string& :target:`getCurrentColorSchemeName`() const; void :target:`setColorScheme`(const std::string& name); const std::map`>& :target:`getColorSchemes`() const; bool :target:`editorExists`(:ref:`UICodeEditor`* editor); bool :target:`isAnyEditorDirty`(); void :target:`forEachEditorStoppable`(std::function`*)> run) const; std::vector<:ref:`UICodeEditor`*> :target:`getAllEditors`(); void :target:`forEachDocStoppable`(std::function`&)> run) const; std::shared_ptr<:ref:`TextDocument`> :target:`findDocFromPath`(const std::string& path); std::shared_ptr<:ref:`TextDocument`> :target:`findDocFromURI`(const :ref:`URI`& uri); bool :target:`getHideTabBarOnSingleTab`() const; void :target:`setHideTabBarOnSingleTab`(bool hideTabBarOnSingleTab); const std::vector<:ref:`UITabWidget`*>& :target:`getTabWidgets`() const; :ref:`Node`* :target:`getBaseLayout`() const; :ref:`UIWidget`* :target:`getCurWidget`() const; void :target:`setCurrentWidget`(:ref:`UIWidget`* curWidget); bool :target:`curWidgetExists`() const; bool :target:`isCurEditor`(:ref:`UICodeEditor`* editor); :ref:`UICodeEditor`* :target:`getSomeEditor`(); size_t :target:`countEditorsOpeningDoc`(const :ref:`TextDocument`& doc) const; template void :target:`registerSplitterCommands`(T& t); :ref:`UISceneNode`* :target:`getUISceneNode`() const; bool :target:`curEditorExists`() const; bool :target:`hasSplit`() const; :ref:`UIOrientation` :target:`getMainSplitOrientation`() const; void :target:`addCurrentPositionToNavigationHistory`(); void :target:`addEditorPositionToNavigationHistory`(:ref:`UICodeEditor`* editor); void :target:`updateCurrentPositionInNavigationHistory`(); void :target:`goBackInNavigationHistory`(); void :target:`goForwardInNavigationHistory`(); void :target:`clearNavigationHistory`(); std::shared_ptr<:ref:`ThreadPool`> :target:`getThreadPool`() const; void :target:`setThreadPool`(const std::shared_ptr<:ref:`ThreadPool`>& threadPool); bool :target:`checkEditorExists`(:ref:`UICodeEditor`*) const; bool :target:`checkWidgetExists`(:ref:`UIWidget`*) const; };