protected Control createControl()

in plugin/src/software/aws/toolkits/eclipse/amazonq/views/actions/InlineQueryStatusBarContribution.java [29:77]


    protected Control createControl(final Composite parent) {
        GridData parentData = new GridData(SWT.FILL, SWT.FILL, true, false);
        parentData.verticalIndent = 0;
        parent.setLayoutData(parentData);

        GridLayout layout = new GridLayout();
        layout.marginHeight = 0;
        layout.marginLeft = 1;
        layout.marginRight = 1;
        layout.horizontalSpacing = 0;
        layout.verticalSpacing = 0;
        parent.setLayout(layout);

        statusLabel = new Label(parent, SWT.NONE);
        statusLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, true));
        statusLabel.setText(IDLE_STATUS);
        QInvocationSession session = QInvocationSession.getInstance();
        session.assignQueryingCallback(new Runnable() {
            @Override
            public void run() {
                statusLabel.getDisplay().asyncExec(() -> {
                    statusLabel.setText(QUERY_STATUS);
                    statusLabel.update();
                    statusLabel.redraw();
                });
            }
        });
        session.assignIdlingCallback(new Runnable() {
            @Override
            public void run() {
                statusLabel.getDisplay().asyncExec(() -> {
                    statusLabel.setText(IDLE_STATUS);
                    statusLabel.update();
                    statusLabel.redraw();
                });
            }
        });
        session.assignPreviewingCallback(new Runnable() {
            @Override
            public void run() {
                statusLabel.getDisplay().asyncExec(() -> {
                    statusLabel.setText(PREVIEW_STATUS);
                    statusLabel.update();
                    statusLabel.redraw();
                });
            }
        });
        return statusLabel;
    }