Example #1
0
def tracefn_dialog(mainwindow, trace_function):
    builder = gtkutils.load_ui("tracefn-dialog")
    dlg = builder.get_object("tracefn-dialog")

    try:
        name = builder.get_object("name")
        name.set_text(trace_function.name)

        return_int = builder.get_object("return_int")
        return_double = builder.get_object("return_double")
        return_string = builder.get_object("return_string")

        return_type = trace_function.return_type
        if return_type == "int":
            return_int.set_active(True)
        elif return_type == "double":
            return_double.set_active(True)
        else:
            return_string.set_active(True)

        dlg.set_title("Trace function")
        dlg.set_transient_for(mainwindow)
        if dlg.run() == gtk.RESPONSE_OK:
            if return_int.get_active():
                return_type = "int"
            elif return_double.get_active():
                return_type = "double"
            else:
                return_type = "std::string"
            trace_function.name = name.get_text()
            trace_function.return_type = return_type
            return True
        return False
    finally:
        dlg.destroy()
Example #2
0
 def new_project(self):
     def project_name_changed(w = None):
         name = builder.get_object("newproject-name").get_text()
         ok = all(c.isalnum() or c == "-" or c == "_" for c in name) and name != ""
         builder.get_object("newproject-dir").set_text(os.path.join(directory[0], name))
         builder.get_object("newproject-ok").set_sensitive(ok)
     def change_directory(w):
         d = self.run_file_dialog("Project directory", "open-directory")
         if d is not None:
             directory[0] = d
             project_name_changed()
     builder = gtkutils.load_ui("newproject-dialog")
     for project_class in loader.projects:
         builder.get_object("newproject-target-env").append_text(project_class.get_target_env_name())
     builder.get_object("newproject-target-env").set_active(0)
     dlg = builder.get_object("newproject-dialog")
     dlg.set_transient_for(self.window)
     builder.get_object("newproject-name").connect("changed", project_name_changed)
     directory = [os.getcwd()]
     project_name_changed()
     builder.get_object("newproject-dirbutton").connect("clicked", change_directory)
     try:
         if dlg.run() == gtk.RESPONSE_OK:
             dirname = builder.get_object("newproject-dir").get_text()
             if os.path.exists(dirname):
                 self.show_error_dialog("Path '%s' already exists" % dirname)
                 return
             target_env_name = builder.get_object("newproject-target-env").get_active_text()
             p = self._catch_io_error(lambda: loader.new_empty_project(dirname, target_env_name))
             if p is not None:
                 self.set_project(p)
     finally:
         dlg.hide()
Example #3
0
 def new_project(self):
     def project_name_changed(w = None):
         name = builder.get_object("newproject-name").get_text()
         ok = all(c.isalnum() or c == "-" or c == "_" for c in name) and name != ""
         builder.get_object("newproject-dir").set_text(os.path.join(directory[0], name))
         builder.get_object("newproject-ok").set_sensitive(ok)
     def change_directory(w):
         d = self.run_file_dialog("Project directory", "open-directory")
         if d is not None:
             directory[0] = d
             project_name_changed()
     builder = gtkutils.load_ui("newproject-dialog")
     for project_class in loader.projects:
         builder.get_object("newproject-target-env").append_text(project_class.get_target_env_name())
     builder.get_object("newproject-target-env").set_active(0)
     dlg = builder.get_object("newproject-dialog")
     dlg.set_transient_for(self.window)
     builder.get_object("newproject-name").connect("changed", project_name_changed)
     directory = [os.getcwd()]
     project_name_changed()
     builder.get_object("newproject-dirbutton").connect("clicked", change_directory)
     try:
         if dlg.run() == gtk.RESPONSE_OK:
             dirname = builder.get_object("newproject-dir").get_text()
             if os.path.exists(dirname):
                 self.show_error_dialog("Path '%s' already exists" % dirname)
                 return
             target_env_name = builder.get_object("newproject-target-env").get_active_text()
             p = self._catch_io_error(lambda: loader.new_empty_project(dirname, target_env_name))
             if p is not None:
                 self.set_project(p)
     finally:
         dlg.hide()
def parameters_dialog(parameter, mainwindow):
    builder = gtkutils.load_ui("parameter-dialog")
    dlg = builder.get_object("parameter-dialog")

    try:
        name = builder.get_object("name")
        name.set_text(parameter.name)

        desc = builder.get_object("description")
        desc.set_text(parameter.description)

        default = builder.get_object("default")
        default.set_text(parameter.default)

        typename = builder.get_object("type")
        typename.set_text(parameter.type)

        policy_mandatory = builder.get_object("policy_mandatory")
        policy_optional = builder.get_object("policy_optional")
        policy_constant = builder.get_object("policy_constant")

        if parameter.policy == "mandatory":
            policy_mandatory.set_active(True)
        elif parameter.policy == "optional":
            policy_optional.set_active(True)
        elif parameter.policy == "constant":
            policy_constant.set_active(True)
        else:
            raise Exception("Invalid parameter policy")

        default.set_text(parameter.default)

        dlg.set_title("Parameter")
        dlg.set_transient_for(mainwindow)
        if dlg.run() == gtk.RESPONSE_OK:
            parameter.name = name.get_text()
            parameter.description = desc.get_text()
            parameter.default = default.get_text()
            parameter.type = typename.get_text()

            if policy_mandatory.get_active():
                parameter.policy = "mandatory"
            if policy_optional.get_active():
                parameter.policy = "optional"
            if policy_constant.get_active():
                parameter.policy = "constant"
            parameter.changed()
            return True
        return False
    finally:
        dlg.destroy()
