Falagard TabControl issue?

Discussion regarding the development of CEGUI itself - as opposed to questions about CEGUI usage that should be in the help forums.

Moderators: CEGUI MVP, CEGUI Team

User avatar
spannerman
Home away from home
Home away from home
Posts: 330
Joined: Wed Jan 12, 2005 12:06

Falagard TabControl issue?

Postby spannerman » Wed Feb 08, 2006 00:17

I recently upgraded a project Im working on to use CEGUI CVS HEAD version, and Im having a problem with the TabControl. The error Im getting is:

Code: Select all

Exception: WindowManager::getWindow - A Window object with the name 'tcLevels__auto_TabPane__Buttons' does not exist within the system


The string "__auto_TabPane__Buttons" is defined as a constant in CEGUITabControl like so:

Code: Select all

const String TabControl::TabButtonPaneNameSuffix( "__auto_TabPane__Buttons" );


Now, I may be wrong here, but it doesnt look to me (after searching the source for that constant) like a window with the name of TabButtonPaneNameSuffix is ever created, which would explain the error Im getting.

Hope that helps :)

User avatar
spannerman
Home away from home
Home away from home
Posts: 330
Joined: Wed Jan 12, 2005 12:06

Re: Falagard TabControl issue?

Postby spannerman » Wed Feb 08, 2006 18:23

I may be completely wrong about this - it may well be a problem with my own code, or missing some sort of XML definition somewhere Im not sure.

If anybody could confirm that they are using Tabs successfully with cvs HEAD that would be cool. Cheers

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Re: Falagard TabControl issue?

Postby CrazyEddie » Thu Feb 09, 2006 09:22

Hi spannerman :)

As far as I know all widgets in head are functioning, although I have not had a chance to test this one specifically.

There is likely no code to create that component widget - in most cases these widgets now need to be specified as part of the "look'n'feel" xml.

Hope this helps a little. If you're still having trouble, I'll try to help some more after the website move (which is taking all my time at the moment).

CE.

User avatar
spannerman
Home away from home
Home away from home
Posts: 330
Joined: Wed Jan 12, 2005 12:06

Postby spannerman » Fri Feb 10, 2006 16:10

Hey Paul, long time no chat. Hopefully now with the faster forums I'll be around a little more ;)

Well, I cant quite put my finger on this problem. It looks like I have all the necessary XML stuff defined. I'll review here in case someone can spot something obvious:

WindowsLook.looknFeel

Code: Select all

    <!--
    ***************************************************
        WindowsLook/TabControl
    ***************************************************
    -->
    <WidgetLook name="WindowsLook/TabControl">
        <Property name="TabButtonType" value="WindowsLook/TabButton" />
        <Child  type="WindowsLook/TabPane" nameSuffix="__auto_TabPane__">
            <Area>
                <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
                <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
                <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
                <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
            </Area>
        </Child>
        <Child  type="DefaultWindow" nameSuffix="__auto_TabPane__Buttons">
            <Area>
                <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
                <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
                <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
                <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
            </Area>
        </Child>
        <StateImagery name="Enabled" />
        <StateImagery name="Disabled" />
    </WidgetLook>


WindowsLook.sheme

Code: Select all

    <FalagardMapping WindowType="WindowsLook/TabButton" TargetType="Falagard/TabButton" LookNFeel="WindowsLook/TabButton" />
    <FalagardMapping WindowType="WindowsLook/TabControl" TargetType="Falagard/TabControl" LookNFeel="WindowsLook/TabControl" />
    <FalagardMapping WindowType="WindowsLook/TabPane" TargetType="Falagard/TabPane" LookNFeel="WindowsLook/TabPane" />


WindowsLook.imageset

Code: Select all

   <Image Name="TabControlButtonPaneFiller" XPos="81" YPos="34" Width="2" Height="2" />
   <Image Name="TabPaneLeft" XPos="92" YPos="9" Width="2" Height="2" />
   <Image Name="TabPaneRight" XPos="106" YPos="9" Width="2" Height="2" />
   <Image Name="TabPaneLower" XPos="99" YPos="16" Width="2" Height="2" />
   <Image Name="TabPaneLowerLeft" XPos="92" YPos="15" Width="3" Height="3" />
   <Image Name="TabPaneLowerRight" XPos="105" YPos="15" Width="3" Height="3" />
   <Image Name="TabPaneMiddle" XPos="9" YPos="9" Width="2" Height="2" />
   <Image Name="TabButtonLeftNormal" XPos="74" YPos="27" Width="2" Height="2" />
   <Image Name="TabButtonRightNormal" XPos="88" YPos="27" Width="2" Height="2" />
   <Image Name="TabButtonUpperNormal" XPos="81" YPos="20" Width="2" Height="2" />
   <Image Name="TabButtonLowerNormal" XPos="81" YPos="34" Width="2" Height="2" />
   <Image Name="TabButtonUpperLeftNormal" XPos="74" YPos="20" Width="3" Height="3" />
   <Image Name="TabButtonUpperRightNormal" XPos="87" YPos="20" Width="3" Height="3" />
   <Image Name="TabButtonLowerLeftNormal" XPos="74" YPos="33" Width="3" Height="3" />
   <Image Name="TabButtonLowerRightNormal" XPos="87" YPos="33" Width="3" Height="3" />
   <Image Name="TabButtonMiddleNormal" XPos="9" YPos="9" Width="2" Height="2" />

   <Image Name="TabButtonLeftSelected" XPos="92" YPos="27" Width="2" Height="2" />
   <Image Name="TabButtonRightSelected" XPos="106" YPos="27" Width="2" Height="2" />
   <Image Name="TabButtonUpperSelected" XPos="99" YPos="20" Width="2" Height="2" />
   <Image Name="TabButtonUpperLeftSelected" XPos="92" YPos="20" Width="3" Height="3" />
   <Image Name="TabButtonUpperRightSelected" XPos="105" YPos="20" Width="3" Height="3" />
   <Image Name="TabButtonMiddleSelected" XPos="9" YPos="9" Width="2" Height="2" />


