示例#1
0
文件: dateedit.go 项目: yahame/walk
func (de DateEdit) Create(parent walk.Container) error {
	w, err := walk.NewDateEdit(parent)
	if err != nil {
		return err
	}

	return InitWidget(de, w, func() error {
		if err := w.SetBindingMember(de.BindTo); err != nil {
			return err
		}

		if err := w.SetRange(de.MinDate, de.MaxDate); err != nil {
			return err
		}

		if !de.Date.IsZero() {
			if err := w.SetValue(de.Date); err != nil {
				return err
			}
		}

		if de.OnDateChanged != nil {
			w.ValueChanged().Attach(de.OnDateChanged)
		}

		if de.AssignTo != nil {
			*de.AssignTo = w
		}

		return nil
	})
}
示例#2
0
func (de DateEdit) Create(builder *Builder) error {
	var w *walk.DateEdit
	var err error

	if de.NoneOption {
		w, err = walk.NewDateEditWithNoneOption(builder.Parent())
	} else {
		w, err = walk.NewDateEdit(builder.Parent())
	}
	if err != nil {
		return err
	}

	return builder.InitWidget(de, w, func() error {
		if err := w.SetRange(de.MinDate, de.MaxDate); err != nil {
			return err
		}

		if de.OnDateChanged != nil {
			w.ValueChanged().Attach(de.OnDateChanged)
		}

		if de.AssignTo != nil {
			*de.AssignTo = w
		}

		return nil
	})
}