libs-gui/Headers/AppKit/NSDatePickerCell.h

121 lines
3.6 KiB
Objective-C

/* -*-objc-*-
NSDatePickerCell.h
The date picker cell class
Copyright (C) 2020 Free Software Foundation, Inc.
Created by Dr. H. Nikolaus Schaller on Sat Jan 07 2006.
Author: Fabian Spillner
Date: 22. October 2007
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_NSDatePickerCell
#define _GNUstep_H_NSDatePickerCell
#import <AppKit/NSActionCell.h>
#if OS_API_VERSION(MAC_OS_X_VERSION_10_4, GS_API_LATEST)
enum {
NSTextFieldAndStepperDatePickerStyle = 0,
NSClockAndCalendarDatePickerStyle = 1,
NSTextFieldDatePickerStyle = 2
};
typedef NSUInteger NSDatePickerStyle;
enum {
NSSingleDateMode = 0,
NSRangeDateMode = 1
};
typedef NSUInteger NSDatePickerMode;
enum {
NSHourMinuteDatePickerElementFlag = 0x000c,
NSHourMinuteSecondDatePickerElementFlag = 0x000e,
NSTimeZoneDatePickerElementFlag = 0x0010,
NSYearMonthDatePickerElementFlag = 0x00c0,
NSYearMonthDayDatePickerElementFlag = 0x00e0,
NSEraDatePickerElementFlag = 0x0100,
};
typedef NSUInteger NSDatePickerElementFlags;
@class NSColor, NSDate, NSCalendar, NSLocale, NSTimeZone;
APPKIT_EXPORT_CLASS
@interface NSDatePickerCell : NSActionCell
{
NSColor *_backgroundColor;
NSColor *_textColor;
NSDate *_maxDate;
NSDate *_minDate;
id _delegate;
NSTimeInterval _timeInterval;
// FIXME: pack into a bitfield?
NSDatePickerElementFlags _datePickerElements;
NSDatePickerMode _datePickerMode;
NSDatePickerStyle _datePickerStyle;
BOOL _drawsBackground;
}
- (NSColor *) backgroundColor;
- (NSCalendar *) calendar;
- (NSDatePickerElementFlags) datePickerElements;
- (NSDatePickerMode) datePickerMode;
- (NSDatePickerStyle) datePickerStyle;
- (NSDate *) dateValue;
- (id) delegate;
- (BOOL) drawsBackground;
- (NSLocale *) locale;
- (NSDate *) maxDate;
- (NSDate *) minDate;
- (void) setBackgroundColor:(NSColor *) color;
- (void) setCalendar:(NSCalendar *) calendar;
- (void) setDatePickerElements:(NSDatePickerElementFlags) flags;
- (void) setDatePickerMode:(NSDatePickerMode) mode;
- (void) setDatePickerStyle:(NSDatePickerStyle) style;
- (void) setDateValue:(NSDate *) date;
- (void) setDelegate:(id) obj;
- (void) setDrawsBackground:(BOOL) flag;
- (void) setLocale:(NSLocale *) locale;
- (void) setMaxDate:(NSDate *) date;
- (void) setMinDate:(NSDate *) date;
- (void) setTextColor:(NSColor *) color;
- (void) setTimeInterval:(NSTimeInterval) interval;
- (void) setTimeZone:(NSTimeZone *) zone;
- (NSColor *) textColor;
- (NSTimeInterval) timeInterval;
- (NSTimeZone *) timeZone;
@end
@interface NSObject (NSDataPickerCellDelegate)
- (void)datePickerCell:(NSDatePickerCell *) aDatePickerCell
validateProposedDateValue:(NSDate **) proposedDateValue
timeInterval:(NSTimeInterval *) proposedTimeInterval;
@end
#endif
#endif /* _GNUstep_H_NSDatePickerCell */