Skins are only partially implemented

Posted by: mikedempsey on 8 September 2017, 2:19 pm EST

  • Posted 8 September 2017, 2:19 pm EST

    It seems that Skins in Spread are only partially implemented.


    If I set the skin to Rose it changes the Column/Row Headers to rose, but everything else remains in shades of blue.


    To be useful it needs to set the scroll bars, splitter bars, 'GreyArea', etc. to a matching set of colors.


    I know I can fix this by creating my own Interface and Scrollbar renderers but that requires a lot of work - most of which is looking at your skins to determin (visually) what colors you used in the column headers so that I can then define my own renderers that match.


    (This isn't too bad if you only want to work with 1 skin, but if you want to allow the user to choose their own skin you have to repeat it for every skin, and add code to determine which skin they selected and create the matching renderers.)


    For a full implementation of skins, setting any of the predefined skins should also set the Interface and Scrollbar renderers to match.
    At a minimum FarPoint need to publish the list of colors used within their predefined skins so that we can create matching renderers without spending days trying to figure out the colors for ourselves.
    (This info can probably be pulled directly from the source code file that applies the skins)


    Thanks
    Mike


     

  • Replied 8 September 2017, 2:19 pm EST

    Hello Mike,

     I was not able to replicate the issue at my end with spread v4.0.2015. The attached screen-shot shows the style changed when the style is set to 'rose'.  I would recommend you to install this build if you have an old build. Also please let me know if I misunderstood you.

    Regards,

    Subodh

    GrapeCity FarPoint



  • Replied 8 September 2017, 2:19 pm EST

    I am currently using v4.0.2011.2005.


    I will need to check 4.0.2015 (although I may not be able to upgrade the app to that version for a while.)


    It is possible that my test set something that caused the problem I guess - I do not show the tabs, so the horizontal scrollbar area will be painted differently at least.


    Thanks
    Mike 

  • Replied 8 September 2017, 2:19 pm EST

    I think the problem was that I was assigning the skin to the Sheet rather than to the Spread object.


    Apparently the scroll bars are not considered part of the Sheet - probably because they are painted along with the Tabs.


    When I apply one of the builtin skins to the Spread object everything works fine.


    One more question though.


    I want to change the SelectionBackColor.


    I tried to apply the skin and then assign a new color to Sheet.ActiveSkin.SelectionBackColor but this is read only.
    How do I modify this color after assigning a skin?
    (I checked the EnhancedInterfaceRenderer but I dont see a property for this.)


    Thanks
    Mike 



     

  • Replied 8 September 2017, 2:19 pm EST

    Hello,

    Yes SelectionBackColor is a read only property for the Skins.However, as a workaround you can set SelectionBackColor to the all the sheets in Spread after assigning the Skin to the Spread.

                 FarPoint.Win.Spread.SpreadSkin skin = new FarPoint.Win.Spread.SpreadSkin(FarPoint.Win.Spread.DefaultSpreadSkins.Rose);
                skin.Apply(fpSpread1);
                for (int sheetIndex = 0; sheetIndex < fpSpread1.Sheets.Count; sheetIndex++)
                {
                    fpSpread1.Sheets[sheetIndex].SelectionStyle = FarPoint.Win.Spread.SelectionStyles.SelectionColors;
                    fpSpread1.Sheets[sheetIndex].SelectionBackColor = Color.Aqua;
                }

    Hope this will help you. Thanks.

Need extra support?

Upgrade your support plan and get personal unlimited phone support with our customer engagement team

Learn More

Forum Channels