package ipma.Window;
/*
* Copyright (c) 1997, 1998
* The Regents of the University of Michigan ("The Regents").
* All rights reserved.
*
* Contact: ipma-support@merit.edu
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* Michigan and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
*/
/**
* DateMenu
*
* <functionality> ??
*
* Modification History:
*
* $Log: DateMenu.java,v $
* Revision 1.1 2000/08/19 14:35:57 polandj
* Sorry for all the emails this is going to generate...
* - Moved old IRRj into irrj/v1
* - New IRRj is in irrj/v2
*
* Revision 1.2 2000/03/01 21:28:10 polandj
* Updating to the latest version.
*
* Revision 1.1 1999/05/14 19:39:16 polandj
* Adding irrj under repository
*
* Revision 1.7 1999/02/02 07:33:23 vecna
* Nuked some commented out code from DateMenu and TimeZoneMenu...
*:
*/
import java.awt.*;
import java.util.*;
import ipma.Query.*;
// assumes that typechecker has already been registered!
public class DateMenu
extends Menu {
public static final String CURRENT_STRING = "Current";
public static final String CHOOSE_STRING = "Choose Date";
public static final String SEPARATOR_STRING = "-";
public static final String DEFAULT_TITLE = "Date";
static final boolean DEFAULT_TEAROFF = false;
static final String AT_STRING = " @ ";
final static int DEFAULT_NUM_DAYS = 14;
int NumDays;
public DateMenu() {
this(DEFAULT_TITLE, DEFAULT_NUM_DAYS);
}
public DateMenu(String Title) {
this(Title, DEFAULT_NUM_DAYS);
}
public DateMenu(int NumDays) {
this(DEFAULT_TITLE, NumDays);
}
public DateMenu(String Title, int NumDays) {
super(Title, DEFAULT_TEAROFF);
this.NumDays = NumDays;
BuildMenu();
}
protected void BuildMenu() {
int i;
long TimeLong;
int Year,
Month,
Day;
String TimeString;
String title;
setEnabled(false);
for (i = this.getItemCount() - 1; i >= 0; i--)
remove(i);
add(new MenuItem(CURRENT_STRING));
// Get a Calendar representing the current time
Calendar CalLocal = new GregorianCalendar();
Calendar NewCal;
CalLocal.add(Calendar.HOUR_OF_DAY, -1);
// Create a DateMenu that goes back numDays days.
for (i=0; i< NumDays; i++) {
Year = CalLocal.get(Calendar.YEAR);
Month = CalLocal.get(Calendar.MONTH) + 1;
Day = CalLocal.get(Calendar.DATE);
CalLocal.add(Calendar.DATE, -1);
NewCal = new GregorianCalendar();
NewCal.setTime(CalLocal.getTime());
add(new DateMenuItem(NewCal));
}
add(new MenuItem(SEPARATOR_STRING));
add(new MenuItem(CHOOSE_STRING));
setEnabled(true);
//System.out.println("DateMenu.buildMenu is called: ");
}
}
syntax highlighted by Code2HTML, v. 0.9.1