/* * $Id: Fl_Calendar.h,v 1.7 2003/04/05 20:44:12 parshin Exp $ * * Extended Fast Light Toolkit (EFLTK) * Copyright (C) 2002-2003 by EDE-Team * WWW: http://www.sourceforge.net/projects/ede * * Fast Light Toolkit (FLTK) * Copyright (C) 1998-2003 by Bill Spitzak and others. * WWW: http://www.fltk.org * * This library is distributed under the GNU LIBRARY GENERAL PUBLIC LICENSE * version 2. See COPYING for details. * * Author : Alexey Parshin * Email : alexey@fltk.net * * Please report all bugs and problems to "efltk-bugs@fltk.net" * */ // // Ported to FLTK2 by Vedran Ljubovic , 2005. #ifndef _EDE_CALENDAR_H_ #define _EDE_CALENDAR_H_ /* #include #include #include #include #include */ #include "Fl_Date_Time.h" #include #include #include #include /** Fl_Calendar */ class EDE_Calendar : public fltk::Group { public: static fltk::NamedStyle* default_style; /** The traditional constructor creates the calendar using the position, size, and label. */ EDE_Calendar(int x,int y,int w,int h,const char *lbl=0L); /** The new style constructor creates the calendar using the label, size, alignment, and label_width. */ // Fl_Calendar(const char* l = 0,int layout_size=30,fltk::Align layout_al=fltk::ALIGN_TOP,int label_w=100); virtual void layout(); virtual void draw(); virtual void measure(int& w,int& h) const; virtual void reset() { date(Fl_Date_Time::Now()); } void date(Fl_Date_Time dt); Fl_Date_Time date() const; void dayButtonClicked(unsigned day); void dayButtonChanged(unsigned day); void switchButtonClicked(int monthChange); private: static void cbDayButtonClicked(fltk::Widget *,void *); static void cbSwitchButtonClicked(fltk::Widget *,void *); fltk::Group *m_headerBox; fltk::Group *m_buttonBox; fltk::InvisibleBox *m_monthNameBox; fltk::InvisibleBox *m_dayNameBoxes[7]; fltk::Button *m_dayButtons[31]; fltk::Button *m_switchButtons[4]; Fl_Date_Time m_todayDate; Fl_Date_Time m_activeDate; int m_globalx, m_globaly; char m_headerLabel[20]; // month+year shouldn't get larger in any locale void ctor_init(int x,int y,int w,int h); }; /* We lack Fl_Popup_Window to make this work... Maybe later... class Fl_Popup_Calendar : public Fl_Popup_Window { public: static fltk::NamedStyle* default_style; Fl_Popup_Calendar(fltk::Widget *dateControl=NULL); Fl_Calendar *calendar() { return m_calendar; } void clicked() { set_value(); } void layout(); void draw(); int handle(int); void date(Fl_Date_Time dt) { m_calendar->date(dt); } Fl_Date_Time date() const { return m_calendar->date(); } bool popup(); // Popup calendar, relative to widget bool popup(fltk::Widget *dateControl, int X, int Y, int W=0, int H=0); private: friend class Fl_Calendar; Fl_Calendar *m_calendar; fltk::Widget *m_dateControl; };*/ #endif