Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | None |
Language | Haskell2010 |
The FileChooserButton
is a widget that lets the user select a
file. It implements the FileChooser
interface. Visually, it is a
file name with a button to bring up a FileChooserDialog
.
The user can then use that dialog to change the file associated with
that button. This widget does not support setting the
FileChooser
:select-multiple
property to True
.
Create a button to let the user select a file in /etc
C code
{ GtkWidget *button; button = gtk_file_chooser_button_new (_("Select a file"), GTK_FILE_CHOOSER_ACTION_OPEN); gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (button), "/etc"); }
The FileChooserButton
supports the GtkFileChooserActions
FileChooserActionOpen
and FileChooserActionSelectFolder
.
The t'GI.Gtk.Objects.FileChooserButton.FileChooserButton' will ellipsize the label, and will thus request little horizontal space. To give the button more space, you should call 'GI.Gtk.Objects.Widget.widgetGetPreferredSize', 'GI.Gtk.Objects.FileChooserButton.fileChooserButtonSetWidthChars', or pack the button in such a way that other interface elements give space to the widget.
CSS nodes
GtkFileChooserButton has a CSS node with name “filechooserbutton”, containing a subnode for the internal button with name “button” and style class “.file”.
Synopsis
- newtype FileChooserButton = FileChooserButton (ManagedPtr FileChooserButton)
- class (GObject o, IsDescendantOf FileChooserButton o) => IsFileChooserButton o
- toFileChooserButton :: (MonadIO m, IsFileChooserButton o) => o -> m FileChooserButton
- fileChooserButtonGetFocusOnClick :: (HasCallStack, MonadIO m, IsFileChooserButton a) => a -> m Bool
- fileChooserButtonGetTitle :: (HasCallStack, MonadIO m, IsFileChooserButton a) => a -> m Text
- fileChooserButtonGetWidthChars :: (HasCallStack, MonadIO m, IsFileChooserButton a) => a -> m Int32
- fileChooserButtonNew :: (HasCallStack, MonadIO m) => Text -> FileChooserAction -> m FileChooserButton
- fileChooserButtonNewWithDialog :: (HasCallStack, MonadIO m, IsDialog a) => a -> m FileChooserButton
- fileChooserButtonSetFocusOnClick :: (HasCallStack, MonadIO m, IsFileChooserButton a) => a -> Bool -> m ()
- fileChooserButtonSetTitle :: (HasCallStack, MonadIO m, IsFileChooserButton a) => a -> Text -> m ()
- fileChooserButtonSetWidthChars :: (HasCallStack, MonadIO m, IsFileChooserButton a) => a -> Int32 -> m ()
- constructFileChooserButtonDialog :: (IsFileChooserButton o, MonadIO m, IsFileChooser a) => a -> m (GValueConstruct o)
- constructFileChooserButtonTitle :: (IsFileChooserButton o, MonadIO m) => Text -> m (GValueConstruct o)
- getFileChooserButtonTitle :: (MonadIO m, IsFileChooserButton o) => o -> m Text
- setFileChooserButtonTitle :: (MonadIO m, IsFileChooserButton o) => o -> Text -> m ()
- constructFileChooserButtonWidthChars :: (IsFileChooserButton o, MonadIO m) => Int32 -> m (GValueConstruct o)
- getFileChooserButtonWidthChars :: (MonadIO m, IsFileChooserButton o) => o -> m Int32
- setFileChooserButtonWidthChars :: (MonadIO m, IsFileChooserButton o) => o -> Int32 -> m ()
- type C_FileChooserButtonFileSetCallback = Ptr () -> Ptr () -> IO ()
- type FileChooserButtonFileSetCallback = IO ()
- afterFileChooserButtonFileSet :: (IsFileChooserButton a, MonadIO m) => a -> FileChooserButtonFileSetCallback -> m SignalHandlerId
- genClosure_FileChooserButtonFileSet :: MonadIO m => FileChooserButtonFileSetCallback -> m (GClosure C_FileChooserButtonFileSetCallback)
- mk_FileChooserButtonFileSetCallback :: C_FileChooserButtonFileSetCallback -> IO (FunPtr C_FileChooserButtonFileSetCallback)
- noFileChooserButtonFileSetCallback :: Maybe FileChooserButtonFileSetCallback
- onFileChooserButtonFileSet :: (IsFileChooserButton a, MonadIO m) => a -> FileChooserButtonFileSetCallback -> m SignalHandlerId
- wrap_FileChooserButtonFileSetCallback :: FileChooserButtonFileSetCallback -> C_FileChooserButtonFileSetCallback
Exported types
newtype FileChooserButton Source #
Memory-managed wrapper type.
Instances
Eq FileChooserButton Source # | |
Defined in GI.Gtk.Objects.FileChooserButton (==) :: FileChooserButton -> FileChooserButton -> Bool # (/=) :: FileChooserButton -> FileChooserButton -> Bool # | |
IsGValue FileChooserButton Source # | Convert |
Defined in GI.Gtk.Objects.FileChooserButton toGValue :: FileChooserButton -> IO GValue # fromGValue :: GValue -> IO FileChooserButton # | |
ManagedPtrNewtype FileChooserButton Source # | |
TypedObject FileChooserButton Source # | |
Defined in GI.Gtk.Objects.FileChooserButton | |
GObject FileChooserButton Source # | |
Defined in GI.Gtk.Objects.FileChooserButton | |
HasParentTypes FileChooserButton Source # | |
Defined in GI.Gtk.Objects.FileChooserButton | |
type ParentTypes FileChooserButton Source # | |
Defined in GI.Gtk.Objects.FileChooserButton type ParentTypes FileChooserButton = '[Box, Container, Widget, Object, ImplementorIface, Buildable, FileChooser, Orientable] |
class (GObject o, IsDescendantOf FileChooserButton o) => IsFileChooserButton o Source #
Type class for types which can be safely cast to FileChooserButton
, for instance with toFileChooserButton
.
Instances
(GObject o, IsDescendantOf FileChooserButton o) => IsFileChooserButton o Source # | |
Defined in GI.Gtk.Objects.FileChooserButton |
toFileChooserButton :: (MonadIO m, IsFileChooserButton o) => o -> m FileChooserButton Source #
Cast to FileChooserButton
, for types for which this is known to be safe. For general casts, use castTo
.
Methods
Overloaded methods
getFocusOnClick
fileChooserButtonGetFocusOnClick Source #
:: (HasCallStack, MonadIO m, IsFileChooserButton a) | |
=> a |
|
-> m Bool | Returns: |
Deprecated: (Since version 3.20)Use widgetGetFocusOnClick
instead
Returns whether the button grabs focus when it is clicked with the mouse.
See fileChooserButtonSetFocusOnClick
.
Since: 2.10
getTitle
fileChooserButtonGetTitle Source #
:: (HasCallStack, MonadIO m, IsFileChooserButton a) | |
=> a |
|
-> m Text | Returns: a pointer to the browse dialog’s title. |
Retrieves the title of the browse dialog used by button
. The returned value
should not be modified or freed.
Since: 2.6
getWidthChars
fileChooserButtonGetWidthChars Source #
:: (HasCallStack, MonadIO m, IsFileChooserButton a) | |
=> a |
|
-> m Int32 | Returns: an integer width (in characters) that the button will use to size itself. |
Retrieves the width in characters of the button
widget’s entry and/or label.
Since: 2.6
new
:: (HasCallStack, MonadIO m) | |
=> Text |
|
-> FileChooserAction |
|
-> m FileChooserButton | Returns: a new button widget. |
Creates a new file-selecting button widget.
Since: 2.6
newWithDialog
fileChooserButtonNewWithDialog Source #
:: (HasCallStack, MonadIO m, IsDialog a) | |
=> a |
|
-> m FileChooserButton | Returns: a new button widget. |
Creates a FileChooserButton
widget which uses dialog
as its
file-picking window.
Note that dialog
must be a Dialog
(or subclass) which
implements the FileChooser
interface and must not have
DialogFlagsDestroyWithParent
set.
Also note that the dialog needs to have its confirmative button
added with response ResponseTypeAccept
or ResponseTypeOk
in
order for the button to take over the file selected in the dialog.
Since: 2.6
setFocusOnClick
fileChooserButtonSetFocusOnClick Source #
:: (HasCallStack, MonadIO m, IsFileChooserButton a) | |
=> a |
|
-> Bool |
|
-> m () |
Deprecated: (Since version 3.20)Use widgetSetFocusOnClick
instead
Sets whether the button will grab focus when it is clicked with the mouse. Making mouse clicks not grab focus is useful in places like toolbars where you don’t want the keyboard focus removed from the main area of the application.
Since: 2.10
setTitle
fileChooserButtonSetTitle Source #
:: (HasCallStack, MonadIO m, IsFileChooserButton a) | |
=> a |
|
-> Text |
|
-> m () |
Modifies the title
of the browse dialog used by button
.
Since: 2.6
setWidthChars
fileChooserButtonSetWidthChars Source #
:: (HasCallStack, MonadIO m, IsFileChooserButton a) | |
=> a |
|
-> Int32 |
|
-> m () |
Sets the width (in characters) that button
will use to nChars
.
Since: 2.6
Properties
dialog
Instance of the FileChooserDialog
associated with the button.
Since: 2.6
constructFileChooserButtonDialog :: (IsFileChooserButton o, MonadIO m, IsFileChooser a) => a -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “dialog
” property. This is rarely needed directly, but it is used by new
.
title
Title to put on the FileChooserDialog
associated with the button.
Since: 2.6
constructFileChooserButtonTitle :: (IsFileChooserButton o, MonadIO m) => Text -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “title
” property. This is rarely needed directly, but it is used by new
.
getFileChooserButtonTitle :: (MonadIO m, IsFileChooserButton o) => o -> m Text Source #
Get the value of the “title
” property.
When overloading is enabled, this is equivalent to
get
fileChooserButton #title
setFileChooserButtonTitle :: (MonadIO m, IsFileChooserButton o) => o -> Text -> m () Source #
Set the value of the “title
” property.
When overloading is enabled, this is equivalent to
set
fileChooserButton [ #title:=
value ]
widthChars
The width of the entry and label inside the button, in characters.
Since: 2.6
constructFileChooserButtonWidthChars :: (IsFileChooserButton o, MonadIO m) => Int32 -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “width-chars
” property. This is rarely needed directly, but it is used by new
.
getFileChooserButtonWidthChars :: (MonadIO m, IsFileChooserButton o) => o -> m Int32 Source #
Get the value of the “width-chars
” property.
When overloading is enabled, this is equivalent to
get
fileChooserButton #widthChars
setFileChooserButtonWidthChars :: (MonadIO m, IsFileChooserButton o) => o -> Int32 -> m () Source #
Set the value of the “width-chars
” property.
When overloading is enabled, this is equivalent to
set
fileChooserButton [ #widthChars:=
value ]
Signals
fileSet
type C_FileChooserButtonFileSetCallback = Ptr () -> Ptr () -> IO () Source #
Type for the callback on the (unwrapped) C side.
type FileChooserButtonFileSetCallback = IO () Source #
The fileSet signal is emitted when the user selects a file.
Note that this signal is only emitted when the user changes the file.
Since: 2.12
afterFileChooserButtonFileSet :: (IsFileChooserButton a, MonadIO m) => a -> FileChooserButtonFileSetCallback -> m SignalHandlerId Source #
Connect a signal handler for the fileSet signal, to be run after the default handler. When overloading is enabled, this is equivalent to
after
fileChooserButton #fileSet callback
genClosure_FileChooserButtonFileSet :: MonadIO m => FileChooserButtonFileSetCallback -> m (GClosure C_FileChooserButtonFileSetCallback) Source #
Wrap the callback into a GClosure
.
mk_FileChooserButtonFileSetCallback :: C_FileChooserButtonFileSetCallback -> IO (FunPtr C_FileChooserButtonFileSetCallback) Source #
Generate a function pointer callable from C code, from a C_FileChooserButtonFileSetCallback
.
noFileChooserButtonFileSetCallback :: Maybe FileChooserButtonFileSetCallback Source #
A convenience synonym for
.Nothing
:: Maybe
FileChooserButtonFileSetCallback
onFileChooserButtonFileSet :: (IsFileChooserButton a, MonadIO m) => a -> FileChooserButtonFileSetCallback -> m SignalHandlerId Source #
Connect a signal handler for the fileSet signal, to be run before the default handler. When overloading is enabled, this is equivalent to
on
fileChooserButton #fileSet callback