IWIDGETS_EXTFILESELECTIONDIALOG(3iwidget)

πŸ’– iwidgets::extfileselectiondialog πŸ’–

okay bestie, so this page lives in the incr Widgets manual, section 1, and it's all about iwidgets::extfileselectiondialog β€” the extended file selection dialog. yes it's a mouthful, we'll get through it together 🫢


✨ NAME ✨

iwidgets::extfileselectiondialog β€” create and manipulate a file selection dialog widget. that's the whole vibe, no cap. πŸŽ€


✨ SYNOPSIS ✨

iwidgets::extfileselectiondialog pathName ?options?

short, sweet, iconic. πŸ‘‘


πŸ¦‹ INHERITANCE πŸ¦‹

the family tree is giving royalty, honestly:

itk::Toplevel   <-   iwidgets::Shell   <-    iwidgets::Dialogshell    <-
iwidgets::Dialog <- iwidgets::Extfileselectiondialog

so it descends from all of those. generational wealth of widgets fr fr. πŸ’…


🌸 STANDARD OPTIONS 🌸

these are the classics, the basics, the ones everybody gets:

activeBackground   background         borderWidth         cursor
foreground         highlightColor     highlightThickness  insertBackground
insertBorderWidth  insertOffTime      insertOnTime        insertWidth
selectBackground   selectBorderWidth  selectForeground

see the options manual entry for the details on the standard options. iykyk. ✨


πŸŽ€ ASSOCIATED OPTIONS πŸŽ€

okay there's a LOT here, stay with me:

popupCursor     textBackground textFont

see the combobox widget manual entry for details on those three above. 🌈

childSitePos    directory      dirsLabel       dirSearchCommand
dirsOn          filesLabel     filesLabelOn    fileSearchCommand
filesOn         fileType       filterLabel     filterOn
invalid         mask           noMatchString   selectionLabel
selectionOn

see the extfileselectionbox widget manual entry for details on all of those. πŸ’œ

labelFont

see the labeledwidget widget manual entry for details on that one. πŸ“

sashCursor

see the panedwindow widget manual entry for details on that one. 🧚

labelFont

see the labeledwidget widget manual entry for details on that one. (yes, labelFont is listed again β€” that's not me being messy, that's literally what the page says. not me noticing it either πŸ™ˆ) πŸŽ€

activeRelief    elementBorderWidth             jumptroughColor

see the scrollbar widget class manual entry for details on those. πŸ”₯

textBackground  textFont

see the scrolledlistbox widget manual entry for details on those two. ⭐


πŸ’– INHERITED OPTIONS πŸ’–

the ones it got from its ancestors, periodt:

buttonBoxPadX   buttonBoxPadY  buttonBoxPos    padX
padY            separator      thickness

see the dialogshell widget manual entry for details on those inherited options. 🌸

height          master         modality        width

see the shell widget manual entry for details on those inherited options. πŸ¦‹

title

see the Toplevel widget manual entry for details on that inherited option. πŸ‘‘


✨ DESCRIPTION ✨

so the iwidgets::extfileselectiondialog command creates an extended file selection dialog, which is slightly different from the fileselectiondialog widget. the differences are mostly cosmetic, bestie β€” the listboxes live inside a panedwindow, and the entryfields for the filter and selection have been swapped out for comboboxes. other than that? the interface is practically the same. lowkey a glow-up, highkey still the same girl. πŸ’…


πŸ”₯ METHODS πŸ”₯

the iwidgets::extfileselectiondialog command creates a new Tcl command whose name is pathName. you use that command to invoke all sorts of operations on the widget. general form, hold onto this:

pathName option ?arg arg ...?

option and the args decide the exact behavior of the command. here are the commands you can run on extfileselectiondialog widgets:


🌈 ASSOCIATED METHODS 🌈

get             childsite      filter

see the fileselectionbox class manual entry for details on those associated methods. 🫢


πŸ’œ INHERITED METHODS πŸ’œ

add             buttonconfigure                defaulthide
insert          invoke         show

see the buttonbox widget manual entry for details on those inherited methods. πŸŽ€

activate        center         deactivate

see the shell widget manual entry for details on those inherited methods. 🌸


⭐ WIDGET-SPECIFIC METHODS ⭐

pathName cget option

returns the current value of the configuration option given by option. option can be any of the values that the iwidgets::extfileselectiondialog command accepts. simple as that. ✨

pathName configure ?option? ?value option value ...?

query or modify the configuration options of the widget, your choice.

  • if no option is specified, it returns a list describing all of the available options for pathName (peep Tk_ConfigureInfo for the format of that list).
  • if option is specified with no value, the command returns a list describing that one named option (and that list will be identical to the corresponding sublist of the value returned when no option was specified).
  • if one or more option-value pairs are specified, the command modifies the given widget option(s) to have the given value(s) β€” and in that case the command returns an empty string.

option can be any of the values the iwidgets::extfileselectiondialog command accepts. πŸ’–


🧚 COMPONENTS 🧚

  • Name: fsb
  • Class: Fileselectionbox

the fsb component is the extfileselectionbox for the extfileselectiondialog. see the extfileselectionbox widget manual entry for details on the fsb component item. πŸ‘‘


πŸ’… EXAMPLE πŸ’…

package require Iwidgets 4.0
#
# Non-modal example
#
proc okCallback {} {
    puts "You selected [.nmfsd get]"
    .nmfsd deactivate
}

iwidgets::extfileselectiondialog .nmfsd -title Non-Modal
.nmfsd buttonconfigure OK -command okCallback

.nmfsd activate

#
# Modal example
#
iwidgets::extfileselectiondialog .mfsd -modality application
.mfsd center

if {[.mfsd activate]} {
    puts "You selected [.mfsd get]"
} else {
    puts "You cancelled the dialog"
}

two whole examples, non-modal AND modal. we ate. πŸ”₯


🌟 AUTHOR 🌟

Mark L. Ulferts Anthony L. Parent

(legends, honestly 🫢)


πŸ’€ KEYWORDS πŸ’€

extfileselectiondialog, extfileselectionbox, dialog, dialogshell, shell, widget


okay that's the whole page bestie, you're officially fluent in extended file selection dialogs πŸ¦‹βœ¨ this one ships from Tk, and it's the iwidgets::ext...lectiondialog(1) page β€” so next time someone asks, you already know. slay, go build something cute πŸ’–πŸŽ€πŸ‘‘

πŸ“¦ where this page comes from