GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
AG_DIRDLG(3) FreeBSD Library Functions Manual AG_DIRDLG(3)

AG_DirDlg
agar directory browser widget

#include <agar/core.h>
#include <agar/gui.h>

The AG_DirDlg widget is a directory selection widget. It provides an interface similar to AG_FileDlg(3), but restricts the selection to directories.

AG_Object(3) -> AG_Widget(3) -> AG_DirDlg.

AG_DirDlg *
AG_DirDlgNew(AG_Widget *parent, Uint flags);


AG_DirDlg *
AG_DirDlgNewMRU(AG_Widget *parent, const char *mruKey, Uint flags);


int
AG_DirDlgSetDirectory(AG_DirDlg *dd, const char *format, ...);


int
AG_DirDlgSetDirectoryS(AG_DirDlg *dd, const char *path);


void
AG_DirDlgSetDirectoryMRU(AG_DirDlg *dd, const char *mruKey, const char *defaultDir);

The AG_DirDlgNew() function allocates, initializes, and attaches a new AG_DirDlg widget. The AG_DirDlgNewMRU() variant implicitely calls AG_DirDlgSetDirectoryMRU() with the given key. Note that unless AG_DirDlgSetDirectory() is used (see below), the default directory is set according to the AG_Config(3) ‘save-path’ parameter.

Acceptable flags include:

AG_DIRDLG_MULTI
Allow multiple directories to be selected at once.
AG_DIRDLG_CLOSEWIN
Automatically close the AG_DirDlg widget's parent window when a directory is selected.
AG_DIRDLG_LOAD
The selected directory must exist and be accessible or an error is returned to the user.
AG_DIRDLG_SAVE
The selected directory must be writeable or an error is returned to the user.
AG_DIRDLG_ASYNC
Load/save routines will be executed in a separate thread. This flag is available only if agar was compiled with threads support.
AG_DIRDLG_NOBUTTONS
Don't display "OK" and "Cancel" buttons.
AG_DIRDLG_HFILL
Expand horizontally in parent (equivalent to invoking AG_ExpandHoriz(3)).
AG_DIRDLG_VFILL
Expand vertically in parent (equivalent to invoking AG_ExpandVert(3)).
AG_DIRDLG_EXPAND
Shorthand for AG_DIRDLG_HFILL|AG_DIRDLG_VFILL.

The active directory can be set programmatically with the AG_DirDlgSetDirectory() function.

The AG_DirDlgSetDirectoryMRU() sets the working directory according to an AG_Config(3) parameter named mruKey If the parameter does not exist, it will be set to defaultDir (it is customary to use a name such as ‘myapp.mru.foodir’). If AG_DirDlgSetDirectoryMRU() is used, subsequent directory changes will cause the current AG_Config(3) settings to be saved automatically.

By default, selecting a directory will trigger the following checks:

  1. If AG_DIRDLG_LOAD or AG_DIRDLG_SAVE is set, check whether the directory is accessible or writeable.
  2. Select the directory, raising a ‘dir-chosen’ event.
  3. If AG_DIRDLG_CLOSEWIN is set, close the parent window.

The default action performed when a user clicks on "Cancel" is simply to close the parent window if AG_DIRDLG_CLOSEWIN is set.

These default actions can be overridden using the functions below:


void
AG_DirDlgOkAction(AG_DirDlg *dd, void (*fn)(AG_Event *), const char *fmt, ...);


void
AG_DirDlgCancelAction(AG_DirDlg *dd, void (*fn)(AG_Event *), const char *fmt, ...);


int
AG_DirDlgCheckReadAccess(AG_DirDlg *dd);


int
AG_DirDlgCheckWriteAccess(AG_DirDlg *dd);

The AG_DirDlgOkAction() function configures an event handler function to invoke when a directory is selected, overriding the default behavior. The event handler will be passed a string argument containing the absolute path to the selected directory.

AG_DirDlgCancelAction() overrides the default behavior of the "Cancel" button.

The utility functions AG_DirDlgCheckReadAccess() and AG_DirDlgCheckWriteAccess() evaluate whether the selected directory is readable or writeable.

The AG_DirDlg widget does not provide any bindings.

The AG_DirDlg widget generates the following events:
dir-chosen(char *path)
The user has selected the given directory. path is the full pathname to the directory.
dir-selected(char *path)
The user has browsed to the given directory.

For the AG_DirDlg object:

char cwd[AG_PATHNAME_MAX]
Absolute path of current working directory.

See tests/loader.c in the Agar source distribution.

AG_FileDlg(3), AG_Intro(3), AG_Limits(3), AG_Widget(3), AG_Window(3)

The AG_DirDlg widget first appeared in Agar 1.4.1
September 14, 2010 FreeBSD 13.1-RELEASE

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.