def get(self, parent=None, *arg, **kwarg): """ Получить объект. Если не зарегистрирован в ядре, то создать его. """ if ic_mode.isDebugMode(): log.debug('GET Object <%s>' % self.passport()) kernel = ic_user.getKernel() if kernel: # Проверить зарегистрирован ли уже объект в ядре name = self.passport()[0][1] obj = kernel.getObject(name) if obj: # Если уже зарегистрирован, то просто вернуть его return obj if 'context' in kwarg: if isinstance(kwarg['context'], dict): # В случае если передается контекст в виде словаря # необходимо создать объект контекста context = icwidget.icResObjContext(kernel) context.update(kwarg['context']) else: # Контекст создаваемому объекту передается явно context = kwarg['context'] del kwarg['context'] else: # Надо определить контекст context = icwidget.icResObjContext(kernel) return kernel.Create(self.passport(), parent, context=context, *arg, **kwarg)
def create(self, parent=None, *arg, **kwarg): """ Создание выбранного объекта. """ if ic_mode.isDebugMode(): log.debug('CREATE Object <%s>' % self.passport()) kernel = ic_user.getKernel() if kernel: if 'context' in kwarg: if isinstance(kwarg['context'], dict): # В случае если передается контекст в виде словаря # необходимо создать объект контекста context = icwidget.icResObjContext(kernel) context.update(kwarg['context']) else: # Контекст создаваемому объекту передается явно context = kwarg['context'] del kwarg['context'] else: # Надо определить контекст context = icwidget.icResObjContext(kernel) return kernel.Create(self.passport(), parent, context=context, *arg, **kwarg)
def loadImgLib(self, sImgLibFileName=None): """ Загрузить текст библиотеки образов. @param sImgLibFileName: Файл библиотеки образов *.py. """ if not sImgLibFileName: sImgLibFileName = self._img_lib_file_name if sImgLibFileName and sImgLibFileName != self._img_lib_file_name: self._img_lib_file_name = sImgLibFileName self._img_lib_file = None try: self._img_lib_file = open(sImgLibFileName, 'r') self._img_lib_text = self._img_lib_file.read() self._img_lib_file.close() self._img_lib_file = None if ic_mode.isDebugMode(): io_prnt.outLog(u'Загрузка библиотеки образов <%s>' % sImgLibFileName) return self._img_lib_text except: io_prnt.outErr(u'Ошибка загрузки файла библиотеки образов <%s>' % sImgLibFileName) if self._img_lib_file: self._img_lib_file.close() self._img_lib_file = None return None
def setProjectSettingsToEnvironment(ProjectName_=None, ReDefine_=False): """ Добавить все переменные из *.ini файла в окружение системы. @param ProjectName_: Имя проекта. Если None, то берется текущий проект. @param ReDefine_: Переопределять переменные в окружении? @return: True/False. """ prj_settings = None if ic_user.getSettings() is None: if ic_mode.isDebugMode(): io_prnt.outLog(u'Не определена переменная настроек проекта.') prj_dir = ic_user.icGet('PRJ_DIR') prj_name = ic_user.icGet('PrjName') if prj_dir and prj_name: prj_ini_file_name = prj_dir + '/' + prj_name + '.ini' prj_settings = ini.INI2Dict(prj_ini_file_name) else: if ProjectName_ is None: prj_settings = ic_user.getSettings().THIS.get() else: prj_settings = getattr(ic_user.getSettings(), ProjectName_).get() if prj_settings: for section_name, section in prj_settings.items(): for param, value in section.items(): if ic_user.icIs(param): io_prnt.outLog( u'Переменная %s уже определена в окружении' % param) if ReDefine_: ic_user.icLet(param, value) io_prnt.outLog( u'Переменная %s переопределена в окружении' % param) else: ic_user.icLet(param, value) if ic_mode.isDebugMode(): ic_user.icPrintStore() return True return False
def __init__(self, Parent_=None): """ Конструктор. """ ImpNode.PrjImportSys.__init__(self, Parent_) self.img = imglib.imgEdtPrj self.description = u'Проект' self.name = 'new_prj' # Проект и является корнем self._root = self # Проект открыт? self._is_opened_prj = False # Ресурс проекта self.prj_res_manager = PrjRes.icPrjRes() # Папка блокировок self.lock_dir = None # Текущее время создания файла ресурса проекта (для синхронизации проектов) self.prj_res_time = 0 # Текущий размер файла ресурса проекта (для синхронизации проектов) self.prj_res_size = 0 # Признак того что надо отображать всплывающие подсказки о ресурсах, модулях # и компонентах self.show_popup_help = False # Сразу зарегестрировать этот объект в хранилище переменных if not ic_user.icIs('PRJ_ROOT') or ic_user.icGet('PRJ_ROOT') is None: ic_user.icLet('PRJ_ROOT', self) # Режим отладки self.debug_mode = ic_mode.isDebugMode() # Система разграничения прав доступа self._prj_user = None self.prj_security = None
# Author: <...> # # Created: # RCS-ID: $Id: $ # Copyright: (c) # Licence: <your licence> # ----------------------------------------------------------------------------- ### ---- Import external modules ----- ### RESOURCE_MODULE_IMPORTS # Version __version__ = (0, 0, 0, 1) #--- Imports --- from ic.utils import ic_mode if ic_mode.isDebugMode(): print('import', __file__) import wx import ic #--- Functions --- def onDialogTitle(Context_): """ Генерация заголовка диалогового окна. """ title = u'Справочник: ' try: if 'OBJ' in Context_: description = Context_['OBJ'].description