Example #1
0
def setOperateYear(year=None):
    """
    Установить операционный год.
    @param year: Год.
        Если год не указан, то производится попытка
        прочитать его в INI файле проекта.
        Если в INI файле он не найде, то берется системный.
    """
    is_save = True
    if year is None:
        from ic.utils import ini
        prj_path = ic_file.getPrjProfilePath()
        ini_basename = getPrjName() + '.ini'
        ini_filename = os.path.join(prj_path, ini_basename)
        operate_year = ini.loadParamINI(ini_filename, 'SETTINGS',
                                        'operate_year')
        if not operate_year:
            import datetime
            today = datetime.date.today()
            year = today.year
        else:
            year = int(operate_year)
            is_save = False
    icLet('OperateYEAR', year)
    if is_save:
        saveOperateYear(year)
Example #2
0
 def getPrjIcon(self):
     """
     Иконка.
     """
     ico_file = ini.loadParamINI(self._prj_ini_file_name,
                                 'INSTALL', 'prj_icon')
     if ico_file:
         return ic_file.NormPathWin(ico_file)
     return ico_file
Example #3
0
 def OnLastOpen(self, event):
     """
     Открыть последний открытый проект.
     """
     path = ini.loadParamINI(PRJ_INI_FILE, 'PRJ', 'LastOpenedPaths')
     node = self._Parent
     node.openPrj(path)
     # Обновление дерева проектов
     self._Parent.getRoot().getParent().Refresh()
Example #4
0
 def getPackages(self):
     """
     Список добавляемых пакетов.
     """
     packages = ini.loadParamINI(self._prj_ini_file_name,
                                 'INSTALL', 'packages')
     if packages:
         return eval(packages)
     return []
Example #5
0
 def getInstallMaker(self):
     """
     Программа компиляции скрипта инсталяционного пакета.
     """
     install_maker = ini.loadParamINI(self._prj_ini_file_name,
                                      'INSTALL', 'install_maker')
     if install_maker:
         return ic_file.NormPathWin(install_maker)
     return install_maker
Example #6
0
 def getAutoVer(self):
     """
     Признак автоматического изменения версий.
     """
     auto_ver = ini.loadParamINI(self._prj_ini_file_name,
                                 'INSTALL', 'auto_ver')
     if auto_ver:
         return eval(auto_ver)
     return False
Example #7
0
 def getOpenSource(self):
     """
     Признак добавления в инсталяционный пакет исходников.
     """
     open_src_txt = ini.loadParamINI(self._prj_ini_file_name,
                                     'INSTALL', 'open_src')
     if open_src_txt:
         return eval(open_src_txt)
     return True
    def loadImgDir(self, IniFile_=None):
        """
        Загрузить папку образов из настроек.
        """
        if IniFile_:
            self._ini_file = IniFile_

        if self._ini_file:
            img_dir = ini.loadParamINI(self._ini_file, 'IMAGES', 'img_dir')
            self.setImgDir(img_dir)
Example #9
0
 def get(self):
     """
     Функция получения значения.
     ВНИМАНИЕ! Считается что внутри программы по умолчанию мы пользуемся
     юникодными строками, поэтому все строки автоматически приводим к юникоду.
     """
     ini_file_name = self._get_ini_file_name()
     value = ini.loadParamINI(ini_file_name, self._cur_settings_list[1],
                              self._cur_settings_list[2])
     value = u'' if value is None else value
     value = unicode(value, ini.DEFAULT_ENCODE) if isinstance(
         value, str) else value
     return value
