def test_data_frame_editor_multi_select(self):
     view = View(
         Item("data", editor=DataFrameEditor(multi_select=True), width=400))
     viewer = sample_data()
     with reraise_exceptions(), \
             create_ui(viewer, dict(view=view)):
         pass
    def view_summary_group_builder(self):
        """ Build view element for the numerical data summary display
        """
        editor_kw = dict(show_index=True, columns=self.visible_columns,
                         fonts=self.fonts, formats=self.formats)
        summary_editor = DataFrameEditor(**editor_kw)

        summary_group = VGroup(
            make_window_title_group(self.summary_section_title, title_size=3,
                                    include_blank_spaces=False),
            Item("model.summary_df", editor=summary_editor, show_label=False,
                 visible_when="len(model.summary_df) != 0"),
            # Workaround the fact that the Label's visible_when is buggy:
            # encapsulate it into a group and add the visible_when to the group
            HGroup(
                Label("No data columns with numbers were found."),
                visible_when="len(model.summary_df) == 0"
            ),
            HGroup(
                Item("show_summary_controls"),
                Spring(),
                visible_when="len(model.summary_df) != 0"
            ),
            show_border=True,
        )
        return summary_group
Esempio n. 3
0
    def _df_changed(self, old, new):
        ArrawViewClass = type(
            'ArrawViewClass',
            (HasTraits, ),
            {
                'df':
                Instance(pd.DataFrame),
                'view':
                View(
                    HGroup(
                        Item(
                            name='df',
                            show_label=False,
                            style='custom',
                            springy=True,
                            editor=DataFrameEditor(
                                #titles=[str(x) for x in new.columns.values],
                                #format='%g',
                                show_index=False, )),
                        scrollable=True),
                    scrollable=True,
                    resizable=True)
            })

        array_view = ArrawViewClass()
        array_view.df = new
        self.array_view = array_view
Esempio n. 4
0
def test_data_frame_editor_multi_select():
    view = View(
        Item('data', editor=DataFrameEditor(multi_select=True), width=400))
    viewer = sample_data()
    with store_exceptions_on_all_threads():
        ui = viewer.edit_traits(view=view)
        ui.dispose()
class DataFrameViewer(HasTraits):

    data = Instance('pandas.core.frame.DataFrame')

    view = View(
        Item('data', editor=DataFrameEditor(), width=400)
    )
 def bring_ui_up(self, model, num_outputs=1):
     adapter = self.adapter_class(df_attr_name="cost_data",
                                  num_outputs=num_outputs)
     cost_data_editor = DataFrameEditor(adapter=adapter)
     view = View(Item('cost_data', editor=cost_data_editor))
     ui = model.edit_traits(view=view)
     try:
         yield ui
     finally:
         ui.dispose()
Esempio n. 7
0
def test_data_frame_editor_alternate_adapter():
    class AlternateAdapter(DataFrameAdapter):
        pass

    alternate_adapter_view = View(
        Item('data',
             editor=DataFrameEditor(adapter=AlternateAdapter()),
             width=400))
    viewer = sample_data()
    with store_exceptions_on_all_threads():
        ui = viewer.edit_traits(view=alternate_adapter_view)
        ui.dispose()
Esempio n. 8
0
class TimeTemps(HasTraits):
    data = Instance('pandas.core.frame.DataFrame')

    def _data_default(self):
        return pd.read_csv('testsched.csv')

    # view
    view = View(Item('data',
                     show_label=False,
                     editor=DataFrameEditor(editable=False, show_index=False)),
                width=200,
                resizable=True)
    def test_data_frame_editor_alternate_adapter(self):
        class AlternateAdapter(DataFrameAdapter):
            pass

        alternate_adapter_view = View(
            Item(
                "data",
                editor=DataFrameEditor(adapter=AlternateAdapter()),
                width=400,
            ))
        viewer = sample_data()
        with reraise_exceptions(), \
                create_ui(viewer, dict(view=alternate_adapter_view)):
            pass
