summaryrefslogtreecommitdiff
path: root/fpcsrc/packages/cocoaint/src/appkit/NSDatePickerCell.inc
blob: b926a58f98ac6b1e28cee44758de14502a868939 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
{ Parsed from Appkit.framework NSDatePickerCell.h }

{$ifdef TYPES}
{$ifndef NSDATEPICKERCELL_PAS_T}
{$define NSDATEPICKERCELL_PAS_T}

{ Constants }

const
  NSTextFieldAndStepperDatePickerStyle = 0;
  NSClockAndCalendarDatePickerStyle = 1;
  NSTextFieldDatePickerStyle = 2;

const
  NSSingleDateMode = 0;
  NSRangeDateMode = 1;

const
  NSHourMinuteDatePickerElementFlag = $000c;
  NSHourMinuteSecondDatePickerElementFlag = $000e;
  NSTimeZoneDatePickerElementFlag = $0010;
  NSYearMonthDatePickerElementFlag = $00c0;
  NSYearMonthDayDatePickerElementFlag = $00e0;
  NSEraDatePickerElementFlag = $0100;

{ Types }
type
  NSDatePickerStyle = NSUInteger;
  NSDatePickerStylePtr = ^NSDatePickerStyle;
  NSDatePickerMode = NSUInteger;
  NSDatePickerModePtr = ^NSDatePickerMode;
  NSDatePickerElementFlags = NSUInteger;
  NSDatePickerElementFlagsPtr = ^NSDatePickerElementFlags;

{$endif}
{$endif}

{$ifdef RECORDS}
{$ifndef NSDATEPICKERCELL_PAS_R}
{$define NSDATEPICKERCELL_PAS_R}

{$endif}
{$endif}

{$ifdef FUNCTIONS}
{$ifndef NSDATEPICKERCELL_PAS_F}
{$define NSDATEPICKERCELL_PAS_F}

{$endif}
{$endif}

{$ifdef EXTERNAL_SYMBOLS}
{$ifndef NSDATEPICKERCELL_PAS_S}
{$define NSDATEPICKERCELL_PAS_S}

{$endif}
{$endif}

{$ifdef FORWARD}
  NSDatePickerCellDelegateProtocol = objcprotocol;
  NSDatePickerCell = objcclass;
  NSDatePickerCellPointer = ^NSDatePickerCell;
  NSDatePickerCellPtr = NSDatePickerCellPointer;

{$endif}

{$ifdef CLASSES}
{$ifndef NSDATEPICKERCELL_PAS_C}
{$define NSDATEPICKERCELL_PAS_C}

{ NSDatePickerCell }
  NSDatePickerCell = objcclass external (NSActionCell)
  private
    _timeInterval: NSTimeInterval;
    _minDate: NSDate;
    _maxDate: NSDate;
    __dcFlags: record
      case byte of
       0: (_anonbitfield_NSDatePickerCell0: cuint);
       1: (data: bitpacked record
        elements: 0..((1 shl 16)-1);
        controlStyle: 0..((1 shl 3)-1);
        controlMode: 0..((1 shl 2)-1);
        trackingHand: 0..((1 shl 2)-1);
        reserved2: 0..((1 shl 4)-1);
        _drawsBackground: 0..1;
        digitsEntered: 0..((1 shl 2)-1);
        forcesLeadingZeroes: 0..1;
        wrapsDateComponentArithmetic: 0..1;
       end;
      );
      end;
    _delegate: id;
    _calendar: NSCalendar;
    _locale: NSLocale;
    _timeZone: NSTimeZone;
    _backgroundColor: NSColor;
    _textColor: NSColor;
    _indexOfSelectedSubfield: cint;
    _reserved0: cint;
    _reserved1: id;
    _reserved2: id;
    _reserved3: id;
    _reserved4: id;
    
  public
    function datePickerStyle: NSDatePickerStyle; message 'datePickerStyle';
    procedure setDatePickerStyle(newStyle: NSDatePickerStyle); message 'setDatePickerStyle:';
    function drawsBackground: Boolean; message 'drawsBackground';
    procedure setDrawsBackground(flag: Boolean); message 'setDrawsBackground:';
    function backgroundColor: NSColor; message 'backgroundColor';
    procedure setBackgroundColor(color: NSColor); message 'setBackgroundColor:';
    function textColor: NSColor; message 'textColor';
    procedure setTextColor(color: NSColor); message 'setTextColor:';
    function datePickerMode: NSDatePickerMode; message 'datePickerMode';
    procedure setDatePickerMode(newMode: NSDatePickerMode); message 'setDatePickerMode:';
    function datePickerElements: NSDatePickerElementFlags; message 'datePickerElements';
    procedure setDatePickerElements(elementFlags: NSDatePickerElementFlags); message 'setDatePickerElements:';
    function calendar: NSCalendar; message 'calendar';
    procedure setCalendar(newCalendar: NSCalendar); message 'setCalendar:';
    function locale: NSLocale; message 'locale';
    procedure setLocale(newLocale: NSLocale); message 'setLocale:';
    function timeZone: NSTimeZone; message 'timeZone';
    procedure setTimeZone(newTimeZone: NSTimeZone); message 'setTimeZone:';
    function dateValue: NSDate; message 'dateValue';
    procedure setDateValue(newStartDate: NSDate); message 'setDateValue:';
    function timeInterval: NSTimeInterval; message 'timeInterval';
    procedure setTimeInterval(newTimeInterval: NSTimeInterval); message 'setTimeInterval:';
    function minDate: NSDate; message 'minDate';
    procedure setMinDate(date: NSDate); message 'setMinDate:';
    function maxDate: NSDate; message 'maxDate';
    procedure setMaxDate(date: NSDate); message 'setMaxDate:';
    function delegate: NSDatePickerCellDelegateProtocol; message 'delegate';
    procedure setDelegate(anObject: NSDatePickerCellDelegateProtocol); message 'setDelegate:';
  end;

{$endif}
{$endif}
{$ifdef PROTOCOLS}
{$ifndef NSDATEPICKERCELL_PAS_P}
{$define NSDATEPICKERCELL_PAS_P}
  
{ NSDatePickerCellDelegate Protocol }
  NSDatePickerCellDelegateProtocol = objcprotocol external name 'NSDatePickerCellDelegate'
  optional
    procedure datePickerCell_validateProposedDateValue_timeInterval(aDatePickerCell: NSDatePickerCell; proposedDateValue: NSDatePointer; proposedTimeInterval: NSTimeIntervalPtr); message 'datePickerCell:validateProposedDateValue:timeInterval:';
  end;
{$endif}
{$endif}