def single_select_day(self, dt):
        selection = self.date_from_datetime(dt)

        if dt.IsValid() and (self.allow_future or selection <= self.today):
            self.selected_days = selection
            self.selected_list_changed()
            # Modify the trait on the editor so that the events propagate.
            self.editor.value = self.selected_days
            return
In non-multiselect switch the selection to a new date.
dataset/ETHPy150Open enthought/traitsui/traitsui/wx/date_editor.py/MultiCalendarCtrl.single_select_day