com.cisco.yangide.ext.refactoring.ui.RevisionDialog.java Source code

Java tutorial

Introduction

Here is the source code for com.cisco.yangide.ext.refactoring.ui.RevisionDialog.java

Source

/*******************************************************************************
 * Copyright (c) 2014, 2015 Cisco Systems, Inc. and others.  All rights reserved.
 *  
 *  This program and the accompanying materials are made available under the
 *  terms of the Eclipse Public License v1.0 which accompanies this distribution,
 *  and is available at http://www.eclipse.org/legal/epl-v10.html
 *  
 *******************************************************************************/
package com.cisco.yangide.ext.refactoring.ui;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;

import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.DateTime;
import org.eclipse.swt.widgets.Shell;

import com.cisco.yangide.ext.refactoring.nls.Messages;

/**
 * Displays calendar dialog to select revision.
 *
 * @author Konstantin Zaitsev
 * @date Aug 18, 2014
 */
public class RevisionDialog extends Dialog {

    /** Date format for revision. */
    static SimpleDateFormat DF = new SimpleDateFormat("yyyy-MM-dd", Locale.US); //$NON-NLS-1$

    /** Calendar widget. */
    private DateTime dateTime;

    /** Revision date. */
    private Date revision;

    /**
     * @param parentShell
     */
    protected RevisionDialog(Shell parentShell) {
        super(parentShell);
    }

    @Override
    protected void configureShell(Shell newShell) {
        super.configureShell(newShell);
        newShell.setImage(RefactoringImages.getImage(RefactoringImages.IMG_CALENDAR));
        newShell.setText(Messages.RevisionDialog_title);
    }

    @Override
    protected Control createDialogArea(Composite parent) {
        Composite content = (Composite) super.createDialogArea(parent);
        dateTime = new DateTime(content, SWT.CALENDAR);
        Calendar cal = Calendar.getInstance();
        cal.setTime(revision);
        dateTime.setYear(cal.get(Calendar.YEAR));
        dateTime.setMonth(cal.get(Calendar.MONTH));
        dateTime.setDay(cal.get(Calendar.DATE));
        dateTime.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                Calendar cal = Calendar.getInstance();
                cal.set(dateTime.getYear(), dateTime.getMonth(), dateTime.getDay());
                revision = cal.getTime();
            }
        });
        return content;
    }

    /**
     * @return the revision
     */
    public String getRevision() {
        return DF.format(revision);
    }

    /**
     * @param revision the revision to set
     * @throws ParseException
     */
    public void setRevision(String revision) throws ParseException {
        this.revision = DF.parse(revision);
    }
}