From ed7054ed985747f98c796a5c2181817ddcbe0d97 Mon Sep 17 00:00:00 2001 From: lizhi-rocky Date: Wed, 25 Aug 2010 11:56:45 +0800 Subject: [PATCH] fix a bug in service screen, add service_init --- python/ri_tk_cmd.py | 21 ++++++++++++++++----- python/ri_widget.py | 1 - xml/install.xml | 32 ++++++++++++++++---------------- xml/interface.xml | 2 +- 4 files changed, 33 insertions(+), 23 deletions(-) diff --git a/python/ri_tk_cmd.py b/python/ri_tk_cmd.py index 0f6616f..affa4c4 100644 --- a/python/ri_tk_cmd.py +++ b/python/ri_tk_cmd.py @@ -205,21 +205,32 @@ def service_construct(w): w - Widget instance ''' # first refresh service state - ri_data.Service.change_state() wit = w.widgets.pop() for i in ri_data.Service.list: wi = copy.deepcopy(wit) - wi.attr['text'] = i.name vn = "service_%s" %(i.name) + # process widget name + wi.name = vn + ri_widget.Widget.dict[vn] = wi + wi.attr['text'] = i.name wi.attr['variable'] = vn - wi.variables = [(vn, 'StringVar', i.start=='yes' and 'yes' or 'no')] - if i.start == 'disable': - wi.attr['state'] = 'disable' + wi.variables = [(vn, 'StringVar', '')] idx = ri_data.Service.list.index(i) wi.grid_location.dict['column'] = idx % int(w.grid_management.columns) wi.grid_location.dict['row'] = idx / int(w.grid_management.columns) w.add_sub_widget(wi) +def service_init(): + ''' initialize service checkboxes, based on package selection ''' + # first refresh service state + ri_data.Service.change_state() + for i in ri_data.Service.list: + vn = "service_%s" %(i.name) + win = ri_widget.Widget.dict[vn].tk_widget + if i.start == 'disable': + win.configure(state = 'disable') + display.var_dict[vn].set(value=i.start=='yes' and 'yes' or 'no') + def service_quit(): ''' record service state ''' for i in ri_data.Service.list: diff --git a/python/ri_widget.py b/python/ri_widget.py index e0eda90..fd2d87c 100644 --- a/python/ri_widget.py +++ b/python/ri_widget.py @@ -75,7 +75,6 @@ class Widget: self.action = Action(node) elif node.nodeName == 'binding': seq = node.attributes["sequence"].value - print seq self.bindings.append((seq, \ node.attributes["function"].value)) diff --git a/xml/install.xml b/xml/install.xml index 6e7e657..74bcfed 100644 --- a/xml/install.xml +++ b/xml/install.xml @@ -31,20 +31,20 @@ + + + + - - - - - + 开发类包括 C、C++(Fortran)、DDD 等开发工具。 开发类软件包分为必选包和可选包,当选择安装该类后,必选包是默认安装的,可选包可以自由选择安装。 @@ -101,7 +101,7 @@ - + 办公类包括 OpenOffice.org 等办公软件。 办公类都是必选软件包,当选择安装该类后,必选包是默认安装的。 @@ -110,7 +110,7 @@ - + KDE是一种著名的自由图形工作环境,整个系统采用Qt程序库 KDE桌面类都是可选软件包,可以自由选择安装。 @@ -137,7 +137,7 @@ - + 图形类包括 X11 相关的各种程序。 图形类软件包分为必选包和可选包,当选择安装该类后,必选包是默认安装的,可选包可以自由选择安装。 @@ -201,7 +201,7 @@ - + @@ -238,7 +238,7 @@ - + 网络工具类包括 tcpdump 等网络工具。 网络工具类都是可选软件包,可以自由选择安装。 @@ -249,7 +249,7 @@ - + 通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统 虚拟机类都是可选软件包,可以自由选择安装 @@ -402,7 +402,7 @@ 网络服务类包括各种网络服务包。 网络服务类都是可选软件包,可以自由选择安装。 - + @@ -418,7 +418,7 @@ - + @@ -427,7 +427,7 @@ - + @@ -436,7 +436,7 @@ - + 因特网类包括万维网浏览器 Firefox 等。 因特网类软件包都是必选包,当选择安装该类后,必选包是默认安装的。 @@ -451,7 +451,7 @@ - + 多媒体类包括各种媒体库。 多媒体类都是可选软件包,可以自由选择安装。 diff --git a/xml/interface.xml b/xml/interface.xml index e3c8ea0..b03dbdf 100644 --- a/xml/interface.xml +++ b/xml/interface.xml @@ -714,7 +714,7 @@ row 4 | | - +