Package sos.scheduler.editor.conf.forms

Source Code of sos.scheduler.editor.conf.forms.JobAssistentPeriodForm

/********************************************************* begin of preamble
**
** Copyright (C) 2003-2010 Software- und Organisations-Service GmbH.
** All rights reserved.
**
** This file may be used under the terms of either the
**
**   GNU General Public License version 2.0 (GPL)
**
**   as published by the Free Software Foundation
**   http://www.gnu.org/licenses/gpl-2.0.txt and appearing in the file
**   LICENSE.GPL included in the packaging of this file.
**
** or the
** 
**   Agreement for Purchase and Licensing
**
**   as offered by Software- und Organisations-Service GmbH
**   in the respective terms of supply that ship with this file.
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT OWNER 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.
********************************************************** end of preamble*/
package sos.scheduler.editor.conf.forms;

import org.eclipse.swt.SWT;
import org.eclipse.swt.events.KeyAdapter;
import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.events.MouseAdapter;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.VerifyEvent;
import org.eclipse.swt.events.VerifyListener;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
import org.jdom.Element;

import sos.scheduler.editor.app.IUpdateLanguage;
import sos.scheduler.editor.app.Messages;
import sos.scheduler.editor.app.Utils;
import sos.scheduler.editor.conf.SchedulerDom;
import sos.scheduler.editor.conf.listeners.*;

public class JobAssistentPeriodForm extends Composite implements IUpdateLanguage {

  private PeriodListener listener;

    private Group          gPeriod          = null;

    private Label          label2           = null;

    private Text           sBeginHours      = null;

    private Label          label3           = null;

    private Text           sBeginMinutes    = null;

    private Label          label4           = null;

    private Text           sBeginSeconds    = null;

    private Label          label5           = null;

    private Label          label6           = null;

    private Text           sEndHours        = null;

    private Label          label7           = null;

    private Text           sEndMinutes      = null;

    private Label          label8           = null;

    private Text           sEndSeconds      = null;

    private Label          label9           = null;

    private boolean        event            = true;

    private Button         bApply           = null;

    private String         savBeginHours    = "";

    private String         savBeginMinutes  = "";

    private String         savBeginSeconds  = "";

    private String         savEndHours      = "";

    private String         savEndMinutes    = "";

    private String         savEndSeconds    = "";

    private PeriodsListener periodslistener = null;
   
    public static String    EVERY_DAY          = "Every Day ";
 
    public static String    SPECIFIC_DAY       = "Specific Day ";   
 
    public static String    WEEK_DAY           = "Week Day ";
 
    public static String    MONTH_DAY          = "Month Day";
   
    public static String    SPECIFIC_WEEK_DAY          = "Specific Weekday";
     

