/******************************************************************************
* Product: Posterita Ajax UI *
* Copyright (C) 2007 Posterita Ltd. All Rights Reserved. *
* This program is free software; you can redistribute it and/or modify it *
* under the terms version 2 of the GNU General Public License as published *
* by the Free Software Foundation. This program is distributed in the hope *
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* See the GNU General Public License for more details. *
* You should have received a copy of the GNU General Public License along *
* with this program; if not, write to the Free Software Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
* For the text or an alternative of this public license, you may reach us *
* Posterita Ltd., 3, Draper Avenue, Quatre Bornes, Mauritius *
* or via info@posterita.org or http://www.posterita.org/ *
*****************************************************************************/
package org.adempiere.webui.panel;
import java.util.logging.Level;
import org.adempiere.webui.apps.AEnv;
import org.adempiere.webui.component.Button;
import org.adempiere.webui.component.Window;
import org.compiere.grid.VOnlyCurrentDays;
import org.compiere.util.CLogger;
import org.compiere.util.Env;
import org.compiere.util.Msg;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zul.Hbox;
import org.zkoss.zul.Separator;
/**
* Queries how many days back history is displayed as current
*
* @author Niraj Sohun
* @date September 24, 2007
*/
public class WOnlyCurrentDays extends Window implements EventListener
{
/**
*
*/
private static final long serialVersionUID = 2464266193433220449L;
/**
* Constructor
* @param parent parent frame
* @param buttonLocation lower left corner of the button
*/
public WOnlyCurrentDays()
{
// How long back in History?
super();
try
{
jbInit();
}
catch(Exception e)
{
log.log(Level.SEVERE, "VOnlyCurrentDays", e);
}
this.setVisible(true);
AEnv.showWindow(this);
} // WOnlyCurrentDays
private Hbox mainPanel = new Hbox();
private Button bShowAll = new Button();
private Button bShowMonth = new Button();
private Button bShowWeek = new Button();
private Button bShowDay = new Button();
private Button bShowYear = new Button();
/** Days (0=all) */
private int m_days = 0;
/** Logger */
private static CLogger log = CLogger.getCLogger(VOnlyCurrentDays.class);
/**
* Static Initializer
* @throws Exception
*/
private void jbInit() throws Exception
{
bShowAll.setLabel(Msg.getMsg(Env.getCtx(), "All"));
bShowAll.addEventListener(Events.ON_CLICK, this);
bShowYear.setLabel(Msg.getMsg(Env.getCtx(), "Year"));
bShowYear.addEventListener(Events.ON_CLICK, this);
bShowMonth.setLabel(Msg.getMsg(Env.getCtx(), "Month"));
bShowMonth.addEventListener(Events.ON_CLICK, this);
bShowWeek.setLabel(Msg.getMsg(Env.getCtx(), "Week"));
bShowWeek.addEventListener(Events.ON_CLICK, this);
bShowDay.setLabel(Msg.getMsg(Env.getCtx(), "Day"));
bShowDay.addEventListener(Events.ON_CLICK, this);
mainPanel.setWidth("100%");
mainPanel.setStyle("text-align:center");
mainPanel.appendChild(bShowDay);
mainPanel.appendChild(bShowWeek);
mainPanel.appendChild(bShowMonth);
mainPanel.appendChild(bShowYear);
mainPanel.appendChild(bShowAll);
this.setWidth("450px");
this.setBorder("normal");
this.setTitle(Msg.getMsg(Env.getCtx(), "VOnlyCurrentDays"));
this.setClosable(true);
this.setAttribute("mode", "modal");
this.appendChild(new Separator());
this.appendChild(mainPanel);
this.appendChild(new Separator());
} // jbInit
/**
* Get selected number of days
* @return days or -1 for all
*/
public int getCurrentDays()
{
return m_days;
} // getCurrentDays
public void onEvent(Event event) throws Exception
{
if (event.getTarget() == bShowDay)
m_days = 1;
else if (event.getTarget() == bShowWeek)
m_days = 7;
else if (event.getTarget() == bShowMonth)
m_days = 31;
else if (event.getTarget() == bShowYear)
m_days = 365;
else
m_days = 0; // all
this.detach();
}
}