...
 
Commits (1)
  • Yavor Doganov's avatar
    Import upstream wrapperfactory.app version 0.1.0 · da0e1b76
    Yavor Doganov authored
    Imported GNUstepWrapper-0.1.0
    into pkg-gnustep-maintainers@lists.alioth.debian.org--debian/wrapperfactory-app--head--1.0
    
    
    
    git-archimport-id: pkg-gnustep-maintainers@lists.alioth.debian.org--debian/wrapperfactory-app--head--1.0--patch-1
    da0e1b76
GSWrapper
=========
Copyright (c) 2004, Raffael Herzog <herzog@raffael.ch>
Main Programmers:
- Raffael Herzog <herzog@raffael.ch>
Testers:
- Sascha Erni <rb@nggalai.com>
Documentation:
- Sascha Erni <rb@nggalai.com>
Special thanks to Patrick Tilp <Patrix@swiss-made-monster.ch> for the
icon.
$Id: AUTHORS 103 2004-08-09 16:30:51Z rherzog $
$HeadURL: file:///home/rherzog/Subversion/GNUstep/GSWrapper/tags/release-0.1.0/AUTHORS $
This diff is collapsed.
# -*- Mode: Makefile -*-
#
# Copyright (C) 2004 Raffael Herzog
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# $Id: Directories.make 103 2004-08-09 16:30:51Z rherzog $
# $HeadURL: file:///home/rherzog/Subversion/GNUstep/GSWrapper/tags/release-0.1.0/Directories.make $
ifeq ($(debug),yes)
APP_DIR=WrapperFactory.debug
OBJ_BASE_DIR=shared_debug_obj
else
APP_DIR=WrapperFactory.app
OBJ_BASE_DIR=shared_obj
endif
ARCH_DIR=$(GNUSTEP_TARGET_CPU)/$(GNUSTEP_TARGET_OS)/$(LIBRARY_COMBO)
ifneq ($(GNUSTEP_FLATTENED),yes)
OBJ_DIR=$(OBJ_BASE_DIR)/$(ARCH_DIR)
else
OBJ_DIR=$(OBJ_BASE_DIR)
endif
# Copyright (C) 2004 Raffael Herzog
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# $Id: GNUmakefile 103 2004-08-09 16:30:51Z rherzog $
# $HeadURL: file:///home/rherzog/Subversion/GNUstep/GSWrapper/tags/release-0.1.0/GNUmakefile $
include $(GNUSTEP_MAKEFILES)/common.make
include Directories.make
GNUSTEP_INSTALLATION_DIR = $(GNUSTEP_SYSTEM_ROOT)
PACKAGE_NAME=GNUstepWrapper
include Version
GNUSTEP_INSTALLATION_DIR = $(GNUSTEP_SYSTEM_ROOT)
#$(GNUSTEP_TARGET_CPU)/$(GNUSTEP_TARGET_OS)/$(LIBRARY_COMBO)/GSWrapper_Launcher
SUBPROJECTS = libGSWrapper Launcher WrapperFactory
-include GNUmakefile.preamble
ifeq ($(GSWrapper_Development),yes)
-include GNUmakefile.development
endif
include $(GNUSTEP_MAKEFILES)/aggregate.make
-include GNUmakefile.postamble
GNUSTEP_INSTALLATION_DIR=$(GNUSTEP_USER_ROOT)
OBJCFLAGS+=-Werror -DFREEDESKTOP
# Copyright (C) 2004 Raffael Herzog
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# $Id: GNUmakefile 103 2004-08-09 16:30:51Z rherzog $
# $HeadURL: file:///home/rherzog/Subversion/GNUstep/GSWrapper/tags/release-0.1.0/Launcher/GNUmakefile $
include $(GNUSTEP_MAKEFILES)/common.make
include ../Directories.make
GNUSTEP_INSTALLATION_DIR=$(GNUSTEP_SYSTEM_ROOT)
OBJC_PROGRAM_NAME=GSWrapper_Launcher
GSWrapper_Launcher_OBJC_FILES=main.m
GSWrapper_Launcher_OBJC_LIBS += -lGSWrapper -lgnustep-base -lgnustep-gui
GSWrapper_Launcher_INCLUDE_DIRS += -I../libGSWrapper
GSWrapper_Launcher_LIB_DIRS += -L../libGSWrapper/$(OBJ_DIR)
GSWrapper_Launcher_COPY_INTO_LOCAL_BUNDLE = ../$(APP_DIR)/Resources/$(ARCH_DIR)
-include GNUmakefile.preamble
ifeq ($(GSWrapper_Development),yes)
include ../GNUmakefile.development
endif
include $(GNUSTEP_MAKEFILES)/objc.make
-include GNUmakefile.postamble
/* Copyright (C) 2004 Raffael Herzog
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* $Id: main.m 103 2004-08-09 16:30:51Z rherzog $
* $HeadURL: file:///home/rherzog/Subversion/GNUstep/GSWrapper/tags/release-0.1.0/Launcher/main.m $
*/
#include <Foundation/Foundation.h>
#include <AppKit/AppKit.h>
#include "WrapperDelegate.h"
int main(int argc, const char *argv[]) {
[NSApplication sharedApplication];
[NSApp setDelegate: [[WrapperDelegate alloc] init]];
return NSApplicationMain(argc, argv);
}
No news yet... :)
$Id: NEWS 103 2004-08-09 16:30:51Z rherzog $
$HeadURL: file:///home/rherzog/Subversion/GNUstep/GSWrapper/tags/release-0.1.0/NEWS $
GNUstepWrapper
=============
GNUstepWrapper is an easy way to create GNUstep app-wrappers of non-GNUstep
binaries. It is the most useful in conjunction with Enrico Sersale's
GWorkspace environment.
INSTALL
=======
GNUstepWrapper needs a fairly current build of GNUstep installed.
Get GNUstep here: http://www.gnustep.org/
Also, a recent installation of GWorkspace.app is highly recommended.
Get GWorkspace here: http://www.gnustep.it/enrico/gworkspace/
Decompress the archive:
tar xfvz GNUstepWrapper-[Version].tar.gz
Next, compile and install the application:
$ make
# make install (as root)
GNUstepWrapper installs a tool to $GNUSTEP_SYSTEM_ROOT/Tools, a library
(libGSWrapper) to $GNUSTEP_SYSTEM_ROOT/Libraries, and an application / GUI
for creating and editing wrappers in $GNUSTEP_SYSTEM_ROOT/Applications.
Now, update the available services for GWorkspace.app:
$ make_services
You may need to restart GWorkspace to make it stick.
If everything went well, you will have two new entries in GWorkspace.app's
"Services" menu: WrapperFactory > Create Wrapper / Edit Wrapper.
USAGE
=====
Create a Wrapper
----------------
1. Browse to the application binary you want to wrap.
2. Select the binary and hit "Services > WrapperFactoryWrapper > Create
Wrapper". WrapperFactory will launch and create a basic wrapper for the
application you selected.
3. If applicable, use the "Start" dropdown to change the application's
behaviour when starting by opening a file ("Start Application and Open
Files") and when opening additional files ("Open Files in Running
Application"). The code used for the selected file to be opened is "$@",
including the " ".
EXAMPLE: Gimp
Start Application: exec /usr/bin/gimp
Start Application and Open Files: exec /usr/bin/gimp "$@"
Open Files in Running Application: exec /usr/bin/gimp-remote "$@"
4. Add your wrapped application's app-icon by dragging it from a GWorkspace
window to the "AppIcon" area. By default, WrapperFactory uses the GNUstep
logo as app-icon. Supported image formats are GIF, JPEG, PNG, XPM and
TIFF (non-compressed). As of now, overlarge images are not properly
scaled, hence you should chose a 48x48px image as your app-icon. You can
also use preview images provided by Inspector.app by dragging the preview
to the "AppIcon" area.
5. If you feel like it, add application specific meta-information to the
fields in the upper part of WrapperFactory's window and define the
application's role (none, editor, viewer). This information is not
necessary for creating a working app-wrapper.
Add File Types
--------------
1. Click the "Types" tab to edit the file types to be associated with your
wrapped application.
2. Hit the "New Type" button. The right side of WrapperFactory's window will
show you a drag-and-drop area for the file icon, and two text fields for
extensions and file type names to be supported by the wrapped
application.
3. Enter the file type extensions in the "Extensions" field. You can use
comma (,) to seperate multiple extensions. Extensions are case
insensitive.
4. Next, enter the proper name of the file type in the "Name" field.
EXAMPLE: HTML
Extensions: htm,html,xhtml
Name: Hypertext Markup Language File
5. Add the icon for the file type you are creating, using drag-and-drop from
a GWorkspace window. By default, WrapperFactory uses the GNUstep logo as
file type icon. Supported image formats are GIF, JPEG, PNG, XPM and TIFF
(non-compressed). As of now, overlarge images are not properly scaled,
hence you should chose a 48x48px image as your file type icon. You can
also use preview images provided by Inspector.app by dragging the preview
to the "Icon" area.
6. Hit "New Type" for adding further file types, or "Delete Type" to get rid
of a superfluous file type.
When you're done configuring your app-wrapper, use "Document > Save" to save
the wrapper. By default, WrapperFactory saves wrapped applications in
~/GNUstep/Applications/. Naturally, you can move all wrapped applications to
wherever you see fit.
Edit a Wrapper
--------------
1. Browse to the wrapped application you want to edit.
2. Select the application and hit "Services > WrapperFactory > Edit
Wrapper". WrapperFactory will launch, opening the previously created
app-wrapper.
3. Make your changes. You have all the same options as described above.
4. Save your edited app-wrapper by using "Document > Save" or "Document >
Save As".
CONTACT
=======
Bug reports, feature requests and comments regarding this documentation should
be directed to:
Raffael Herzog <herzog@raffael.ch>.
http://www.raffael.ch
$Id: README 103 2004-08-09 16:30:51Z rherzog $
$HeadURL: file:///home/rherzog/Subversion/GNUstep/GSWrapper/tags/release-0.1.0/README $
* [BUG] Crashes
WrapperFactory.app still crashes from time to time, e.g. when
opening a wrapped application while WrapperFactory is
running already.
* [BUG] File Types
The file type description is only shown in the table after the
window has been resized at least once.
* [BUG] Create / Edit wrapper
Do not open two WrapperFactory.app windows if WrapperFactory is not
running already.
* [FEATURE] Icon scaling
As of now, icon images larger than 48x48px are stored in their
original formats assuming that the window manager will rescale them.
However, Window Maker doesn't, so WrapperFactory should rescale.
WrapperFactory.app will rescale such icons to 48x48px while creating
a new app-wrapper and save both the original icon file and the
scaled version in the app-wrapper.
* [DOC] Provide the documentation in HelpViewer.app format.
* [FEATURE] Freedesktop integration
There are many ways of realising this:
- import .desktop files to create wrappers
- directly use .desktop files ("Use .desktop" action)
* [FEATURE] Scriptability
For automation of wrapper creation, WrapperFactory should be
scriptable. Three possible approaches:
- enable WrapperFactory for StepTalk
- move wrapper handling out to a library and create a command line
tool
- both
* [FEATURE] File type library
Store previously defined file types and icon associations and show
said file types when creating and editing an app-wrapper. Could be
done with Freedesktop integration.
* [FEATURE] Multiple instances
Some wrappers, e.g. xpdf or gv, should actually launch
several instances of the application to simulate multiple open
files.
* [FEATURE] More messages
Implement more messages like e.g. applicationShouldTerminate.
* [FEATURE] Window tracking
Try tracking windows opened by a wrapped application to keep control
of said windows (hiding, move up in window stack etc.). Maybe in
collaboration with Window Maker?
* [FEATURE] DE integration
Check whether a wrapper could map GNUstep messages to GNOME/KDE
messages.
$Id: TODO 103 2004-08-09 16:30:51Z rherzog $
$HeadURL: file:///home/rherzog/Subversion/GNUstep/GSWrapper/tags/release-0.1.0/TODO $
# -*- Mode: Makefile -*-
#
# Copyright (C) 2004 Raffael Herzog
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# $Id: Version 103 2004-08-09 16:30:51Z rherzog $
# $HeadURL: file:///home/rherzog/Subversion/GNUstep/GSWrapper/tags/release-0.1.0/Version $
# The version number of this release.
MAJOR_VERSION=0
MINOR_VERSION=1
SUBMINOR_VERSION=0
APP_VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${SUBMINOR_VERSION}
VERSION=${APP_VERSION}
/* Copyright (C) 2004 Raffael Herzog
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* $Id: ApplicationDelegate.h 103 2004-08-09 16:30:51Z rherzog $
* $HeadURL: file:///home/rherzog/Subversion/GNUstep/GSWrapper/tags/release-0.1.0/WrapperFactory/ApplicationDelegate.h $
*/
#ifndef _GSWrapper_GSWrapper_H
#define _GSWrapper_GSWrapper_H
#include <AppKit/AppKit.h>
#include "ServicesProvider.h"
@interface ApplicationDelegate : NSObject
{
IBOutlet NSMenuItem *windowsMenuItem;
IBOutlet NSMenuItem *servicesMenuItem;
ServicesProvider *servicesProvider;
}
- (void)awakeFromNib;
/*
* application delegate
*/
- (void)applicationDidFinishLaunching: (NSNotification *)not;
- (void)applicationDidFinishLaunching: (NSNotification *)not;
- (NSApplicationTerminateReply)applicationShouldTerminate: (NSNotification *)not;
- (void)applicationWillTerminate: (NSNotification *)not;
- (void)application: (NSApplication *)app
openFile: (NSString *)file;
- (void)application: (NSApplication *)app
openFiles: (NSArray *)files;
/*
* outlets
*/
- (void)setWindowsMenuItem: (NSMenuItem *)menuItem;
//- (NSMenu *)windowsMenu;
- (void)setServicesMenuItem: (NSMenuItem *)menuItem;
//- (NSMenu *)servicesMenu;
@end
#endif
/* Copyright (C) 2004 Raffael Herzog
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* $Id: ApplicationDelegate.m 103 2004-08-09 16:30:51Z rherzog $
* $HeadURL: file:///home/rherzog/Subversion/GNUstep/GSWrapper/tags/release-0.1.0/WrapperFactory/ApplicationDelegate.m $
*/
#include <AppKit/AppKit.h>
#include "ApplicationDelegate.h"
#include "WrapperDocument.h"
@implementation ApplicationDelegate
- (void)awakeFromNib
{
//documentController = [NSDocumentController sharedController];
}
/*
* Application delegate
*/
- (void)applicationWillFinishLaunching: (NSNotification *)not
{
[NSApp setWindowsMenu: [windowsMenuItem submenu]];
[NSApp setServicesMenu: [servicesMenuItem submenu]];
NSArray *types = [NSArray arrayWithObjects: NSStringPboardType, NSTIFFPboardType, nil];
RETAIN(types);
[NSApp registerServicesMenuSendTypes: types
returnTypes: (types)];
}
- (void)applicationDidFinishLaunching: (NSNotification *)not
{
servicesProvider = [[ServicesProvider alloc] init];
[NSApp setServicesProvider: servicesProvider];
}
- (BOOL)applicationOpenUntitledFile: (NSApplication *)app
{
[[NSDocumentController sharedDocumentController] openUntitledDocumentOfType: ApplicationType
display: (YES)];
return YES;
}
- (BOOL)applicationShouldOpenUntitledFile: (NSApplication *)app
{
return YES;
}
- (NSApplicationTerminateReply)applicationShouldTerminate: (NSNotification *)not
{
if ( [[NSDocumentController sharedDocumentController] closeAllDocuments] ) {
return NSTerminateNow;
}
else {
return NSTerminateCancel;
}
}
- (void)applicationWillTerminate: (NSNotification *)not
{
}
- (void)application: (NSApplication *)app
openFile: (NSString *)file
{
[self application: app
openFiles: ([NSArray arrayWithObject: file])];
//openFiles: (AUTORELEASE([NSArray arrayWithObject: file]))];
}
- (void)application: (NSApplication *)app
openFiles: (NSArray *)files
{
int i;
int count = [files count];
NSDocumentController *documentController = [NSDocumentController sharedDocumentController];
for ( i=0; i<count; i++ ) {
NSString *f = [files objectAtIndex: i];
[documentController openDocumentWithContentsOfFile: f
display: (YES)];
}
}
/*
* outlets
*/
- (void)setWindowsMenuItem: (NSMenuItem *)menuItem
{
windowsMenuItem = menuItem;
}
- (void)setServicesMenuItem: (NSMenuItem *)menuItem
{
servicesMenuItem = menuItem;
}
@end
/* Copyright (C) 2004 Raffael Herzog
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* $Id: Localizable.strings 103 2004-08-09 16:30:51Z rherzog $
* $HeadURL: file:///home/rherzog/Subversion/GNUstep/GSWrapper/tags/release-0.1.0/WrapperFactory/English.lproj/Localizable.strings $
*/
"Untitled.app" = "Untitled.app";
"A wrapped application" = "A wrapped application";
"Failed to open file:\n%@" = "Failed to open file:\n%@";
"Failed to open files:\n%@" = "Failed to open files:\n%@";
{
FirstResponder = {
Actions = (
"activateContextHelpMode:",
"alignCenter:",
"alignJustified:",
"alignLeft:",
"alignRight:",
"arrangeInFront:",
"cancel:",
"capitalizeWord:",
"changeColor:",
"changeFont:",
"checkSpelling:",
"close:",
"complete:",
"copy:",
"copyFont:",
"copyRuler:",
"cut:",
"delete:",
"deleteBackward:",
"deleteForward:",
"deleteToBeginningOfLine:",
"deleteToBeginningOfParagraph:",
"deleteToEndOfLine:",
"deleteToEndOfParagraph:",
"deleteToMark:",
"deleteWordBackward:",
"deleteWordForward:",
"deminiaturize:",
"deselectAll:",
"fax:",
"hide:",
"hideOtherApplications:",
"indent:",
"loosenKerning:",
"lowerBaseline:",
"lowercaseWord:",
"makeKeyAndOrderFront:",
"miniaturize:",
"miniaturizeAll:",
"moveBackward:",
"moveBackwardAndModifySelection:",
"moveDown:",
"moveDownAndModifySelection:",
"moveForward:",
"moveForwardAndModifySelection:",
"moveLeft:",
"moveRight:",
"moveToBeginningOfDocument:",
"moveToBeginningOfLine:",
"moveToBeginningOfParagraph:",
"moveToEndOfDocument:",
"moveToEndOfLine:",
"moveToEndOfParagraph:",
"moveUp:",
"moveUpAndModifySelection:",
"moveWordBackward:",
"moveWordBackwardAndModifySelection:",
"moveWordForward:",
"moveWordForwardAndModifySelection:",
"newDocument:",
"ok:",
"openDocument:",
"orderBack:",
"orderFront:",
"orderFrontColorPanel:",
"orderFrontDataLinkPanel:",
"orderFrontFontPanel:",
"orderFrontHelpPanel:",
"orderFrontStandardAboutPanel:",
"orderFrontStandardInfoPanel:",
"orderOut:",
"pageDown:",
"pageUp:",
"paste:",
"pasteAsPlainText:",
"pasteAsRichText:",
"pasteFont:",
"pasteRuler:",
"performClose:",
"performMiniaturize:",
"performZoom:",
"print:",
"raiseBaseline:",
"revertDocumentToSaved:",
"runPageLayout:",
"runToolbarCustomizationPalette:",
"saveAllDocuments:",
"saveDocument:",
"saveDocumentAs:",
"saveDocumentTo:",
"scrollLineDown:",
"scrollLineUp:",
"scrollPageDown:",
"scrollPageUp:",
"scrollViaScroller:",
"selectAll:",
"selectLine:",
"selectNextKeyView:",
"selectParagraph:",
"selectPreviousKeyView:",
"selectText:",
"selectText:",
"selectToMark:",
"selectWord:",
"showContextHelp:",
"showGuessPanel:",
"showHelp:",
"showWindow:",
"stop:",
"subscript:",
"superscript:",
"swapWithMark:",
"takeDoubleValueFrom:",
"takeFloatValueFrom:",
"takeIntValueFrom:",
"takeObjectValueFrom:",
"takeStringValueFrom:",
"terminate:",
"tightenKerning:",
"toggle:",
"toggleContinuousSpellChecking:",
"toggleRuler:",
"toggleToolbarShown:",
"toggleTraditionalCharacterShape:",
"transpose:",
"transposeWords:",
"turnOffKerning:",
"turnOffLigatures:",
"underline:",
"unhide:",
"unhideAllApplications:",
"unscript:",
"uppercaseWord:",
"useAllLigatures:",
"useStandardKerning:",
"useStandardLigatures:",
"yank:",
"zoom:",
"setCurrentScriptToStart:",
"setCurrentScriptToStartOpen:",
"setCurrentScriptToOpen:",
"newType:",
"deleteType:",
"controlTextDidChange:",
"setRole:",
"chooseIcon:",
"newAction:"
);
Super = NSObject;
};
IconView = {
Actions = (
"setDelegate:"
);
Outlets = (
delegate,
icon
);
Super = NSView;
};
IconView2 = {
Actions = (
);
Outlets = (
);
Super = IconView;
};
TypeController = {
Actions = (
"controlTextDidChange:",
"setRole:",
"chooseIcon:"
);
Outlets = (
iconView,
extensionsTextField,
nameTextField,
rolePopUp
);
Super = NSObject;
};
TypesController = {
Actions = (
"setTableView:",
"setTypeController:",
"newType:",
"deleteType:"
);
Outlets = (
tableView,
typeController,
document,
typeEditor
);
Super = NSObject;
};
WrapperDocumentController = {
Actions = (
"setCurrentScriptToStart:",
"setCurrentScriptToStartOpen:",
"setCurrentScriptToOpen:",
"setRole:",
"chooseIcon:",
"setCurrentScriptAction:"
);
Outlets = (
windowController,
appIcon,
name,
version,
fullVersion,
description,
url,
authors,
currentScriptShell,
currentScript,
document,
rolePopUp,
currentScriptActionPopUp
);
Super = NSObject;
};
}
\ No newline at end of file
{
ApplicationDelegate = {
Actions = (
);
Outlets = (
windowsMenuItem,
servicesMenuItem
);
Super = NSObject;
};
FirstResponder = {
Actions = (
"activateContextHelpMode:",
"alignCenter:",
"alignJustified:",
"alignLeft:",
"alignRight:",
"arrangeInFront:",
"cancel:",
"capitalizeWord:",
"changeColor:",
"checkSpelling:",
"close:",
"complete:",
"copy:",
"copyFont:",
"copyRuler:",
"cut:",
"delete:",
"deleteBackward:",
"deleteForward:",
"deleteToBeginningOfLine:",
"deleteToBeginningOfParagraph:",
"deleteToEndOfLine:",
"deleteToEndOfParagraph:",
"deleteToMark:",
"deleteWordBackward:",
"deleteWordForward:",
"deminiaturize:",
"deselectAll:",
"fax:",
"hide:",
"hideOtherApplications:",
"indent:",
"loosenKerning:",
"lowerBaseline:",
"lowercaseWord:",
"makeKeyAndOrderFront:",
"miniaturize:",
"miniaturizeAll:",
"moveBackward:",
"moveBackwardAndModifySelection:",
"moveDown:",
"moveDownAndModifySelection:",
"moveForward:",
"moveForwardAndModifySelection:",
"moveLeft:",
"moveRight:",
"moveToBeginningOfDocument:",
"moveToBeginningOfLine:",
"moveToBeginningOfParagraph:",
"moveToEndOfDocument:",
"moveToEndOfLine:",
"moveToEndOfParagraph:",
"moveUp:",
"moveUpAndModifySelection:",
"moveWordBackward:",
"moveWordBackwardAndModifySelection:",
"moveWordForward:",
"moveWordForwardAndModifySelection:",
"newDocument:",
"ok:",
"open:",
"openDocument:",
"orderBack:",
"orderFront:",
"orderFrontColorPanel:",
"orderFrontDataLinkPanel:",
"orderFrontHelpPanel:",
"orderFrontStandardAboutPanel:",
"orderFrontStandardInfoPanel:",
"orderOut:",
"pageDown:",
"pageUp:",
"paste:",
"pasteAsPlainText:",
"pasteAsRichText:",
"pasteFont:",
"pasteRuler:",
"performClose:",
"performMiniaturize:",
"performZoom:",
"print:",
"raiseBaseline:",
"revertDocumentToSaved:",
"runPageLayout:",
"runToolbarCustomizationPalette:",
"saveAllDocuments:",
"saveDocument:",
"saveDocumentAs:",
"saveDocumentTo:",
"scrollLineDown:",
"scrollLineUp:",
"scrollPageDown:",
"scrollPageUp:",
"scrollViaScroller:",
"selectAll:",
"selectLine:",
"selectNextKeyView:",
"selectParagraph:",
"selectPreviousKeyView:",
"selectText:",
"selectToMark:",
"selectWord:",
"showContextHelp:",
"showGuessPanel:",
"showHelp:",
"showWindow:",
"stop:",
"subscript:",
"superscript:",
"swapWithMark:",
"takeDoubleValueFrom:",
"takeFloatValueFrom:",
"takeIntValueFrom:",
"takeObjectValueFrom:",
"takeStringValueFrom:",
"terminate:",
"tightenKerning:",
"toggle:",
"toggleContinuousSpellChecking:",
"toggleRuler:",
"toggleToolbarShown:",
"toggleTraditionalCharacterShape:",
"transpose:",
"transposeWords:",
"turnOffKerning:",
"turnOffLigatures:",
"underline:",
"unhide:",
"unhideAllApplications:",
"unscript:",
"uppercaseWord:",
"useAllLigatures:",
"useStandardKerning:",
"useStandardLigatures:",
"yank:",
"zoom:"
);
Super = NSObject;
};
}
\ No newline at end of file
# Copyright (C) 2004 Raffael Herzog
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# $Id: GNUmakefile 103 2004-08-09 16:30:51Z rherzog $
# $HeadURL: file:///home/rherzog/Subversion/GNUstep/GSWrapper/tags/release-0.1.0/WrapperFactory/GNUmakefile $
include $(GNUSTEP_MAKEFILES)/common.make
include ../Directories.make
APP_NAME=WrapperFactory
WrapperFactory_OBJC_FILES = main.m \
ApplicationDelegate.m \
ServicesProvider.m \
WrapperDocument.m \
Type.m \
WrapperDocumentController.m \
Icon.m \
IconView.m \
TypesController.m \
TypeController.m \
WrapperFactory_RESOURCE_FILES = \
Icons/WrapperFactory.tiff \
Icons/DefaultAppIcon.tiff \
Icons/DesktopEntry.tiff \
WrapperFactory_LANGUAGES = English
WrapperFactory_LOCALIZED_RESOURCE_FILES = Localizable.strings \
WrapperFactory.gorm \
WrapperDocument.gorm \
-include GNUmakefile.preamble
ifeq ($(GSWrapper_Development),yes)
include ../GNUmakefile.development
endif
include $(GNUSTEP_MAKEFILES)/application.make
-include GNUmakefile.postamble
ifeq ($(GSWrapper_Development),yes)
include GNUmakefile.development.post
endif
# -*- Mode: Makefile -*-
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# $Id: GNUmakefile.development.post 103 2004-08-09 16:30:51Z rherzog $
# $HeadURL: file:///home/rherzog/Subversion/GNUstep/GSWrapper/tags/release-0.1.0/WrapperFactory/GNUmakefile.development.post $
# GNUstep-make does not always detect changed resources - so build the app from scratch each time
before-all::
rm -rf $(APP_DIR)
# -*- Mode: Makefile -*-
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# $Id: GNUmakefile.postamble 103 2004-08-09 16:30:51Z rherzog $
# $HeadURL: file:///home/rherzog/Subversion/GNUstep/GSWrapper/tags/release-0.1.0/WrapperFactory/GNUmakefile.postamble $
after-all::
cp -u ../Launcher/$(OBJ_DIR)/GSWrapper_Launcher $(APP_DIR)/Resources/
/* Copyright (C) 2003 Raffael Herzog
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* $Id: Icon.h 103 2004-08-09 16:30:51Z rherzog $
* $HeadURL: file:///home/rherzog/Subversion/GNUstep/GSWrapper/tags/release-0.1.0/WrapperFactory/Icon.h $
*/
#ifndef _GSWrapper_Icon_H
#define _GSWrapper_Icon_H
#include <AppKit/AppKit.h>
@interface Icon : NSObject
{
NSImage *image;
NSSize originalSize;
}
- (id)init;
- (id)initWithImage: (NSImage *)i;
+ (id)iconWithImage: (NSImage *)i;
- (NSImage *)imageCopy: (BOOL)copy;
- (NSImage *)imageForSize: (NSSize)size
copy: (BOOL)copy;
- (NSData *)scaledTIFFRepresentation: (NSSize)size;
- (NSImage *)imageForOriginalSizeCopy: (BOOL)copy;
@end
#endif
/* Copyright (C) 2003 Raffael Herzog
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* $Id: Icon.m 103 2004-08-09 16:30:51Z rherzog $
* $HeadURL: file:///home/rherzog/Subversion/GNUstep/GSWrapper/tags/release-0.1.0/WrapperFactory/Icon.m $
*/
#include <AppKit/AppKit.h>
#include "Icon.h"
@implementation Icon
- (id)init
{
self = [super init];
if ( self ) {
}
return self;
}
- (void)dealloc
{
TEST_AUTORELEASE(image);
}
- (id)initWithImage: (NSImage *)i
{
self = [self init];
if ( self ) {
image = RETAIN(i);
[i setScalesWhenResized: YES];
originalSize = [i size];
}
return self;
}
+ (id)iconWithImage: (NSImage *)i
{
return AUTORELEASE([[Icon alloc] initWithImage: i]);
}
- (NSImage *)imageCopy: (BOOL)copy
{
if ( ! image ) {
return nil;
}
[image setScalesWhenResized: YES];
if ( copy ) {
return AUTORELEASE([image copyWithZone: (NSZone *)nil]);
}
else {
return image;
}
}
- (NSImage *)imageForSize: (NSSize)size
copy: (BOOL)copy
{
NSImage *img = [self imageCopy: copy];
if ( (originalSize.width>size.width) || (originalSize.height>size.height) ) {
// scale the image down proportionally
float ratio = MIN(size.width / originalSize.width,
size.height / originalSize.height);
size.width = originalSize.width*ratio;
size.height = originalSize.height*ratio;
[img setSize: size];
}
else {
[img setSize: originalSize];
}
return img;
}
- (NSData *)scaledTIFFRepresentation: (NSSize)size
{
NSImage *img = [self imageForSize: size copy: YES];
[img lockFocus];
NSRect rect = NSMakeRect(1, 1, 3, 3);
//rect.origin = NSZeroPoint;
//rect.size = size;
NSBitmapImageRep *newRep = [[NSBitmapImageRep alloc] initWithFocusedViewRect: rect];
[img unlockFocus];
NSData *tiff = [newRep TIFFRepresentation];
RELEASE(newRep);
return tiff;
}
- (NSImage *)imageForOriginalSizeCopy: (BOOL)copy
{
NSImage *img = [self imageCopy: copy];
[img setSize: originalSize];
return img;
}
@end
/* Copyright (C) 2003 Raffael Herzog
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* $Id: IconView.h 103 2004-08-09 16:30:51Z rherzog $
* $HeadURL: file:///home/rherzog/Subversion/GNUstep/GSWrapper/tags/release-0.1.0/WrapperFactory/IconView.h $
*/
#ifndef _GSWrapper_IconView_H
#define _GSWrapper_IconView_H
#include <AppKit/AppKit.h>
#include <AppKit/NSDragging.h>
#include "Icon.h"
extern NSString * const IconViewDidChangeIconNotification;
#define IconWidth 48.0f
#define IconHeight 48.0f
@interface IconView : NSView
{
BOOL registeredForDraggedTypes;
Icon *icon;
NSImage *draggingImage;
float insetsSize;
id delegate;
BOOL armed;
BOOL dndOperation;
}
- (id)init;
- (Icon *)icon;
- (void)setIcon: (Icon *)i;
- (float)insetsSize;
- (void)setInsetsSize: (float)size;
- (void)drawRect: (NSRect)rect;
- (void)viewDidMoveToSuperview;
- (NSDragOperation)draggingEntered: (id<NSDraggingInfo>)info;
- (void)draggingExited: (id<NSDraggingInfo>)info;
- (BOOL)prepareForDragOperation: (id<NSDraggingInfo>)info;
- (BOOL)performDragOperation: (id<NSDraggingInfo>)info;
- (void)concludeDragOperation: (id<NSDraggingInfo>)info;
@end
#endif
This diff is collapsed.
#!/bin/sh
#
# executable.template. Generated from executable.template.in by configure.
#
# Copyright (C) 1999-2002 Free Software Foundation, Inc.
#
# Author: Adam Fedor <fedor@gnu.org>
# Date: May 1999
#
# Author: Nicola Pero <n.pero@mi.flashnet.it>
# Date: 2001, 2002
#
# This file is part of the GNUstep Makefile Package.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This is a shell script which attempts to find the GNUstep executable
# of the same name based on the current host and library_combo.
#--------------------------------------------------------------------------
# Main body
#--------------------------------------------------------------------------
if [ -z "$EXEEXT" ]; then
EXEEXT=
fi
if [ -z "$LIBRARY_COMBO" ]; then
LIBRARY_COMBO=gnu-gnu-gnu
fi
# Process arguments
app="$0"
show_available_platforms=0
show_relative_path=0
show_full_path=0
while true
do
case "$1" in
--script-help)
echo usage: `basename "$0"` [--library-combo=...]
echo " [--available-platforms][--full-executable-path]"
echo " [--relative-executable-path] [arguments...]"
echo
echo " --library-combo=... specifies a GNUstep backend to use."
echo " It overrides the default LIBRARY_COMBO environment variable."
echo
echo " --available-platforms displays a list of valid exec hosts"
echo " --full-executable-path displays full path to executable"
echo " --relative-executable-path displays subdirectory path"
echo " arguments... are the arguments to the application."
exit 0
;;
--library-combo=*)
tmp_root="$GNUSTEP_SYSTEM_ROOT"
. "$tmp_root/Library/Makefiles/GNUstep-reset.sh"
LIBRARY_COMBO=`echo "$1" | sed 's/--library-combo=//'`
. "$tmp_root/Library/Makefiles/GNUstep.sh"
shift
;;
--available-platforms)
show_available_platforms=1
exit 0
;;
--full-executable-path)
show_full_path=1
break
;;
--relative-executable-path)
show_relative_path=1
break
;;
*)
break;;
esac
done
if [ "$LIBRARY_COMBO" = nx ]; then
LIBRARY_COMBO=nx-nx-nx
elif [ "$LIBRARY_COMBO" = gnu ]; then
LIBRARY_COMBO=gnu-gnu-gnu
elif [ "$LIBRARY_COMBO" = fd ]; then
LIBRARY_COMBO=gnu-fd-gnu
elif [ "$LIBRARY_COMBO" = apple ]; then
LIBRARY_COMBO=apple-apple-apple
fi
export LIBRARY_COMBO
# Find path to ourself
dir="`dirname \"$app\"`"
case "$app" in
/*) # An absolute path.
full_appname="$dir";;
*/*) # A relative path
full_appname="`(cd \"$dir\"; pwd)`";;
*) # A path that needs to be searched
if [ -n "$GNUSTEP_PATHLIST" ]; then
SPATH="$GNUSTEP_PATHLIST"
else
SPATH="$PATH"
fi
SPATH=".:$SPATH"
IFS=:
for path_dir in $SPATH; do
if [ -d "$path_dir/$dir" ]; then
full_appname="`(cd \"$path_dir/$dir\"; pwd)`"
break;
fi
if [ -d "$path_dir/Applications/$dir" ]; then
full_appname="`(cd \"$path_dir/Applications/$dir\"; pwd)`"
break;
fi
done;;
esac
if [ -z "$full_appname" ]; then
echo "Can't find absolute path for $app! Please specify full path when"
echo "invoking executable"
exit 1
fi
#
# get base app name
#
appname=
if [ -f "$full_appname/Resources/Info-gnustep.plist" ]; then
# -n disable auto-print (for portability reasons)
# /^ *NSExecutable *=/ matches every line beginning with
# zero or more spaces, followed by 'NSExecutable', followed by zero or
# more spaces, followed by '='
# to this line we apply the following commands:
# s/"//g; which deletes all " in the line.
# s/^ *NSExecutable *= *\([^ ;]*\) *;.*/\1/p;
# which replaces 'NSExecutable = Gorm; ' with 'Gorm', then, because
# of the 'p' at the end, prints out the result
# q; which quits sed since we know there must be only a single line
# to replace.
appname=`sed -n -e '/^ *NSExecutable *=/ \
{s/"//g; s/^ *NSExecutable *= *\([^ ;]*\) *;.*/\1/p; q;}' \
"$full_appname/Resources/Info-gnustep.plist"`
fi
if [ -z "$appname" ]; then
appname="`basename \"$app\"`"
fi
appname="$appname$EXEEXT"
if [ $show_available_platforms = 1 ]; then
cd "$full_appname"
#available_platforms
exit 0
fi
#
# Determine the host information
#
if [ -z "$GNUSTEP_HOST" ]; then
GNUSTEP_HOST=`(cd /tmp; $GNUSTEP_SYSTEM_ROOT/Library/Makefiles/config.guess)`
GNUSTEP_HOST=`(cd /tmp; $GNUSTEP_SYSTEM_ROOT/Library/Makefiles/config.sub $GNUSTEP_HOST)`
export GNUSTEP_HOST
fi
if [ -z "$GNUSTEP_HOST_CPU" ]; then
GNUSTEP_HOST_CPU=`$GNUSTEP_SYSTEM_ROOT/Library/Makefiles/cpu.sh $GNUSTEP_HOST`
GNUSTEP_HOST_CPU=`$GNUSTEP_SYSTEM_ROOT/Library/Makefiles/clean_cpu.sh $GNUSTEP_HOST_CPU`
export GNUSTEP_HOST_CPU
fi
if [ -z "$GNUSTEP_HOST_VENDOR" ]; then
GNUSTEP_HOST_VENDOR=`$GNUSTEP_SYSTEM_ROOT/Library/Makefiles/vendor.sh $GNUSTEP_HOST`
GNUSTEP_HOST_VENDOR=`$GNUSTEP_SYSTEM_ROOT/Library/Makefiles/clean_vendor.sh $GNUSTEP_HOST_VENDOR`
export GNUSTEP_HOST_VENDOR
fi
if [ -z "$GNUSTEP_HOST_OS" ]; then
GNUSTEP_HOST_OS=`$GNUSTEP_SYSTEM_ROOT/Library/Makefiles/os.sh $GNUSTEP_HOST`
GNUSTEP_HOST_OS=`$GNUSTEP_SYSTEM_ROOT/Library/Makefiles/clean_os.sh $GNUSTEP_HOST_OS`
export GNUSTEP_HOST_OS
fi
#
# Make sure the executable is there
#
if [ -x "$full_appname/$GNUSTEP_HOST_CPU/$GNUSTEP_HOST_OS/$LIBRARY_COMBO/$appname" ]; then
relative_path="$GNUSTEP_HOST_CPU/$GNUSTEP_HOST_OS/$LIBRARY_COMBO/$appname"
elif [ -x "$full_appname/$GNUSTEP_HOST_CPU/$GNUSTEP_HOST_OS/$appname" ]; then
relative_path="$GNUSTEP_HOST_CPU/$GNUSTEP_HOST_OS/$appname"
elif [ -x "$full_appname/$GNUSTEP_HOST_CPU/$appname" ]; then
relative_path="$GNUSTEP_HOST_CPU/$appname"
elif [ "$full_appname/$appname" != "$0" -a -x "$full_appname/$appname" ]; then
relative_path="$appname"
else
# Search for a binary for this machine but a different library combo
if [ -d "$full_appname/$GNUSTEP_HOST_CPU/$GNUSTEP_HOST_OS" ]; then
tmp_path="`pwd`"
cd "$full_appname/$GNUSTEP_HOST_CPU/$GNUSTEP_HOST_OS";
found=no
for lib_combo in * ; do
if [ "$lib_combo" != '*' ]; then
if [ -x "$lib_combo/$appname" ]; then
# Switch LIBRARY_COMBO on the fly
tmp_root="$GNUSTEP_SYSTEM_ROOT"
. "$tmp_root/Library/Makefiles/GNUstep-reset.sh"
LIBRARY_COMBO="$lib_combo"
. "$tmp_root/Library/Makefiles/GNUstep.sh"
# Use the found executable
relative_path="$GNUSTEP_HOST_CPU/$GNUSTEP_HOST_OS/$LIBRARY_COMBO/$appname"
found=yes
break
fi
fi
done
cd "$tmp_path"
if [ "$found" != yes ]; then
echo "$full_appname application does not have a binary for this kind of machine/operating system ($GNUSTEP_HOST_CPU/$GNUSTEP_HOST_OS)."
exit 1
fi
fi
fi
if [ $show_relative_path = 1 ]; then
echo "$relative_path"
exit 0
fi
if [ $show_full_path = 1 ]; then
echo "$full_appname/$relative_path"
exit 0
fi
if [ "$LIBRARY_COMBO" = nx-nx-nx -a "$GNUSTEP_HOST_OS" = nextstep4 ]; then
if [ -f "$full_appname/library_paths.openapp" ]; then
additional_library_paths="`cat $full_appname/library_paths.openapp`"
fi
else
if [ -f "$full_appname/$GNUSTEP_HOST_CPU/$GNUSTEP_HOST_OS/$LIBRARY_COMBO/library_paths.openapp" ]; then
additional_library_paths="`cat \"$full_appname/$GNUSTEP_HOST_CPU/$GNUSTEP_HOST_OS/$LIBRARY_COMBO/library_paths.openapp\"`"
fi
fi
# Load up LD_LIBRARY_PATH
. "$GNUSTEP_SYSTEM_ROOT/Library/Makefiles/ld_lib_path.sh"
exec "$full_appname/$relative_path" "$@"
/* Copyright (C) 2004 Raffael Herzog
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* $Id: ServicesProvider.h 103 2004-08-09 16:30:51Z rherzog $
* $HeadURL: file:///home/rherzog/Subversion/GNUstep/GSWrapper/tags/release-0.1.0/WrapperFactory/ServicesProvider.h $
*/
#ifndef _GSWrapper_ServiceProvider_H
#define _GSWrapper_ServiceProvider_H
#include <AppKit/AppKit.h>
@interface ServicesProvider : NSObject
- (void) createWrapperForExecutable: (NSPasteboard *)pboard
userData: (NSString *)userData
error: (NSString **)error;