Esempio n. 10
0
class DataFrameEditorDemo(HasTraits):

    df = Instance(DataFrame)

    traits_view = View(Item('df',
                            show_label=False,
                            editor=DataFrameEditor(
                                formats={
                                    'RuntimeInMinutes': '%.4d',
                                    'BudgetInMillions': '%d',
                                    'BoxOfficeRevenueInMillions': '%d',
                                    'AcademyAwardNominations': '%d',
                                    'AcademyAwardWins': '%d',
                                    'RottenTomatoesScore': '%.2f'
                                })),
                       title="DataFrameEditor",
                       resizable=True,
                       id='traitsui.demo.Applications.data_frame_editor_demo')
def build_df_editor_grid_data(group_data, num_outputs):
    """ Build a dataframe editor for grid data.
    """
    adapter = DataFrameWithColumnOutputsAdapter(num_outputs=num_outputs,
                                                df_attr_name="group_data")
    formats = {SIM_COL_NAME: "%s"}
    for key in group_data:
        if SimulationGroup.col_is_output(key):
            formats[key] = "%.3f"
        elif key != SIM_COL_NAME:
            formats[key] = "%g"

    # Because of the way the DataFrame editor is implemented,
    # the `model.` prefix should not be passed for the update name:
    sim_group_df_editor = DataFrameEditor(adapter=adapter,
                                          formats=formats,
                                          update="group_data_updated_event")
    return sim_group_df_editor
Esempio n. 12
0
    def traits_view(self):
        adapter = DataFrameWithColumnOutputsAdapter(df_attr_name="cost_data",
                                                    num_outputs=1)
        cost_data_editor = DataFrameEditor(adapter=adapter)

        experiment_list_editor = ListStrEditor(title="Target experiments",
                                               editable=False)
        component_list_editor = ListStrEditor(title="Target components",
                                              editable=False)
        parameter_editor = ListStrEditor(title="Target parameters",
                                         editable=False)
        spinner_editor = RangeEditor(low=1, high=1000, mode='spinner')

        # To disable the run button once the optimizer is running:
        model_created = "model.status == '{}'".format(MULTI_SIM_RUNNER_CREATED)

        view = View(
            VGroup(
                HGroup(
                    Item('model.name', label="Optimizer name"),
                    Spring(),
                    Item('model.type',
                         style='readonly',
                         label="Optimizer type"),
                    Spring(),
                    Item('model.num_steps',
                         style='readonly',
                         label="Num. steps"),
                    Spring(),
                    Item('model.size',
                         style='readonly',
                         label="Num. simulations"),
                ),
                HGroup(Item('model.target_experiment_names',
                            editor=experiment_list_editor,
                            show_label=False,
                            style='readonly'),
                       Spring(),
                       Item('model.target_components',
                            editor=component_list_editor,
                            show_label=False,
                            style='readonly'),
                       Spring(),
                       Item('model.scanned_param_names',
                            editor=parameter_editor,
                            show_label=False,
                            style='readonly'),
                       Spring(),
                       VGroup(
                           Spring(),
                           Item('view_edit_cost_function_button',
                                show_label=False),
                           Spring(),
                       ),
                       label="Inputs",
                       show_border=True),
                VGroup(
                    Item('sort_by', label="Sort table by"),
                    Item('model.cost_data',
                         editor=cost_data_editor,
                         show_label=False),
                    label="Output data",
                    show_border=True,
                ),
                Item('model.num_optimal_simulations',
                     editor=spinner_editor,
                     label='Number of optimal simulations to save'),
                HGroup(
                    Item('run_button',
                         show_label=False,
                         enabled_when=model_created),
                    Spring(),
                    Item('model.status', style='readonly'),
                    Item('model.percent_run',
                         style='readonly',
                         label="Completion"),
                    Spring(),
                    Item('export_data_to_csv_button',
                         show_label=False,
                         enabled_when='model.has_run'),
                ),
            ),
            resizable=True,
        )

        return view
Esempio n. 13
0
 class DataFrameViewer(HasTraits):
     data = Instance(DataFrame)
     df_refreshed = Event
     view = View(
         Item('data', editor=DataFrameEditor(refresh="df_refreshed")))
