mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-22 11:19:26 +02:00
Added events to Calendar
Shane git-svn-id: trunk@483 -
This commit is contained in:
parent
f43d37ca9b
commit
65878c388e
@ -50,6 +50,9 @@ Type
|
||||
FDate : String;
|
||||
FDisplaySettings : TDisplaySettings;
|
||||
FReadOnly: Boolean;
|
||||
FDayChanged: TNotifyEvent;
|
||||
FMonthChanged: TNotifyEvent;
|
||||
FYearChanged: TNotifyEvent;
|
||||
procedure SetReadOnly(const AValue: Boolean);
|
||||
Procedure GetProps;
|
||||
Procedure SetProps;
|
||||
@ -58,7 +61,11 @@ Type
|
||||
|
||||
function GetDate: String;
|
||||
procedure SetDate(const AValue: String);
|
||||
|
||||
protected
|
||||
procedure AttachSignals; override;
|
||||
procedure LMMonthChanged(var Message: TLMessage); message LM_MONTHCHANGED;
|
||||
procedure LMYEARChanged(var Message: TLMessage); message LM_YEARCHANGED;
|
||||
procedure LMDAYChanged(var Message: TLMessage); message LM_DAYCHANGED;
|
||||
public
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
destructor Destroy; override;
|
||||
@ -69,6 +76,10 @@ Type
|
||||
// Property Date : TDate read GetDate write SetDate;
|
||||
property ReadOnly : Boolean read FReadOnly write SetReadOnly;
|
||||
property Visible;
|
||||
// property OnChange;
|
||||
property OnDayChanged : TNotifyEvent read FDayChanged write FDayChanged;
|
||||
property OnMonthChanged : TNotifyEvent read FMonthChanged write FMonthChanged;
|
||||
property OnYearChanged : TNotifyEvent read FYearChanged write FYearChanged;
|
||||
end;
|
||||
|
||||
implementation
|
||||
@ -158,6 +169,34 @@ begin
|
||||
|
||||
end;
|
||||
|
||||
procedure TCalendar.AttachSignals;
|
||||
begin
|
||||
inherited;
|
||||
SetCallback(LM_MONTHCHANGED);
|
||||
SetCallback(LM_YEARCHANGED);
|
||||
SetCallback(LM_DAYCHANGED);
|
||||
end;
|
||||
|
||||
procedure TCalendar.LMDAYChanged(var Message: TLMessage);
|
||||
begin
|
||||
if Assigned(OnDayChanged) then
|
||||
OnDayChanged(self);
|
||||
end;
|
||||
|
||||
procedure TCalendar.LMMonthChanged(var Message: TLMessage);
|
||||
begin
|
||||
if Assigned(OnMonthChanged) then
|
||||
OnMonthChanged(self);
|
||||
|
||||
end;
|
||||
|
||||
procedure TCalendar.LMYEARChanged(var Message: TLMessage);
|
||||
begin
|
||||
if Assigned(OnYearChanged) then
|
||||
OnYearChanged(self);
|
||||
|
||||
end;
|
||||
|
||||
|
||||
end.
|
||||
|
||||
|
@ -104,6 +104,17 @@ begin
|
||||
Result := DeliverMessage(Data, Mess) = 0;
|
||||
end;
|
||||
|
||||
function gtkdaychanged(Widget: PGtkWidget; data: gPointer) : GBoolean; cdecl;
|
||||
var
|
||||
MSG: TLMessage;
|
||||
begin
|
||||
Result := True;
|
||||
EventTrace('day changed', data);
|
||||
MSG.Msg := LM_DAYCHANGED;
|
||||
Result := DeliverPostMessage(Data, MSG);
|
||||
// Result := DeliverMessage(Data, MSG) = 0;
|
||||
end;
|
||||
|
||||
function gtkdraw(Widget: PGtkWidget; area: PGDKRectangle; data: gPointer) : GBoolean; cdecl;
|
||||
var
|
||||
MSG: TLMPaint;
|
||||
@ -333,6 +344,18 @@ begin
|
||||
//TObject(data).Dispatch(Mess);
|
||||
end;
|
||||
|
||||
|
||||
function gtkmonthchanged(Widget: PGtkWidget; data: gPointer) : GBoolean; cdecl;
|
||||
var
|
||||
MSG: TLMessage;
|
||||
begin
|
||||
Result := True;
|
||||
EventTrace('month changed', data);
|
||||
MSG.Msg := LM_MONTHCHANGED;
|
||||
Result := DeliverPostMessage(Data, MSG);
|
||||
// Result := DeliverMessage(Data, MSG) = 0;
|
||||
end;
|
||||
|
||||
function GTKMotionNotify(widget:PGTKWidget; event: PGDKEventMotion; data: gPointer):GBoolean; cdecl;
|
||||
var
|
||||
Msg: TLMMouseMove;
|
||||
@ -1270,6 +1293,17 @@ begin
|
||||
Result := 0;
|
||||
end;
|
||||
|
||||
function gtkyearchanged(Widget: PGtkWidget; data: gPointer) : GBoolean; cdecl;
|
||||
var
|
||||
MSG: TLMessage;
|
||||
begin
|
||||
Result := True;
|
||||
EventTrace('year changed', data);
|
||||
MSG.Msg := LM_YEARCHANGED;
|
||||
Result := DeliverPostMessage(Data, MSG);
|
||||
end;
|
||||
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
ClipboardSelectionReceivedHandler
|
||||
|
||||
@ -1465,6 +1499,10 @@ end;
|
||||
{ =============================================================================
|
||||
|
||||
$Log$
|
||||
Revision 1.50 2001/12/05 18:23:47 lazarus
|
||||
Added events to Calendar
|
||||
Shane
|
||||
|
||||
Revision 1.49 2001/11/30 16:41:59 lazarus
|
||||
Improved hints with overlapping windows.
|
||||
Shane
|
||||
|
@ -465,12 +465,6 @@ begin
|
||||
|
||||
LM_BRINGTOFRONT:
|
||||
begin
|
||||
Writeln('----------------------------');
|
||||
Writeln('----------------------------');
|
||||
Writeln('----------------------------');
|
||||
Writeln('----------------------------');
|
||||
Writeln('----------------------------');
|
||||
Writeln('----------------------------');
|
||||
{ Assert(False, 'Trace:TODO:bringtofront');
|
||||
//For now just hide and show again.
|
||||
if (Sender is TControl) then begin
|
||||
@ -1587,6 +1581,13 @@ begin
|
||||
begin
|
||||
ConnectSignal(gObject, 'configure-event', @gtkconfigureevent);
|
||||
end;
|
||||
|
||||
LM_DAYCHANGED : //calendar
|
||||
Begin
|
||||
ConnectSignal(gObject, 'day-selected', @gtkdaychanged);
|
||||
ConnectSignal(gObject, 'day-selected-double-click', @gtkdaychanged);
|
||||
|
||||
end;
|
||||
|
||||
LM_PAINT :
|
||||
begin
|
||||
@ -1636,6 +1637,13 @@ begin
|
||||
ConnectSignal(gFixed, 'key-release-event', @GTKKeyUpDown, GDK_KEY_RELEASE_MASK);
|
||||
end;
|
||||
|
||||
LM_MONTHCHANGED : //calendar
|
||||
Begin
|
||||
ConnectSignal(gObject, 'month-changed', @gtkmonthchanged);
|
||||
ConnectSignal(gObject, 'prev-month', @gtkmonthchanged);
|
||||
ConnectSignal(gObject, 'next-month', @gtkmonthchanged);
|
||||
end;
|
||||
|
||||
LM_MOUSEMOVE:
|
||||
begin
|
||||
if (sender is TComboBox) then Begin
|
||||
@ -1799,6 +1807,13 @@ begin
|
||||
begin
|
||||
ConnectSignal(PGTKObject(gtk_scrolled_window_get_vadjustment(PGTKScrolledWindow(gObject))), 'value-changed', @GTKVScrollCB);
|
||||
end;
|
||||
|
||||
LM_YEARCHANGED : //calendar
|
||||
Begin
|
||||
ConnectSignal(gObject, 'prev-year', @gtkyearchanged);
|
||||
ConnectSignal(gObject, 'next-year', @gtkyearchanged);
|
||||
end;
|
||||
|
||||
(*
|
||||
LM_WINDOWPOSCHANGED:
|
||||
begin
|
||||
@ -3415,6 +3430,10 @@ end;
|
||||
{ =============================================================================
|
||||
|
||||
$Log$
|
||||
Revision 1.80 2001/12/05 18:23:48 lazarus
|
||||
Added events to Calendar
|
||||
Shane
|
||||
|
||||
Revision 1.79 2001/12/05 17:40:00 lazarus
|
||||
Added READONLY to Calendar.
|
||||
Shane
|
||||
|
@ -204,6 +204,9 @@ LM_DROPFILES = $0233;
|
||||
|
||||
LM_PARENTNOTIFY = $0210;
|
||||
|
||||
//Calendar
|
||||
|
||||
|
||||
|
||||
// lcl messages
|
||||
|
||||
@ -273,6 +276,10 @@ LM_CLOSEQUERY = LM_USER+62;
|
||||
LM_DRAGSTART = LM_USER+63;
|
||||
LM_DEACTIVATE = LM_USER+64; //used when a form is no longer in front
|
||||
|
||||
LM_MONTHCHANGED = LM_USER+65;
|
||||
LM_YEARCHANGED = LM_USER+66;
|
||||
LM_DAYCHANGED = LM_USER+67;
|
||||
|
||||
LM_CB_FIRST = LM_USER+100;
|
||||
LM_CB_GETCOUNT = LM_CB_FIRST+1;
|
||||
LM_CB_GETTEXT = LM_CB_FIRST+2;
|
||||
@ -280,6 +287,7 @@ LM_CB_ADDTEXT = LM_CB_FIRST+3;
|
||||
|
||||
LM_CB_LAST = LM_CB_FIRST+10; //LM_USER+110
|
||||
|
||||
|
||||
LM_UNKNOWN = LM_User+99;
|
||||
|
||||
LM_SYSCOMMAND = $0112;
|
||||
@ -773,6 +781,10 @@ end.
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.14 2001/12/05 18:23:47 lazarus
|
||||
Added events to Calendar
|
||||
Shane
|
||||
|
||||
Revision 1.13 2001/11/21 19:32:32 lazarus
|
||||
TComboBox can now be moved in FormEditor
|
||||
Shane
|
||||
|
Loading…
Reference in New Issue
Block a user