summaryrefslogtreecommitdiff
path: root/src/Fl_Native_File_Chooser_MAC.cxx
diff options
context:
space:
mode:
authorGreg Ercolano <erco@seriss.com>2010-01-14 20:47:59 +0000
committerGreg Ercolano <erco@seriss.com>2010-01-14 20:47:59 +0000
commitf910c1c181205b9005a1ad91eac6d963eb9919a9 (patch)
tree2d03182b995302f35748689ca4a56c8f47b1fc14 /src/Fl_Native_File_Chooser_MAC.cxx
parent209e1bfea12f291b58a1404938b05f35e5ec1d6d (diff)
Fl_Native_File_Chooser follow up maintenance.
* doxygen docs added * Changed all FNFC_XXX macros to full Fl_Native_File_Chooser names for doxygen * Added missing svn $Id tags * Small mods to Manolo's old_dir[] in Fl_Native_File_Chooser_FLTK to use a dynamic string instead of old_dir[300] git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7003 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/Fl_Native_File_Chooser_MAC.cxx')
-rw-r--r--src/Fl_Native_File_Chooser_MAC.cxx87
1 files changed, 44 insertions, 43 deletions
diff --git a/src/Fl_Native_File_Chooser_MAC.cxx b/src/Fl_Native_File_Chooser_MAC.cxx
index b222d2d84..28d689bb9 100644
--- a/src/Fl_Native_File_Chooser_MAC.cxx
+++ b/src/Fl_Native_File_Chooser_MAC.cxx
@@ -30,6 +30,8 @@
// Possibly 'preset_file' could be used to select the filename.
//
+#ifndef FL_DOXYGEN // PREVENT DOXYGEN'S USE OF THIS FILE
+
#include "Fl_Native_File_Chooser_common.cxx" // strnew/strfree/strapp/chrcat
#include <libgen.h> // dirname(3)
#include <sys/types.h> // stat(2)
@@ -39,8 +41,6 @@
#include <FL/Fl.H>
#include <FL/Fl_Native_File_Chooser.H>
#include <FL/filename.H>
-#define FNFC_CLASS Fl_Native_File_Chooser
-#define FNFC_CTOR Fl_Native_File_Chooser
#ifndef __APPLE_COCOA__
// TRY TO CONVERT AN AEDesc TO AN FSRef
@@ -65,19 +65,19 @@ static int AEDescToFSRef(const AEDesc* desc, FSRef* fsref) {
}
// NAVREPLY: CTOR
-FNFC_CLASS::NavReply::NavReply() {
+Fl_Native_File_Chooser::NavReply::NavReply() {
_valid_reply = 0;
}
// NAVREPLY: DTOR
-FNFC_CLASS::NavReply::~NavReply() {
+Fl_Native_File_Chooser::NavReply::~NavReply() {
if ( _valid_reply ) {
NavDisposeReply(&_reply);
}
}
// GET REPLY FROM THE NAV* DIALOG
-int FNFC_CLASS::NavReply::get_reply(NavDialogRef& ref) {
+int Fl_Native_File_Chooser::NavReply::get_reply(NavDialogRef& ref) {
if ( _valid_reply ) {
NavDisposeReply(&_reply); // dispose of previous
_valid_reply = 0;
@@ -90,7 +90,7 @@ int FNFC_CLASS::NavReply::get_reply(NavDialogRef& ref) {
}
// RETURN THE BASENAME USER WANTS TO 'Save As'
-int FNFC_CLASS::NavReply::get_saveas_basename(char *s, int slen) {
+int Fl_Native_File_Chooser::NavReply::get_saveas_basename(char *s, int slen) {
if (CFStringGetCString(_reply.saveFileName, s, slen-1, kCFStringEncodingUTF8) == false) {
s[0] = '\0';
return(-1);
@@ -101,7 +101,7 @@ int FNFC_CLASS::NavReply::get_saveas_basename(char *s, int slen) {
// RETURN THE DIRECTORY NAME
// Returns 0 on success, -1 on error.
//
-int FNFC_CLASS::NavReply::get_dirname(char *s, int slen) {
+int Fl_Native_File_Chooser::NavReply::get_dirname(char *s, int slen) {
FSRef fsref;
if ( AEDescToFSRef(&_reply.selection, &fsref) != noErr ) {
// Conversion failed? Return empty name
@@ -116,7 +116,7 @@ int FNFC_CLASS::NavReply::get_dirname(char *s, int slen) {
// Returns: 0 on success with pathnames[] containing pathnames selected,
// -1 on error
//
-int FNFC_CLASS::NavReply::get_pathnames(char **&pathnames, int& tpathnames) {
+int Fl_Native_File_Chooser::NavReply::get_pathnames(char **&pathnames, int& tpathnames) {
// How many items selected?
long count = 0;
if ( AECountItems(&_reply.selection, &count) != noErr ) {
@@ -151,7 +151,7 @@ int FNFC_CLASS::NavReply::get_pathnames(char **&pathnames, int& tpathnames) {
#endif /* !__APPLE_COCOA__ */
// FREE PATHNAMES ARRAY, IF IT HAS ANY CONTENTS
-void FNFC_CLASS::clear_pathnames() {
+void Fl_Native_File_Chooser::clear_pathnames() {
if ( _pathnames ) {
while ( --_tpathnames >= 0 ) {
_pathnames[_tpathnames] = strfree(_pathnames[_tpathnames]);
@@ -163,7 +163,7 @@ void FNFC_CLASS::clear_pathnames() {
}
// SET A SINGLE PATHNAME
-void FNFC_CLASS::set_single_pathname(const char *s) {
+void Fl_Native_File_Chooser::set_single_pathname(const char *s) {
clear_pathnames();
_pathnames = new char*[1];
_pathnames[0] = strnew(s);
@@ -175,7 +175,7 @@ void FNFC_CLASS::set_single_pathname(const char *s) {
// Returns -1 on error, errmsg() has reason, filename == "".
// 0 if OK, filename() has filename chosen.
//
-int FNFC_CLASS::get_saveas_basename(NavDialogRef& ref) {
+int Fl_Native_File_Chooser::get_saveas_basename(NavDialogRef& ref) {
if ( ref == NULL ) {
errmsg("get_saveas_basename: ref is NULL");
return(-1);
@@ -216,7 +216,7 @@ int FNFC_CLASS::get_saveas_basename(NavDialogRef& ref) {
// -1 -- error, errmsg() has reason, filename == ""
// 0 -- OK, pathnames()/filename() has pathname(s) chosen
//
-int FNFC_CLASS::get_pathnames(NavDialogRef& ref) {
+int Fl_Native_File_Chooser::get_pathnames(NavDialogRef& ref) {
if ( ref == NULL ) {
errmsg("get_saveas_basename: ref is NULL");
return(-1);
@@ -278,10 +278,10 @@ static void PreselectPathname(NavCBRecPtr cbparm, const char *path) {
}
// NAV CALLBACK EVENT HANDLER
-void FNFC_CLASS::event_handler(NavEventCallbackMessage callBackSelector,
+void Fl_Native_File_Chooser::event_handler(NavEventCallbackMessage callBackSelector,
NavCBRecPtr cbparm,
void *data) {
- FNFC_CLASS *nfb = (FNFC_CLASS*)data;
+ Fl_Native_File_Chooser *nfb = (Fl_Native_File_Chooser*)data;
switch (callBackSelector) {
case kNavCBStart:
{
@@ -381,7 +381,7 @@ void FNFC_CLASS::event_handler(NavEventCallbackMessage callBackSelector,
#endif /* !__APPLE_COCOA__ */
// CONSTRUCTOR
-FNFC_CLASS::FNFC_CTOR(int val) {
+Fl_Native_File_Chooser::Fl_Native_File_Chooser(int val) {
_btype = val;
#ifdef __APPLE_COCOA__
_panel = NULL;
@@ -407,7 +407,7 @@ FNFC_CLASS::FNFC_CTOR(int val) {
}
// DESTRUCTOR
-FNFC_CLASS::~FNFC_CTOR() {
+Fl_Native_File_Chooser::~Fl_Native_File_Chooser() {
// _opts // nothing to manage
#ifndef __APPLE_COCOA__
if (_ref) { NavDialogDispose(_ref); _ref = NULL; }
@@ -430,23 +430,23 @@ FNFC_CLASS::~FNFC_CTOR() {
#ifndef __APPLE_COCOA__
// SET THE TYPE OF BROWSER
-void FNFC_CLASS::type(int val) {
+void Fl_Native_File_Chooser::type(int val) {
_btype = val;
}
#endif /* !__APPLE_COCOA__ */
// GET TYPE OF BROWSER
-int FNFC_CLASS::type() const {
+int Fl_Native_File_Chooser::type() const {
return(_btype);
}
// SET OPTIONS
-void FNFC_CLASS::options(int val) {
+void Fl_Native_File_Chooser::options(int val) {
_options = val;
}
// GET OPTIONS
-int FNFC_CLASS::options() const {
+int Fl_Native_File_Chooser::options() const {
return(_options);
}
@@ -456,7 +456,7 @@ int FNFC_CLASS::options() const {
// 1 - user cancelled
// -1 - failed; errmsg() has reason
//
-int FNFC_CLASS::show() {
+int Fl_Native_File_Chooser::show() {
// Make sure fltk interface updates before posting our dialog
Fl::flush();
@@ -520,7 +520,7 @@ int FNFC_CLASS::show() {
}
#ifndef __APPLE_COCOA__
-int FNFC_CLASS::post() {
+int Fl_Native_File_Chooser::post() {
// INITIALIZE BROWSER
OSStatus err;
@@ -612,37 +612,37 @@ int FNFC_CLASS::post() {
// SET ERROR MESSAGE
// Internal use only.
//
-void FNFC_CLASS::errmsg(const char *msg) {
+void Fl_Native_File_Chooser::errmsg(const char *msg) {
_errmsg = strfree(_errmsg);
_errmsg = strnew(msg);
}
// RETURN ERROR MESSAGE
-const char *FNFC_CLASS::errmsg() const {
+const char *Fl_Native_File_Chooser::errmsg() const {
return(_errmsg ? _errmsg : "No error");
}
// GET FILENAME
-const char* FNFC_CLASS::filename() const {
+const char* Fl_Native_File_Chooser::filename() const {
if ( _pathnames && _tpathnames > 0 ) return(_pathnames[0]);
return("");
}
// GET FILENAME FROM LIST OF FILENAMES
-const char* FNFC_CLASS::filename(int i) const {
+const char* Fl_Native_File_Chooser::filename(int i) const {
if ( _pathnames && i < _tpathnames ) return(_pathnames[i]);
return("");
}
// GET TOTAL FILENAMES CHOSEN
-int FNFC_CLASS::count() const {
+int Fl_Native_File_Chooser::count() const {
return(_tpathnames);
}
// PRESET PATHNAME
// Value can be NULL for none.
//
-void FNFC_CLASS::directory(const char *val) {
+void Fl_Native_File_Chooser::directory(const char *val) {
_directory = strfree(_directory);
_directory = strnew(val);
}
@@ -650,14 +650,14 @@ void FNFC_CLASS::directory(const char *val) {
// GET PRESET PATHNAME
// Returned value can be NULL if none set.
//
-const char* FNFC_CLASS::directory() const {
+const char* Fl_Native_File_Chooser::directory() const {
return(_directory);
}
// SET TITLE
// Value can be NULL if no title desired.
//
-void FNFC_CLASS::title(const char *val) {
+void Fl_Native_File_Chooser::title(const char *val) {
_title = strfree(_title);
_title = strnew(val);
}
@@ -665,14 +665,14 @@ void FNFC_CLASS::title(const char *val) {
// GET TITLE
// Returned value can be NULL if none set.
//
-const char *FNFC_CLASS::title() const {
+const char *Fl_Native_File_Chooser::title() const {
return(_title);
}
// SET FILTER
// Can be NULL if no filter needed
//
-void FNFC_CLASS::filter(const char *val) {
+void Fl_Native_File_Chooser::filter(const char *val) {
_filter = strfree(_filter);
_filter = strnew(val);
@@ -689,14 +689,14 @@ void FNFC_CLASS::filter(const char *val) {
// GET FILTER
// Returned value can be NULL if none set.
//
-const char *FNFC_CLASS::filter() const {
+const char *Fl_Native_File_Chooser::filter() const {
return(_filter);
}
// CLEAR ALL FILTERS
// Internal use only.
//
-void FNFC_CLASS::clear_filters() {
+void Fl_Native_File_Chooser::clear_filters() {
_filt_names = strfree(_filt_names);
for (int i=0; i<_filt_total; i++) {
_filt_patt[i] = strfree(_filt_patt[i]);
@@ -724,7 +724,7 @@ void FNFC_CLASS::clear_filters() {
// \_____/ \_______/
// Name Wildcard
//
-void FNFC_CLASS::parse_filter(const char *in) {
+void Fl_Native_File_Chooser::parse_filter(const char *in) {
clear_filters();
if ( ! in ) return;
int has_name = strchr(in, '\t') ? 1 : 0;
@@ -799,11 +799,11 @@ void FNFC_CLASS::parse_filter(const char *in) {
#ifndef __APPLE_COCOA__
// STATIC: FILTER CALLBACK
-Boolean FNFC_CLASS::filter_proc_cb(AEDesc *theItem,
+Boolean Fl_Native_File_Chooser::filter_proc_cb(AEDesc *theItem,
void *info,
void *callBackUD,
NavFilterModes filterMode) {
- return((FNFC_CLASS*)callBackUD)->filter_proc_cb2(theItem,
+ return((Fl_Native_File_Chooser*)callBackUD)->filter_proc_cb2(theItem,
info,
callBackUD,
filterMode);
@@ -813,7 +813,7 @@ Boolean FNFC_CLASS::filter_proc_cb(AEDesc *theItem,
// Return true if match,
// false if no match.
//
-Boolean FNFC_CLASS::filter_proc_cb2(AEDesc *theItem,
+Boolean Fl_Native_File_Chooser::filter_proc_cb2(AEDesc *theItem,
void *info,
void *callBackUD,
NavFilterModes filterMode) {
@@ -838,7 +838,7 @@ Boolean FNFC_CLASS::filter_proc_cb2(AEDesc *theItem,
// SET PRESET FILE
// Value can be NULL for none.
//
-void FNFC_CLASS::preset_file(const char* val) {
+void Fl_Native_File_Chooser::preset_file(const char* val) {
_preset_file = strfree(_preset_file);
_preset_file = strnew(val);
}
@@ -846,7 +846,7 @@ void FNFC_CLASS::preset_file(const char* val) {
// PRESET FILE
// Returned value can be NULL if none set.
//
-const char* FNFC_CLASS::preset_file() {
+const char* Fl_Native_File_Chooser::preset_file() {
return(_preset_file);
}
@@ -854,7 +854,7 @@ const char* FNFC_CLASS::preset_file() {
#import <Cocoa/Cocoa.h>
#define UNLIKELYPREFIX "___fl_very_unlikely_prefix_"
-int FNFC_CLASS::get_saveas_basename(void) {
+int Fl_Native_File_Chooser::get_saveas_basename(void) {
char *q = strdup( [[(NSSavePanel*)_panel filename] fileSystemRepresentation] );
id delegate = [(NSSavePanel*)_panel delegate];
if(delegate != nil) {
@@ -870,7 +870,7 @@ int FNFC_CLASS::get_saveas_basename(void) {
}
// SET THE TYPE OF BROWSER
-void FNFC_CLASS::type(int val) {
+void Fl_Native_File_Chooser::type(int val) {
_btype = val;
switch (_btype) {
case BROWSE_FILE:
@@ -966,7 +966,7 @@ static NSPopUpButton *createPopupAccessory(NSSavePanel *panel, const char *filte
// 1 - user cancelled
// -1 - failed; errmsg() has reason
//
-int FNFC_CLASS::post() {
+int Fl_Native_File_Chooser::post() {
// INITIALIZE BROWSER
if ( _filt_total == 0 ) { // Make sure they match
_filt_value = 0; // TBD: move to someplace more logical?
@@ -1081,6 +1081,7 @@ int FNFC_CLASS::post() {
}
#endif //__APPLE_COCOA__
+#endif /*!FL_DOXYGEN*/
//
// End of "$Id$".