    public JobAssistentPeriodForm(Composite parent, int style) {
        super(parent, style);
        initialize();

        setRunOnce(false);
        GridData gridData6 = new GridData(42, SWT.DEFAULT);
        GridData gridData5 = new org.eclipse.swt.layout.GridData();
        gridData5.widthHint = 24;
        GridData gridData41 = new org.eclipse.swt.layout.GridData();
        gridData41.widthHint = 24;
        GridData gridData3 = new GridData(42, SWT.DEFAULT);
        GridData gridData21 = new GridData(24, SWT.DEFAULT);
        GridData gridData11 = new org.eclipse.swt.layout.GridData();
        gridData11.widthHint = 24;
        GridData gridData2 = new GridData();
        gridData2.horizontalSpan = 1;
        GridLayout gridLayout = new GridLayout();
        gridLayout.numColumns = 7;
        gPeriod = new Group(this, SWT.NONE);
        gPeriod.setEnabled(true);
        gPeriod.setText("Period");
        gPeriod.setLayout(gridLayout);
        label2 = new Label(gPeriod, SWT.NONE);
        label2.setText("Begin Time:");
        sBeginHours = new Text(gPeriod, SWT.BORDER);

        sBeginHours.addVerifyListener(new VerifyListener() {
            public void verifyText(final VerifyEvent e) {
                e.doit = Utils.isOnlyDigits(e.text);
            }
        });

        sBeginHours.setLayoutData(gridData11);

        sBeginHours.addModifyListener(new org.eclipse.swt.events.ModifyListener() {
            public void modifyText(org.eclipse.swt.events.ModifyEvent e) {
                if (!beginBeforeAfter()) {
                    Utils.setBackground(0, 23, sBeginHours);
                }               
                    listener.setPeriodTime(23, bApply, "begin", sBeginHours.getText(), sBeginMinutes.getText(),
                            sBeginSeconds.getText());
            }
        });
        label3 = new Label(gPeriod, SWT.NONE);
        label3.setText(":");
        sBeginMinutes = new Text(gPeriod, SWT.BORDER);
        sBeginMinutes.addVerifyListener(new VerifyListener() {
            public void verifyText(final VerifyEvent e) {
                e.doit = Utils.isOnlyDigits(e.text);
            }
        });
        sBeginMinutes.addMouseListener(new MouseAdapter() {
            public void mouseDown(final MouseEvent e) {

            }
        });
        sBeginMinutes.addKeyListener(new KeyAdapter() {
            public void keyPressed(final KeyEvent e) {

            }
        });
        sBeginMinutes.setLayoutData(gridData21);
        sBeginMinutes.addModifyListener(new org.eclipse.swt.events.ModifyListener() {
            public void modifyText(org.eclipse.swt.events.ModifyEvent e) {
                if (!beginBeforeAfter()) {
                    Utils.setBackground(0, 59, sBeginMinutes);
                }
               
                    listener.setPeriodTime(23, bApply, "begin", sBeginHours.getText(), sBeginMinutes.getText(),
                            sBeginSeconds.getText());
            }
        });
        label4 = new Label(gPeriod, SWT.NONE);
        label4.setText(":");
        sBeginSeconds = new Text(gPeriod, SWT.BORDER);
        sBeginSeconds.addVerifyListener(new VerifyListener() {
            public void verifyText(final VerifyEvent e) {
                e.doit = Utils.isOnlyDigits(e.text);

            }
        });     
        sBeginSeconds.setLayoutData(gridData3);

        sBeginSeconds.addModifyListener(new org.eclipse.swt.events.ModifyListener() {
            public void modifyText(org.eclipse.swt.events.ModifyEvent e) {
                if (!beginBeforeAfter()) {
                    Utils.setBackground(0, 59, sBeginSeconds);
                }
               
                    listener.setPeriodTime(23, bApply, "begin", sBeginHours.getText(), sBeginMinutes.getText(),
                            sBeginSeconds.getText());
            }
        });
        label5 = new Label(gPeriod, SWT.NONE);
        label5.setText("hh:mm:ss");
        label5.setLayoutData(gridData2);
        label6 = new Label(gPeriod, SWT.NONE);
        label6.setText("End Time:");
        sEndHours = new Text(gPeriod, SWT.BORDER);
        sEndHours.addVerifyListener(new VerifyListener() {
            public void verifyText(final VerifyEvent e) {
                e.doit = Utils.isOnlyDigits(e.text);

            }
        });
        sEndHours.addMouseListener(new MouseAdapter() {
            public void mouseDown(final MouseEvent e) {

            }
        });
        sEndHours.addKeyListener(new KeyAdapter() {
            public void keyPressed(final KeyEvent e) {
            }
        });
        sEndHours.setLayoutData(gridData41);

        sEndHours.addModifyListener(new org.eclipse.swt.events.ModifyListener() {
            public void modifyText(org.eclipse.swt.events.ModifyEvent e) {
                if (!beginBeforeAfter()) {
                    Utils.setBackground(0, 24, sEndHours);
                }
              
                    listener.setPeriodTime(24, bApply, "end", sEndHours.getText(), sEndMinutes.getText(), sEndSeconds
                            .getText());
            }
        });
        label7 = new Label(gPeriod, SWT.NONE);
        label7.setText(":");
        sEndMinutes = new Text(gPeriod, SWT.BORDER);
        sEndMinutes.addVerifyListener(new VerifyListener() {
            public void verifyText(final VerifyEvent e) {
                e.doit = Utils.isOnlyDigits(e.text);

            }
        });
        sEndMinutes.addMouseListener(new MouseAdapter() {
            public void mouseDown(final MouseEvent e) {
            }
        });
        sEndMinutes.addKeyListener(new KeyAdapter() {
            public void keyPressed(final KeyEvent e) {

            }
        });
        sEndMinutes.setLayoutData(gridData5);

        sEndMinutes.addModifyListener(new org.eclipse.swt.events.ModifyListener() {
            public void modifyText(org.eclipse.swt.events.ModifyEvent e) {
                if (!beginBeforeAfter()) {
                    Utils.setBackground(0, 59, sEndMinutes);
                }
              
                    listener.setPeriodTime(24, bApply, "end", sEndHours.getText(), sEndMinutes.getText(), sEndSeconds
                            .getText());
            }
        });
        label8 = new Label(gPeriod, SWT.NONE);
        label8.setText(":");
        sEndSeconds = new Text(gPeriod, SWT.BORDER);
        sEndSeconds.addVerifyListener(new VerifyListener() {
            public void verifyText(final VerifyEvent e) {
                e.doit = Utils.isOnlyDigits(e.text);

            }
        });
        sEndSeconds.addMouseListener(new MouseAdapter() {
            public void mouseDown(final MouseEvent e) {

            }
        });
        sEndSeconds.addKeyListener(new KeyAdapter() {
            public void keyPressed(final KeyEvent e) {

            }
        });
        sEndSeconds.setLayoutData(gridData6);

        label9 = new Label(gPeriod, SWT.NONE);
        label9.setText("hh:mm:ss");
        sEndSeconds.addModifyListener(new org.eclipse.swt.events.ModifyListener() {
            public void modifyText(org.eclipse.swt.events.ModifyEvent e) {
                if (!beginBeforeAfter()) {
                    Utils.setBackground(0, 59, sEndSeconds);
                }

                    listener.setPeriodTime(24, bApply, "end", sEndHours.getText(), sEndMinutes.getText(), sEndSeconds
                            .getText());
            }
        });
        new Label(gPeriod, SWT.NONE);
       
        setToolTipText();
    }


