Documented how to make a Mac OS FLTK application launchable by dropping files on its icon.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9718 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Manolo Gouy 2012-11-13 13:03:20 +00:00
parent 82878a7225
commit 155e099f4a
4 changed files with 72 additions and 9 deletions

View File

@ -33,7 +33,8 @@ README.OSX.txt - 2010-10-23 - Building FLTK under Apple OS X
4.5 Testing FLTK
4.6 Uninstalling previous versions of FLTK
4.7 Installing FLTK
5 DOCUMENT HISTORY
5 MAKE AN APPLICATION LAUNCHABLE BY DROPPING FILES ON ITS ICON
6 DOCUMENT HISTORY
1 INTRODUCTION
@ -411,7 +412,28 @@ tools:
(TODO: 4.8 Installing Little Helpers)
(TODO: 4.9 Creating new Projects)
5 DOCUMENT HISTORY
5 MAKE AN APPLICATION LAUNCHABLE BY DROPPING FILES ON ITS ICON
=================================================================
- Prepare an Info.plist file for your application derived from file
ide/Xcode4/plists/editor-Info.plist which allows any file to be dropped
on the application icon.
You can edit this file in Xcode and change
Document types/Item 0/CFBundleTypeExtensions/Item 0
from the current "*" to the desired file extension. Use several items to declare
several extensions.
- Call fl_open_callback() at the beginning of your main() function that
sets what function will be called when a file is dropped on the application icon.
- In Xcode, set the "Info.plist File" build setting of your target application
to the Info.plist file you have prepared.
- Rebuild your application.
6 DOCUMENT HISTORY
=====================
Oct 29 2010 - matt: removed warnings
@ -420,3 +442,4 @@ Dec 19 2010 - Manolo: corrected typos
Dec 29 2010 - Manolo: removed reference to AudioToolbox.framework that's no longer needed
Feb 24 2011 - Manolo: architecture flags are not propagated to the fltk-config script.
Apr 17 2012 - matt: added Xcode4 documentation
Nov 13 2012 - Manolo: added "MAKE AN APPLICATION LAUNCHABLE BY DROPPING FILES ON ITS ICON"

View File

@ -4,8 +4,27 @@
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>*</string>
</array>
<key>CFBundleTypeName</key>
<string>AllFiles</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSTypeIsPackage</key>
<false/>
<key>NSPersistentStoreTypeKey</key>
<string>XML</string>
</dict>
</array>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleGetInfoString</key>
<string>Part of the FLTK library. Please visit www.fltk.org.</string>
<key>CFBundleIdentifier</key>
<string>org.fltk.editor</string>
<key>CFBundleInfoDictionaryVersion</key>
@ -18,7 +37,5 @@
<string>1.0</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright 1998-2010 by Bill Spitzak and others.</string>
<key>CFBundleGetInfoString</key>
<string>Part of the FLTK library. Please visit www.fltk.org.</string>
</dict>
</plist>
</plist>

View File

@ -4,8 +4,27 @@
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>*</string>
</array>
<key>CFBundleTypeName</key>
<string>AllFiles</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSTypeIsPackage</key>
<false/>
<key>NSPersistentStoreTypeKey</key>
<string>XML</string>
</dict>
</array>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleGetInfoString</key>
<string>Part of the FLTK library. Please visit www.fltk.org.</string>
<key>CFBundleIdentifier</key>
<string>org.fltk.editor</string>
<key>CFBundleInfoDictionaryVersion</key>
@ -18,7 +37,5 @@
<string>1.0</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright 1998-2010 by Bill Spitzak and others.</string>
<key>CFBundleGetInfoString</key>
<string>Part of the FLTK library. Please visit www.fltk.org.</string>
</dict>
</plist>
</plist>

View File

@ -789,16 +789,22 @@ Fl_Window* new_view() {
return w;
}
void cb(const char *fname) {
load_file(fname, -1);
}
int main(int argc, char **argv) {
textbuf = new Fl_Text_Buffer;
//textbuf->transcoding_warning_action = NULL;
style_init();
fl_open_callback(cb);
Fl_Window* window = new_view();
window->show(1, argv);
#ifndef __APPLE__
if (argc > 1) load_file(argv[1], -1);
#endif
return Fl::run();
}