示例#1
0
 def importChild(self, ResFileName_=None):
     """
     Импортировать ресурс, как дочерний узел.
     @param ResFileName_: Имя импортируемого ресурсного файла.
     @return: Возвращает вновь созданный узел или None.
     """
     new_node = None
     if os.path.exists(ResFileName_):
         # Сделать новое имя файла
         new_res_file_name = ic_file.AbsolutePath(
             './%s/%s' %
             (self.getRoot().name, os.path.basename(ResFileName_)))
         # Если новый файл существут, то спросить о его перезаписи
         if not ic_file.SamePathWin(ResFileName_, new_res_file_name):
             # Скопировать файл
             ic_file.icCopyFile(ResFileName_, new_res_file_name, True)
         # Создать узел
         res_file_name_split = os.path.splitext(new_res_file_name)
         typ = res_file_name_split[1][1:]
         node_name = os.path.basename(res_file_name_split[0])
         new_node = self.getRoot().buildPrjRes(self, typ, node_name)
         # Добавить ресурс в ресурс проекта
         self.getRoot().prj_res_manager.addRes(node_name, typ, self.name)
         # Для синхронизации дерева проекта
         self.getRoot().save()
     return new_node
示例#2
0
 def getDBFFileName(self):
     """
     Имя DBF файла - источника данных.
     """
     dbf_file_name = self.resource['dbf_file']
     if dbf_file_name:
         return ic_file.AbsolutePath(dbf_file_name)
     return None
示例#3
0
 def __init__(self, Res_=None):
     """
     Конструктор.
     """
     storage_interface.icObjectStorageSourceInterface.__init__(self, Res_)
     self._spc = ic_util.SpcDefStruct(SPC_IC_OBJ_STORAGE_SRC, self._res)
     storage_dir = ic_file.AbsolutePath(
         ic_exec.ExecuteCode(self._spc['storage_dir'], self))
     icTreeDirStorage.__init__(self, storage_dir)
示例#4
0
 def getUserResFileName(self):
     """
     Генерация имени ресурса.
     """
     prj_file_name = self.getRoot().getPrjFileName()
     if prj_file_name is None:
         prj_name = self.getRoot().prj_res_manager.getPrjRootName()
         return ic_file.AbsolutePath(prj_name,
                                     os.path.dirname(self.getRoot().getPrjFileName()))+'/'+icUser.DEFAULT_USERS_RES_FILE
     else:
         return os.path.split(prj_file_name)[0]+'/'+icUser.DEFAULT_USERS_RES_FILE
示例#5
0
 def getResPath(self):
     """
     Генерация пути ресурса.
     """
     prj_file_name = self.getRoot().getPrjFileName()
     if prj_file_name is None:
         prj_name = self.getRoot().prj_res_manager.getPrjRootName()
         return ic_file.AbsolutePath(prj_name,
                                     os.path.dirname(self.getRoot().getPrjFileName()))
     else:
         return os.path.split(prj_file_name)[0]
示例#6
0
 def __init__(self, Dir_):
     """
     Конструктор.
     @param Dir_: Папка - хранилище.
     """
     # Привести относительные пути к папке проекта
     Dir_ = ic_file.AbsolutePath(Dir_)
     storage_interface.icObjectStorageInterface.__init__(self, None)
     storesrc.icTreeDirStorage.__init__(self, Dir_)
     self.name = ic_file.BaseName(Dir_)
     self.Open()
示例#7
0
 def getPath(self, CurPath_=None):
     """
     Путь пакета.
     """
     if CurPath_ is None:
         CurPath_ = self.name
     if issubclass(self._Parent.__class__, PrjPackage):
         CurPath_ = self._Parent.getPath() + '/' + CurPath_
     elif issubclass(self._Parent.__class__, PrjModules):
         CurPath_ = ic_file.AbsolutePath(
             './%s/' % self.getRoot().name + CurPath_,
             os.path.split(os.path.dirname(
                 self.getRoot().getPrjFileName()))[0])
     return CurPath_
示例#8
0
 def setMiddleIcon(self, ICOFileName_):
     """
     Иконка в центре поля.
     @param ICOFileName_: Имя файла *.ico.
     """
     if ICOFileName_:
         ico_file_name = ic_file.AbsolutePath(ICOFileName_)
         if ic_file.Exists(ico_file_name):
             icon = wx.Icon(ico_file_name, wx.BITMAP_TYPE_ICO)
             icon.SetWidth(24)
             icon.SetHeight(24)
             if icon.Ok():
                 self.SetMiddleIcon(icon)
             else:
                 log.warning(u'Компонент Speedmeter. Некорректная иконка <%s>' % ico_file_name)
         else:
             log.warning(u'Компонент Speedmeter. Файл иконки <%s> не существует' % ico_file_name)
示例#9
0
 def setMiddleIcon(self,ICOFileName_):
     """
     Иконка в центре поля.
     @param ICOFileName_: Имя файла *.ico.
     """
     print('####',ICOFileName_)
     if ICOFileName_:
         ico_file_name=ic_file.AbsolutePath(ICOFileName_)
         if ic_file.Exists(ico_file_name):
             icon=wx.Icon(ico_file_name,wx.BITMAP_TYPE_ICO)
             icon.SetWidth(24)
             icon.SetHeight(24)
             print('!!!!!!!!!!!!!!!!11',icon.Ok())
             if icon.Ok():
                 print('!!!!!!!!!!!!!!!!11')
                 self.SetMiddleIcon(icon)
             else:
                 ic_log.icToLog(u'Компонент Speedometer. Некорректная иконка')
         else:
             ic_log.icToLog(u'Компонент Speedometer. Файл иконки %s не существует'%(ico_file_name))
示例#10
0
def createBitmap(ImgFileName_, MakeMask_=False):
    """
    Создать объект Bitmap из файла ImgFileName_.
    @param ImgFileName_: Имя файла.
    @param MakeMask_: Флаг создания маски по изображению.
        Фон д.б. DEFAULT_MASK_COLOUR.
    @return: Возвращает созданный объект или None в случае ошибки.
    """
    try:
        # Преобразовать относительные пути в абсолютные
        ImgFileName_ = ic_file.AbsolutePath(ImgFileName_)
        if (not ImgFileName_) or (not os.path.exists(ImgFileName_)):
            log.warning(u'Некорректное имя файла образа: <%s>' % ImgFileName_)
            return None
        bmp = wx.Bitmap(ImgFileName_, getImageFileType(ImgFileName_))
        if MakeMask_:
            # Создать маску и присоединить ее к битмапу
            phone_color = DEFAULT_MASK_COLOUR
            bmp.SetMask(wx.MaskColour(bmp, phone_color))
        return bmp
    except:
        log.fatal(u'Ошибка создания образа файла <%s>' % ImgFileName_)
        return None