All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.swt.widgets.DirectoryDialog Maven / Gradle / Ivy

Go to download

The osx x86_64 swt jar as available in the Eclipse 4.6 (Neon) release for OSX. It is suitable for use with jface and other dependencies available from maven central in the org.eclipse.scout.sdk.deps group. The sources is copied from swt-4.6-cocoa-macosx-x86_64.zip from http://download.eclipse.org/eclipse/downloads/drops4/R-4.6-201606061100/ and javadoc is generated from sources.

The newest version!
/*******************************************************************************
 * Copyright (c) 2000, 2012 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.swt.widgets;


import org.eclipse.swt.*;
import org.eclipse.swt.internal.cocoa.*;


/**
 * Instances of this class allow the user to navigate
 * the file system and select a directory.
 * 
*
Styles:
*
(none)
*
Events:
*
(none)
*
*

* IMPORTANT: This class is not intended to be subclassed. *

* * @see DirectoryDialog snippets * @see SWT Example: ControlExample, Dialog tab * @see Sample code and further information * @noextend This class is not intended to be subclassed by clients. */ public class DirectoryDialog extends Dialog { String message = "", filterPath = ""; /** * Constructs a new instance of this class given only its parent. * * @param parent a shell which will be the parent of the new instance * * @exception IllegalArgumentException
    *
  • ERROR_NULL_ARGUMENT - if the parent is null
  • *
* @exception SWTException
    *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent
  • *
  • ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass
  • *
*/ public DirectoryDialog (Shell parent) { this (parent, SWT.APPLICATION_MODAL); } /** * Constructs a new instance of this class given its parent * and a style value describing its behavior and appearance. *

* The style value is either one of the style constants defined in * class SWT which is applicable to instances of this * class, or must be built by bitwise OR'ing together * (that is, using the int "|" operator) two or more * of those SWT style constants. The class description * lists the style constants that are applicable to the class. * Style bits are also inherited from superclasses. *

* * @param parent a shell which will be the parent of the new instance * @param style the style of dialog to construct * * @exception IllegalArgumentException
    *
  • ERROR_NULL_ARGUMENT - if the parent is null
  • *
* @exception SWTException
    *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent
  • *
  • ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass
  • *
*/ public DirectoryDialog (Shell parent, int style) { super (parent, checkStyle (parent, style)); if (Display.getSheetEnabled ()) { if (parent != null && (style & SWT.SHEET) != 0) this.style |= SWT.SHEET; } checkSubclass (); } /** * Returns the path which the dialog will use to filter * the directories it shows. * * @return the filter path * * @see #setFilterPath */ public String getFilterPath () { return filterPath; } /** * Returns the dialog's message, which is a description of * the purpose for which it was opened. This message will be * visible on the dialog while it is open. * * @return the message */ public String getMessage () { return message; } /** * Makes the dialog visible and brings it to the front * of the display. * * @return a string describing the absolute path of the selected directory, * or null if the dialog was cancelled or an error occurred * * @exception SWTException
    *
  • ERROR_WIDGET_DISPOSED - if the dialog has been disposed
  • *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the dialog
  • *
*/ public String open () { String directoryPath = null; NSOpenPanel panel = NSOpenPanel.openPanel(); Display display = parent != null ? parent.getDisplay() : Display.getCurrent(); /* * This line is intentionally commented. Don't show hidden files forcefully, * instead allow Directory dialog to use the system preference. */ // OS.objc_msgSend(panel.id, OS.sel_setShowsHiddenFiles_, true); panel.setCanCreateDirectories(true); panel.setAllowsMultipleSelection((style & SWT.MULTI) != 0); panel.setTitle(NSString.stringWith(title != null ? title : "")); panel.setMessage(NSString.stringWith(message != null ? message : "")); panel.setCanChooseFiles(false); panel.setCanChooseDirectories(true); panel.setTreatsFilePackagesAsDirectories(true); NSApplication application = NSApplication.sharedApplication(); if (parent != null && (style & SWT.SHEET) != 0) { application.beginSheet(panel, parent.view.window (), null, 0, 0); } display.setModalDialog(this, panel); NSString dir = (filterPath != null && filterPath.length() > 0) ? NSString.stringWith(filterPath) : null; long /*int*/ response = panel.runModalForDirectory(dir, null); if (parent != null && (style & SWT.SHEET) != 0) { application.endSheet(panel, 0); } display.setModalDialog(null); if (response == OS.NSFileHandlingPanelOKButton) { NSString filename = panel.filename(); directoryPath = filterPath = filename.getString(); } // options.optionFlags = OS.kNavSupportPackages | OS.kNavAllowOpenPackages | OS.kNavAllowInvisibleFiles; return directoryPath; } /** * Sets the dialog's message, which is a description of * the purpose for which it was opened. This message will be * visible on the dialog while it is open. * * @param string the message * * @exception IllegalArgumentException
    *
  • ERROR_NULL_ARGUMENT - if the string is null
  • *
*/ public void setMessage (String string) { if (string == null) error (SWT.ERROR_NULL_ARGUMENT); message = string; } /** * Sets the path that the dialog will use to filter * the directories it shows to the argument, which may * be null. If the string is null, then the operating * system's default filter path will be used. *

* Note that the path string is platform dependent. * For convenience, either '/' or '\' can be used * as a path separator. *

* * @param string the filter path */ public void setFilterPath (String string) { filterPath = string; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy