Preparing search index...

    Options for file dialog behavior: Usual for standard selection or DirectoriesOnly to restrict to directories.

    export class DialogsOptionsExamplePanel extends PanelPlugin {
    connections: any[];
    static descriptor() {
    const d = new Descriptor();
    d.id = 'com.docs.DialogsOptionsExample';
    d.name = 'Dialogs.Options Example';
    d.defaultDockState = DockState.Detached;
    d.defaultSize = new Size(400, 250);
    return d;
    }
    constructor(pluginSystem: Editor.PluginSystem, descriptor?: Descriptor) {
    super(pluginSystem, descriptor);
    this.connections = [];
    }
    createWidget(parent: Widget): Widget {
    const root = new Widget(parent);
    const layout = new BoxLayout();
    layout.setDirection(Direction.TopToBottom);
    layout.spacing = 8;
    root.layout = layout;

    const title = new Label(root);
    title.text = 'Dialogs.Options Demo';
    layout.addWidget(title);

    const statusLabel = new Label(root);
    statusLabel.text = 'Click a button to open a dialog';
    statusLabel.wordWrap = true;
    layout.addWidget(statusLabel);

    // Dialogs.Options controls file/directory dialog behavior:
    // Usual — standard file dialog
    // DirectoriesOnly — restrict to directories only
    const gui = this.pluginSystem.findInterface(IGui.interfaceId) as IGui;

    const fileBtn = new PushButton(root);
    fileBtn.text = 'Open File Dialog (Usual)';
    layout.addWidget(fileBtn);

    this.connections.push(
    fileBtn.onClick.connect(() => {
    // Dialogs.Params has a protected constructor; cast to create one
    const params = { caption: 'Select a File', filter: '*.*', options: Dialogs.Options.Usual } as unknown as Dialogs.Params;
    const result = gui.dialogs.selectFileToOpen(params, new Editor.Path(''));
    statusLabel.text = 'Selected: ' + result.toString();
    })
    );

    const dirBtn = new PushButton(root);
    dirBtn.text = 'Open Directory Dialog (DirectoriesOnly)';
    layout.addWidget(dirBtn);

    this.connections.push(
    dirBtn.onClick.connect(() => {
    // DirectoriesOnly restricts the dialog to show only directories
    const params = { caption: 'Select a Directory', filter: '', options: Dialogs.Options.DirectoriesOnly } as unknown as Dialogs.Params;
    const result = gui.dialogs.selectFolderToOpen(params, new Editor.Path(''));
    statusLabel.text = 'Selected: ' + result.toString();
    })
    );

    return root;
    }
    deinit(): void {
    this.connections.forEach((c: any) => c?.disconnect());
    this.connections = [];
    }
    }
    Index

    Enumeration Members

    Enumeration Members

    DirectoriesOnly: number

    File dialog restricted to directories only.

    Usual: number

    Standard file dialog with standard filters.