def Text(language): class Translation(Default): pass languagePath = os.path.join(eg.languagesDir, "%s.py" % language) try: eg.ExecFile(languagePath, {}, Translation.__dict__) except IOError: pass SetDefault(Translation, Default) return Translation
def GetSkinnedBitmap( textLines, textWidths, textHeights, textWidth, textHeight, memoryDC, textColour, skinName ): image = wx.Image(join(SKIN_DIR, skinName + ".png")) option = eg.Bunch() def Setup(minWidth, minHeight, xMargin, yMargin, transparentColour=None): width = textWidth + 2 * xMargin if width < minWidth: width = minWidth height = textHeight + 2 * yMargin if height < minHeight: height = minHeight option.xMargin = xMargin option.yMargin = yMargin option.transparentColour = transparentColour bitmap = wx.EmptyBitmap(width, height) option.bitmap = bitmap memoryDC.SelectObject(bitmap) return width, height def Copy(x, y, width, height, toX, toY): bmp = wx.BitmapFromImage(image.GetSubImage((x, y, width, height))) memoryDC.DrawBitmap(bmp, toX, toY) def Scale(x, y, width, height, toX, toY, toWidth, toHeight): subImage = image.GetSubImage((x, y, width, height)) subImage.Rescale(toWidth, toHeight, wx.IMAGE_QUALITY_HIGH) bmp = wx.BitmapFromImage(subImage) memoryDC.DrawBitmap(bmp, toX, toY) scriptGlobals = dict(Setup=Setup, Copy=Copy, Scale=Scale) eg.ExecFile(join(SKIN_DIR, skinName + ".py"), scriptGlobals) bitmap = option.bitmap memoryDC.SelectObject(wx.NullBitmap) bitmap.SetMask(wx.Mask(bitmap, option.transparentColour)) memoryDC.SelectObject(bitmap) memoryDC.SetTextForeground(textColour) memoryDC.SetTextBackground(textColour) DrawTextLines( memoryDC, textLines, textHeights, option.xMargin, option.yMargin ) memoryDC.SelectObject(wx.NullBitmap) return bitmap
def __init__(self): Section.__init__(self) configDir = eg.configDir if not os.path.exists(configDir): os.makedirs(configDir) configFilePath = os.path.join(configDir, "config.py") self._configFilePath = configFilePath if exists(configFilePath): try: eg.ExecFile(configFilePath, {"__metaclass__": MakeSectionMetaClass}, self.__dict__) except: if eg.debugLevel: raise else: eg.PrintDebugNotice('File "%s" does not exist.' % configFilePath) if self.language == "Deutsch": self.language = "de_DE"
def __init__(self): Section.__init__(self) configDir = eg.configDir if not os.path.exists(configDir): os.makedirs(configDir) configFilePath = os.path.join(configDir, "config.py") self._configFilePath = configFilePath # BUG: of the python function 'ExecFile'. It doesn't handle unicode # filenames right. configFilePath = configFilePath.encode(sys.getfilesystemencoding()) if exists(configFilePath): try: eg.ExecFile(configFilePath, {"__metaclass__": MakeSectionMetaClass}, self.__dict__) except: if eg.debugLevel: raise else: eg.PrintDebugNotice('File "%s" does not exist.' % configFilePath)
def LoadLanguage(self, language): Config.language = language self.isDirty = False self.SetTitle("EventGhost Language Editor - %s [%s]" % (eg.Translation.languageNames[language], language)) tree = self.tree tree.Unbind(wx.EVT_TREE_SEL_CHANGING) tree.DeleteChildren(self.rootId) translation = eg.Bunch() languagePath = os.path.join(eg.languagesDir, "%s.py" % language) if os.path.exists(languagePath): eg.ExecFile(languagePath, {}, translation.__dict__) self.translationDict = translation.__dict__ self.translationDict["__builtins__"] = {} for name in ( "General", "MainFrame", "Error", "Exceptions", "CheckUpdate", "AddActionDialog", "AddPluginDialog", "AddActionGroupDialog", "EventItem", "OptionsDialog", "FindDialog", "AboutDialog", "WinUsb", ): newId = tree.AppendItem(self.rootId, name, 2) value = getattr(eg.text, name) tree.SetPyData(newId, [name, value, None]) self.FillTree(newId, value, name) #tree.Expand(newId) plugins = [ "EventGhost", "System", "Window", "Mouse", ] for name in dir(eg.text.Plugin): if name.startswith("__"): continue if name not in plugins: plugins.append(name) pluginId = tree.AppendItem(self.rootId, "Plugins", 2) tree.SetPyData(pluginId, ["Plugin", eg.text.Plugin, None]) for name in plugins: newId = tree.AppendItem(pluginId, name, 2) value = getattr(eg.text.Plugin, name) evalPath = "Plugin." + name tree.SetPyData(newId, [evalPath, value, None]) self.FillTree(newId, value, evalPath) tree.Bind(wx.EVT_TREE_SEL_CHANGING, self.OnSelectionChanging) tree.Expand(self.rootId) tree.Expand(pluginId) tree.ScrollTo(self.rootId) self.OnCmdFindNext(currentId=self.rootId)