1. Simone Olianti
  2. PowerBuilder
  3. Tuesday, 26 January 2021 11:20 AM UTC

Hello, after migrating to pb2019 R3 i'm experiencing a strange behaviour enabling themes on my application.

i've created a main general theme.json where i coded how the "window" should look and several other .json where i coded single window object names that i want to get a different background color.

Everything working fine in PB 2019 R2, but i get a strange error everytime i use a window listed on the "other" .json

this is my main "theme.json":

{
    "meta-info":
    {
        "version":"190"
    },        
    "commandbutton":
    {
        "drawing":true,
        "normal-state":
        {
            "border-color":"#B3D7F3",
            "background-color":"#B3D7F3",
            "text-font":{"color":"#000000"}
        },
        "hover-state":
        {
            "border-color":"#3393DF",
            "background-color":"#3393DF",
            "text-font":{"color":"#FFFFFF"}
        },
        "pressed-state":
        {
            "border-color":"#0060AC",
            "background-color":"#0060AC",
            "text-font":{"color":"#FFFFFF"}
        },
        "focused-state":
        {
            "border-color":"#0078D7",
            "background-color":"#0078D7",
            "text-font":{"color":"#FFFFFF"}
        },
        "default-state":
        {
            "border-color":"#0078D7",
            "background-color":"#0078D7",
            "text-font":{"color":"#FFFFFF"}
        },
        "disabled-state":
        {
            "border-color":"#CCCCCC",
            "background-color":"#CCCCCC",
            "text-font":{"color":"#999999"}
        }
    },
    "window":
    {
        "drawing":true,
        "background-color":"#F0F0F0",
        "title":
        {
            "active-state":
            {
                "background-color":"#262626",
                "text-font":{"color":"#CCCCCC"}
            },
            "inactive-state":
            {
                "background-color":"#FFFFFF",
                "text-font":{"color":"#4D4D4D"}
            }
        },
        "statusbar":
        {
            "background-color":"#262626",
            "text-font":{"color":"#CCCCCC"}
        },
        "border":
        {
            "margin":[1,30,1,1],
            "active-state":
            {
                "border-color":"#4D4D4D"
            },
            "inactive-state":
            {
                "border-color":"#333333"
            }
        },
        "mdiclient":
        {
            "background-color":"#5D5D5D"
        },
        "min-button":
        {
            "normal-state":
            {
                "button-image":{"file":"window-min-button-normal.bmp"}
            },
            "hover-state":
            {
                "button-image":{"file":"window-min-button-hover.bmp"}
            },
            "pressed-state":
            {
                "button-image":{"file":"window-min-button-pressed.bmp"}
            },
            "disabled-state":
            {
                "button-image":{"file":"window-min-button-disabled.bmp"}
            },
            "inactive-state":
            {
                "button-image":{"file":"window-min-button-inactive.bmp"}
            }
        },
        "max-button":
        {
            "normal-state":
            {
                "button-image":{"file":"window-max-button-normal.bmp"}
            },
            "hover-state":
            {
                "button-image":{"file":"window-max-button-hover.bmp"}
            },
            "pressed-state":
            {
                "button-image":{"file":"window-max-button-pressed.bmp"}
            },
            "disabled-state":
            {
                "button-image":{"file":"window-max-button-disabled.bmp"}
            },
            "inactive-state":
            {
                "button-image":{"file":"window-max-button-inactive.bmp"}
            }
        },
        "restore-button":
        {
            "normal-state":
            {
                "button-image":{"file":"window-restore-button-normal.bmp"}
            },
            "hover-state":
            {
                "button-image":{"file":"window-restore-button-hover.bmp"}
            },
            "pressed-state":
            {
                "button-image":{"file":"window-restore-button-pressed.bmp"}
            },
            "disabled-state":
            {
                "button-image":{"file":"window-restore-button-disabled.bmp"}
            },
            "inactive-state":
            {
                "button-image":{"file":"window-restore-button-inactive.bmp"}
            }
        },
        "close-button":
        {
            "normal-state":
            {
                "button-image":{"file":"window-close-button-normal.bmp"}
            },
            "hover-state":
            {
                "button-image":{"file":"window-close-button-hover.bmp"}
            },
            "pressed-state":
            {
                "button-image":{"file":"window-close-button-pressed.bmp"}
            },
            "disabled-state":
            {
                "button-image":{"file":"window-close-button-disabled.bmp"}
            },
            "inactive-state":
            {
                "button-image":{"file":"window-close-button-inactive.bmp"}
            }
        },
        "help-button":
        {
            "normal-state":
            {
                "button-image":{"file":"window-help-button-normal.bmp"}
            },
            "hover-state":
            {
                "button-image":{"file":"window-help-button-hover.bmp"}
            },
            "pressed-state":
            {
                "button-image":{"file":"window-help-button-pressed.bmp"}
            },
            "disabled-state":
            {
                "button-image":{"file":"window-help-button-disabled.bmp"}
            },
            "inactive-state":
            {
                "button-image":{"file":"window-help-button-inactive.bmp"}
            }
        }        
    }

this is the other "theme-tabbed.json":
{    "meta-info":    {        "version":"190"    },
"wns_docord_gen_x":
    {
        "drawing":true,
        "background-color":"#B5C9D2",
        "title":
        {
            "active-state":
            {
                "background-color":"#262626",
                "text-font":{"color":"#CCCCCC"}
            },
            "inactive-state":
            {
                "background-color":"#FFFFFF",
                "text-font":{"color":"#4D4D4D"}
            }
        },
        "statusbar":
        {
            "background-color":"#262626",
            "text-font":{"color":"#CCCCCC"}
        },
        "border":
        {
            "margin":[1,30,1,1],
            "active-state":
            {
                "border-color":"#4D4D4D"
            },
            "inactive-state":
            {
                "border-color":"#333333"
            }
        },
        "mdiclient":
        {
            "background-color":"#5D5D5D"
        },
        "min-button":
        {
            "normal-state":
            {
                "button-image":{"file":"window-min-button-normal.bmp"}
            },
            "hover-state":
            {
                "button-image":{"file":"window-min-button-hover.bmp"}
            },
            "pressed-state":
            {
                "button-image":{"file":"window-min-button-pressed.bmp"}
            },
            "disabled-state":
            {
                "button-image":{"file":"window-min-button-disabled.bmp"}
            },
            "inactive-state":
            {
                "button-image":{"file":"window-min-button-inactive.bmp"}
            }
        },
        "max-button":
        {
            "normal-state":
            {
                "button-image":{"file":"window-max-button-normal.bmp"}
            },
            "hover-state":
            {
                "button-image":{"file":"window-max-button-hover.bmp"}
            },
            "pressed-state":
            {
                "button-image":{"file":"window-max-button-pressed.bmp"}
            },
            "disabled-state":
            {
                "button-image":{"file":"window-max-button-disabled.bmp"}
            },
            "inactive-state":
            {
                "button-image":{"file":"window-max-button-inactive.bmp"}
            }
        },
        "restore-button":
        {
            "normal-state":
            {
                "button-image":{"file":"window-restore-button-normal.bmp"}
            },
            "hover-state":
            {
                "button-image":{"file":"window-restore-button-hover.bmp"}
            },
            "pressed-state":
            {
                "button-image":{"file":"window-restore-button-pressed.bmp"}
            },
            "disabled-state":
            {
                "button-image":{"file":"window-restore-button-disabled.bmp"}
            },
            "inactive-state":
            {
                "button-image":{"file":"window-restore-button-inactive.bmp"}
            }
        },
        "close-button":
        {
            "normal-state":
            {
                "button-image":{"file":"window-close-button-normal.bmp"}
            },
            "hover-state":
            {
                "button-image":{"file":"window-close-button-hover.bmp"}
            },
            "pressed-state":
            {
                "button-image":{"file":"window-close-button-pressed.bmp"}
            },
            "disabled-state":
            {
                "button-image":{"file":"window-close-button-disabled.bmp"}
            },
            "inactive-state":
            {
                "button-image":{"file":"window-close-button-inactive.bmp"}
            }
        },
        "help-button":
        {
            "normal-state":
            {
                "button-image":{"file":"window-help-button-normal.bmp"}
            },
            "hover-state":
            {
                "button-image":{"file":"window-help-button-hover.bmp"}
            },
            "pressed-state":
            {
                "button-image":{"file":"window-help-button-pressed.bmp"}
            },
            "disabled-state":
            {
                "button-image":{"file":"window-help-button-disabled.bmp"}
            },
            "inactive-state":
            {
                "button-image":{"file":"window-help-button-inactive.bmp"}
            }
        }
    }
}   

as you can see the 2 .json are similar except that the second one got a different background color.
The issue is that if i keep both enabled everytime i use the "WNS_DOCORD_GEN_X" specified on the theme-tabbed.json i got a strange error on an global object that should remain always valid but instead it is null (???).

If i disable the "window" tag on the main .json everything working good.
if i set true "window" tag on the main .json and set other objects to false on the other .json i got the error.

Looks like something wrong in the main "window" tag but i cannot understand why....

any ideas?

tia,

 simone

 

 

Attachments (1)
Accepted Answer
Simone Olianti Accepted Answer Pending Moderation
  1. Tuesday, 9 February 2021 08:43 AM UTC
  2. PowerBuilder
  3. # Permalink

In case others experiencing same behaviour this issue has been addressed here:
https://www.appeon.com/standardsupport/search/view?id=5947

Comment
There are no comments made yet.
Simone Olianti Accepted Answer Pending Moderation
  1. Tuesday, 26 January 2021 14:32 PM UTC
  2. PowerBuilder
  3. # 1

i'll share some more information since i'm trying to understand the reason of this behaviour.

Looks like the Window "Activate" event behaves different if i use a theme or not.
In my framework i set a global variable everytime a window is activated and set to null everytime it is deactivated.

 

when a theme is set, looks like that coming back from a response window once it is closed, in the caller window the activate event is not fired again. If im not using a theme it is fired everytime if becomes active including coming back from a response. This behaviour ends up giving me that error when i use a theme cos that global variable remains null.

if i keep two windows opened switching between them always firing the activate event  even using a theme.

i don't know if this is a bug or not, but looks like that

Comment
  1. René Ullrich
  2. Tuesday, 26 January 2021 14:39 PM UTC
You should create a bug report: https://www.appeon.com/standardsupport/search
  1. Helpful
  1. Simone Olianti
  2. Tuesday, 26 January 2021 15:03 PM UTC
going.. thx
  1. Helpful
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.
We use cookies which are necessary for the proper functioning of our websites. We also use cookies to analyze our traffic, improve your experience and provide social media features. If you continue to use this site, you consent to our use of cookies.