calendargadget version 0.000001
Posted: Sat Jan 31, 2004 1:23 am
				
				Code updated for 5.20+ (same as CalendarGadget())
here is my inital attempt now at a calendargadget. other programming languages have them, and i am trying to make one here. its not a date time picker, but an actual calendar type object. try out the code and see how you like it.
any suggestion or comments are welcome.
Regards,
			here is my inital attempt now at a calendargadget. other programming languages have them, and i am trying to make one here. its not a date time picker, but an actual calendar type object. try out the code and see how you like it.
Code: Select all
; PureBasic Visual Designer v3.82 build 1344
Global buttonpushed,GadgetID
;- Window Constants
Enumeration
  #Window_0
EndEnumeration
Global Dim calendargadgetbuttons(12)
Global Dim calendargadgetbuttons1(12)
Procedure myCalendarGadget(calendarnumber,calx,caly,width,height,month$)
  number=37*calendarnumber
  calendargadgetbuttons(calendarnumber)=number+2
  calendargadgetbuttons1(calendarnumber)=number+36
  FrameGadget(number, calx, caly, 160, 160, "")
  TextGadget(number+1, calx+10, caly+20,140, 20, Month$, #PB_Text_Center | #PB_Text_Border)
  ButtonGadget(number+2, calx+10, caly+50, 20,20, "", #PB_Button_Default | #PB_Button_Toggle)
  ButtonGadget(number+3, calx+30, caly+50,  20,20, "", #PB_Button_Default | #PB_Button_Toggle)
  ButtonGadget(number+4, calx+50, caly+50,  20,20, "", #PB_Button_Default | #PB_Button_Toggle)
  ButtonGadget(number+5, calx+70, caly+50,  20,20, "", #PB_Button_Default | #PB_Button_Toggle)
  ButtonGadget(number+6, calx+90, caly+50, 20,20, "", #PB_Button_Default | #PB_Button_Toggle)
  ButtonGadget(number+7, calx+110, caly+50, 20,20, "", #PB_Button_Default | #PB_Button_Toggle)
  ButtonGadget(number+8, calx+130, caly+50,  20,20, "", #PB_Button_Default | #PB_Button_Toggle)
  ButtonGadget(number+9, calx+10, caly+70, 20,20, "", #PB_Button_Default | #PB_Button_Toggle)
  ButtonGadget(number+10, calx+30, caly+70,  20,20, "", #PB_Button_Default | #PB_Button_Toggle)
  ButtonGadget(number+11, calx+50, caly+70,  20,20, "", #PB_Button_Default | #PB_Button_Toggle)
  ButtonGadget(number+12, calx+70, caly+70,  20,20, "", #PB_Button_Default | #PB_Button_Toggle)
  ButtonGadget(number+13, calx+90, caly+70, 20,20, "", #PB_Button_Default | #PB_Button_Toggle)
  ButtonGadget(number+14, calx+110, caly+70, 20,20, "", #PB_Button_Default | #PB_Button_Toggle)
  ButtonGadget(number+15, calx+130, caly+70,  20,20, "", #PB_Button_Default | #PB_Button_Toggle)
  ButtonGadget(number+16, calx+10, caly+90, 20,20, "", #PB_Button_Default | #PB_Button_Toggle)
  ButtonGadget(number+17, calx+30, caly+90,  20,20, "", #PB_Button_Default | #PB_Button_Toggle)
  ButtonGadget(number+18, calx+50, caly+90,  20,20, "", #PB_Button_Default | #PB_Button_Toggle)
  ButtonGadget(number+19, calx+70, caly+90,  20,20, "", #PB_Button_Default | #PB_Button_Toggle)
  ButtonGadget(number+20, calx+90, caly+90, 20,20, "", #PB_Button_Default | #PB_Button_Toggle)
  ButtonGadget(number+21, calx+110, caly+90, 20,20, "", #PB_Button_Default | #PB_Button_Toggle)
  ButtonGadget(number+22, calx+130, caly+90,  20,20, "", #PB_Button_Default | #PB_Button_Toggle)
  ButtonGadget(number+23, calx+10, caly+110, 20,20, "", #PB_Button_Default | #PB_Button_Toggle)
  ButtonGadget(number+24, calx+30, caly+110,  20,20, "", #PB_Button_Default | #PB_Button_Toggle)
  ButtonGadget(number+25, calx+50, caly+110,  20,20, "", #PB_Button_Default | #PB_Button_Toggle)
  ButtonGadget(number+26, calx+70, caly+110,  20,20, "", #PB_Button_Default | #PB_Button_Toggle)
  ButtonGadget(number+27, calx+90, caly+110, 20,20, "", #PB_Button_Default | #PB_Button_Toggle)
  ButtonGadget(number+28, calx+110, caly+110, 20,20, "", #PB_Button_Default | #PB_Button_Toggle)
  ButtonGadget(number+29, calx+130, caly+110,  20,20, "", #PB_Button_Default | #PB_Button_Toggle)
  ButtonGadget(number+30, calx+10, caly+130, 20,20, "", #PB_Button_Default | #PB_Button_Toggle)
  ButtonGadget(number+31, calx+30, caly+130,  20,20, "", #PB_Button_Default | #PB_Button_Toggle)
  ButtonGadget(number+32, calx+50, caly+130,  20,20, "", #PB_Button_Default | #PB_Button_Toggle)
  ButtonGadget(number+33, calx+70, caly+130,  20,20, "", #PB_Button_Default | #PB_Button_Toggle)
  ButtonGadget(number+34, calx+90, caly+130, 20,20, "", #PB_Button_Default | #PB_Button_Toggle)
  ButtonGadget(number+35, calx+110, caly+130, 20,20, "", #PB_Button_Default | #PB_Button_Toggle)
  ButtonGadget(number+36, calx+130, caly+130,  20,20, "", #PB_Button_Default | #PB_Button_Toggle)
EndProcedure 
Procedure ActivateCalendarGadget(NumberCalendargadget)
  buttonpushed=GadgetID 
  For a=NumberCalendargadget*37+2 To buttonpushed-1
    If GetGadgetState(a)=#True
      SetGadgetState(a,#False)
    Else
      Continue
    EndIf 
  Next 
  For a=buttonpushed+1 To NumberCalendargadget*37+36
    If GetGadgetState(a)=#True
      SetGadgetState(a,#False)
    Else
      Continue
    EndIf 
  Next 
EndProcedure
Procedure Open_Window_0()
  If OpenWindow(#Window_0, 0, 0, 400, 300, "CalendarGadget version 0.000001",  
                #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    myCalendarGadget(0,30,60,160,160,"January")
    myCalendarGadget(1,210,60,160,160,"February")
  EndIf
EndProcedure
Open_Window_0()
Repeat
  Event = WaitWindowEvent()
  If Event = #PB_Event_Gadget
    GadgetID = EventGadget()
    buttonpushed=GadgetID
    If GadgetID >= calendargadgetbuttons(0) And GadgetID<=calendargadgetbuttons1(0)
      ActivateCalendarGadget(0)
      For a=calendargadgetbuttons(1) To calendargadgetbuttons1(1)
        SetGadgetState(a,#False)
      Next 
    ElseIf GadgetID >= calendargadgetbuttons(1) And GadgetID<=calendargadgetbuttons1(1)
      ActivateCalendarGadget(1)
      For a=calendargadgetbuttons(0) To calendargadgetbuttons1(0)
        SetGadgetState(a,#False)
      Next 
    EndIf
  EndIf
Until Event = #PB_Event_CloseWindowRegards,