    public JobAssistentPeriodForm(Composite parent, int style, SchedulerDom dom, boolean onOrder) {
        this(parent, style);
        listener = new PeriodListener(dom);       
    }


    public void setParams(SchedulerDom dom, boolean onOrder, PeriodsListener periodslistener_) {
        listener = new PeriodListener(dom);
        periodslistener = periodslistener_;
    }


    private void initialize() {
        this.setLayout(new FillLayout());
        createGroup();
        setSize(new org.eclipse.swt.graphics.Point(452, 219));
    }


    /**
     * This method initializes group
     */
    private void createGroup() {
    }


    public void fillPeriod() {
        event = false;
        if (listener.getPeriod() != null) {

            event = false;
            sBeginHours.setText(Utils.fill(2, String.valueOf(listener.getBeginHours())));
            sBeginMinutes.setText(Utils.fill(2, String.valueOf(listener.getBeginMinutes())));
            event = true;
            sBeginSeconds.setText(Utils.fill(2, String.valueOf(listener.getBeginSeconds())));

            event = false;
            sEndHours.setText(Utils.fill(2, String.valueOf(listener.getEndHours())));
            sEndMinutes.setText(Utils.fill(2, String.valueOf(listener.getEndMinutes())));
            event = true;
            sEndSeconds.setText(Utils.fill(2, String.valueOf(listener.getEndSeconds())));
                      
            sBeginHours.setFocus();
        }
    }


