Newer
Older
module Fox
#
# File selection dialog
#
# Each pattern in the _patternList_ comprises an optional name, followed by
# a pattern in parentheses. The patterns are separated by newlines.
# For example,
#
# fileDialog.patternList = ["*",
# "*.cpp,*.cc",
# "*.hpp,*.hh,*.h"
# ]
#
# and
#
# fileDialog.patternList = ["All Files (*)",
# "C++ Sources (*.cpp,*.cc)",
# "C++ Headers (*.hpp,*.hh,*.h)"
# ]
#
# will set the same three patterns, but the former shows no pattern names.
#
# === Wildcard matching modes
#
Lars Kanis
committed
# +FILEMATCH_FILE_NAME+:: No wildcard can ever match "/" (or "\","/" under Windows).
# +FILEMATCH_NOESCAPE+:: Backslashes don't quote special chars ("\" is treated as "\").
# +FILEMATCH_PERIOD+:: Leading "." is matched only explicitly (Useful to match hidden files on Unix).
# +FILEMATCH_LEADING_DIR+:: Ignore "/..." after a match.
# +FILEMATCH_CASEFOLD+:: Compare without regard to case.
#
# Note that under Windows, +FILEMATCH_NOESCAPE+ must be passed.
#
class FXFileDialog < FXDialogBox
# File name [String]
attr_accessor :filename
# List of selected filenames [Array]
attr_reader :filenames
# File pattern [String]
attr_accessor :pattern
# Current pattern number [Integer]
attr_accessor :currentPattern
# Directory [String]
attr_accessor :directory
# Inter-item spacing (in pixels) [Integer]
attr_accessor :itemSpace
# File list style [Integer]
attr_accessor :fileBoxStyle
# File selection mode [Integer]
attr_accessor :selectMode
# Wildcard matching mode [Integer]
attr_accessor :matchMode
# Image size for preview images [Integer]
attr_accessor :imageSize
# Construct a file dialog box
def initialize(owner, name, opts=0, x=0, y=0, width=500, height=300) # :yields: theFileDialog
end
#
# Change the list of file patterns shown in the file dialog.
# The _patterns_ argument is an array of strings, and each string
# represents a different file pattern. A pattern consists of an
# optional name, followed by a pattern in parentheses. For example,
# this code:
#
# patterns = [ "*", "*.cpp,*.cc", "*.hpp,*.hh,*.h" ]
# aFileSelector.setPatternList(patterns)
#
# and this code:
#
# patterns = [ "All Files (*)", "C++ Sources (*.cpp,*.cc)", "C++ Headers (*.hpp,*.hh,*.h)" ]
# aFileSelector.setPatternList(patterns)
#
# will both set the same three patterns, but the former shows no pattern names.
#
# For compatibility with the FOX C++ library API of the same name, {#setPatternList}
# also accepts a _patterns_ value that is a single string, with each pattern
# separated by newline characters, e.g.
#
# patterns = "All Files (*)\nC++ Sources (*.cpp,*.cc)\nC++ Headers (*.hpp,*.hh,*.h)"
# aFileSelector.setPatternList(patterns)
#
def setPatternList(patterns); end
#
# Returns the list of patterns (an Array of Strings).
#
def getPatternList(); end
# Get pattern text for given pattern number
def getPatternText(patno); end
# Change pattern text for pattern number
def setPatternText(patno, text); end
#
# Return number of patterns
#
def numPatterns; end
#
# Change whether this file dialog allows pattern entry or not.
#
def allowsPatternEntry=(allowed); end
#
# Return +true+ if this file dialog allows pattern entry
#
def allowsPatternEntry? ; end
# Set visibility of the read-only button, where _shown_ is either +true+ or +false+
def showReadOnly=(shown); end
# Return +true+ if read-only button is shown
def readOnlyShown?; end
# Return +true+ if showing hidden files and directories
def hiddenFilesShown?; end
#
# If _state_ is +true+, the file dialog will show hidden files and
# directories; otherwise, it won't.
#
def hiddenFilesShown=(state); end
#
# If _shown_ is +true+, the file dialog will show preview images;
# otherwise it won't.
#
def imagesShown=(shown); end
#
# Return +true+ if the file dialog is showing preview images.
#
def imagesShown? ; end
# Set initial state of read-only button, where _state_ is either +true+ or +false+
def readOnly=(state); end
# Return +true+ if read-only
def readOnly?; end
# Return +true+ if navigation allowed.
def navigationAllowed?; end
# Set navigation to allowed (+true+) or disallowed (+false+)
def navigationAllowed=(allowed); end
#
# Display a dialog box that allows the user to select a single existing file name
# for opening.
# Returns the selected file name (a String).
#
# ==== Parameters:
#
# +owner+:: the owner window for the dialog box {FXWindow}
Lars Kanis
committed
# +caption+:: the caption for the dialog box [String]
# +path+:: the initial filename [String]
# +patterns+:: the pattern list [String]
# +initial+:: the initial pattern to be used (an index into the pattern list) [Integer]
#
def FXFileDialog.getOpenFilename(owner, caption, path, patterns="*", initial=0); end
#
# Display a dialog box that allows the user to select multiple existing file names
# for opening.
# Returns an array of the selected file names (an array of strings).
#
# ==== Parameters:
#
# +owner+:: the owner window for the dialog box {FXWindow}
Lars Kanis
committed
# +caption+:: the caption for the dialog box [String]
# +path+:: the initial filename [String]
# +patterns+:: the pattern list [String]
# +initial+:: the initial pattern to be used (an index into the pattern list) [Integer]
#
def FXFileDialog.getOpenFilenames(owner, caption, path, patterns="*", initial=0); end
#
# Display a dialog box that allows the user to select an existing file name, or
# enter a new file name, for saving.
# Returns the save file name (a String).
#
# ==== Parameters:
#
# +owner+:: the owner window for the dialog box {FXWindow}
Lars Kanis
committed
# +caption+:: the caption for the dialog box [String]
# +path+:: the initial filename [String]
# +patterns+:: the pattern list [String]
# +initial+:: the initial pattern to be used (an index into the pattern list) [Integer]
#
def FXFileDialog.getSaveFilename(owner, caption, path, patterns="*", initial=0); end
#
# Display a dialog box that allows the user to select a directory.
# Returns the directory name (a String).
#
# ==== Parameters:
#
# +owner+:: the owner window for the dialog box {FXWindow}
Lars Kanis
committed
# +caption+:: the caption for the dialog box [String]
# +path+:: the initial directory path [String]
#
def FXFileDialog.getOpenDirectory(owner, caption, path); end
end
end