2003-07-31 23:52:10 +00:00
|
|
|
/*
|
|
|
|
GSServicesManager.h
|
|
|
|
|
|
|
|
Copyright (C) 1998 Free Software Foundation, Inc.
|
|
|
|
|
|
|
|
Author: Richard Frith-Macdonald <richard@brainstorm.co.uk>
|
|
|
|
Date: Novemeber 1998
|
|
|
|
|
|
|
|
This file is part of the GNUstep GUI Library.
|
|
|
|
|
|
|
|
This library is free software; you can redistribute it and/or
|
2007-10-29 21:16:17 +00:00
|
|
|
modify it under the terms of the GNU Lesser General Public
|
2003-07-31 23:52:10 +00:00
|
|
|
License as published by the Free Software Foundation; either
|
2008-06-10 04:01:49 +00:00
|
|
|
version 2 of the License, or (at your option) any later version.
|
2007-10-29 21:16:17 +00:00
|
|
|
|
2003-07-31 23:52:10 +00:00
|
|
|
This library is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
2007-10-29 21:16:17 +00:00
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
Lesser General Public License for more details.
|
2003-07-31 23:52:10 +00:00
|
|
|
|
2007-10-29 21:16:17 +00:00
|
|
|
You should have received a copy of the GNU Lesser General Public
|
2003-07-31 23:52:10 +00:00
|
|
|
License along with this library; see the file COPYING.LIB.
|
2007-10-29 21:16:17 +00:00
|
|
|
If not, see <http://www.gnu.org/licenses/> or write to the
|
|
|
|
Free Software Foundation, 51 Franklin Street, Fifth Floor,
|
|
|
|
Boston, MA 02110-1301, USA.
|
2003-07-31 23:52:10 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _GNUstep_H_GSServicesManager
|
|
|
|
#define _GNUstep_H_GSServicesManager
|
|
|
|
|
2010-04-07 08:59:43 +00:00
|
|
|
#import <Foundation/NSObject.h>
|
|
|
|
/* Forward declaring the NSMenuItem protocol here would be nicer, but older
|
|
|
|
versions of gcc can't handle that. Thus, we include the header
|
|
|
|
instead. */
|
|
|
|
#import "AppKit/NSMenuItem.h"
|
2004-02-11 16:34:17 +00:00
|
|
|
|
2003-07-31 23:52:10 +00:00
|
|
|
@class NSApplication;
|
|
|
|
@class NSArray;
|
|
|
|
@class NSDate;
|
|
|
|
@class NSMenu;
|
|
|
|
@class NSMenuItem;
|
|
|
|
@class NSMutableArray;
|
|
|
|
@class NSMutableDictionary;
|
|
|
|
@class NSMutableSet;
|
|
|
|
@class NSString;
|
|
|
|
@class NSTimer;
|
2005-02-26 16:57:46 +00:00
|
|
|
|
2003-07-31 23:52:10 +00:00
|
|
|
@interface GSServicesManager : NSObject
|
|
|
|
{
|
|
|
|
NSApplication *_application;
|
|
|
|
NSMenu *_servicesMenu;
|
|
|
|
NSMutableArray *_languages;
|
|
|
|
NSMutableSet *_returnInfo;
|
|
|
|
NSMutableDictionary *_combinations;
|
|
|
|
NSMutableDictionary *_title2info;
|
|
|
|
NSArray *_menuTitles;
|
|
|
|
NSString *_disabledPath;
|
|
|
|
NSString *_servicesPath;
|
|
|
|
NSDate *_disabledStamp;
|
|
|
|
NSDate *_servicesStamp;
|
|
|
|
NSMutableSet *_allDisabled;
|
|
|
|
NSMutableDictionary *_allServices;
|
|
|
|
NSTimer *_timer;
|
2005-10-09 06:39:08 +00:00
|
|
|
NSString *_port;
|
2003-07-31 23:52:10 +00:00
|
|
|
}
|
|
|
|
+ (GSServicesManager*) newWithApplication: (NSApplication*)app;
|
|
|
|
+ (GSServicesManager*) manager;
|
|
|
|
- (BOOL) application: (NSApplication*)theApp
|
|
|
|
openFile: (NSString*)file;
|
|
|
|
- (BOOL) application: (NSApplication*)theApp
|
|
|
|
openFileWithoutUI: (NSString*)file;
|
|
|
|
- (BOOL) application: (NSApplication*)theApp
|
|
|
|
openTempFile: (NSString*)file;
|
|
|
|
- (BOOL) application: (NSApplication*)theApp
|
|
|
|
printFile: (NSString*)file;
|
|
|
|
- (void) doService: (NSMenuItem*)item;
|
|
|
|
- (NSArray*) filters;
|
|
|
|
- (BOOL) hasRegisteredTypes: (NSDictionary*)service;
|
2005-01-21 21:43 Alexander Malmberg <alexander@malmberg.org>
Various whitespace cleanups, comment type fixes, and changes
to avoid warnings from recent versions of gcc.
* Headers/Additions/GNUstepGUI/GSToolbar.h (-_toolbars): Declare.
* Source/NSWindow+Toolbar.m: Remove conflicting declaration of
[NSToolbar -_toolbars].
* Headers/Additions/GNUstepGUI/GSServicesManager.h,
Source/GSServicesMananger.m (-item2title:, -validateMenuItem:):
Adjust argument types.
* Headers/AppKit/NSMenu.h (-validateMenuItem:): Adjust argument
type.
* Source/NSTextView.m (-sizeToFit): Don't use size uninitialized
if neither resizable flags is set.
(-insertText:): Adjust argument type.
* Headers/AppKit/NSResponder.h, Source/NSResponder.m (-insertText:):
Adjust argument type. Document.
* Headers/AppKit/NSView.h: Change type of ivar _window to NSWindow *.
* Source/GSTitleView.m (-mouseDown:): Always initialize
startWindowOrigin.
* Source/NSApplication.m (-setApplicationIconImage:): Add casts
to avoid warnings.
* Source/NSCell.m (-cellSize): Add default: case.
* Source/NSPasteboard.m
([GSFiltered -pasteboard:provideDataForType:]): Detect and warn if we
can't find a filter that will get us the desired type.
* Source/NSProgressIndicator.m: Comment out unused variable 'images'.
* Source/NSBezierPath.m: Declare GSBezierPath fully before using it.
(-bezierPathByFlatteningPath, -bezierPathByReversingPath): Make sure
variables are always initialized.
* Source/NSMenuView.m,
* Source/NSPrintOperation.m,
* Source/NSSplitView.m,
* Source/NSTableHeaderView.m: Make sure variables are always
initialized.
* Source/NSBox.m,
* Source/NSImageview.m,
* Source/NSText.m,
* Source/NSTextStorage.m: Add missing includes.
* Source/GSKeyBindingTable.m,
* Source/GSLayoutManager.m,
* Source/NSBitmapImageRep+PNM.m,
* Source/NSBundleAdditions.m,
* Source/NSLayoutManager.m,
* Source/nsimage-tiff.h,
* Source/tiff.m,
* Headers/Additions/GNUstepGUI/GSDisplayServer.h,
* Source/GSDisplayServer.m: Change signedness of various variables.
* Source/NSPanel.m (-sendEvent:): Remove.
* Source/NSWindow.m (-becomesKeyOnlyIfNeeded): New method.
(-_sendEvent:becomesKeyOnlyIfNeeded:): Remove. Move code ...
(-sendEvent:): ... here. Use -becomesKeyOnlyIfNeeded instead
of the argument.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@20590 72102866-910b-0410-8b05-ffd578937521
2005-01-21 20:39:18 +00:00
|
|
|
- (NSString*) item2title: (id<NSMenuItem>)item;
|
2003-07-31 23:52:10 +00:00
|
|
|
- (void) loadServices;
|
|
|
|
- (NSDictionary*) menuServices;
|
2005-10-09 06:39:08 +00:00
|
|
|
- (NSString*) port;
|
2003-07-31 23:52:10 +00:00
|
|
|
- (void) rebuildServices;
|
|
|
|
- (void) rebuildServicesMenu;
|
|
|
|
- (void) registerAsServiceProvider;
|
|
|
|
- (void) registerSendTypes: (NSArray *)sendTypes
|
|
|
|
returnTypes: (NSArray *)returnTypes;
|
|
|
|
- (NSMenu *) servicesMenu;
|
|
|
|
- (id) servicesProvider;
|
|
|
|
- (void) setServicesMenu: (NSMenu *)anObject;
|
|
|
|
- (void) setServicesProvider: (id)anObject;
|
|
|
|
- (int) setShowsServicesMenuItem: (NSString*)item to: (BOOL)enable;
|
|
|
|
- (BOOL) showsServicesMenuItem: (NSString*)item;
|
2005-01-21 21:43 Alexander Malmberg <alexander@malmberg.org>
Various whitespace cleanups, comment type fixes, and changes
to avoid warnings from recent versions of gcc.
* Headers/Additions/GNUstepGUI/GSToolbar.h (-_toolbars): Declare.
* Source/NSWindow+Toolbar.m: Remove conflicting declaration of
[NSToolbar -_toolbars].
* Headers/Additions/GNUstepGUI/GSServicesManager.h,
Source/GSServicesMananger.m (-item2title:, -validateMenuItem:):
Adjust argument types.
* Headers/AppKit/NSMenu.h (-validateMenuItem:): Adjust argument
type.
* Source/NSTextView.m (-sizeToFit): Don't use size uninitialized
if neither resizable flags is set.
(-insertText:): Adjust argument type.
* Headers/AppKit/NSResponder.h, Source/NSResponder.m (-insertText:):
Adjust argument type. Document.
* Headers/AppKit/NSView.h: Change type of ivar _window to NSWindow *.
* Source/GSTitleView.m (-mouseDown:): Always initialize
startWindowOrigin.
* Source/NSApplication.m (-setApplicationIconImage:): Add casts
to avoid warnings.
* Source/NSCell.m (-cellSize): Add default: case.
* Source/NSPasteboard.m
([GSFiltered -pasteboard:provideDataForType:]): Detect and warn if we
can't find a filter that will get us the desired type.
* Source/NSProgressIndicator.m: Comment out unused variable 'images'.
* Source/NSBezierPath.m: Declare GSBezierPath fully before using it.
(-bezierPathByFlatteningPath, -bezierPathByReversingPath): Make sure
variables are always initialized.
* Source/NSMenuView.m,
* Source/NSPrintOperation.m,
* Source/NSSplitView.m,
* Source/NSTableHeaderView.m: Make sure variables are always
initialized.
* Source/NSBox.m,
* Source/NSImageview.m,
* Source/NSText.m,
* Source/NSTextStorage.m: Add missing includes.
* Source/GSKeyBindingTable.m,
* Source/GSLayoutManager.m,
* Source/NSBitmapImageRep+PNM.m,
* Source/NSBundleAdditions.m,
* Source/NSLayoutManager.m,
* Source/nsimage-tiff.h,
* Source/tiff.m,
* Headers/Additions/GNUstepGUI/GSDisplayServer.h,
* Source/GSDisplayServer.m: Change signedness of various variables.
* Source/NSPanel.m (-sendEvent:): Remove.
* Source/NSWindow.m (-becomesKeyOnlyIfNeeded): New method.
(-_sendEvent:becomesKeyOnlyIfNeeded:): Remove. Move code ...
(-sendEvent:): ... here. Use -becomesKeyOnlyIfNeeded instead
of the argument.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@20590 72102866-910b-0410-8b05-ffd578937521
2005-01-21 20:39:18 +00:00
|
|
|
- (BOOL) validateMenuItem: (id<NSMenuItem>)item;
|
2003-07-31 23:52:10 +00:00
|
|
|
- (void) updateServicesMenu;
|
|
|
|
@end
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|