def __init__(self, p_empty=False): """ User defined combobox, it's data is come from table lib_dictionary :param p_empty: 是否包含空值 :return: """ OrcSelectBase.__init__(self, p_empty) from LibDict import LibDict self.__dict = LibDict()
def __init__(self, p_empty=False): """ User defined combobox, it's data is come from table lib_dictionary :param p_empty: 是否包含空数据 :return: """ OrcSelectBase.__init__(self, p_empty) from LibDict import LibDict self.__dict = LibDict() _data = [ dict(name=_item.type_name, text=_item.type_text) for _item in self.__dict.get_widget_type() ] self.set_item_data(_data)
class SelectWidgetOperation(OrcSelectBase): """ 下拉控件类型列表 """ def __init__(self, p_empty=False): """ User defined combobox, it's data is come from table lib_dictionary :param p_empty: 是否包含空值 :return: """ OrcSelectBase.__init__(self, p_empty) from LibDict import LibDict self.__dict = LibDict() def set_type(self, p_type): self.clear() # 获取当前控件的制作方式,去除不可操作控件 if p_type in ("WINDOW", "GROUP"): return _data = [ dict(name=_item.ope_name, text=_item.ope_text) for _item in self.__dict.get_widget_operation(p_type) ] print _data # 获取基本操作方式 if p_type not in ("PAGE", "BLOCK"): print p_type print "OOOOOOOOOOOOOOO" _data.extend([ dict(name=_item.ope_name, text=_item.ope_text) for _item in self.__dict.get_widget_operation("BLOCK") ]) self.set_item_data(_data)
def operate_to_str(p_data): """ :param p_data: {'OBJECT': '3200000002', 'OPERATE': u'INPUT', 'TYPE': u'WIDGET'} :return: """ if not isinstance(p_data, dict): return p_data def get_widget_def_path(p_id): """ 获取控件路径 :param p_id: :return: """ resource_widget_def = OrcHttpNewResource("WidgetDef") resource_widget_def.set_path(p_id) widget_def_data = resource_widget_def.get() return None if not resource_widget_def else widget_def_data[ "widget_path"] def get_page_def_flag(p_id): """ 获取页面标识 :param p_id: :return: """ resource_page_def = OrcHttpNewResource("PageDef") resource_page_def.set_path(p_id) page_def_data = resource_page_def.get() return None if not page_def_data else page_def_data["page_flag"] def get_lib_dict_text(p_flag, p_value): """ 获取操作文字 :param p_value: :param p_flag: :return: """ resource_dict = OrcHttpNewResource("Dict") dict_data = resource_dict.get( dict(dict_flag=p_flag, dict_value=p_value)) return None if not dict_data else dict_data[0]["dict_text"] _dict = LibDict() _type = p_data["TYPE"] _object = p_data["OBJECT"] if "WIDGET" == _type: _operation = p_data["OPERATION"] try: _object = get_widget_def_path(_object) _type = get_lib_dict_text("operate_object_type", _type) _operation = _dict.get_widget_operation_text(_operation) except OrcPostFailedException: # Todo pass return "%s->%s->%s" % (_operation, _type, _object) else: try: _object = get_page_def_flag(_object) _type = get_lib_dict_text("operate_object_type", _type) except OrcPostFailedException: # Todo pass return "%s->%s" % (_type, _object)