Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 205565
Collapse All | Expand All

(-)src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java (+48 lines)
Lines 19-27 Link Here
19
19
20
import java.util.ArrayList;
20
import java.util.ArrayList;
21
import java.util.Arrays;
21
import java.util.Arrays;
22
import java.util.Calendar;
22
import java.util.Collection;
23
import java.util.Collection;
24
import java.util.Date;
25
import java.util.GregorianCalendar;
23
import java.util.List;
26
import java.util.List;
24
27
28
import org.eclipse.jface.dialogs.Dialog;
25
import org.eclipse.jface.dialogs.IDialogConstants;
29
import org.eclipse.jface.dialogs.IDialogConstants;
26
import org.eclipse.jface.dialogs.IInputValidator;
30
import org.eclipse.jface.dialogs.IInputValidator;
27
import org.eclipse.jface.viewers.CellEditor;
31
import org.eclipse.jface.viewers.CellEditor;
Lines 36-41 Link Here
36
import org.eclipse.swt.layout.GridData;
40
import org.eclipse.swt.layout.GridData;
37
import org.eclipse.swt.widgets.Composite;
41
import org.eclipse.swt.widgets.Composite;
38
import org.eclipse.swt.widgets.Control;
42
import org.eclipse.swt.widgets.Control;
43
import org.eclipse.swt.widgets.DateTime;
39
import org.eclipse.swt.widgets.Shell;
44
import org.eclipse.swt.widgets.Shell;
40
import org.eclipse.swt.widgets.Text;
45
import org.eclipse.swt.widgets.Text;
41
import org.eclipse.ui.views.properties.IPropertyDescriptor;
46
import org.eclipse.ui.views.properties.IPropertyDescriptor;
Lines 506-511 Link Here
506
              getEditLabelProvider(),
511
              getEditLabelProvider(),
507
              itemPropertyDescriptor.isSortChoices(object));
512
              itemPropertyDescriptor.isSortChoices(object));
508
          }
513
          }
514
          else if (eDataType.getInstanceClass() == Date.class)
515
          {
516
            result = 
517
              new ExtendedDialogCellEditor(composite, getEditLabelProvider())
518
              {
519
                @Override
520
                protected Object openDialogBox(Control cellEditorWindow) 
521
                {
522
                  final Calendar calendar = new GregorianCalendar();
523
                  Date date = (Date)doGetValue();
524
                  if (date != null)
525
                  {
526
                    calendar.setTime(date);
527
                  }
528
                  Dialog dialog = 
529
                    new Dialog(cellEditorWindow.getShell())
530
                    {
531
                      protected DateTime dateTime;
532
533
                      @Override
534
                      protected Control createDialogArea(Composite parent) 
535
                      {
536
                        Composite dialogArea = (Composite)super.createDialogArea(parent);
537
                        dateTime = new DateTime(dialogArea, SWT.CALENDAR);
538
                        dateTime.setYear(calendar.get(Calendar.YEAR));
539
                        dateTime.setMonth(calendar.get(Calendar.MONTH));
540
                        dateTime.setDay(calendar.get(Calendar.DAY_OF_MONTH));
541
                        return dialogArea;
542
                      }
543
544
                      @Override
545
                      protected void okPressed()
546
                      {
547
                        calendar.set(dateTime.getYear(), dateTime.getMonth(), dateTime.getDay());
548
                        super.okPressed();
549
                      }
550
                    };
551
                  dialog.setBlockOnOpen(true);
552
                  dialog.open();
553
                  return calendar.getTime();
554
                }
555
              };
556
          }
509
          else
557
          else
510
          {
558
          {
511
            result = createEDataTypeCellEditor(eDataType, composite);
559
            result = createEDataTypeCellEditor(eDataType, composite);

Return to bug 205565