class DateEditorDemo(HasTraits): """Demo class to show Date editors.""" single_date = Date() multi_date = List(Date) info_string = Str('The editors for Traits Date objects. Showing both ' 'the defaults, and one with alternate options.') multi_select_editor = DateEditor( allow_future=False, multi_select=True, shift_to_select=False, on_mixed_select='max_change', # Qt ignores these setting and always shows only 1 month: months=2, padding=30, ) traits_view = View( Item('info_string', show_label=False, style='readonly'), Group( Item('single_date', label='Simple date editor'), Item('single_date', style='custom', label='Default custom editor'), Item( 'single_date', style='readonly', editor=DateEditor( strftime='You picked %B %d %Y', message='Click a date above.', ), label='ReadOnly editor', ), label='Default settings for editors', ), Group( Item( 'multi_date', editor=multi_select_editor, style='custom', label='Multi-select custom editor', ), label='More customized editor: multi-select; disallow ' 'future; selection style; etc.', ), resizable=True, ) def _multi_date_changed(self): """Print each time the date value is changed in the editor.""" print(self.multi_date) def _simple_date_changed(self): """Print each time the date value is changed in the editor.""" print(self.simple_date, self.single_date) def _single_date_changed(self): """Print each time the date value is changed in the editor.""" print(self.single_date)
def multi_select_custom_view(): view = View( Item( name="dates", style="custom", editor=DateEditor(multi_select=True) ) ) return view
def single_select_custom_view(): view = View( Item( name='single_date', style="custom", editor=DateEditor(multi_select=False), )) return view
def date_editor(): """ Factory function that returns a Date editor for editing Date values. """ global DateEditor if DateEditor is None: from traitsui.api import DateEditor DateEditor = DateEditor() return DateEditor
def multi_select_selected_color_view(): view = View( Item( name="dates", style="custom", editor=DateEditor( multi_select=True, selected_style=CellFormat(bold=True, bgcolor=(128, 10, 0)), ), )) return view
def _get_date_group(self): f_grp = HGroup( UItem('analysis_type', editor=EnumEditor(name='analysis_types')), UItem('mass_spectrometer', editor=EnumEditor(name='mass_spectrometers')), UItem('extraction_device', editor=EnumEditor(name='extraction_devices'))) grp = VGroup( f_grp, Heading('Start'), UItem('start_date', editor=DateEditor(allow_future=False), style='custom'), UItem('start_time', ), Item('_'), Heading('End'), UItem('end_date', editor=DateEditor(allow_future=False), style='custom'), UItem('end_time', )) return VSplit(grp, self._get_analysis_group(base='danalysis'), label='Date')
def date_editor(): """ Factory function that returns a Date editor for editing Date values. """ from traitsui.api import DateEditor return DateEditor()