Problems with CEGUI

minkyn

30-11-2009 08:52:02

I am trying to follow Basic Tutorial 6, and am using CEGUI as the gui module. However, I get this error:

AttributeError: 'module' object has no attribute 'OgreCEGUIRenderer'

So I tried dir(CEGUI) and the results showed that there is only an OgreRenderer method that is available, but its C++ signature is what we want as specified in this tutorial.

Then I saw some demos in demos/cegui/, but all got this problem when run.

However, I looked at the website of CEGUI's python implementation, and they still use OgreCEGUIRenderer method, which means this method is definitely not out-of-date.

I tried other gui and they worked fine. So I guess this might be an issue with the release of Python-Ogre where this CEGUI wrapper is broken. But I don't get any other post complaining about this problem, and thus wonder how the authors of these tutorials managed to run their codes.

andy

01-12-2009 15:27:52

If you are using the 1.7 version of Python-Ogre then it's built with the latest CEGUI version and the demos are broken due to API changes in the C++ library.. As per this message (at the bottom)

You can grab working demos (at least a couple of them) from the SVN...

Sorry for the confusion, however trying to get the latest and great of everything out there :)

Andy

gyrcom

04-03-2010 01:53:21

Hi, I thank you Andy for doing so much.

I have had a working version of Python-ogre on my Ubuntu 9.1 System for a while and have run into this CEGUI problem.

illy me to try an upgrade.

Where may I find a sample of working of the new CEGUI code?

Thanks again

andy

06-03-2010 09:19:02

By default the current linux build uses the latest cegui.. So you should just get it by default...

Andy

gyrcom

08-03-2010 03:40:44

I have followed the V4 instructions and have spent nearly two weeks on this in my spare time.
I have re-compiled everything several times.
The error I get.

Traceback (most recent call last):
File "/home/mccarter/development/python-ogre/demos/cegui/Demo_CEGUI_TabControlv061.py", line 369, in <module>
ta.go()
File "/usr/local/lib/python2.6/dist-packages/ogre/renderer/OGRE/sf_OIS.py", line 105, in go
if not self._setUp():
File "/usr/local/lib/python2.6/dist-packages/ogre/renderer/OGRE/sf_OIS.py", line 152, in _setUp
self._createScene()
File "/home/mccarter/development/python-ogre/demos/cegui/Demo_CEGUI_TabControlv061.py", line 72, in _createScene
self.CEGUIRenderer = CEGUI.OgreCEGUIRenderer(self.renderWindow,
AttributeError: 'module' object has no attribute 'OgreCEGUIRenderer'

I read somewhere that ogre needs to be compiled again after CEGUI is installed for this to work, Have tried to no avail.
Thanks

andy

08-03-2010 10:20:30

What happens when you run "Demo_CEGUI_Gui.py" as it's been updated to the new CEGUI API whereas I'm not sure if the rest have...

Working through the Ogre 1.7 support at the moment and once completed will refresh all the demos..

Andy

gyrcom

09-03-2010 04:54:17

BONUS!!!

Thanks so very much!

jonyfries

16-05-2010 20:32:16

Any chance of getting the tutorials updated?

Gurrier

18-05-2010 11:33:43

Here is a snippet from the working CEGUI demo's. I did change sometings for my project.

# initiaslise OgreCEGUI Renderer
if CEGUI.Version__.startswith ("0.6"):
self.CEGUIRenderer = CEGUI.OgreRenderer(self.renderWindow,
ogre.RENDER_QUEUE_OVERLAY, False, 3000, self.sceneManager)
self.CEGUIsystem = CEGUI.System(self.GUIRenderer)
else:
self.CEGUIRenderer = CEGUI.OgreRenderer.bootstrapSystem()
self.CEGUIsystem = CEGUI.System.getSingleton()

## set the logging level
CEGUI.Logger.getSingleton().loggingLevel = CEGUI.Insane

## we will make extensive use of the WindowManager.
winMgr = CEGUI.WindowManager.getSingleton()

# Load the scheme to initialse the VanillaSkin which we use in this sample
if CEGUI.Version__.startswith ("0.6"):
CEGUI.SchemeManager.getSingleton().loadScheme("VanillaSkin.scheme")
# set default mouse image
CEGUI.System.getSingleton().setDefaultMouseCursor("Vanilla-Images", "MouseArrow")
# load an image to use as a background
CEGUI.ImagesetManager.getSingleton().createImagesetFromImageFile("BackgroundImage", "GPN-2000-001437.tga")
else:
CEGUI.SchemeManager.getSingleton().create("VanillaSkin.scheme")
# set default mouse image
CEGUI.System.getSingleton().setDefaultMouseCursor("Vanilla-Images", "MouseArrow")
# load an image to use as a background
CEGUI.ImagesetManager.getSingleton().createFromImageFile("BackgroundImage", "GPN-2000-001437.tga")




# here we will use a StaticImage as the root, then we can use
# it to place a background image
background = winMgr.createWindow("Vanilla/StaticImage")
# set area rectangle
background.setArea(CEGUI.URect(cegui_reldim(0), cegui_reldim(0),
cegui_reldim(1), cegui_reldim(1)))
# disable frame and standard background
background.setProperty("FrameEnabled", "false")
background.setProperty("BackgroundEnabled", "false")
# set the background image
#background.setProperty("Image", "set:BackgroundImage image:full_image")
# install this as the root GUI sheet
CEGUI.System.getSingleton().setGUISheet(background)

if CEGUI.Version__.startswith ("0.6"):
if not CEGUI.FontManager.getSingleton().isFontPresent("Iconified-12"):
CEGUI.FontManager.getSingleton().createFont("Iconified-12.font")
# load some demo windows and attach to the background 'root'
#background.addChildWindow(winMgr.loadWindowLayout("VanillaWindows.layout", False))
else:
if not CEGUI.FontManager.getSingleton().isDefined("Iconified-12"):
CEGUI.FontManager.getSingleton().create("Iconified-12.font")
# load some demo windows and attach to the background 'root'
#background.addChildWindow(winMgr.loadWindowLayout("VanillaWindows.layout"))