Example #10
0
    def __init__(self, Parent_):
        """
        Конструктор.
        """
        flatmenu.FlatMenu.__init__(self)
        self._Parent = Parent_
        # Контрол дерева проекта
        prj_tree_ctrl = self._Parent.getRoot().getParent()

        # Новый проект
        self.newPrjID = wx.NewId()
        item = flatmenu.FlatMenuItem(self, self.newPrjID,
                                     u'Новый проект', u'Новый проект',
                                     normalBmp=imglib.imgNewPrj)
        self.AppendItem(item)
        prj_tree_ctrl.Bind(wx.EVT_MENU, self.OnNew, id=self.newPrjID)

        # Открыть
        self.openID = wx.NewId()
        item = flatmenu.FlatMenuItem(self, self.openID,
                                     u'Открыть', u'Открыть',
                                     normalBmp=imglib.imgFolderOpen)
        self.AppendItem(item)
        prj_tree_ctrl.Bind(wx.EVT_MENU, self.OnOpen, id=self.openID)
        
        # Последний открытый проект
        pth = ini.loadParamINI(PRJ_INI_FILE, 'PRJ', 'LastOpenedPaths')
        if pth:
            self.lastOpenID = wx.NewId()
            item = flatmenu.FlatMenuItem(self, self.lastOpenID,
                                         u'Последний открытый проект: %s' % pth, u'Последний открытый проект',
                                         normalBmp=imglib.imgFolderOpen)
            self.AppendItem(item)
            prj_tree_ctrl.Bind(wx.EVT_MENU, self.OnLastOpen, id=self.lastOpenID)

        # Список открытых ранее проектов
        prj_paths = ini.loadParamINIValue(PRJ_INI_FILE, 'PRJ', 'OpenedPaths')
        if prj_paths:
            prj_submenu = flatmenu.FlatMenu()
            for prj_path in prj_paths:
                if prj_path != pth:
                    item_id = wx.NewId()
                    item = flatmenu.FlatMenuItem(prj_submenu, item_id,
                                                 prj_path, u'Проект',
                                                 normalBmp=imglib.imgFolderOpen)
                    prj_submenu.AppendItem(item)
                    prj_tree_ctrl.Bind(wx.EVT_MENU, self.OnOpenPrj, id=item_id)

            self.AppendSubMenu(prj_submenu, u'Ранее открытые проекты')

        # Определен проект открыт уже или нет?
        prj_none = self._Parent.isOpened()
        io_prnt.outLog(u'Проект открыт <%s>' % self._Parent.isOpened())

        # 'Сохранить'
        self.saveID = wx.NewId()
        item = flatmenu.FlatMenuItem(self, self.saveID,
                                     u'Сохранить', u'Сохранить',
                                     normalBmp=imglib.imgSave)
        self.AppendItem(item)
        item.Enable(prj_none)
        prj_tree_ctrl.Bind(wx.EVT_MENU, self.OnSave, id=self.saveID)

        # Обновить
        self.refreshID = wx.NewId()
        item = flatmenu.FlatMenuItem(self, self.refreshID,
                                     u'Обновить', u'Обновить',
                                     normalBmp=imglib.imgRefreshPage)
        self.AppendItem(item)
        item.Enable(prj_none)
        prj_tree_ctrl.Bind(wx.EVT_MENU, self.OnRefresh, id=self.refreshID)
        
        self.AppendSeparator()
        # Запустить
        self.runID = wx.NewId()
        item = flatmenu.FlatMenuItem(self, self.runID,
                                     u'Выполнить', u'Выполнить',
                                     normalBmp=imglib.imgPlay)
        self.AppendItem(item)
        item.Enable(prj_none)
        prj_tree_ctrl.Bind(wx.EVT_MENU, self.OnRun, id=self.runID)
        # Отладка
        self.debugID = wx.NewId()
        item = flatmenu.FlatMenuItem(self, self.debugID,
                                     u'Отладка', u'Отладка',
                                     normalBmp=imglib.imgDebug)
        self.AppendItem(item)
        item.Enable(prj_none)
        prj_tree_ctrl.Bind(wx.EVT_MENU, self.OnDebug, id=self.debugID)
       
        self.AppendSeparator()
        # 'Редактировать'
        self.editID = wx.NewId()
        item = flatmenu.FlatMenuItem(self, self.editID,
                                     u'Редактировать', u'Редактировать',
                                     normalBmp=imglib.imgEdit)
        self.AppendItem(item)
        item.Enable(prj_none)
        prj_tree_ctrl.Bind(wx.EVT_MENU, self.OnEdit, id=self.editID)

        self.editIniID = wx.NewId()
        item = flatmenu.FlatMenuItem(self, self.editIniID,
                                     u'Параметры проекта', u'Параметры проекта',
                                     normalBmp=imglib.imgProperty)
        self.AppendItem(item)
        item.Enable(prj_none)
        prj_tree_ctrl.Bind(wx.EVT_MENU, self.OnEditIni, id=self.editIniID)

        self.AppendSeparator()

        # 'Переименовать'
        self.renameID = wx.NewId()
        item = flatmenu.FlatMenuItem(self, self.renameID,
                                     u'Переименовать', u'Переименовать',
                                     normalBmp=imglib.imgRename)
        self.AppendItem(item)
        item.Enable(prj_none)
        prj_tree_ctrl.Bind(wx.EVT_MENU, self.OnRename, id=self.renameID)

        self.AppendSeparator()
 
        # Подменю инструментов
        tool_submenu = flatmenu.FlatMenu()
        
        # 'Создать инсталяционный пакет'
        if wx.Platform == '__WXMSW__':
            self.installID = wx.NewId()
            item = flatmenu.FlatMenuItem(tool_submenu, self.installID, _('Install package'), _('Install package'),
                                         normalBmp=imglib.imgDemo)
            tool_submenu.AppendItem(item)
            item.Enable(prj_none)
            prj_tree_ctrl.Bind(wx.EVT_MENU, self.OnMakeInstall, id=self.installID)
        
            # 'Создать демо-проект'
            self.demoID = wx.NewId()
            item = flatmenu.FlatMenuItem(tool_submenu, self.demoID,
                                         u'Демо', u'Демо',
                                         normalBmp=imglib.imgDemo)
            tool_submenu.AppendItem(item)
            item.Enable(False)
            prj_tree_ctrl.Bind(wx.EVT_MENU, self.OnMakeDemo, id=self.demoID)
        
        # 'Создать публикацию'
        self.publicID = wx.NewId()
        item = flatmenu.FlatMenuItem(tool_submenu, self.publicID,
                                     u'Публикация', u'Публикация',
                                     normalBmp=imglib.imgInstall)
        tool_submenu.AppendItem(item)
        item.Enable(prj_none)
        prj_tree_ctrl.Bind(wx.EVT_MENU, self.OnMakePublic, id=self.publicID)

        # 'Браузер библиотеки образов'
        self.imglibID = wx.NewId()
        item = flatmenu.FlatMenuItem(tool_submenu, self.imglibID,
                                     u'Библиотека образов', u'Библиотека образов',
                                     normalBmp=imglib.imgEdtImgBrowser)
        tool_submenu.AppendItem(item)
        prj_tree_ctrl.Bind(wx.EVT_MENU, self.OnImgLibBrowser, id=self.imglibID)

        # 'Редактор регулярных выражений'
        self.regexpeditID = wx.NewId()
        item = flatmenu.FlatMenuItem(tool_submenu, self.regexpeditID,
                                     u'Редактор регулярных выражений', u'Редактор регулярных выражений',
                                     normalBmp=ic_bmp.createLibraryBitmap('regular-expression-delimiter.png'))
        tool_submenu.AppendItem(item)
        prj_tree_ctrl.Bind(wx.EVT_MENU, self.OnRegExpEditor, id=self.regexpeditID)

        # 'Утилита сравнения файлов'
        self.diffID = wx.NewId()
        item = flatmenu.FlatMenuItem(tool_submenu, self.diffID,
                                     u'Утилита сравнения файлов', u'Утилита сравнения файлов',
                                     normalBmp=ic_bmp.createLibraryBitmap('edit-diff.png'))
        tool_submenu.AppendItem(item)
        prj_tree_ctrl.Bind(wx.EVT_MENU, self.OnDiffTool, id=self.diffID)

        # 'Импорт метаобъектов 1С'
        self.imp1cID = wx.NewId()
        item = flatmenu.FlatMenuItem(tool_submenu, self.imp1cID,
                                     u'Импорт метаобъектов 1С', u'Импорт метаобъектов 1С',
                                     normalBmp=ic_bmp.createLibraryBitmap('1c.png'))
        tool_submenu.AppendItem(item)
        prj_tree_ctrl.Bind(wx.EVT_MENU, self.OnImport1C, id=self.imp1cID)

        # 'Дизайнер форм wxFormBuilder'
        self.wxfbID = wx.NewId()
        item = flatmenu.FlatMenuItem(tool_submenu, self.wxfbID,
                                     u'Дизайнер форм wxFormBuilder', u'Дизайнер форм wxFormBuilder',
                                     normalBmp=ic_bmp.createLibraryBitmap('wxformbuilder.png'))
        tool_submenu.AppendItem(item)
        prj_tree_ctrl.Bind(wx.EVT_MENU, self.OnWXFormBuilder, id=self.wxfbID)

        self.AppendSubMenu(tool_submenu, u'Инструменты')

        self.AppendSeparator()

        # 'Показывать всплывающие подсказки'
        self.popup_helpID = wx.NewId()
        item = flatmenu.FlatMenuItem(self, self.popup_helpID,
                                     u'Всплывающая подсказка', u'Всплывающая подсказка',
                                     kind=wx.ITEM_CHECK)
        self.AppendItem(item)
        # Галку ставить только после присоединения пункта к меню
        item.Check(self._Parent.show_popup_help)
        prj_tree_ctrl.Bind(wx.EVT_MENU, self.OnPopupHelp, id=self.popup_helpID)
        
        # 'Помощь'
        self.hlpID = wx.NewId()
        item = flatmenu.FlatMenuItem(self, self.hlpID,
                                     u'Помощь', u'Помощь',
                                     normalBmp=imglib.imgHelpBook)
        self.AppendItem(item)
        prj_tree_ctrl.Bind(wx.EVT_MENU, self.OnHelp, id=self.hlpID)