Example #5
0
def sequence_dialog(sequence, mainwindow):
    builder = gtkutils.load_ui("sequence-dialog")
    dlg = builder.get_object("sequence-dialog")
    try:
        name = builder.get_object("name")
        name.set_text(sequence.name)
        name.select_region(0, -1)
        dlg.set_transient_for(mainwindow)
        if dlg.run() == gtk.RESPONSE_OK:
            sequence.name = name.get_text()
            return True
        return False
    finally:
        dlg.destroy()
Example #6
0
def testname_dialog(mainwindow, codetest):
    builder = gtkutils.load_ui("testname-dialog")
    dlg = builder.get_object("testname-dialog")
    try:
        name = builder.get_object("name")
        name.set_text(codetest.name)
        name.select_region(0, -1)
        dlg.set_transient_for(mainwindow)
        if dlg.run() == gtk.RESPONSE_OK:
            codetest.name = name.get_text()
            return True
        else:
            return False
    finally:
        dlg.destroy()
Example #7
0
def testname_dialog(mainwindow, codetest):
    builder = gtkutils.load_ui("testname-dialog")
    dlg = builder.get_object("testname-dialog")
    try:
        name = builder.get_object("name")
        name.set_text(codetest.name)
        name.select_region(0, -1)
        dlg.set_transient_for(mainwindow)
        if dlg.run() == gtk.RESPONSE_OK:
            codetest.name = name.get_text()
            return True
        else:
            return False
    finally:
        dlg.destroy()
Example #8
0
def connect_dialog(mainwindow):
    builder = gtkutils.load_ui("connect-dialog")
    dlg = builder.get_object("connect-dialog")
    try:

        host = builder.get_object("host")
        port = builder.get_object("port")
        port.set_value(10000)

        dlg.set_title("Connect")
        dlg.set_transient_for(mainwindow)
        if dlg.run() == gtk.RESPONSE_OK:
            return (host.get_text(), int(port.get_value()))
        return None
    finally:
        dlg.destroy()
Example #9
0
def netname_dialog(net, mainwindow):
    builder = gtkutils.load_ui("netname-dialog")
    dlg = builder.get_object("netname-dialog")
    try:
        name = builder.get_object("name")
        name.set_text(net.get_name())
        name.select_region(0, -1)
        dlg.set_transient_for(mainwindow)
        if dlg.run() == gtk.RESPONSE_OK:
            net.set_name(name.get_text())
            return True
        return False
    finally:
        dlg.destroy()

    def __init__(self, name, initial_value, set_fn):
        self.name = name
        self.initial_value = initial_value
        self.set_fn = set_fn
Example #10
0
def tracefn_dialog(mainwindow, trace_function):
    if trace_function is None:
        mainwindow.app.show_message_dialog(
            "No tracing function selected.",
            gtk.MESSAGE_WARNING)
        return False

    builder = gtkutils.load_ui("tracefn-dialog")
    dlg = builder.get_object("tracefn-dialog")

    try:
        name = builder.get_object("name")
        name.set_text(trace_function.name)

        return_int = builder.get_object("return_int")
        return_double = builder.get_object("return_double")
        return_string = builder.get_object("return_string")

        return_type = trace_function.return_type
        if return_type == "int":
            return_int.set_active(True)
        elif return_type == "double":
            return_double.set_active(True)
        else:
            return_string.set_active(True)

        dlg.vbox.show_all()

        dlg.set_title("Trace function")
        dlg.set_transient_for(mainwindow)
        if dlg.run() == gtk.RESPONSE_OK:
            if return_int.get_active():
                return_type = "int"
            elif return_double.get_active():
                return_type = "double"
            else:
                return_type = "std::string"
            trace_function.name = name.get_text()
            trace_function.return_type = return_type
            return True
        return False
    finally:
        dlg.destroy()
Example #11
0
def netname_dialog(net, mainwindow):
    builder = gtkutils.load_ui("netname-dialog")
    dlg = builder.get_object("netname-dialog")
    try:
        name = builder.get_object("name")
        name.set_text(net.get_name())
        name.select_region(0, -1)
        dlg.set_transient_for(mainwindow)
        if dlg.run() == gtk.RESPONSE_OK:
            net.set_name(name.get_text())
            return True
        return False
    finally:
        dlg.destroy()


    def __init__(self, name, initial_value, set_fn):
        self.name = name
        self.initial_value = initial_value
        self.set_fn = set_fn
Example #12
0
def tracefn_dialog(mainwindow, trace_function):
    if trace_function is None:
        mainwindow.app.show_message_dialog("No tracing function selected.", gtk.MESSAGE_WARNING)
        return False

    builder = gtkutils.load_ui("tracefn-dialog")
    dlg = builder.get_object("tracefn-dialog")

    try:
        name = builder.get_object("name")
        name.set_text(trace_function.name)

        return_int = builder.get_object("return_int")
        return_double = builder.get_object("return_double")
        return_string = builder.get_object("return_string")

        return_type = trace_function.return_type
        if return_type == "int":
            return_int.set_active(True)
        elif return_type == "double":
            return_double.set_active(True)
        else:
            return_string.set_active(True)

        dlg.vbox.show_all()

        dlg.set_title("Trace function")
        dlg.set_transient_for(mainwindow)
        if dlg.run() == gtk.RESPONSE_OK:
            if return_int.get_active():
                return_type = "int"
            elif return_double.get_active():
                return_type = "double"
            else:
                return_type = "std::string"
            trace_function.name = name.get_text()
            trace_function.return_type = return_type
            return True
        return False
    finally:
        dlg.destroy()