Generated reference › API — ICoreSDK/ICoreStudio/StudioObjects/StudioSurface
kind: generated#api#icoresdk-icorestudio-studioobjects-studiosurface

API — ICoreSDK/ICoreStudio/StudioObjects/StudioSurface

The public contract of 2 header(s) under src/ICoreSDK/ICoreStudio/StudioObjects/StudioSurface — 2 class/struct definition(s), 28 declaration(s). Each section shows the header's banner and its public (and protected-virtual) surface exactly as the file writes it.

HeaderDefinesDeclarationsBases
ICoreFloatingPanelsGraphicsView.hICoreFloatingPanelsGraphicsView3public ICoreGraphicsView
ICoreStudioSurface.hICoreStudioSurface25public ICoreWidget

ICoreFloatingPanelsGraphicsView.h#

src/ICoreSDK/ICoreStudio/StudioObjects/StudioSurface/ICoreFloatingPanelsGraphicsView.h

No Q_OBJECT: ICoreGraphicsView is no longer a QObject (P2.11b), and this class declared no signal, slot, property or Q_INVOKABLE, and nothing qobject_casts to it. Checked before removing rather than inferred.

ICoreFloatingPanelsGraphicsView#

ICoreFloatingPanelsGraphicsView.h:10 · class · bases public ICoreGraphicsView · pImpl · 3 declaration(s)

class ICoreFloatingPanelsGraphicsView : public ICoreGraphicsView {
public:
    explicit ICoreFloatingPanelsGraphicsView(ICoreWidget* parent = nullptr);

    ICoreGraphicsScene* getScene();

    ~ICoreFloatingPanelsGraphicsView() override;

private:
    class Impl;                    // the two-line residue; state lives here
    std::unique_ptr<Impl> impl;
};

ICoreStudioSurface.h#

src/ICoreSDK/ICoreStudio/StudioObjects/StudioSurface/ICoreStudioSurface.h

ICoreStudioSurface#

ICoreStudioSurface.h:19 · class · bases public ICoreWidget · pImpl · 25 declaration(s)

class ICoreStudioSurface : public ICoreWidget {
public:
    explicit ICoreStudioSurface(ICoreWidget *parent = nullptr);

    // ======= Tab Manager
    ICoreTab* addNewTab(int newTabIndex, ICoreSubsystemTreeNode* treeNodeToLoad);
    void acquireOwnership_Tab(ICoreTab* tab, ICoreSubsystemTreeNode* treeNodeToLoad, int tabHeaderIndex = -1);
    void giveOwnershipUp_Tab(const ICoreTab* tab);
    void deleteTab(ICoreTab* tabToDelete);
    void setFocusedTab(ICoreTab* tabToBeFocused);
    void resetTabFocus();

    void sendParentWindowToFront() const;

    void closeAllTabs();
    void deleteAllTabs_NoAnimation();

    // No-op unless this editor is empty AND hosted in a spawned ICoreWindow;
    // the primary window's editor stays open showing the new-tab panel.
    void closeParentWindowIfEmpty();

    // Call before the window hosting this surface is destroyed. See the .cpp:
    // a canvas left in the dying scene has its item tree deleted underneath it,
    // and the recycle pool hands the wreckage back on the next new tab.
    void releaseCanvasBeforeWindowTeardown() const;

    void loadNavigationBar(const std::string& pathToLoad) const;
    void ensureNavBarHasTheLoadedPath();

    ICoreCanvasParent* getCanvasParent() const;
    ICoreWidget* getTabHeaderBar() const;

    std::vector<ICoreTab*> getAllTabs();
    ICoreTab* getFocusedTab() const;

    ICoreInfoLabel* getInfoLabel() const;

    void toggleToNewStudioSurfacel();
    void toggleToCanvasParent() const;

    ICoreLeftFixedPanel* getLeftFixedPanel() const;
    ICoreTopFixedPanel* getTopFixedPanel() const;
    ICoreCopilotFloatingButton* getCopilotFloatingButton() const;

    ~ICoreStudioSurface() override;

private:
    class Impl;                    // the two-line residue; state lives here
    std::unique_ptr<Impl> impl;
};