1009: def initialize(encoding)
1010: @changed = false
1011: @encoding = encoding
1012: super(TOPLEVEL)
1013: display_title
1014: set_default_size(800, 600)
1015: signal_connect(:delete_event) { quit }
1016:
1017: vbox = VBox.new(false, 0)
1018: add(vbox)
1019:
1020:
1021: @treeview = JSONTreeView.new(self)
1022: @treeview.signal_connect('cursor-changed''cursor-changed') do
1023: display_status('')
1024: end
1025:
1026: menu_bar = create_menu_bar
1027: vbox.pack_start(menu_bar, false, false, 0)
1028:
1029: sw = ScrolledWindow.new(nil, nil)
1030: sw.shadow_type = SHADOW_ETCHED_IN
1031: sw.set_policy(POLICY_AUTOMATIC, POLICY_AUTOMATIC)
1032: vbox.pack_start(sw, true, true, 0)
1033: sw.add(@treeview)
1034:
1035: @status_bar = Statusbar.new
1036: vbox.pack_start(@status_bar, false, false, 0)
1037:
1038: @filename ||= nil
1039: if @filename
1040: data = read_data(@filename)
1041: view_new_model Editor.data2model(data)
1042: end
1043: end