Ejemplo n.º 1
0
        def create_page_3(setting):
            filter_by_columns = setting.get_value("filter_by")
            filter_by_columns.sort()
            s_widget = settingswindow.SettingWidget()

            def f_validate(numpy_type, value):
                try:
                    utils.convert_to_type(numpy_type, value)
                except ValueError:
                    return "'{0}' is not convertible to '{1}' type.".format(
                        value, utils.numpy_type_to_string(numpy_type))

            for idx, col_idx in enumerate(filter_by_columns):
                if idx > 0:
                    s_widget.add_separator()
                s_widget.add_entry("filter_value{0}".format(col_idx),
                                   table.header[col_idx],
                                   "",
                                   validator=partial(f_validate,
                                                     table.types[col_idx]))
                s_widget.add_radiobuttons("cmp_fn{0}".format(col_idx),
                                          "Compare",
                                          [("Equal", lambda x, y: x == y),
                                           ("Not equal", lambda x, y: x != y),
                                           ("Less than", lambda x, y: x < y),
                                           ("Greater than", lambda x, y: x > y)],
                                          ncols=2)
            return s_widget
Ejemplo n.º 2
0
 def create_page_2(setting):
     items = [(label, idx, False)
              for idx, label in enumerate(table.header)]
     s_widget = settingswindow.SettingWidget()
     s_widget.add_checkbuttons_list(
         "filter_by", "Filter by columns", items, ["Column", "Select?"])
     return s_widget
Ejemplo n.º 3
0
    def page_2(setting):
        w = settingswindow.SettingWidget()
        data = [("Event", "Event", True), ("Time", "Time", True),
                ("Duration", "Duration", True), ("Process", "Process", True),
                ("ID", "ID", True)]

        counters = [(place_counter_name(p), place_counter_name(p), False)
                    for p in tracelog.project.nets[0].places()
                    if p.trace_tokens]

        data += counters
        w.add_checkbuttons("columns", "Columns", data)
        return w
Ejemplo n.º 4
0
    def page_1(setting):
        w = settingswindow.SettingWidget()
        data = [(t.get_name_or_id(), t, False)
                for t in tracelog.project.nets[0].transitions()]
        w.add_checkbuttons_list("transitions", "Transitions", data,
                                ["Transition", "Export fire?"])

        data = [
            ("{0}/{1}".format(p.get_name_or_id(), f.name), (p, i), False)
            for p in tracelog.project.nets[0].places()
            for i, f in enumerate(p.trace_tokens_functions)
            # only function that does not return PyObject values
            if p.trace_tokens and f.return_numpy_type != 'O'
        ]

        w.add_checkbuttons_list("place_functions", "Place\nFunctions", data,
                                ["Place/Function", "Export add token?"])
        return w
Ejemplo n.º 5
0
def show_csv_settings_dialog(parent_window):
    sw = settingswindow.SettingWidget()

    sw.add_combobox("delimiter",
                    "Delimiter",
                    [("Tab", "\t"), ("Comma", ","),
                    ("Semicolon", ";"), ("Space", " ")],
                    default=1)

    sw.add_combobox("quotechar",
                    "Quote char",
                    [("Single quotes", "\'"), ("Double quotes", "\"")],
                    default=1)

    sw.add_radiobuttons("header",
                        "Header",
                        [("With header", True), ("Without header", False)],
                        default=0,
                        ncols=2)

    sw.add_radiobuttons("types",
                        "Types",
                        [("With types", True), ("Without types", False)],
                        default=0,
                        ncols=2)

    dialog = settingswindow.BasicSettingDialog(sw, "Setting", parent_window)
    dialog.set_size_request(400, 250)
    dialog.add_button(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL)
    dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK, True)

    response = dialog.run()
    if response == gtk.RESPONSE_OK:
        dialog.destroy()
        delimiter = dialog.get_setting("delimiter")
        quotechar = dialog.get_setting("quotechar")
        has_header = dialog.get_setting("header")
        has_types = dialog.get_setting("types")
        return (delimiter, quotechar, has_header, has_types)

    dialog.destroy()
    return None