From c30aaf75f0571d18abee4068c36df0a7f07842cb Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Mon, 29 Mar 1999 21:18:49 +0000 Subject: [PATCH] last fixes to fixes (MSW compilation works now) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2003 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/date.h | 153 ++++++------- include/wx/log.h | 5 +- src/common/date.cpp | 486 +++++++++++++++++++++--------------------- src/common/filefn.cpp | 6 - 4 files changed, 323 insertions(+), 327 deletions(-) diff --git a/include/wx/date.h b/include/wx/date.h index fae4f9ec50..3063dd31af 100644 --- a/include/wx/date.h +++ b/include/wx/date.h @@ -3,11 +3,11 @@ // Purpose: wxDate class // Author: Julian Smart, Steve Marcus, Eric Simon, Chris Hill, // Charles D. Price -// Modified by: +// Modified by: // Created: 01/02/97 // RCS-ID: $Id$ // Copyright: (c) -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_DATE_H_ @@ -36,108 +36,109 @@ enum wxdate_format_type {wxMDY, wxDAY, wxMONTH, wxFULL, wxEUROPEAN}; #define wxNO_CENTURY 0x02 #define wxDATE_ABBR 0x04 -class WXDLLEXPORT wxDate: public wxObject +class WXDLLEXPORT wxDate : public wxObject { - DECLARE_DYNAMIC_CLASS(wxDate) - protected: - unsigned long julian; // see julDate(); days since 1/1/4713 B.C. - int month; // see NMonth() - int day; // see Day() - int year; // see NYear4() - int day_of_week; // see NDOW(); 1 = Sunday, ... 7 = Saturday +DECLARE_DYNAMIC_CLASS(wxDate) - private: - int DisplayFormat; - unsigned char DisplayOptions; +protected: + unsigned long julian; // see julDate(); days since 1/1/4713 B.C. + int month; // see NMonth() + int day; // see Day() + int year; // see NYear4() + int day_of_week; // see NDOW(); 1 = Sunday, ... 7 = Saturday - void julian_to_mdy (); // convert julian day to mdy - void julian_to_wday (); // convert julian day to day_of_week - void mdy_to_julian (); // convert mdy to julian day +private: + int DisplayFormat; + unsigned char DisplayOptions; - public: - wxDate (); - wxDate (long j); - wxDate (int m, int d, int y); - wxDate (const wxString& dat); - wxDate (const wxDate &dt); + void julian_to_mdy (); // convert julian day to mdy + void julian_to_wday (); // convert julian day to day_of_week + void mdy_to_julian (); // convert mdy to julian day + +public: + wxDate (); + wxDate (long j); + wxDate (int m, int d, int y); + wxDate (const wxString& dat); + wxDate (const wxDate &dt); #ifndef __SALFORDC__ - operator wxString (void); + operator wxString (void); #endif - void operator = (const wxDate& date); - void operator = (const wxString& date); + void operator = (const wxDate& date); + void operator = (const wxString& date); - wxDate operator + (long i); - wxDate operator + (int i); + wxDate operator + (long i); + wxDate operator + (int i); - wxDate operator - (long i); - wxDate operator - (int i); + wxDate operator - (long i); + wxDate operator - (int i); - long operator - (const wxDate &dt); + long operator - (const wxDate &dt); - wxDate &operator += (long i); - wxDate &operator -= (long i); + wxDate &operator += (long i); + wxDate &operator -= (long i); - wxDate &operator ++ (); // Prefix increment - wxDate &operator ++ (int); // Postfix increment - wxDate &operator -- (); // Prefix decrement - wxDate &operator -- (int); // Postfix decrement + wxDate &operator ++ (); // Prefix increment + wxDate &operator ++ (int); // Postfix increment + wxDate &operator -- (); // Prefix decrement + wxDate &operator -- (int); // Postfix decrement - friend bool WXDLLEXPORT operator < (const wxDate &dt1, const wxDate &dt2); - friend bool WXDLLEXPORT operator <= (const wxDate &dt1, const wxDate &dt2); - friend bool WXDLLEXPORT operator > (const wxDate &dt1, const wxDate &dt2); - friend bool WXDLLEXPORT operator >= (const wxDate &dt1, const wxDate &dt2); - friend bool WXDLLEXPORT operator == (const wxDate &dt1, const wxDate &dt2); - friend bool WXDLLEXPORT operator != (const wxDate &dt1, const wxDate &dt2); + friend bool WXDLLEXPORT operator < (const wxDate &dt1, const wxDate &dt2); + friend bool WXDLLEXPORT operator <= (const wxDate &dt1, const wxDate &dt2); + friend bool WXDLLEXPORT operator > (const wxDate &dt1, const wxDate &dt2); + friend bool WXDLLEXPORT operator >= (const wxDate &dt1, const wxDate &dt2); + friend bool WXDLLEXPORT operator == (const wxDate &dt1, const wxDate &dt2); + friend bool WXDLLEXPORT operator != (const wxDate &dt1, const wxDate &dt2); - friend ostream WXDLLEXPORT & operator << (ostream &os, const wxDate &dt); + friend ostream WXDLLEXPORT & operator << (ostream &os, const wxDate &dt); - wxString FormatDate (int type=-1) const; - void SetFormat (int format); - int SetOption (int option, bool enable=TRUE); + wxString FormatDate (int type=-1) const; + void SetFormat (int format); + int SetOption (int option, bool enable=TRUE); - long GetJulianDate() const; // returns julian date - int GetDayOfYear() const; // returns relative date since Jan. 1 - bool IsLeapYear() const; // returns TRUE if leap year, FALSE if not + long GetJulianDate() const; // returns julian date + int GetDayOfYear() const; // returns relative date since Jan. 1 + bool IsLeapYear() const; // returns TRUE if leap year, FALSE if not - // Version 4.0 Extension to Public Interface - CDP - - // These 'Set's modify the date object and actually SET it - // They all return a reference to self (*this) + // Version 4.0 Extension to Public Interface - CDP - wxDate &Set(); // Sets to current system date - wxDate &Set(long lJulian); - wxDate &Set(int nMonth, int nDay, int nYear); + // These 'Set's modify the date object and actually SET it + // They all return a reference to self (*this) - wxDate &AddWeeks(int nCount = 1); // - wxDate &AddMonths(int nCount = 1); // May also pass neg# to decrement - wxDate &AddYears(int nCount = 1); // + wxDate &Set(); // Sets to current system date + wxDate &Set(long lJulian); + wxDate &Set(int nMonth, int nDay, int nYear); - int GetDay() const; // Numeric Day of date object - int GetDaysInMonth(); // Number of days in month (1..31) - int GetFirstDayOfMonth() const; // First Day Of Month (1..7) + wxDate &AddWeeks(int nCount = 1); // + wxDate &AddMonths(int nCount = 1); // May also pass neg# to decrement + wxDate &AddYears(int nCount = 1); // - wxString GetDayOfWeekName(); // Character Day Of Week ('Sunday'..'Saturday') - int GetDayOfWeek() const; // (1..7) + int GetDay() const; // Numeric Day of date object + int GetDaysInMonth(); // Number of days in month (1..31) + int GetFirstDayOfMonth() const; // First Day Of Month (1..7) - int GetWeekOfMonth(); // Numeric Week Of Month (1..6) - int GetWeekOfYear(); // Numeric Week Of Year (1..52) + wxString GetDayOfWeekName(); // Character Day Of Week ('Sunday'..'Saturday') + int GetDayOfWeek() const; // (1..7) - wxString GetMonthName(); // Character Month name - int GetMonth() const; // Month Number (1..12) - wxDate GetMonthStart(); // First Date Of Month - wxDate GetMonthEnd(); // Last Date Of Month + int GetWeekOfMonth(); // Numeric Week Of Month (1..6) + int GetWeekOfYear(); // Numeric Week Of Year (1..52) - int GetYear() const; // eg. 1992 - wxDate GetYearStart(); // First Date Of Year - wxDate GetYearEnd(); // Last Date Of Year + wxString GetMonthName(); // Character Month name + int GetMonth() const; // Month Number (1..12) + wxDate GetMonthStart(); // First Date Of Month + wxDate GetMonthEnd(); // Last Date Of Month - bool IsBetween(const wxDate& first, const wxDate& second) const; + int GetYear() const; // eg. 1992 + wxDate GetYearStart(); // First Date Of Year + wxDate GetYearEnd(); // Last Date Of Year - wxDate Previous(int dayOfWeek) const; + bool IsBetween(const wxDate& first, const wxDate& second) const; + + wxDate Previous(int dayOfWeek) const; }; -#endif +#endif // wxUSE_TIMEDATE #endif // _WX_DATE_H_ diff --git a/include/wx/log.h b/include/wx/log.h index 7713ebc382..4a390ce922 100644 --- a/include/wx/log.h +++ b/include/wx/log.h @@ -16,8 +16,9 @@ #pragma interface "log.h" #endif -#include -#include +#include // for time_t + +#include "wx/dynarray.h" // ---------------------------------------------------------------------------- // constants diff --git a/src/common/date.cpp b/src/common/date.cpp index 2b248eab65..e3e808ee5c 100644 --- a/src/common/date.cpp +++ b/src/common/date.cpp @@ -8,11 +8,11 @@ // Still Further Enhanced by Hill & Simon v3.10 8/05/91 // Version 4 by Charles D. Price 6/27/92 // Integrated into wxWindows by Julian Smart 9th July 1995 -// Modified by: +// Modified by: // Created: 01/02/97 // RCS-ID: $Id$ // Copyright: (c) Julian Smart and Markus Holzem -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifdef __GNUG__ @@ -49,12 +49,12 @@ #define ABBR_LENGTH 3 static const char *dayname[] = { - "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" + "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" }; static const char *mname[] = { - "January", "February", "March", "April", "May", "June", "July", "August", - "September", "October", "November", "December" + "January", "February", "March", "April", "May", "June", "July", "August", + "September", "October", "November", "December" }; static int GauDays[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; @@ -63,96 +63,96 @@ static int GauDays[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; IMPLEMENT_DYNAMIC_CLASS(wxDate, wxObject) #endif -//////////////////////////////////////////////////////////// -// Constructors -//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////// + // Constructors + //////////////////////////////////////////////////////////// wxDate::wxDate() { - DisplayFormat=wxMDY; - DisplayOptions='\0'; - month = day = year = day_of_week = 0; - julian = 0; + DisplayFormat=wxMDY; + DisplayOptions='\0'; + month = day = year = day_of_week = 0; + julian = 0; } wxDate::wxDate (long j) : julian(j) { - DisplayFormat=wxMDY; - DisplayOptions='\0'; - julian_to_mdy (); + DisplayFormat=wxMDY; + DisplayOptions='\0'; + julian_to_mdy (); } wxDate::wxDate (int m, int d, int y) : month(m), day(d), year(y) { - DisplayFormat=wxMDY; - DisplayOptions='\0'; - mdy_to_julian (); + DisplayFormat=wxMDY; + DisplayOptions='\0'; + mdy_to_julian (); } wxDate::wxDate (const wxString& dat) { - DisplayFormat=wxMDY; - DisplayOptions='\0'; - if (strcmp(dat, "TODAY") == 0 || strcmp(dat, "today") == 0) - { - // Sets the current date - Set(); - } - else - { - char buf[100]; - strcpy(buf, (char *) (const char *)dat); + DisplayFormat=wxMDY; + DisplayOptions='\0'; + if (strcmp(dat, "TODAY") == 0 || strcmp(dat, "today") == 0) + { + // Sets the current date + Set(); + } + else + { + char buf[100]; + strcpy(buf, (char *) (const char *)dat); - char *token = strtok(buf,"/-"); - month = atoi(token); - day = atoi(strtok((char *) NULL,"/-")); - year = atoi(strtok((char *) NULL," ")); - } + char *token = strtok(buf,"/-"); + month = atoi(token); + day = atoi(strtok((char *) NULL,"/-")); + year = atoi(strtok((char *) NULL," ")); + } - mdy_to_julian (); + mdy_to_julian (); } wxDate::wxDate (const wxDate &dt) { - DisplayFormat=dt.DisplayFormat; - DisplayOptions=dt.DisplayOptions; - month = dt.month; - day = dt.day; - year = dt.year; - mdy_to_julian (); + DisplayFormat=dt.DisplayFormat; + DisplayOptions=dt.DisplayOptions; + month = dt.month; + day = dt.day; + year = dt.year; + mdy_to_julian (); } void wxDate::operator = (const wxDate &dt) { - DisplayFormat=dt.DisplayFormat; - DisplayOptions=dt.DisplayOptions; - month = dt.month; - day = dt.day; - year = dt.year; - mdy_to_julian (); + DisplayFormat=dt.DisplayFormat; + DisplayOptions=dt.DisplayOptions; + month = dt.month; + day = dt.day; + year = dt.year; + mdy_to_julian (); // wxUSE_TIMEDATE } void wxDate::operator = (const wxString& dat) { - DisplayFormat=wxMDY; - DisplayOptions='\0'; - if (strcmp(dat, "TODAY") == 0 || strcmp(dat, "today") == 0) - { - // Sets the current date - Set(); - } - else - { - char buf[100]; - strcpy(buf, (char *)(const char *)dat); + DisplayFormat=wxMDY; + DisplayOptions='\0'; + if (strcmp(dat, "TODAY") == 0 || strcmp(dat, "today") == 0) + { + // Sets the current date + Set(); + } + else + { + char buf[100]; + strcpy(buf, (char *)(const char *)dat); - char *token = strtok(buf,"/-"); - month = atoi(token); - day = atoi(strtok((char *) NULL,"/-")); - year = atoi(strtok((char *) NULL," ")); - } + char *token = strtok(buf,"/-"); + month = atoi(token); + day = atoi(strtok((char *) NULL,"/-")); + year = atoi(strtok((char *) NULL," ")); + } - mdy_to_julian (); + mdy_to_julian (); } ////////////////////////////////////////////////////////////// @@ -162,7 +162,7 @@ void wxDate::operator = (const wxString& dat) #ifndef __SALFORDC__ wxDate::operator wxString( void ) { - return FormatDate(); + return FormatDate(); } #endif @@ -172,73 +172,73 @@ wxDate::operator wxString( void ) wxDate wxDate::operator + (long i) { - wxDate dp(julian + i); - return dp; + wxDate dp(julian + i); + return dp; } wxDate wxDate::operator + (int i) { - wxDate dp(julian + (long)i); - return dp; + wxDate dp(julian + (long)i); + return dp; } wxDate wxDate::operator - (long i) { - wxDate dp(julian - i); - return dp; + wxDate dp(julian - i); + return dp; } wxDate wxDate::operator - (int i) { - wxDate dp(julian - (long)i); - return dp; + wxDate dp(julian - (long)i); + return dp; } long wxDate::operator - (const wxDate &dt) { - return ( julian - dt.julian ); + return ( julian - dt.julian ); } wxDate &wxDate::operator += (long i) { - julian += i; - julian_to_mdy(); - return *this; + julian += i; + julian_to_mdy(); + return *this; } wxDate &wxDate::operator -= (long i) { - julian -= i; - julian_to_mdy(); - return *this; + julian -= i; + julian_to_mdy(); + return *this; } wxDate &wxDate::operator ++() { - julian++; + julian++; julian_to_mdy(); - return *this; + return *this; } wxDate &wxDate::operator ++(int) { - julian++; + julian++; julian_to_mdy(); - return *this; + return *this; } wxDate &wxDate::operator --() { - julian--; + julian--; julian_to_mdy(); - return *this; + return *this; } wxDate &wxDate::operator --(int) { - julian--; + julian--; julian_to_mdy(); - return *this; + return *this; } ////////////////////////////////////////////////////////////// @@ -247,32 +247,32 @@ wxDate &wxDate::operator --(int) bool WXDLLEXPORT operator < (const wxDate &dt1, const wxDate &dt2) { - return ( dt1.julian < dt2.julian ); + return ( dt1.julian < dt2.julian ); } bool WXDLLEXPORT operator <= (const wxDate &dt1, const wxDate &dt2) { - return ( (dt1.julian == dt2.julian) || (dt1.julian < dt2.julian) ); + return ( (dt1.julian == dt2.julian) || (dt1.julian < dt2.julian) ); } bool WXDLLEXPORT operator > (const wxDate &dt1, const wxDate &dt2) { - return ( dt1.julian > dt2.julian ); + return ( dt1.julian > dt2.julian ); } bool WXDLLEXPORT operator >= (const wxDate &dt1, const wxDate &dt2) { - return ( (dt1.julian == dt2.julian) || (dt1.julian > dt2.julian) ); + return ( (dt1.julian == dt2.julian) || (dt1.julian > dt2.julian) ); } bool WXDLLEXPORT operator == (const wxDate &dt1, const wxDate &dt2) { - return ( dt1.julian == dt2.julian ); + return ( dt1.julian == dt2.julian ); } bool WXDLLEXPORT operator != (const wxDate &dt1, const wxDate &dt2) { - return ( dt1.julian != dt2.julian ); + return ( dt1.julian != dt2.julian ); } //////////////////////////////////////////////////////////////// @@ -281,7 +281,7 @@ bool WXDLLEXPORT operator != (const wxDate &dt1, const wxDate &dt2) ostream WXDLLEXPORT & operator << (ostream &os, const wxDate &dt) { - return os << (const char *) dt.FormatDate(); + return os << (const char *) dt.FormatDate(); } ////////////////////////////////////////////////////////////// @@ -290,49 +290,49 @@ ostream WXDLLEXPORT & operator << (ostream &os, const wxDate &dt) void wxDate::julian_to_wday (void) { - day_of_week = (int) ((julian + 2) % 7 + 1); + day_of_week = (int) ((julian + 2) % 7 + 1); } void wxDate::julian_to_mdy () { - long a,b,c,d,e,z,alpha; - z = julian+1; - // dealing with Gregorian calendar reform + long a,b,c,d,e,z,alpha; + z = julian+1; + // dealing with Gregorian calendar reform if (z < 2299161L) - a = z; + a = z; else { - alpha = (long) ((z-1867216.25) / 36524.25); - a = z + 1 + alpha - alpha/4; + alpha = (long) ((z-1867216.25) / 36524.25); + a = z + 1 + alpha - alpha/4; } - b = ( a > 1721423 ? a + 1524 : a + 1158 ); - c = (long) ((b - 122.1) / 365.25); - d = (long) (365.25 * c); - e = (long) ((b - d) / 30.6001); + b = ( a > 1721423 ? a + 1524 : a + 1158 ); + c = (long) ((b - 122.1) / 365.25); + d = (long) (365.25 * c); + e = (long) ((b - d) / 30.6001); day = (int)(b - d - (long)(30.6001 * e)); month = (int)((e < 13.5) ? e - 1 : e - 13); year = (int)((month > 2.5 ) ? (c - 4716) : c - 4715); - julian_to_wday (); + julian_to_wday (); } void wxDate::mdy_to_julian (void) { - int a,b=0; - int work_month=month, work_day=day, work_year=year; - // correct for negative year + int a,b=0; + int work_month=month, work_day=day, work_year=year; + // correct for negative year if (work_year < 0) - work_year++; - if (work_month <= 2) - { work_year--; work_month +=12; } + work_year++; + if (work_month <= 2) + { work_year--; work_month +=12; } - // deal with Gregorian calendar - if (work_year*10000. + work_month*100. + work_day >= 15821015.) - { + // deal with Gregorian calendar + if (work_year*10000. + work_month*100. + work_day >= 15821015.) + { a = (int)(work_year/100.); - b = 2 - a + a/4; - } - julian = (long) (365.25*work_year) + - (long) (30.6001 * (work_month+1)) + work_day + 1720994L + b; - julian_to_wday (); + b = 2 - a + a/4; + } + julian = (long) (365.25*work_year) + + (long) (30.6001 * (work_month+1)) + work_day + 1720994L + b; + julian_to_wday (); } //////////////////////////////////////////////////////////////// @@ -341,107 +341,107 @@ void wxDate::mdy_to_julian (void) wxString wxDate::FormatDate (int type) const { - int actualType = type; - if (actualType == -1) - actualType = DisplayFormat; + int actualType = type; + if (actualType == -1) + actualType = DisplayFormat; char buf[40]; memset( buf, '\0', sizeof(buf) ); - switch ( actualType ) - { - case wxDAY: - if ( (day_of_week < 1) || (day_of_week > 7) ) - strcpy(buf, _("invalid day")); - else - strncpy( buf, _(dayname[day_of_week-1]), - (DisplayOptions & wxDATE_ABBR) ? ABBR_LENGTH : 9); - return wxString(buf); + switch ( actualType ) + { + case wxDAY: + if ( (day_of_week < 1) || (day_of_week > 7) ) + strcpy(buf, _("invalid day")); + else + strncpy( buf, _(dayname[day_of_week-1]), + (DisplayOptions & wxDATE_ABBR) ? ABBR_LENGTH : 9); + return wxString(buf); - case wxMONTH: - if ( (month < 1) || (month > 12) ) - strcpy(buf, _("invalid month")); - else - strncpy( buf, _(mname[month-1]), - (DisplayOptions & wxDATE_ABBR) ? ABBR_LENGTH : 9); - return wxString(buf); + case wxMONTH: + if ( (month < 1) || (month > 12) ) + strcpy(buf, _("invalid month")); + else + strncpy( buf, _(mname[month-1]), + (DisplayOptions & wxDATE_ABBR) ? ABBR_LENGTH : 9); + return wxString(buf); - case wxFULL: - if ( (month < 1) || (month > 12) || (day_of_week < 0) || - (day_of_week > 7) ) - { - strcpy(buf, _("invalid date")); - return wxString(buf); - } - strncpy( buf, _(dayname[day_of_week-1]), - (DisplayOptions & wxDATE_ABBR) ? ABBR_LENGTH : 9); - strcat( buf, ", "); - strncat( buf, _(mname[month-1]), - (DisplayOptions & wxDATE_ABBR) ? ABBR_LENGTH : 9); - strcat( buf, " "); - sprintf( buf+strlen(buf), "%d, %d", day, abs(year) ); - if (year < 0) - strcat(buf,_(" B.C.")); - return wxString(buf); + case wxFULL: + if ( (month < 1) || (month > 12) || (day_of_week < 0) || + (day_of_week > 7) ) + { + strcpy(buf, _("invalid date")); + return wxString(buf); + } + strncpy( buf, _(dayname[day_of_week-1]), + (DisplayOptions & wxDATE_ABBR) ? ABBR_LENGTH : 9); + strcat( buf, ", "); + strncat( buf, _(mname[month-1]), + (DisplayOptions & wxDATE_ABBR) ? ABBR_LENGTH : 9); + strcat( buf, " "); + sprintf( buf+strlen(buf), "%d, %d", day, abs(year) ); + if (year < 0) + strcat(buf,_(" B.C.")); + return wxString(buf); - case wxEUROPEAN: - if ( (month < 1) || (month > 12) || (day_of_week < 0) || - (day_of_week > 7) ) - { - strcpy(buf, _("invalid date")); - return wxString(buf); - } - sprintf(buf,"%d ", day); - strncat(buf, _(mname[month-1]), - (DisplayOptions & wxDATE_ABBR) ? ABBR_LENGTH : 9); - sprintf( buf+strlen(buf), " %d", abs(year) ); - if (year < 0) - strcat(buf, _(" B.C.")); - return wxString(buf); + case wxEUROPEAN: + if ( (month < 1) || (month > 12) || (day_of_week < 0) || + (day_of_week > 7) ) + { + strcpy(buf, _("invalid date")); + return wxString(buf); + } + sprintf(buf,"%d ", day); + strncat(buf, _(mname[month-1]), + (DisplayOptions & wxDATE_ABBR) ? ABBR_LENGTH : 9); + sprintf( buf+strlen(buf), " %d", abs(year) ); + if (year < 0) + strcat(buf, _(" B.C.")); + return wxString(buf); - case wxMDY: - default: - if (day==0 || month==0 || year==0) - strcpy(buf, _("invalid date")); - else - sprintf( buf+strlen(buf), "%1d/%1d/%02d", month, day, - (DisplayOptions & wxNO_CENTURY) && (abs(year) > 1899) - ? (abs(year) - (abs(year) / 100 * 100)) - : (abs(year)) ); - return wxString(buf); - } - return wxString(""); + case wxMDY: + default: + if (day==0 || month==0 || year==0) + strcpy(buf, _("invalid date")); + else + sprintf( buf+strlen(buf), "%1d/%1d/%02d", month, day, + (DisplayOptions & wxNO_CENTURY) && (abs(year) > 1899) + ? (abs(year) - (abs(year) / 100 * 100)) + : (abs(year)) ); + return wxString(buf); + } + return wxString(""); } void wxDate::SetFormat( int format ) { - DisplayFormat = format; + DisplayFormat = format; } int wxDate::SetOption( int option, bool action ) { - switch ( option ) - { - case wxNO_CENTURY: - if ( action ) - DisplayOptions |= wxNO_CENTURY; - else - { - DisplayOptions &= (~wxNO_CENTURY); - } - return 1; - case wxDATE_ABBR: - if ( action ) - DisplayOptions |= wxDATE_ABBR; - else - { - DisplayOptions &= (~wxDATE_ABBR); - } - return 1; - default: - return 0; - } - return 0; + switch ( option ) + { + case wxNO_CENTURY: + if ( action ) + DisplayOptions |= wxNO_CENTURY; + else + { + DisplayOptions &= (~wxNO_CENTURY); + } + return 1; + case wxDATE_ABBR: + if ( action ) + DisplayOptions |= wxDATE_ABBR; + else + { + DisplayOptions &= (~wxDATE_ABBR); + } + return 1; + default: + return 0; + } + return 0; } /////////////////////////////////////////////////////////////// @@ -450,29 +450,29 @@ int wxDate::SetOption( int option, bool action ) long wxDate::GetJulianDate( void ) const { - return julian; + return julian; } int wxDate::GetDayOfYear( void ) const { - wxDate temp( 1, 1, year ); + wxDate temp( 1, 1, year ); - return (int) (julian - temp.julian + 1); + return (int) (julian - temp.julian + 1); } bool wxDate::IsLeapYear( void ) const { - return ( (year >= 1582) ? - (year % 4 == 0 && year % 100 != 0 || year % 400 == 0 ): - (year % 4 == 0) ); + return ( (year >= 1582) ? + (year % 4 == 0 && year % 100 != 0 || year % 400 == 0 ): + (year % 4 == 0) ); } // Version 4.0 Extension to Public Interface - CDP wxDate& wxDate::Set() { -//#ifdef __WXMSW__ + //#ifdef __WXMSW__ #if 0 struct _dosdate_t sDate; _dos_getdate(&sDate); @@ -496,9 +496,9 @@ wxDate& wxDate::Set() } wxDate& wxDate::Set( - int nMonth, - int nDay, - int nYear) + int nMonth, + int nDay, + int nYear) { month = nMonth; year = nYear < 0 ? 9999 : nYear; @@ -506,16 +506,16 @@ wxDate& wxDate::Set( day = nDay < GetDaysInMonth() ? nDay : GetDaysInMonth(); mdy_to_julian(); - return *this; + return *this; } wxDate & wxDate::Set(long j) { - julian = j; + julian = j; - julian_to_mdy(); - return *this; + julian_to_mdy(); + return *this; } @@ -562,12 +562,12 @@ wxDate& wxDate::AddMonths(int nCount) if (month < 1) { month = 12; year--; - } + } if (month > 12) { month = 1; year++; - } + } mdy_to_julian(); return *this; } @@ -581,10 +581,10 @@ wxDate& wxDate::AddYears(int nCount) int wxDate::GetWeekOfMonth() { - // Abs day includes the days from previous month that fills up - // the begin. of the week. - int nAbsDay = day + GetFirstDayOfMonth()-1; - return (nAbsDay-GetDayOfWeek())/7 + 1; + // Abs day includes the days from previous month that fills up + // the begin. of the week. + int nAbsDay = day + GetFirstDayOfMonth()-1; + return (nAbsDay-GetDayOfWeek())/7 + 1; } int wxDate::GetWeekOfYear() @@ -625,32 +625,32 @@ wxString wxDate::GetDayOfWeekName() bool wxDate::IsBetween(const wxDate& first, const wxDate& second) const { - return (julian >= first.julian && julian <= second.julian); + return (julian >= first.julian && julian <= second.julian); } // This function is from NIHCL wxDate wxDate::Previous(int dayOfWeek) const { - int this_day_Of_Week, desired_day_Of_Week; - long j; + int this_day_Of_Week, desired_day_Of_Week; + long j; -// Set the desired and current day of week to start at 0 (Monday) -// and end at 6 (Sunday). + // Set the desired and current day of week to start at 0 (Monday) + // and end at 6 (Sunday). - desired_day_Of_Week = dayOfWeek - 1; // These functions return a value - this_day_Of_Week = GetDayOfWeek() - 1; // from 1-7. Subtract 1 for 0-6. - j = julian; + desired_day_Of_Week = dayOfWeek - 1; // These functions return a value + this_day_Of_Week = GetDayOfWeek() - 1; // from 1-7. Subtract 1 for 0-6. + j = julian; -// Have to determine how many days difference from current day back to -// desired, if any. Special calculation under the 'if' statement to -// effect the wraparound counting from Monday (0) back to Sunday (6). + // Have to determine how many days difference from current day back to + // desired, if any. Special calculation under the 'if' statement to + // effect the wraparound counting from Monday (0) back to Sunday (6). - if (desired_day_Of_Week > this_day_Of_Week) - this_day_Of_Week += 7 - desired_day_Of_Week; - else - this_day_Of_Week -= desired_day_Of_Week; - j -= this_day_Of_Week; // Adjust j to set it at the desired day of week. - return wxDate(j); + if (desired_day_Of_Week > this_day_Of_Week) + this_day_Of_Week += 7 - desired_day_Of_Week; + else + this_day_Of_Week -= desired_day_Of_Week; + j -= this_day_Of_Week; // Adjust j to set it at the desired day of week. + return wxDate(j); } #endif diff --git a/src/common/filefn.cpp b/src/common/filefn.cpp index e772d04493..939097401f 100644 --- a/src/common/filefn.cpp +++ b/src/common/filefn.cpp @@ -274,12 +274,6 @@ bool wxFileExists(const char *pszFileName) } */ -bool wxDirExists( const wxString& dir ) -{ - struct stat st; - return ((stat(dir, &st) != -1) && S_ISDIR(st.st_mode) ? TRUE : FALSE); -} - bool wxIsAbsolutePath (const wxString& filename) {