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
This commit is contained in:
Vadim Zeitlin 1999-03-29 21:18:49 +00:00
parent e87b7b6000
commit c30aaf75f0
4 changed files with 323 additions and 327 deletions

View File

@ -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_

View File

@ -16,8 +16,9 @@
#pragma interface "log.h"
#endif
#include <wx/dynarray.h>
#include <time.h>
#include <time.h> // for time_t
#include "wx/dynarray.h"
// ----------------------------------------------------------------------------
// constants

View File

@ -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

View File

@ -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)
{