Thanks for any help (and Im sorely missing the hammer dude emoticon :( )

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Postby CrazyEddie » Sat Feb 11, 2006 10:20

spannerman wrote:Hey Paul, long time no chat. Hopefully now with the faster forums I'll be around a little more ;)

Cool. Hopefully there will be a lot of people around more ;)

spannerman wrote:Well, I cant quite put my finger on this problem. It looks like I have all the necessary XML stuff defined. I'll review here in case someone can spot something obvious:

Sorry to be the bearer of bad news, but I have done some checking into this, and it's a bug in the TabControl::performChildWindowLayout member; basically it's trying to access the sub-component windows before they're created (seems like an obvious thing we should have checked - oh well :roll:). I'll look to get this fixed over this weekend if at all possible, though this will depend upon me reviewing some huge changes that lindquist has been doing in another branch; basically in a little while CVS-HEAD will be radically different (hey, it's not referred to as 'unstable' for nothin :) ).

spannerman wrote:Im sorely missing the hammer dude emoticon :(

Just for you, he's back :hammer:

User avatar
spannerman
Home away from home
Home away from home
Posts: 330
Joined: Wed Jan 12, 2005 12:06

Postby spannerman » Sun Feb 12, 2006 22:10

CrazyEddie wrote:Sorry to be the bearer of bad news, but I have done some checking into this, and it's a bug in the TabControl::performChildWindowLayout member; basically it's trying to access the sub-component windows before they're created (seems like an obvious thing we should have checked - oh well :roll:). I'll look to get this fixed over this weekend if at all possible, though this will depend upon me reviewing some huge changes that lindquist has been doing in another branch; basically in a little while CVS-HEAD will be radically different (hey, it's not referred to as 'unstable' for nothin :) ).


Well Im glad you found the problem, thats great news. Im well aware of CVS Head being unstable...I like to think Im helping out a little by using it and therefore giving it some extra testing ;) Plus CEGUI just gets better and better so I have no problem using the cutting edge stuff.

CrazyEddie wrote:Just for you, he's back :hammer:


Yaaay! Go crazy hammer dude :arrow: :hammer:

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Postby CrazyEddie » Mon Feb 13, 2006 10:55

Ok, this morning I have committed to CVS HEAD branch a fix for this issue and also another bug that was affecting the Tab Control.

spannerman wrote:Im well aware of CVS Head being unstable...I like to think Im helping out a little by using it and therefore giving it some extra testing :wink: Plus CEGUI just gets better and better so I have no problem using the cutting edge stuff.

We're always glad of some extra testing :) Though I never like to feel that some bug like this is holding up someone else's project :hammer:

CE

User avatar
spannerman
Home away from home
Home away from home
Posts: 330
Joined: Wed Jan 12, 2005 12:06

Postby spannerman » Tue Feb 14, 2006 18:26

Thanks man, thats certainly solved that problem. I can see the tab control and all my tabs now, cheers for that!

Now, I just cant remember, but before when you had selected a tab, Im pretty sure that the selected tabs button would remain 'highlighted', as in sort of underlined by the green line (in wondowslook). If Im right about this, then Im afraid that this might not be happening anymore :?

CrazyEddie wrote:We're always glad of some extra testing :) Though I never like to feel that some bug like this is holding up someone else's project


I wouldnt worry about that to be honest. Playing with unstable code = you get what you pay for, so to speak ;) If people dont want to risk it they can stick with the stable releases.

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Postby CrazyEddie » Tue Feb 14, 2006 20:04

spannerman wrote:Now, I just cant remember, but before when you had selected a tab, Im pretty sure that the selected tabs button would remain 'highlighted', as in sort of underlined by the green line (in wondowslook). If Im right about this, then Im afraid that this might not be happening anymore :?

There are a few differences here and there between the code based renderers we had previously and the xml described stuff used now with the falagard skinning system.

The TabControl was probably the most difficult to get anywhere near how it was under code. There is still room for some tweaking of states and what have you in this, and probably other widgets, so with any luck there may be further improvments down the road :twisted:

User avatar
spannerman
Home away from home
Home away from home
Posts: 330
Joined: Wed Jan 12, 2005 12:06

Postby spannerman » Tue Feb 14, 2006 22:10

Fair enough, glad to hear it ;)


Return to “CEGUI Library Development Discussion”

Who is online

Users browsing this forum: No registered users and 6 guests