mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-04-25 12:21:07 +00:00
Bug point out by Bluna Ratimonkey <object@gmail.com>. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33364 72102866-910b-0410-8b05-ffd578937521
188 lines
5.1 KiB
Objective-C
188 lines
5.1 KiB
Objective-C
/*
|
|
NSPrintPanel.h
|
|
|
|
Standard panel to query users for info on a print job
|
|
|
|
Copyright (C) 1996,2004 Free Software Foundation, Inc.
|
|
|
|
Author: Scott Christley <scottc@net-community.com>
|
|
Date: 1996
|
|
Modified for Printing Backend Support
|
|
Author: Chad Hardin <cehardin@mac.com>
|
|
Date: June 2004
|
|
|
|
This file is part of the GNUstep GUI Library.
|
|
|
|
This library is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU Lesser General Public
|
|
License as published by the Free Software Foundation; either
|
|
version 2 of the License, or (at your option) any later version.
|
|
|
|
This library 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
|
|
Lesser General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Lesser General Public
|
|
License along with this library; see the file COPYING.LIB.
|
|
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.
|
|
*/
|
|
|
|
#ifndef _GNUstep_H_NSPrintPanel
|
|
#define _GNUstep_H_NSPrintPanel
|
|
|
|
#import <AppKit/NSPanel.h>
|
|
|
|
@class NSArray;
|
|
@class NSMutableArray;
|
|
@class NSSet;
|
|
@class NSString;
|
|
@class NSView;
|
|
@class NSViewController;
|
|
@class NSPrintInfo;
|
|
|
|
enum {
|
|
NSPPSaveButton = 3,
|
|
NSPPPreviewButton = 4,
|
|
NSFaxButton = 5,
|
|
NSPPTitleField = 20,
|
|
NSPPImageButton = 21,
|
|
NSPPNameTitle = 22,
|
|
NSPPNameField = 23,
|
|
NSPPNoteTitle = 24,
|
|
NSPPNoteField = 25,
|
|
NSPPStatusTitle = 26,
|
|
NSPPStatusField = 27,
|
|
NSPPCopiesField = 28,
|
|
NSPPPageChoiceMatrix = 29,
|
|
NSPPPageRangeFrom = 30,
|
|
NSPPPageRangeTo = 31,
|
|
NSPPScaleField = 32,
|
|
NSPPOptionsButton = 33,
|
|
NSPPPaperFeedButton = 34,
|
|
NSPPLayoutButton = 35,
|
|
//The following are not actually in the OpenStep spec.
|
|
//However, It is prudent to keep them here, I am just
|
|
//making you aware of this fact.
|
|
NSPPResolutionButton = 36,
|
|
NSPPOptionOKButton = 40
|
|
};
|
|
|
|
#if OS_API_VERSION(MAC_OS_X_VERSION_10_5, GS_API_LATEST)
|
|
@protocol NSPrintPanelAccessorizing
|
|
- (NSSet *) keyPathsForValuesAffectingPreview;
|
|
- (NSArray *) localizedSummaryItems;
|
|
@end
|
|
|
|
enum {
|
|
NSPrintPanelShowsCopies = 0x01,
|
|
NSPrintPanelShowsPageRange = 0x02,
|
|
NSPrintPanelShowsPaperSize = 0x04,
|
|
NSPrintPanelShowsOrientation = 0x08,
|
|
NSPrintPanelShowsScaling = 0x10,
|
|
NSPrintPanelShowsPageSetupAccessory = 0x100,
|
|
NSPrintPanelShowsPreview = 0x20000
|
|
};
|
|
typedef NSInteger NSPrintPanelOptions;
|
|
|
|
APPKIT_EXPORT NSString *NSPrintPanelAccessorySummaryItemNameKey;
|
|
APPKIT_EXPORT NSString *NSPrintPanelAccessorySummaryItemDescriptionKey;
|
|
#endif
|
|
#if OS_API_VERSION(MAC_OS_X_VERSION_10_2, GS_API_LATEST)
|
|
APPKIT_EXPORT NSString *NSPrintPhotoJobStyleHint;
|
|
#endif
|
|
|
|
@interface NSPrintPanel : NSPanel
|
|
{
|
|
id _panel;
|
|
id _optionPanel;
|
|
NSView *_accessoryView;
|
|
NSString *_savePath;
|
|
NSPrintInfo *_printInfo;
|
|
NSMutableArray *_accessoryControllers;
|
|
NSString *_jobStyleHint;
|
|
NSString *_helpAnchor;
|
|
NSPrintPanelOptions _options;
|
|
int _picked;
|
|
NSRange _pages; //this may also be removed
|
|
}
|
|
|
|
//
|
|
// Creating an NSPrintPanel
|
|
//
|
|
+ (NSPrintPanel *)printPanel;
|
|
|
|
//
|
|
// Customizing the Panel
|
|
//
|
|
#if OS_API_VERSION(GS_API_NONE, MAC_OS_X_VERSION_10_5)
|
|
- (void)setAccessoryView:(NSView *)aView;
|
|
- (NSView *)accessoryView;
|
|
#endif
|
|
#if OS_API_VERSION(MAC_OS_X_VERSION_10_5, GS_API_LATEST)
|
|
- (NSArray *) accessoryControllers;
|
|
- (void) addAccessoryController: (NSViewController < NSPrintPanelAccessorizing >*)accessoryController;
|
|
- (void) removeAccessoryController: (NSViewController < NSPrintPanelAccessorizing >*)accessoryController;
|
|
|
|
- (NSString *) defaultButtonTitle;
|
|
- (void) setDefaultButtonTitle: (NSString *)defaultButtonTitle;
|
|
|
|
- (NSPrintPanelOptions) options;
|
|
- (void) setOptions: (NSPrintPanelOptions)options;
|
|
|
|
- (NSString *) helpAnchor;
|
|
- (void) setHelpAnchor: (NSString *)helpAnchor;
|
|
|
|
- (NSPrintInfo *) printInfo;
|
|
- (NSInteger) runModalWithPrintInfo: (NSPrintInfo *)printInfo;
|
|
#endif
|
|
|
|
//
|
|
// Running the Panel
|
|
//
|
|
- (NSInteger) runModal;
|
|
#if OS_API_VERSION(GS_API_MACOSX, GS_API_LATEST)
|
|
- (void) beginSheetWithPrintInfo: (NSPrintInfo *)printInfo
|
|
modalForWindow: (NSWindow *)docWindow
|
|
delegate: (id)delegate
|
|
didEndSelector: (SEL)didEndSelector
|
|
contextInfo: (void *)contextInfo;
|
|
#endif
|
|
|
|
#if OS_API_VERSION(MAC_OS_X_VERSION_10_2, GS_API_LATEST)
|
|
- (NSString *) jobStyleHint;
|
|
- (void) setJobStyleHint: (NSString *)hint;
|
|
#endif
|
|
|
|
#if OS_API_VERSION(GS_API_NONE, MAC_OS_X_VERSION_10_5)
|
|
//
|
|
// Updating the Panel's Display
|
|
//
|
|
- (void)pickedButton:(id)sender;
|
|
- (void)pickedAllPages:(id)sender;
|
|
- (void)pickedLayoutList:(id)sender;
|
|
|
|
//
|
|
// Communicating with the NSPrintInfo Object
|
|
//
|
|
- (void)updateFromPrintInfo;
|
|
- (void)finalWritePrintInfo;
|
|
#endif
|
|
@end
|
|
|
|
//
|
|
// Methods used by printing backend bundles that subclass NSPrintPanel
|
|
//
|
|
@interface NSPrintPanel (Private)
|
|
|
|
/* Private method used by NSPrintOperation */
|
|
- (void) _setStatusStringValue: (NSString *)string;
|
|
|
|
/*Private method for saving a print job as a file*/
|
|
- (BOOL) _getSavePath;
|
|
|
|
@end
|
|
|
|
#endif // _GNUstep_H_NSPrintPanel
|