Results 1 to 5 of 5

Thread: Theme builder: Tab Panel

    Success! Looks like we've fixed this one. According to our records the fix was applied for EXTGWT-3736 in 3.1.1.
  1. #1
    Sencha Premium Member Neilcoder's Avatar
    Join Date
    Apr 2011
    Location
    Ireland
    Posts
    264

    Arrow Theme builder: Tab Panel

    Tab Panel handle for "extending buttons"

    whats_the_handle4extender.png

    Hi I was trying to figure out how to get a handle for the buttons that are automagically produced when a tab panel is resized to occupy a small space than intended (see the blue left/right buttons in the picture).

    Thanks
    Neil

    __________________

    Update,

    I've still not worked this one out.

    borders

    In addition I've come across something else about the tabpanel, and I'm not sure if its a bug or what;

    I cannot seem to affect some of the border attributes though I'm not sure if that's down to the code I've written;

    PHP Code:
        tabs {
            
    border util.border('solid'theme.borderColor1)
          
    borderRadius 3
          borderColor 
    "#928989"
          
    //bodyBackgroundColor = util.matteGradient("#F7F1F2", 0.02)
          
    bodyBackgroundColor "#FFFFFF"
          
          
    gradient "#F7F4F4 45%, #ECEAEA "
          
    inactiveGradient " #f5efef 0%, #EBEBEB 22%, #D6D3D3 83%,  #C5C2C2 98%, #B1AFAF 100% "
          
    hoverGradient " #FAF5F5 0%, #F3F3F3 22%, #ECEAEA 83%,  #C5C2C2 99%, #B1AFAF 100%"

          
    lastStopColor "#ECEAEA"
          
    inactiveLastStopColor "#CAC8C8"

          
    tabItemBorderLeft "solid 1px #444040"
          
    tabItemBorderTop "none"
          
    tabItemBorderRight "solid 1px #444040" /* no idea what these are for */

          
    headingColor "#CEC4CC"

          
    //tabStripGradient = util.solidGradientString('#928989')
          
    tabStripGradient util.reversedMatteGradient("#D9D0D1"0.15)

          
    headingText util.extend(theme.headerText, {
            
    color "#444040"
          
    })
          
    hoverHeadingText headingText

          activeHeadingText 
    util.extend(headingText, {
            
    color "#444040"
          
    })

          
    iconWidth 16
          closeIconWidth 
    11

          tabHeight 
    31
          tabSpacing 
    1
          padding 
    util.padding(10)

          
    paddingWithIcon util.padding(padding.left iconWidth/2)
          
    iconLeftOffset 6
          iconTopOffset 
    5

          paddingWithClosable 
    util.padding(padding.right closeIconWidth 2)
          
    scrollerWidth 18
          
          tabStripPadding 
    util.padding(1)
          
    tabBarBorder "solid 1px #444040"
          

          
    tabBarBottomHeight 4
          tabStripBottomBorder 
    "solid 1px #444040"
          
    tabBodyBorder "#CAC8C8"
          
    tabTextPadding util.padding(100)
        } 
    also if i do this;

    PHP Code:
    tabBarBorder  util.border('solid'theme.borderColor1
    it generates this error when I runf the bat

    Code:
    C:\Users\Neilmc\Downloads\gxt-3.1.0\gxt-theme.neptune>..\themebuilder\bin\themer.bat .\customred.theme
    java.lang.IllegalArgumentException: Can't find the given method border
            at com.sencha.gxt.themebuilder.config.vm.ThemeUtilVmFactory.getMethod(ThemeUtilVmFactory.java:55)
            at com.sencha.gxt.themebuilder.config.shared.ThemerUtils$ThemerUtilFactory$ThemerUtilInvocation.method(ThemerUtils.java:86)
            at com.sencha.gxt.themebuilder.config.shared.ThemerUtils$ThemerUtilFactory$ThemerUtilInvocation.stringMethod(ThemerUtils.java:73)
            at com.sencha.gxt.themebuilder.config.shared.CfgFuncCall.resolveString(CfgFuncCall.java:45)
            at com.sencha.gxt.themebuilder.config.shared.CfgFuncCall$resolveString.call(Unknown Source)
            at com.sencha.gxt.themebuilder.config.shared.CfgStringLiteral$resolveString.call(Unknown Source)
            at com.sencha.gxt.themebuilder.ConfigHandler$_validateConfig_closure5_closure9.doCall(ConfigHandler.groovy:291)
            at com.sencha.gxt.themebuilder.ConfigHandler$_validateConfig_closure5.doCall(ConfigHandler.groovy:258)
            at com.sencha.gxt.themebuilder.ConfigHandler$_validateConfig_closure5_closure9.doCall(ConfigHandler.groovy:279)
            at com.sencha.gxt.themebuilder.ConfigHandler$_validateConfig_closure5.doCall(ConfigHandler.groovy:258)
            at com.sencha.gxt.themebuilder.ConfigHandler.validateConfig(ConfigHandler.groovy:316)
            at com.sencha.gxt.themebuilder.ConfigHandler.load(ConfigHandler.groovy:151)
            at com.sencha.gxt.themebuilder.ConfigHandler$load$0.callStatic(Unknown Source)
            at com.sencha.gxt.themebuilder.ConfigHandler.load(ConfigHandler.groovy:101)
            at com.sencha.gxt.themebuilder.ConfigHandler$load.call(Unknown Source)
            at com.sencha.gxt.themebuilder.ThemeBuilder.main(ThemeBuilder.groovy:87)
    Exception in thread "main" com.sencha.gxt.themebuilder.ConfigHandler$ConfigError: Configuration Errors:
    Error occurred validating config: Can't find the given method border: theme.details.tabs.tabBarBorder
    
            at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
            at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
            at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
            at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77)
            at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:102)
            at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:57)
            at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:182)
            at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:186)
            at com.sencha.gxt.themebuilder.ConfigHandler.validateConfig(ConfigHandler.groovy:309)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:606)
            at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
            at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrapNoCoerce.invoke(StaticMetaMethodSite.java:148)
            at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:99)
            at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:53)
            at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:157)
            at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:165)
            at com.sencha.gxt.themebuilder.ConfigHandler.load(ConfigHandler.groovy:151)
            at com.sencha.gxt.themebuilder.ConfigHandler$load$0.callStatic(Unknown Source)
            at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:53)
            at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:157)
            at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:173)
            at com.sencha.gxt.themebuilder.ConfigHandler.load(ConfigHandler.groovy:101)
            at com.sencha.gxt.themebuilder.ConfigHandler$load.call(Unknown Source)
            at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
            at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
            at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
            at com.sencha.gxt.themebuilder.ThemeBuilder.main(ThemeBuilder.groovy:87)
    
    C:\Users\Neilmc\Downloads\gxt-3.1.0\gxt-theme.neptune>
    Update It seems as though sometimes there is some kind of caching going on as I can now see the changes. Im not entirely sure if it was an action I took that might have caused this to happen, but the border changes seem to have an affect on the style now.

  2. #2
    Sencha User
    Join Date
    Feb 2009
    Location
    Minnesota
    Posts
    2,737

    Default

    The problem is that tabBarBorder expects a string, but util.border returns a border object. Instead, pass in something like '1px solid' + theme.borderColor. In a future release, we'll review all the cases where we *dont* use the border object correctly and update them. Likewise we'll try to improve the error checking to try to find *any* matching method, and explain why it *doesnt* match correctly.

  3. #3
    Sencha Premium Member Neilcoder's Avatar
    Join Date
    Apr 2011
    Location
    Ireland
    Posts
    264

    Default

    Thanks Colin, the error messages would be a great help.

  4. #4
    Sencha Premium Member Neilcoder's Avatar
    Join Date
    Apr 2011
    Location
    Ireland
    Posts
    264

    Default

    I should mention here for readers, that the advice on the theme file helped clear up the error i was having with the theme building.

    Although... I'm still stuck with the tab extender buttons colour, not sure how to change the colour of those / what property does it relate to? (see image above where the tab extender/scroll buttons are blue, but i need them to be a gray colour.)

  5. #5
    Sencha Sr Product Manager
    Join Date
    Jan 2012
    Location
    Arlington, WA
    Posts
    1,178

    Default

    Thanks for reporting, unfortunately this looks like a bug where we hardcode the background color. In this case, the appearance will have to be overridden to provide what you desire or there could be another method of changing element attributes.

    Would you like some help in looking for a workaround?

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •