paleo_view_v1_2.py 文件源码

python
阅读 20 收藏 0 点赞 0 评论 0

项目:PaleoView 作者: GlobalEcologyLab 项目源码 文件源码
def restrictParameters(self) :

        # Initialise allowed parameters
        allowed_parameters = {}
        for group_code in self.parameter_group_codes :
            allowed_parameters[group_code] = self.parameter_via_group_codes[group_code][:]

        # Resolve any restrictions based on data type
        data_type = self.data_type_text.get()
        if self.parameter_restricted_via_data_type.has_key(data_type) :
            for group_code in self.parameter_group_codes :
                if self.parameter_restricted_via_data_type[data_type].has_key(group_code) :
                    allowed_parameters[group_code] = self.parameter_restricted_via_data_type[data_type][group_code]

        # Enable/disable parameter selections appropriately
        allowed_groups = []
        for i, group_code in enumerate(self.parameter_group_codes) : 
            if allowed_parameters[group_code] :
                allowed_groups.append(group_code)
                self.parameter_group_menu['menu'].entryconfigure(i, state=tk.NORMAL)
                for j, parameter_code in enumerate(self.parameter_via_group_codes[group_code]) :
                    if len(self.parameter_via_group_codes[group_code]) > 1  or self.parameter_via_group_codes[group_code][0] != group_code :
                        if parameter_code in allowed_parameters[group_code] :
                            self.parameter_via_group_menu[group_code]['menu'].entryconfigure(j, state=tk.NORMAL)
                        else :
                            self.parameter_via_group_menu[group_code]['menu'].entryconfigure(j, state=tk.DISABLED)
            else :
                self.parameter_group_menu['menu'].entryconfigure(i, state=tk.DISABLED)

        # Select another parameter/group if the current selection is not allowed
        selected_group = self.parameter_group_selection_map[self.parameter_group_text.get()]
        if selected_group not in allowed_groups :
            self.selectParameterGroup(allowed_groups[0])
        else :
            selected_parameter = self.parameter_via_group_selection_map[selected_group][self.parameter_via_group_text[selected_group].get()]
            if selected_parameter not in allowed_parameters[selected_group] :
                self.selectParameter(selected_group, allowed_parameters[selected_group][0])

    # Step 2 Method: Restrict Time Unit Via Data Type and/or Parameter
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号