    public void setPeriod(Element period) {
        listener.setPeriod(period);
        fillPeriod();
    }


    public Element getPeriod() {
        return listener.getPeriod();
    }


    public void setEnabled(boolean enabled) {
        gPeriod.setEnabled(enabled);
        sBeginHours.setEnabled(enabled);
        sBeginMinutes.setEnabled(enabled);
        sBeginSeconds.setEnabled(enabled);
        sEndHours.setEnabled(enabled);
        sEndMinutes.setEnabled(enabled);
        sEndSeconds.setEnabled(enabled);
       

       
            event = false;
            listener.setPeriodTime(23, bApply, "single_start", "", "", "");
            event = true;

            if (!savBeginHours.equals(""))
                sBeginHours.setText(savBeginHours);
            if (!savBeginMinutes.equals(""))
                sBeginMinutes.setText(savBeginMinutes);
            if (!savBeginSeconds.equals(""))
                sBeginSeconds.setText(savBeginSeconds);
            if (!savEndHours.equals(""))
                sEndHours.setText(savEndHours);
            if (!savEndMinutes.equals(""))
                sEndMinutes.setText(savEndMinutes);
            if (!savEndSeconds.equals(""))
                sEndSeconds.setText(savEndSeconds);
       

    }


    public void setRunOnce(boolean visible) {
    }


    private boolean beginBeforeAfter() {
      if(listener.getPeriod()==null) {
      listener.setPeriod(periodslistener.getNewPeriod());
      }
        int bh = Utils.str2int(0, sBeginHours.getText());
        int bm = Utils.str2int(0, sBeginMinutes.getText());
        int bs = Utils.str2int(0, sBeginSeconds.getText());
        int eh = Utils.str2int(0, sEndHours.getText());
        int em = Utils.str2int(0, sEndMinutes.getText());
        int es = Utils.str2int(0, sEndSeconds.getText());
        int gbs = bs + (bm * 60) + (bh * 60 * 60);
        int ges = es + (em * 60) + (eh * 60 * 60);
        if (gbs > ges && gbs != 0 && ges != 0 && bh < 24 && bm < 60 && bs < 60 && eh < 24 && em < 60 && es < 60) {
            Utils.setBackground(99, 0, sBeginHours);
            Utils.setBackground(99, 0, sBeginMinutes);
            Utils.setBackground(99, 0, sBeginSeconds);
            Utils.setBackground(99, 0, sEndHours);
            Utils.setBackground(99, 0, sEndMinutes);
            Utils.setBackground(99, 0, sEndSeconds);
            return true;
        } else {

            Utils.setBackground(0, 23, sBeginHours);
            Utils.setBackground(0, 59, sBeginMinutes);
            Utils.setBackground(0, 59, sBeginSeconds);
            Utils.setBackground(0, 24, sEndHours);
            Utils.setBackground(0, 59, sEndMinutes);
            Utils.setBackground(0, 59, sEndSeconds);

            return false;
        }
    }


    public void setToolTipText() {
        sBeginHours.setToolTipText(Messages.getTooltip("period.begin.hours"));
        sBeginMinutes.setToolTipText(Messages.getTooltip("period.begin.minutes"));
        sBeginSeconds.setToolTipText(Messages.getTooltip("period.begin.seconds"));
        sEndHours.setToolTipText(Messages.getTooltip("period.end.hours"));
        sEndMinutes.setToolTipText(Messages.getTooltip("period.end.minutes"));
        sEndSeconds.setToolTipText(Messages.getTooltip("period.end.seconds"));

    }


    public void setApplyButton(Button b) {
        bApply = b;
    }
} // @jve:decl-index=0:visual-constraint="10,10"
TOP

Related Classes of sos.scheduler.editor.conf.forms.JobAssistentPeriodForm

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.