mirror of
https://github.com/DYefremov/DemonEditor.git
synced 2026-07-06 06:58:11 +02:00
xml data rendering refactoring
This commit is contained in:
@@ -33,9 +33,7 @@
|
||||
from xml.dom.minidom import Document
|
||||
import xml.etree.ElementTree as ETree
|
||||
|
||||
from .ecommons import (POLARIZATION, FEC, SYSTEM, MODULATION, Transponder, Satellite, get_key_by_value,
|
||||
Terrestrial, Cable, TerTransponder, CableTransponder, T_SYSTEM, BANDWIDTH, GUARD_INTERVAL,
|
||||
TRANSMISSION_MODE, T_FEC, HIERARCHY, C_MODULATION, FEC_DEFAULT, Inversion, CONSTELLATION)
|
||||
from .ecommons import Satellite, Terrestrial, Cable, Transponder, TerTransponder, CableTransponder
|
||||
|
||||
_SAT_COMMENT = (" File was created in DemonEditor\n\n"
|
||||
"usable flags are\n"
|
||||
@@ -71,10 +69,10 @@ def get_sat_transponders(elem):
|
||||
""" Returns satellite transponders list. """
|
||||
return [Transponder(e.get("frequency", "0"),
|
||||
e.get("symbol_rate", "0"),
|
||||
POLARIZATION[e.get("polarization", "0")],
|
||||
FEC[e.get("fec_inner", "0")],
|
||||
SYSTEM[e.get("system", "0")],
|
||||
MODULATION[e.get("modulation", "0")],
|
||||
e.get("polarization", None),
|
||||
e.get("fec_inner", None),
|
||||
e.get("system", None),
|
||||
e.get("modulation", None),
|
||||
e.get("pls_mode", None),
|
||||
e.get("pls_code", None),
|
||||
e.get("is_id", None),
|
||||
@@ -93,15 +91,15 @@ def get_terrestrial(path):
|
||||
def get_ter_transponder(elem):
|
||||
""" Returns terrestrial transponder. """
|
||||
return TerTransponder(elem.get("centre_frequency", "0"),
|
||||
T_SYSTEM.get(elem.get("system", None), None),
|
||||
BANDWIDTH.get(elem.get("bandwidth", None), None),
|
||||
CONSTELLATION.get(elem.get("constellation", None), None),
|
||||
T_FEC.get(elem.get("code_rate_hp", None), None),
|
||||
T_FEC.get(elem.get("code_rate_lp", None), None),
|
||||
GUARD_INTERVAL.get(elem.get("guard_interval", None), None),
|
||||
TRANSMISSION_MODE.get(elem.get("transmission_mode", None), None),
|
||||
HIERARCHY.get(elem.get("hierarchy_information", None), None),
|
||||
Inversion(elem.get("inversion")).name if "inversion" in elem.keys() else None,
|
||||
elem.get("system", None),
|
||||
elem.get("bandwidth", None),
|
||||
elem.get("constellation", None),
|
||||
elem.get("code_rate_hp", None),
|
||||
elem.get("code_rate_lp", None),
|
||||
elem.get("guard_interval", None),
|
||||
elem.get("transmission_mode", None),
|
||||
elem.get("hierarchy_information", None),
|
||||
elem.get("inversion", None),
|
||||
elem.get("plp_id", None))
|
||||
|
||||
|
||||
@@ -118,8 +116,8 @@ def get_cable_transponders(elem):
|
||||
""" Returns cable transponders list. """
|
||||
return [CableTransponder(e.get("frequency", "0"),
|
||||
e.get("symbol_rate", "0"),
|
||||
FEC_DEFAULT[e.get("fec_inner", "0")],
|
||||
C_MODULATION[e.get("modulation", "0")]) for e in elem.iter("transponder")]
|
||||
e.get("fec_inner", None),
|
||||
e.get("modulation", None)) for e in elem.iter("transponder")]
|
||||
|
||||
|
||||
def write_satellites(satellites, data_path):
|
||||
@@ -141,10 +139,10 @@ def write_satellites(satellites, data_path):
|
||||
transponder_child = doc.createElement("transponder")
|
||||
transponder_child.setAttribute("frequency", tr.frequency)
|
||||
transponder_child.setAttribute("symbol_rate", tr.symbol_rate)
|
||||
transponder_child.setAttribute("polarization", get_key_by_value(POLARIZATION, tr.polarization))
|
||||
transponder_child.setAttribute("fec_inner", get_key_by_value(FEC, tr.fec_inner) or "0")
|
||||
transponder_child.setAttribute("system", get_key_by_value(SYSTEM, tr.system) or "0")
|
||||
transponder_child.setAttribute("modulation", get_key_by_value(MODULATION, tr.modulation) or "0")
|
||||
transponder_child.setAttribute("polarization", tr.polarization)
|
||||
transponder_child.setAttribute("fec_inner", tr.fec_inner or "0")
|
||||
transponder_child.setAttribute("system", tr.system or "0")
|
||||
transponder_child.setAttribute("modulation", tr.modulation or "0")
|
||||
if tr.pls_mode:
|
||||
transponder_child.setAttribute("pls_mode", tr.pls_mode)
|
||||
if tr.pls_code:
|
||||
|
||||
@@ -36,7 +36,7 @@ from gi.repository import GLib
|
||||
|
||||
from app.commons import run_idle, run_task, log
|
||||
from app.eparser import Satellite, Transponder
|
||||
from app.eparser.ecommons import PLS_MODE, get_key_by_value
|
||||
from app.eparser.ecommons import PLS_MODE, get_key_by_value, POLARIZATION, FEC, SYSTEM, MODULATION
|
||||
from app.tools.satellites import SatellitesParser, SatelliteSource, ServicesParser
|
||||
from ..dialogs import show_dialog, DialogType, get_chooser_dialog, get_message, get_builder
|
||||
from ..main_helper import append_text_to_tview, get_base_model, on_popup_menu
|
||||
@@ -92,10 +92,10 @@ class TransponderDialog:
|
||||
def init_transponder(self, transponder):
|
||||
self._freq_entry.set_text(transponder.frequency)
|
||||
self._rate_entry.set_text(transponder.symbol_rate)
|
||||
self._pol_box.set_active_id(transponder.polarization)
|
||||
self._fec_box.set_active_id(transponder.fec_inner)
|
||||
self._sys_box.set_active_id(transponder.system)
|
||||
self._mod_box.set_active_id(transponder.modulation)
|
||||
self._pol_box.set_active_id(POLARIZATION.get(transponder.polarization, None))
|
||||
self._fec_box.set_active_id(FEC.get(transponder.fec_inner, None))
|
||||
self._sys_box.set_active_id(SYSTEM.get(transponder.system, None))
|
||||
self._mod_box.set_active_id(MODULATION.get(transponder.modulation, None))
|
||||
self._pls_mode_box.set_active_id(PLS_MODE.get(transponder.pls_mode, None))
|
||||
self._is_id_entry.set_text(transponder.is_id if transponder.is_id else "")
|
||||
self._pls_code_entry.set_text(transponder.pls_code if transponder.pls_code else "")
|
||||
@@ -104,10 +104,10 @@ class TransponderDialog:
|
||||
def to_transponder(self):
|
||||
return Transponder(frequency=self._freq_entry.get_text(),
|
||||
symbol_rate=self._rate_entry.get_text(),
|
||||
polarization=self._pol_box.get_active_id(),
|
||||
fec_inner=self._fec_box.get_active_id(),
|
||||
system=self._sys_box.get_active_id(),
|
||||
modulation=self._mod_box.get_active_id(),
|
||||
polarization=get_key_by_value(POLARIZATION, self._pol_box.get_active_id()),
|
||||
fec_inner=get_key_by_value(FEC, self._fec_box.get_active_id()),
|
||||
system=get_key_by_value(SYSTEM, self._sys_box.get_active_id()),
|
||||
modulation=get_key_by_value(MODULATION, self._mod_box.get_active_id()),
|
||||
pls_mode=get_key_by_value(PLS_MODE, self._pls_mode_box.get_active_id()),
|
||||
pls_code=self._pls_code_entry.get_text(),
|
||||
is_id=self._is_id_entry.get_text(),
|
||||
|
||||
@@ -34,6 +34,8 @@ from gi.repository import GLib
|
||||
from app.commons import run_idle
|
||||
from app.connections import DownloadType
|
||||
from app.eparser import get_satellites, write_satellites, Satellite, Transponder
|
||||
from app.eparser.ecommons import (POLARIZATION, FEC, SYSTEM, MODULATION, T_SYSTEM, BANDWIDTH, CONSTELLATION, T_FEC,
|
||||
GUARD_INTERVAL, TRANSMISSION_MODE, HIERARCHY, Inversion, FEC_DEFAULT, C_MODULATION)
|
||||
from app.eparser.satxml import get_terrestrial, get_cable
|
||||
from .dialogs import SatelliteDialog, TransponderDialog, SatellitesUpdateDialog
|
||||
from ..dialogs import show_dialog, DialogType, get_chooser_dialog, get_message, get_builder
|
||||
@@ -43,7 +45,6 @@ from ..uicommons import Gtk, Gdk, UI_RESOURCES_PATH, MOVE_KEYS, KeyboardKey, MOD
|
||||
|
||||
class SatellitesTool(Gtk.Box):
|
||||
""" Class to processing *.xml data. """
|
||||
_aggr = [None for x in range(9)] # aggregate
|
||||
|
||||
class DVB(str, Enum):
|
||||
SAT = "satellites"
|
||||
@@ -79,7 +80,7 @@ class SatellitesTool(Gtk.Box):
|
||||
"on_add": self.on_add,
|
||||
"on_transponder_add": self.on_transponder_add,
|
||||
"on_edit": self.on_edit,
|
||||
"on_key_release": self.on_key_release,
|
||||
"on_key_press": self.on_key_press,
|
||||
"on_visible_page": self.on_visible_page,
|
||||
"on_satellite_selection": self.on_satellite_selection,
|
||||
"on_terrestrial_selection": self.on_terrestrial_selection,
|
||||
@@ -97,28 +98,122 @@ class SatellitesTool(Gtk.Box):
|
||||
self._add_header_button = builder.get_object("add_header_button")
|
||||
self._update_header_button = builder.get_object("update_header_button")
|
||||
self.pack_start(builder.get_object("main_paned"), True, True, 0)
|
||||
self._app.connect("profile-changed", lambda a, m: self.load_satellites_list())
|
||||
# Custom renderer
|
||||
sat_pos_renderer = builder.get_object("sat_pos_renderer")
|
||||
builder.get_object("sat_pos_column").set_cell_data_func(sat_pos_renderer, self.sat_pos_func)
|
||||
self._app.connect("profile-changed", self.on_profile_changed)
|
||||
# Custom renderers.
|
||||
renderer = builder.get_object("sat_pos_renderer")
|
||||
builder.get_object("sat_pos_column").set_cell_data_func(renderer, self.sat_pos_func)
|
||||
# Satellite.
|
||||
renderer = builder.get_object("sat_pol_renderer")
|
||||
builder.get_object("pol_column").set_cell_data_func(renderer, self.sat_pol_func)
|
||||
renderer = builder.get_object("sat_fec_renderer")
|
||||
builder.get_object("fec_column").set_cell_data_func(renderer, self.sat_fec_func)
|
||||
renderer = builder.get_object("sat_sys_renderer")
|
||||
builder.get_object("sys_column").set_cell_data_func(renderer, self.sat_sys_func)
|
||||
renderer = builder.get_object("sat_mod_renderer")
|
||||
builder.get_object("mod_column").set_cell_data_func(renderer, self.sat_mod_func)
|
||||
# Terrestrial.
|
||||
renderer = builder.get_object("ter_system_renderer")
|
||||
builder.get_object("ter_system_column").set_cell_data_func(renderer, self.ter_sys_func)
|
||||
renderer = builder.get_object("ter_bandwidth_renderer")
|
||||
builder.get_object("ter_bandwidth_column").set_cell_data_func(renderer, self.ter_bandwidth_func)
|
||||
renderer = builder.get_object("ter_constellation_renderer")
|
||||
builder.get_object("ter_constellation_column").set_cell_data_func(renderer, self.ter_constellation_func)
|
||||
renderer = builder.get_object("ter_rate_hp_renderer")
|
||||
builder.get_object("ter_rate_hp_column").set_cell_data_func(renderer, self.ter_fec_hp_func)
|
||||
renderer = builder.get_object("ter_rate_lp_renderer")
|
||||
builder.get_object("ter_rate_lp_column").set_cell_data_func(renderer, self.ter_fec_lp_func)
|
||||
renderer = builder.get_object("ter_guard_renderer")
|
||||
builder.get_object("ter_guard_column").set_cell_data_func(renderer, self.ter_guard_func)
|
||||
renderer = builder.get_object("ter_tr_mode_renderer")
|
||||
builder.get_object("ter_tr_mode_column").set_cell_data_func(renderer, self.ter_transmission_func)
|
||||
renderer = builder.get_object("ter_hierarchy_renderer")
|
||||
builder.get_object("ter_hierarchy_column").set_cell_data_func(renderer, self.ter_hierarchy_func)
|
||||
renderer = builder.get_object("ter_inversion_renderer")
|
||||
builder.get_object("ter_inversion_column").set_cell_data_func(renderer, self.ter_inversion_func)
|
||||
# Cable.
|
||||
renderer = builder.get_object("cable_fec_renderer")
|
||||
builder.get_object("cable_fec_column").set_cell_data_func(renderer, self.cable_fec_func)
|
||||
renderer = builder.get_object("cable_mod_renderer")
|
||||
builder.get_object("cable_mod_column").set_cell_data_func(renderer, self.cable_mod_func)
|
||||
|
||||
self.show()
|
||||
|
||||
# ******************** Custom renderers ******************** #
|
||||
|
||||
def sat_pos_func(self, column, renderer, model, itr, data):
|
||||
""" Converts and sets the satellite position value to a readable format. """
|
||||
pos = int(model.get_value(itr, 2))
|
||||
renderer.set_property("text", f"{abs(pos / 10):0.1f}{'W' if pos < 0 else 'E'}")
|
||||
|
||||
def sat_pol_func(self, column, renderer, model, itr, data):
|
||||
renderer.set_property("text", POLARIZATION.get(model.get_value(itr, 2), None))
|
||||
|
||||
def sat_fec_func(self, column, renderer, model, itr, data):
|
||||
renderer.set_property("text", FEC.get(model.get_value(itr, 3), None))
|
||||
|
||||
def sat_sys_func(self, column, renderer, model, itr, data):
|
||||
renderer.set_property("text", SYSTEM.get(model.get_value(itr, 4), None))
|
||||
|
||||
def sat_mod_func(self, column, renderer, model, itr, data):
|
||||
renderer.set_property("text", MODULATION.get(model.get_value(itr, 5), None))
|
||||
|
||||
def ter_sys_func(self, column, renderer, model, itr, data):
|
||||
renderer.set_property("text", T_SYSTEM.get(model.get_value(itr, 1), None))
|
||||
|
||||
def ter_bandwidth_func(self, column, renderer, model, itr, data):
|
||||
renderer.set_property("text", BANDWIDTH.get(model.get_value(itr, 2), None))
|
||||
|
||||
def ter_constellation_func(self, column, renderer, model, itr, data):
|
||||
renderer.set_property("text", CONSTELLATION.get(model.get_value(itr, 3), None))
|
||||
|
||||
def ter_fec_hp_func(self, column, renderer, model, itr, data):
|
||||
renderer.set_property("text", T_FEC.get(model.get_value(itr, 4), None))
|
||||
|
||||
def ter_fec_lp_func(self, column, renderer, model, itr, data):
|
||||
renderer.set_property("text", T_FEC.get(model.get_value(itr, 5), None))
|
||||
|
||||
def ter_guard_func(self, column, renderer, model, itr, data):
|
||||
renderer.set_property("text", GUARD_INTERVAL.get(model.get_value(itr, 6), None))
|
||||
|
||||
def ter_transmission_func(self, column, renderer, model, itr, data):
|
||||
renderer.set_property("text", TRANSMISSION_MODE.get(model.get_value(itr, 7), None))
|
||||
|
||||
def ter_hierarchy_func(self, column, renderer, model, itr, data):
|
||||
renderer.set_property("text", HIERARCHY.get(model.get_value(itr, 8), None))
|
||||
|
||||
def ter_inversion_func(self, column, renderer, model, itr, data):
|
||||
value = model.get_value(itr, 9)
|
||||
if value:
|
||||
value = Inversion(value).name
|
||||
renderer.set_property("text", value)
|
||||
|
||||
def cable_fec_func(self, column, renderer, model, itr, data):
|
||||
renderer.set_property("text", FEC_DEFAULT.get(model.get_value(itr, 2), None))
|
||||
|
||||
def cable_mod_func(self, column, renderer, model, itr, data):
|
||||
renderer.set_property("text", C_MODULATION.get(model.get_value(itr, 3), None))
|
||||
|
||||
def on_satellite_view_realize(self, view):
|
||||
self.load_satellites_list()
|
||||
|
||||
def on_terrestrial_view_realize(self, view):
|
||||
gen = self.on_terrestrial_list_load()
|
||||
GLib.idle_add(lambda: next(gen, False), priority=GLib.PRIORITY_LOW)
|
||||
self.load_terrestrial_list()
|
||||
|
||||
def on_cable_view_realize(self, view):
|
||||
gen = self.on_cable_list_load()
|
||||
GLib.idle_add(lambda: next(gen, False), priority=GLib.PRIORITY_LOW)
|
||||
self.load_cable_list()
|
||||
|
||||
def load_satellites_list(self, path=None):
|
||||
gen = self.on_satellites_list_load(path)
|
||||
GLib.idle_add(lambda: next(gen, False), priority=GLib.PRIORITY_LOW)
|
||||
|
||||
def load_terrestrial_list(self, path=None):
|
||||
gen = self.on_terrestrial_list_load(path)
|
||||
GLib.idle_add(lambda: next(gen, False), priority=GLib.PRIORITY_LOW)
|
||||
|
||||
def load_cable_list(self, path=None):
|
||||
gen = self.on_cable_list_load(path)
|
||||
GLib.idle_add(lambda: next(gen, False), priority=GLib.PRIORITY_LOW)
|
||||
|
||||
def on_visible_page(self, stack, param):
|
||||
self._dvb_type = self.DVB(stack.get_visible_child_name())
|
||||
self._transponders_stack.set_visible_child_name(self._dvb_type)
|
||||
@@ -136,7 +231,8 @@ class SatellitesTool(Gtk.Box):
|
||||
|
||||
self._current_sat_path, column = view.get_cursor()
|
||||
if self._current_sat_path:
|
||||
list(map(model.append, view.get_model()[self._current_sat_path][-1]))
|
||||
sat_model = view.get_model()
|
||||
list(map(model.append, sat_model[self._current_sat_path][-1]))
|
||||
|
||||
def on_terrestrial_selection(self, view):
|
||||
model = self._ter_tr_view.get_model()
|
||||
@@ -144,7 +240,8 @@ class SatellitesTool(Gtk.Box):
|
||||
|
||||
self._current_ter_path, column = view.get_cursor()
|
||||
if self._current_ter_path:
|
||||
list(map(model.append, view.get_model()[self._current_ter_path][-1]))
|
||||
ter_model = view.get_model()
|
||||
list(map(model.append, ter_model[self._current_ter_path][-1]))
|
||||
|
||||
def on_cable_selection(self, view):
|
||||
model = self._cable_tr_view.get_model()
|
||||
@@ -152,7 +249,8 @@ class SatellitesTool(Gtk.Box):
|
||||
|
||||
self._current_cable_path, column = view.get_cursor()
|
||||
if self._current_cable_path:
|
||||
list(map(model.append, view.get_model()[self._current_cable_path][-1]))
|
||||
cable_model = view.get_model()
|
||||
list(map(model.append, cable_model[self._current_cable_path][-1]))
|
||||
|
||||
def on_up(self, item):
|
||||
move_items(KeyboardKey.UP, self._satellite_view)
|
||||
@@ -167,7 +265,7 @@ class SatellitesTool(Gtk.Box):
|
||||
else:
|
||||
on_popup_menu(menu, event)
|
||||
|
||||
def on_key_release(self, view, event):
|
||||
def on_key_press(self, view, event):
|
||||
""" Handling keystrokes """
|
||||
key_code = event.hardware_keycode
|
||||
if not KeyboardKey.value_exist(key_code):
|
||||
@@ -192,15 +290,15 @@ class SatellitesTool(Gtk.Box):
|
||||
|
||||
def on_satellites_list_load(self, path=None):
|
||||
""" Load satellites data into model """
|
||||
path = path or self._settings.profile_data_path + "satellites.xml"
|
||||
path = path or f"{self._settings.profile_data_path}satellites.xml"
|
||||
yield from self.load_data(self._satellite_view, get_satellites, path)
|
||||
|
||||
def on_terrestrial_list_load(self, path=None):
|
||||
path = path or self._settings.profile_data_path + "terrestrial.xml"
|
||||
path = path or f"{self._settings.profile_data_path}terrestrial.xml"
|
||||
yield from self.load_data(self._terrestrial_view, get_terrestrial, path)
|
||||
|
||||
def on_cable_list_load(self, path=None):
|
||||
path = path or self._settings.profile_data_path + "cables.xml"
|
||||
path = path or f"{self._settings.profile_data_path}cables.xml"
|
||||
yield from self.load_data(self._cable_view, get_cable, path)
|
||||
|
||||
def load_data(self, view, func, path):
|
||||
@@ -227,9 +325,6 @@ class SatellitesTool(Gtk.Box):
|
||||
else:
|
||||
self._app.show_error_message("Not implemented yet!")
|
||||
|
||||
def on_satellite_add(self, item):
|
||||
self.on_satellite()
|
||||
|
||||
def on_transponder_add(self, item):
|
||||
if self._dvb_type is self.DVB.SAT:
|
||||
self.on_transponder()
|
||||
@@ -328,22 +423,34 @@ class SatellitesTool(Gtk.Box):
|
||||
else:
|
||||
self._app.show_error_message("Not implemented yet!")
|
||||
|
||||
def sat_pos_func(self, column, renderer, model, itr, data):
|
||||
""" Converts and sets the satellite position value to a readable format. """
|
||||
pos = int(model.get_value(itr, 2))
|
||||
renderer.set_property("text", f"{abs(pos / 10):0.1f}{'W' if pos < 0 else 'E'}")
|
||||
|
||||
@run_idle
|
||||
def on_open(self):
|
||||
response = get_chooser_dialog(self._app.app_window, self._settings, "satellites.xml", ("*.xml",))
|
||||
xml_file = "satellites.xml"
|
||||
if self._dvb_type is self.DVB.TERRESTRIAL:
|
||||
xml_file = "terrestrial.xml"
|
||||
elif self._dvb_type is self.DVB.CABLE:
|
||||
xml_file = "cables.xml"
|
||||
|
||||
response = get_chooser_dialog(self._app.app_window, self._settings, xml_file, ("*.xml",))
|
||||
if response in (Gtk.ResponseType.CANCEL, Gtk.ResponseType.DELETE_EVENT):
|
||||
return
|
||||
|
||||
if not str(response).endswith("satellites.xml"):
|
||||
self._app.show_error_message("No satellites.xml file is selected!")
|
||||
if not str(response).endswith(xml_file):
|
||||
self._app.show_error_message(f"No {xml_file} file is selected!")
|
||||
return
|
||||
|
||||
self.load_satellites_list(response)
|
||||
if self._dvb_type is self.DVB.SAT:
|
||||
self.load_satellites_list(response)
|
||||
elif self._dvb_type is self.DVB.TERRESTRIAL:
|
||||
self.load_terrestrial_list(response)
|
||||
else:
|
||||
self.load_cable_list(response)
|
||||
|
||||
@run_idle
|
||||
def on_profile_changed(self, app, profile):
|
||||
self.load_satellites_list()
|
||||
self.load_terrestrial_list()
|
||||
self.load_cable_list()
|
||||
|
||||
@run_idle
|
||||
def on_save(self, app, page):
|
||||
|
||||
@@ -354,7 +354,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="activate_on_single_click">True</property>
|
||||
<signal name="button-press-event" handler="on_button_press" object="popup_menu" swapped="no"/>
|
||||
<signal name="cursor-changed" handler="on_satellite_selection" swapped="no"/>
|
||||
<signal name="key-release-event" handler="on_key_release" swapped="no"/>
|
||||
<signal name="key-press-event" handler="on_key_press" swapped="no"/>
|
||||
<signal name="realize" handler="on_satellite_view_realize" swapped="no"/>
|
||||
<child internal-child="selection">
|
||||
<object class="GtkTreeSelection" id="satellite_view_selection">
|
||||
@@ -745,7 +745,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="rubber_banding">True</property>
|
||||
<property name="enable_grid_lines">both</property>
|
||||
<signal name="button-press-event" handler="on_button_press" object="transponder_popup_menu" swapped="no"/>
|
||||
<signal name="key-release-event" handler="on_key_release" swapped="no"/>
|
||||
<signal name="key-press-event" handler="on_key_press" swapped="no"/>
|
||||
<child internal-child="selection">
|
||||
<object class="GtkTreeSelection" id="sat_tr_view_selection">
|
||||
<property name="mode">multiple</property>
|
||||
@@ -759,7 +759,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="expand">True</property>
|
||||
<property name="alignment">0.5</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="frequency_cellrenderertext">
|
||||
<object class="GtkCellRendererText" id="frequency_renderer">
|
||||
<property name="xalign">0.49000000953674316</property>
|
||||
</object>
|
||||
<attributes>
|
||||
@@ -776,7 +776,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="expand">True</property>
|
||||
<property name="alignment">0.5</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="sat_rate_cellrenderertext">
|
||||
<object class="GtkCellRendererText" id="sat_rate_renderer">
|
||||
<property name="xalign">0.49000000953674316</property>
|
||||
</object>
|
||||
<attributes>
|
||||
@@ -793,7 +793,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="expand">True</property>
|
||||
<property name="alignment">0.5</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="sat_pol_cellrenderertext">
|
||||
<object class="GtkCellRendererText" id="sat_pol_renderer">
|
||||
<property name="xalign">0.49000000953674316</property>
|
||||
</object>
|
||||
<attributes>
|
||||
@@ -810,7 +810,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="expand">True</property>
|
||||
<property name="alignment">0.5</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="set_fec_cellrenderertext">
|
||||
<object class="GtkCellRendererText" id="sat_fec_renderer">
|
||||
<property name="xalign">0.49000000953674316</property>
|
||||
</object>
|
||||
<attributes>
|
||||
@@ -827,7 +827,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="expand">True</property>
|
||||
<property name="alignment">0.5</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="sys_cellrenderertext">
|
||||
<object class="GtkCellRendererText" id="sat_sys_renderer">
|
||||
<property name="xalign">0.49000000953674316</property>
|
||||
</object>
|
||||
<attributes>
|
||||
@@ -844,7 +844,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="expand">True</property>
|
||||
<property name="alignment">0.5</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="mod_cellrenderertext">
|
||||
<object class="GtkCellRendererText" id="sat_mod_renderer">
|
||||
<property name="xalign">0.49000000953674316</property>
|
||||
</object>
|
||||
<attributes>
|
||||
@@ -860,7 +860,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="title" translatable="yes">Pls mode</property>
|
||||
<property name="expand">True</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="pls_mode_cellrenderertext"/>
|
||||
<object class="GtkCellRendererText" id="pls_mode_renderer"/>
|
||||
<attributes>
|
||||
<attribute name="text">6</attribute>
|
||||
</attributes>
|
||||
@@ -874,7 +874,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="title" translatable="yes">Pls code</property>
|
||||
<property name="expand">True</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="pls_code_cellrenderertext"/>
|
||||
<object class="GtkCellRendererText" id="pls_code_renderer"/>
|
||||
<attributes>
|
||||
<attribute name="text">7</attribute>
|
||||
</attributes>
|
||||
@@ -888,7 +888,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="title" translatable="yes">Is ID</property>
|
||||
<property name="expand">True</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="is_id_cellrenderertext"/>
|
||||
<object class="GtkCellRendererText" id="is_id_renderer"/>
|
||||
<attributes>
|
||||
<attribute name="text">8</attribute>
|
||||
</attributes>
|
||||
@@ -900,7 +900,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="visible">False</property>
|
||||
<property name="title" translatable="yes">T2-MI PLP ID</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="t2mi_plp_id_cellrenderertext"/>
|
||||
<object class="GtkCellRendererText" id="t2mi_plp_id_renderer"/>
|
||||
<attributes>
|
||||
<attribute name="text">9</attribute>
|
||||
</attributes>
|
||||
@@ -995,7 +995,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="expand">True</property>
|
||||
<property name="alignment">0.5</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="ter_freq_cellrenderer">
|
||||
<object class="GtkCellRendererText" id="ter_freq_renderer">
|
||||
<property name="xalign">0.49000000953674316</property>
|
||||
</object>
|
||||
<attributes>
|
||||
@@ -1012,7 +1012,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="expand">True</property>
|
||||
<property name="alignment">0.5</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="ter_system_cellrenderer">
|
||||
<object class="GtkCellRendererText" id="ter_system_renderer">
|
||||
<property name="xalign">0.49000000953674316</property>
|
||||
</object>
|
||||
<attributes>
|
||||
@@ -1029,7 +1029,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="expand">True</property>
|
||||
<property name="alignment">0.5</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="ter_bandwidth_cellrenderer">
|
||||
<object class="GtkCellRendererText" id="ter_bandwidth_renderer">
|
||||
<property name="xalign">0.49000000953674316</property>
|
||||
</object>
|
||||
<attributes>
|
||||
@@ -1046,7 +1046,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="expand">True</property>
|
||||
<property name="alignment">0.5</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="ter_constellation_cellrenderer">
|
||||
<object class="GtkCellRendererText" id="ter_constellation_renderer">
|
||||
<property name="xalign">0.49000000953674316</property>
|
||||
</object>
|
||||
<attributes>
|
||||
@@ -1063,7 +1063,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="expand">True</property>
|
||||
<property name="alignment">0.5</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="ter_rate_hp_cellrenderer">
|
||||
<object class="GtkCellRendererText" id="ter_rate_hp_renderer">
|
||||
<property name="xalign">0.49000000953674316</property>
|
||||
</object>
|
||||
<attributes>
|
||||
@@ -1077,7 +1077,9 @@ Author: Dmitriy Yefremov
|
||||
<object class="GtkTreeViewColumn" id="ter_rate_lp_column">
|
||||
<property name="title" translatable="yes">SR (LP)</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="ter_rate_lp_cellrenderer"/>
|
||||
<object class="GtkCellRendererText" id="ter_rate_lp_renderer">
|
||||
<property name="xalign">0.49000000953674316</property>
|
||||
</object>
|
||||
<attributes>
|
||||
<attribute name="text">5</attribute>
|
||||
</attributes>
|
||||
@@ -1092,7 +1094,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="expand">True</property>
|
||||
<property name="alignment">0.5</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="ter_guard_cellrenderer">
|
||||
<object class="GtkCellRendererText" id="ter_guard_renderer">
|
||||
<property name="xalign">0.49000000953674316</property>
|
||||
</object>
|
||||
<attributes>
|
||||
@@ -1107,7 +1109,9 @@ Author: Dmitriy Yefremov
|
||||
<property name="title" translatable="yes">Transmission</property>
|
||||
<property name="expand">True</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="ter_tr_mode_cellrenderer"/>
|
||||
<object class="GtkCellRendererText" id="ter_tr_mode_renderer">
|
||||
<property name="xalign">0.49000000953674316</property>
|
||||
</object>
|
||||
<attributes>
|
||||
<attribute name="text">7</attribute>
|
||||
</attributes>
|
||||
@@ -1120,7 +1124,9 @@ Author: Dmitriy Yefremov
|
||||
<property name="title" translatable="yes">Hierarchy</property>
|
||||
<property name="expand">True</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="ter_hierarchy_cellrenderer"/>
|
||||
<object class="GtkCellRendererText" id="ter_hierarchy_renderer">
|
||||
<property name="xalign">0.49000000953674316</property>
|
||||
</object>
|
||||
<attributes>
|
||||
<attribute name="text">8</attribute>
|
||||
</attributes>
|
||||
@@ -1133,7 +1139,9 @@ Author: Dmitriy Yefremov
|
||||
<property name="title" translatable="yes">Inversion</property>
|
||||
<property name="expand">True</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="ter_inversion_cellrenderer"/>
|
||||
<object class="GtkCellRendererText" id="ter_inversion_renderer">
|
||||
<property name="xalign">0.49000000953674316</property>
|
||||
</object>
|
||||
<attributes>
|
||||
<attribute name="text">9</attribute>
|
||||
</attributes>
|
||||
@@ -1229,7 +1237,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="expand">True</property>
|
||||
<property name="alignment">0.5</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="cable_frequency_cellrenderer">
|
||||
<object class="GtkCellRendererText" id="cable_frequency_renderer">
|
||||
<property name="xalign">0.49000000953674316</property>
|
||||
</object>
|
||||
<attributes>
|
||||
@@ -1246,7 +1254,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="expand">True</property>
|
||||
<property name="alignment">0.5</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="cable_rate_cellrenderer">
|
||||
<object class="GtkCellRendererText" id="cable_rate_renderer">
|
||||
<property name="xalign">0.49000000953674316</property>
|
||||
</object>
|
||||
<attributes>
|
||||
@@ -1263,7 +1271,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="expand">True</property>
|
||||
<property name="alignment">0.5</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="cable_fec_cellrenderer">
|
||||
<object class="GtkCellRendererText" id="cable_fec_renderer">
|
||||
<property name="xalign">0.49000000953674316</property>
|
||||
</object>
|
||||
<attributes>
|
||||
@@ -1280,7 +1288,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="expand">True</property>
|
||||
<property name="alignment">0.5</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="cable_mod_cellrenderer">
|
||||
<object class="GtkCellRendererText" id="cable_mod_renderer">
|
||||
<property name="xalign">0.49000000953674316</property>
|
||||
</object>
|
||||
<attributes>
|
||||
|
||||
Reference in New Issue
Block a user