Esempio n. 14
0
 class DataFrameViewer(HasTraits):
     data = Instance(DataFrame)
     df_updated = Event
     view = View(Item('data', editor=DataFrameEditor(update="df_updated")))
    def view_data_group_builder(self):
        """ Build view element for the Data display
        """
        editor_kw = dict(show_index=True, columns=self.visible_columns,
                         fonts=self.fonts, formats=self.formats)
        data_editor = DataFrameEditor(selected_row="selected_idx",
                                      multi_select=True, **editor_kw)

        filter_group = HGroup(
            Item("model.filter_exp", label="Filter",
                 width=self.filter_item_width),
            Item("pop_out_filter_button", show_label=False, style="custom",
                 tooltip="Open filter editor..."),
            Item("apply_filter_button", show_label=False,
                 visible_when="not model.filter_auto_apply", style="custom",
                 tooltip="Apply current filter"),
            Item("save_filter_button", show_label=False,
                 enabled_when="model.filter_exp not in _known_expr",
                 visible_when="filter_manager", style="custom",
                 tooltip="Save current filter"),
            Item("load_filter_button", show_label=False,
                 visible_when="filter_manager", style="custom",
                 tooltip="Load a filter..."),
            Item("manage_filter_button", show_label=False,
                 visible_when="filter_manager", style="custom",
                 tooltip="Manage filters..."),
        )

        truncated = ("len(model.displayed_df) < len(model.filtered_df) and "
                     "not model.show_selected_only")
        more_label = "Show {} More".format(self.model.num_display_increment)
        display_control_group = HGroup(
            Item("model.show_selected_only", label="Selected rows only"),
            Item("truncation_msg", style="readonly", show_label=False,
                 visible_when=truncated),
            Item("show_more_button", editor=ButtonEditor(label=more_label),
                 show_label=False, visible_when=truncated),
            Item("show_all_button", show_label=False,
                 visible_when=truncated),
        )

        data_group = VGroup(
            make_window_title_group(self.data_section_title, title_size=3,
                                    include_blank_spaces=False),
            HGroup(
                Item("model.sort_by_col", label="Sort by"),
                Item("shuffle_button", show_label=False,
                     visible_when="show_shuffle_button"),
                Spring(),
                filter_group
            ),
            HGroup(
                Item("model.displayed_df", editor=data_editor,
                     show_label=False),
            ),
            HGroup(
                Item("show_column_controls",
                     label="\u2190 Show column control",
                     visible_when="not _many_columns"),
                Item("open_column_controls", show_label=False,
                     visible_when="_many_columns"),
                Spring(),
                Item("_show_summary", label=u'\u2193 Show summary',
                     visible_when="allow_show_summary"),
                Spring(),
                display_control_group
            ),
            show_border=True
        )
        return data_group
Esempio n. 16
0
from traitsui.view import View

from traitsui.tests._tools import store_exceptions_on_all_threads, skip_if_null


class DataFrameViewer(HasTraits):

    data = Instance('pandas.core.frame.DataFrame')

    view = View(Item('data', editor=DataFrameEditor(), width=400))


format_mapping_view = View(
    Item('data',
         editor=DataFrameEditor(formats={
             'X': '%05d',
             'Y': '%s'
         }),
         width=400))

font_mapping_view = View(
    Item('data',
         editor=DataFrameEditor(fonts={
             'X': 'Courier 10 bold',
             'Y': 'Swiss'
         }),
         width=400))

columns_view = View(
    Item(
        'data',
        editor=DataFrameEditor(columns=['X', ('Zed', 'Z'), 'missing']),  # noqa
Esempio n. 17
0
class DataFrameViewer(HasTraits):

    data = Instance("pandas.core.frame.DataFrame")

    view = View(Item("data", editor=DataFrameEditor(), width=400))
Esempio n. 18
0
    def test_scroll_to_row_hint_warnings(self):
        with self.assertWarns(DeprecationWarning):
            dfe = DataFrameEditor(scroll_to_row_hint="center")

        with self.assertWarns(DeprecationWarning):
            dfe.scroll_to_row_hint
Esempio n. 19
0
    ToolkitName,
)


class DataFrameViewer(HasTraits):

    data = Instance("pandas.core.frame.DataFrame")

    view = View(Item("data", editor=DataFrameEditor(), width=400))


format_mapping_view = View(
    Item(
        "data",
        editor=DataFrameEditor(formats={
            "X": "%05d",
            "Y": "%s"
        }),
        width=400,
    ))

font_mapping_view = View(
    Item(
        "data",
        editor=DataFrameEditor(fonts={
            "X": "Courier 10 bold",
            "Y": "Swiss"
        }),
        width=400,
    ))

columns_view = View(