Example #11
0
 def getArchivator(self):
     """
     Архиватор.
     """
     return ini.loadParamINI(self._prj_ini_file_name,
                             'INSTALL', 'archivator')
Example #12
0
 def readPrjVersion(self):
     """
     Версия проекта.
     """
     return ini.loadParamINI(self._prj_ini_file_name,
                             'INSTALL', 'version')
Example #13
0
 def getPrjAuthor(self):
     """
     Автор.
     """
     return ini.loadParamINI(self._prj_ini_file_name,
                             'INSTALL', 'prj_author')
Example #14
0
 def getPrjName(self):
     """
     Имя проекта/имя папки проекта.
     """
     return ini.loadParamINI(self._prj_ini_file_name,
                             'INSTALL', 'prj_name')
Example #15
0
 def getPrjCopyright(self):
     """
     Права.
     """
     return ini.loadParamINI(self._prj_ini_file_name,
                             'INSTALL', 'prj_copyright')
Example #16
0
 def getConsole(self):
     """
     Признак поддержки консоли.
     """
     return bool(ini.loadParamINI(self._prj_ini_file_name,
                                  'INSTALL', 'console'))
Example #17
0
 def getPrjTitle(self):
     """
     Заголовок проекта в инсталяторе.
     """
     return ini.loadParamINI(self._prj_ini_file_name,
                             'INSTALL', 'prj_title')