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.