> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.ninjatrader.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.ninjatrader.com/_mcp/server.

# INTTabFactory Interface

If you wish to have tab page functionality like adding, removing, moving, duplicating tabs you must create a class which implements the **INTTabFactory** interface.

This interface contains two methods which must be hidden:

## Syntax

`NTWindow CreateParentWindow()`

`NTTabPage CreateTabPage(string typeName, bool isNewWindow = false)`

## Examples

```csharp
public class MyWindowFactory : INTTabFactory
{
     // INTTabFactory member. Creates the parent window that contains tabs
     public NTWindow CreateParentWindow()
     {
         return new MyWindow();
     }

     // INTTabFactory member. Creates new tab pages whenever the user presses the + button
     public NTTabPage CreateTabPage(string typeName)
     {
         return new MyWindowTabPage();
     }
}
```