LostFocus- or Change-Event for DateGadget?
Posted: Mon May 10, 2010 8:41 am
Hello.
how can i add (at least) the change-event to a DateGadget?
how can i add (at least) the change-event to a DateGadget?
http://www.purebasic.com
https://www.purebasic.fr/english/
Code: Select all
If OpenWindow(0, 0, 0, 220, 200, "CalendarGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CalendarGadget(0, 10, 10, 200, 180)
PreviousDate = GetGadgetState(0)
Repeat
WindowEvent = WaitWindowEvent()
If WindowEvent = #PB_Event_Gadget
If EventGadget() = 0
If EventType() = #PB_EventType_LeftClick
CurrentDate = GetGadgetState(0)
If CurrentDate <> PreviousDate
Debug "Current date = " + FormatDate("%dd.%mm.%yyyy", CurrentDate)
PreviousDate = CurrentDate
EndIf
EndIf
EndIf
EndIf
Until WindowEvent = #PB_Event_CloseWindow
EndIf
Code: Select all
Enumeration
#EnterGadgetEvent
#LeaveGadgetEvent
EndEnumeration
ProcedureC GadgetEvent(*Widget.GtkWidget, *Event.GdkEventMotion, UserData)
Select UserData
Case #EnterGadgetEvent
StatusBarText(0, 0, "Cursor above Calendar: YES")
Case #LeaveGadgetEvent
StatusBarText(0, 0, "Cursor above Calendar: NO")
EndSelect
EndProcedure
OpenWindow(0, 0, 0, 220, 195, "CalendarGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CalendarGadget(0, 2, 10, 216, 185)
CreateStatusBar(0, WindowID(0))
AddStatusBarField(#PB_Ignore)
gtk_widget_add_events_(GadgetID(0), #GDK_ENTER_NOTIFY_MASK | #GDK_LEAVE_NOTIFY_MASK)
g_signal_connect_data_(GadgetID(0), "enter-notify-event", @GadgetEvent(), #EnterGadgetEvent, 0, 0)
g_signal_connect_data_(GadgetID(0), "leave-notify-event", @GadgetEvent(), #LeaveGadgetEvent, 0, 0)
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
Code: Select all
Enumeration
#EnterGadgetEvent
#LeaveGadgetEvent
EndEnumeration
ProcedureC GadgetEvent(*Widget.GtkWidget, *Event.GdkEventMotion, UserData)
Select UserData
Case #EnterGadgetEvent
StatusBarText(0, 0, "Cursor above DateGadget: YES")
Case #LeaveGadgetEvent
StatusBarText(0, 0, "Cursor above DateGadget: NO")
EndSelect
EndProcedure
OpenWindow(0, 0, 0, 240, 54, "DateGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
DateGadget(0, 2, 2, 236, 25, "Date: %mm/%dd/%yyyy Time: %hh:%ii")
CreateStatusBar(0, WindowID(0))
AddStatusBarField(#PB_Ignore)
gtk_widget_add_events_(GadgetID(0), #GDK_ENTER_NOTIFY_MASK | #GDK_LEAVE_NOTIFY_MASK)
g_signal_connect_data_(GadgetID(0), "enter-notify-event", @GadgetEvent(), #EnterGadgetEvent, 0, 0)
g_signal_connect_data_(GadgetID(0), "leave-notify-event", @GadgetEvent(), #LeaveGadgetEvent, 0, 0)
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow