Ejemplo n.º 1
0
    def __get_code_generator(self, diagram):

        if diagram.language is None:
            message = "You shall not generate the code of an empty diagram!"
            Dialog().message_dialog("Error", message, self.main_window)
            return None

        if diagram.code_template is not None:
            return CodeGenerator(diagram)

        template_list = []
        code_templates = System.get_code_templates()

        for key in code_templates:
            if code_templates[key].language == diagram.language:
                template_list.append(code_templates[key])

        if len(template_list) == 0:
            message = "Generator not available for the language " + diagram.language + "."
            Dialog().message_dialog("Error", message, self.main_window)
            return None

        if len(template_list) == 1:
            diagram.code_template = deepcopy(template_list[0])
            return CodeGenerator(diagram)

        select = SelectCodeTemplate(self.main_window, template_list)
        diagram.code_template = deepcopy(select.get_value())
        return CodeGenerator(diagram)
 def setUp(self):
     GLib.timeout_add(100, self.close_window)
     System()
     code_template = self.create_code_template()
     template_list = {code_template}
     main_window = self.create_main_window()
     self.selectcodetemplate = SelectCodeTemplate(main_window, template_list)
     self.selectcodetemplate.destroy()
class TestSelectCodeTemplate(TestBase):

    def setUp(self):
        GLib.timeout_add(100, self.close_window)
        System()
        code_template = self.create_code_template()
        template_list = {code_template}
        main_window = self.create_main_window()
        self.selectcodetemplate = SelectCodeTemplate(main_window, template_list)
        self.selectcodetemplate.destroy()

    def close_window(self):
        event = Gdk.Event()
        event.key.type = Gdk.EventType.BUTTON_PRESS
        self.selectcodetemplate.emit("button-press-event", event)
        self.refresh_gui()
        self.selectcodetemplate.response(Gtk.ResponseType.OK)
        self.refresh_gui()
        self.selectcodetemplate.response(Gtk.ResponseType.CANCEL)
        self.refresh_gui()
        self.selectcodetemplate.close()
        self.selectcodetemplate.destroy()

    def test_get_value(self):
        self.selectcodetemplate.get_value()