Add widget to 'main' area under Column '1'

I’m trying to add a widget to main area using the method ApplicationShell.addWidget.
When I tried to add widgets to "main" area, it works fine !

I have an issue with adding widget to main area under Column 1.
Widgets are getting added to Column 1 only when there are widgets in Column 0. Is this observation correct?
I would like to be able to add widgets to Column 1 even if there are no tabs added in Column 0.
Any advise, please?

Our layout is not divided by column, but a tree of widgets relative to each other. You will need to find a widget which belongs to the position where you want to add yours and add relative to it. There is ViewColumnService in the plugin system: https://github.com/eclipse-theia/theia/blob/master/packages/plugin-ext/src/main/browser/view-column-service.ts#L24 Which tries to do something like that based on relative position of widgets in the area. Maybe you can use it.

Thank you, @akosyakov.
My custom extension is based on theia 0.8.0 !

I tried the following code to add widget to column 1 using the ViewColumnService:

protected addWidgetToShellRightTop(params: TestWidgetParams) {

        const widgetOptions: ApplicationShell.WidgetOptions = { area: 'main' };

        if(this.viewColumnService) {
            let mode = 'open-to-right';
            var viewColumn = 1;

            this.viewColumnService.updateViewColumns();
            let widgetIds = this.viewColumnService.getViewColumnIds(viewColumn);
            if (widgetIds.length > 0) {
                mode = 'tab-after';
            } else {
                const columnsSize = this.viewColumnService.viewColumnsSize();
                if (columnsSize) {
                    viewColumn = columnsSize - 1;
                    widgetIds = this.viewColumnService.getViewColumnIds(viewColumn);
                }
            }
            const ref = this.shell.getWidgets('main').find(widget => widget.isVisible && widgetIds.indexOf(widget.id) !== -1);
            if (ref) {
                Object.assign(widgetOptions, { ref, mode });
            }
        }

        var testWidget = this.createTestWidget(params);
        this.shell.addWidget(testWidget, widgetOptions);
        webView.update();
    }

But, i’m still not able to add a widget to column 1 when there are no widgets in column 0.
I would like to be able to add widgets to Column 1 even if there are no tabs added in Column 0 .
Please help.