Documentation‎ > ‎Menus‎ > ‎

gnocl::menuRecentChooser

A menu item which provides a list of all recently opened files as monitored by the system recent chooser manager.

Synopsis

gnocl::menuRecentChooser [-option value...]

Screenshot

Options

-pattern
type: string (default: "*")
List of file patterns to use in ordert to filter the list of filenames disiplayed. e.g "*.c *.h".
-sort
type: string (defaul: "none")
Determine the ordering of the items displayed based upon the frequency of use. The availalble option are none (i.e. by time), least or most..
-limit
type: integer (default: 10)
The maximum number of recently opened files to be displayed. Using a value of -1 will result in the display of all items..
-showIcons
type: boolean (default: 1)
Whether or not to display a file icon registered as corresponding to the extension of a displayed item.
-showNotFound
type: boolean (default: 1)
Whether or not to show the names of items no longer present. Setting this item to 0 will result in a check on every available resource (including remote devices) and so will be a time consuming activity.
-showNumbers
type: boolean (default: 1)
Whether the menu items are prepended by a number acting as keyboard mneumonic.
-showLocal
type: boolean (default: 1)
Whether or not the item is sensitive to user input.to only show local items.
-showPrivate
type: boolean (default: 0)
Whether or not private items are to be displayed.
-showTips
type: boolean (default: 1)
Whether or not to show a tooltip containing the full path of the active item.
-onClicked
type: string (default: "")
Tcl script which is executed whenever the mouse pointer enters the button. Before evaluation the following percent strings are substituted:

%w    widget name
%f      URI of file entry selected.

Local files will be prefixed with "file://" which may need to be removed for use in scripts. See the example below for more details.

Description

A menu that displays a list of those files listed by the Gtk recent file manager as being opened. The items displayed can be filtered according to application requirements. Items are added/removed using an instance of the gnocl::recentManager widget.

Commands

id delete
Deletes the widget and the associated tcl command.
id configure [-option value...]
Configures the widget. Option may have any of the values accepted on creation of the widget.

Example

#---------------
# test-recent.tcl
#---------------
#!/bin/sh
#\
exec tclsh "$0" "$@"

package require Gnocl

set txt [gnocl::text]
set box [gnocl::box -orientation vertical]

set tbar [gnocl::toolBar]

$box add $tbar
$box add $txt -fill {1 1} -expand 1

set rc_mgr [gnocl::recentManager getDefault]
set rc_menu [gnocl::menuRecentChooser \
    -showNumbers 1 \
    -limit 5 \
    -showIcons 1 \
    -showNotFound 1 \
    -showPrivate 1 \
    -showTips 1 \
    -patterns "*.tcl *.c *.h" \
    -onClicked {
        set fname [string range %f 5 end]
        openFile $fname
        } ]

$tbar add menuButton \
    -icon %#Open \
    -text Open \
    -menu $rc_menu \
    -tooltip "Open File" \
    -arrowTooltip "Open Recent" \
    -onClicked {
        set fname [gnocl::fileChooserDialog]
        openFile $fname
        puts "file://$fname"
        $rc_mgr add "$fname"
        }

proc openFile {fname} {
    global txt
    global rc_mgr
    
    if {$fname == ""} {return}
    
    if {1} {
    set fp [open $fname "r"]
    set data [read $fp]
    close $fp
    
    $txt set $data
    unset data
    }
    
}

gnocl::window -child $box -setSize 0.3
Comments