[Resolved] MyGUI 2.2.2 with Ogre 1.7.0: SkinLine not found


25-05-2009 09:35:41

MyGUI works with ogre 1.7.0
but I had to make a small modification to use the "List" widget.

In MyGUI_List.cpp I had to comment out the line 87:

MYGUI_ASSERT(false == mSkinLine.empty(), "SkinLine property not found (List must have SkinLine property)");

I had an assert even if the widget layout had a SkinLine:
<Widget type="List" skin="ItemBox" position="4 113 208 200" name="List">
<Property key="NeedKey" value = "true" />
<Property key="Widget_Caption" value="Play List"/>
<Property key="SkinLine" value = "ListLine" />

IMO the problem comes from the LayoutManager::parseWidget() where the widget is created before the properties are read. Hence the triggering of the assert during the creation of the widget.

Of course I might be missing something obvious.


25-05-2009 09:45:50

Mh... found a better way.

I was using a "ItemBox" skin for the "List". So I only had to add to the core_skin.xml at line

<Property key="SkinLine" value = "ListLine" />

to have:

<Skin name = "ItemBox" size = "11 11" texture = "#{MyGUI_Theme_Texture}">
<Property key="AlignVert" value = "true" />
<Property key="DragLayer" value = "DragAndDrop" />
<Property key="SkinLine" value = "ListLine" /> <------------------- new line

I hope it helps someone :roll: