示例#1
0
文件: ui.py 项目: ravithb/open-labels
    def __init__(self):
        self.print_server = None
        self.bmp_filepath = ''
        self.gladefile = os.path.abspath(
            os.path.join(self.resource_path(), "ui.glade"))
        self.builder = Gtk.Builder()
        self.builder.add_from_file(self.gladefile)

        self.builder.connect_signals(self)

        self.window = self.builder.get_object("main_window")
        self.filechooser_dialog = self.builder.get_object("filechooser_dialog")
        self.warning_dialog = self.builder.get_object("warning_dialog")
        self.save_name_dialog = self.builder.get_object("save_name_dialog")
        self.delete_preset_dialog = self.builder.get_object(
            "delete_preset_dialog")
        self.print_count_dialog = self.builder.get_object("print_count_dialog")
        self.about_dialog = self.builder.get_object("about_dialog")
        self.statusbar = self.builder.get_object("statusbar")
        self.btn_start_server = self.builder.get_object("btn_server")
        self.preset_listbox = self.builder.get_object("preset_listbox")
        self.btn_save_preset = self.builder.get_object("btn_save_preset")
        self.btn_del_preset = self.builder.get_object("btn_del_preset")
        self.preset_liststore = self.builder.get_object("preset_liststore")
        self.preview_img = self.builder.get_object("preview_img")

        self.txt_width = self.builder.get_object("txt_width")
        self.txt_height = self.builder.get_object("txt_height")
        self.txt_x_gap = self.builder.get_object("txt_x_gap")
        self.txt_y_gap = self.builder.get_object("txt_y_gap")
        self.txt_paper_width = self.builder.get_object("txt_pap_width")
        self.txt_labels_per_row = self.builder.get_object("txt_labels_per_row")
        self.txt_x_offset = self.builder.get_object("txt_x_offset")
        self.txt_y_offset = self.builder.get_object("txt_y_offset")

        self.filechooser_dialog.set_transient_for(self.window)
        self.warning_dialog.set_transient_for(self.window)
        self.save_name_dialog.set_transient_for(self.window)
        self.delete_preset_dialog.set_transient_for(self.window)
        self.print_count_dialog.set_transient_for(self.window)
        self.about_dialog.set_transient_for(self.window)
        self.txt_width = self.builder.get_object("txt_width")
        self.txt_height = self.builder.get_object("txt_height")
        self.txt_x_gap = self.builder.get_object("txt_x_gap")
        self.txt_y_gap = self.builder.get_object("txt_y_gap")
        self.txt_paper_width = self.builder.get_object("txt_pap_width")
        self.txt_x_offset = self.builder.get_object("txt_x_offset")
        self.txt_y_offset = self.builder.get_object("txt_y_offset")
        self.txt_labels_per_row = self.builder.get_object("txt_labels_per_row")
        self.txt_print_count = self.builder.get_object("txt_print_count")

        self.txt_save_name = self.builder.get_object("txt_save_name")

        self.statusbar_context_id = self.statusbar.get_context_id("statusbar")

        file_filter = Gtk.FileFilter()
        file_filter.set_name("BMP Files")
        file_filter.add_pattern("*.bmp")
        file_filter.add_pattern("*.BMP")
        self.filechooser_dialog.add_filter(file_filter)

        self.preset = Preset()

        self.preset.read_presets()

        self.update_preset_list()

        columns = ["Name", "Width", "Height"]
        for i in range(len(columns)):
            cell = Gtk.CellRendererText()
            col = Gtk.TreeViewColumn(columns[i], cell, text=i)
            self.preset_listbox.append_column(col)

        self.window.show()

        self.server_running = False