Project

General

Profile

Bug #1333

Inheritance Issue - Decoration Style

Added by Nelson Azadian over 10 years ago. Updated almost 10 years ago.

Status:
Feedback
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
06/21/2012
Due date:
% Done:

0%

Estimated time:

Description

When creating a WContainerWidget within a WScrollArea within a WDialog, the decoration style of the WContainerWidget is not preserved. Being the innermost object, the decoration style of the WContainerWidget should override the decoration style of the either the WScrollArea or WDialog.

This inheritance issue seems to occur with contents which is not initially visible. See screen shot 1 for the an example of the proper behavior (notice how we are at the top of the WScrollArea) versus screen shot 2 for an example of the incorrect behavior (notice how we are at the bottom of the WScrollArea).

Nelson


Files

ScrollAreaScreenShot1.PNG (128 KB) ScrollAreaScreenShot1.PNG Screen Shot 1 Nelson Azadian, 06/21/2012 03:17 AM
ScrollAreaScreenShot2.PNG (114 KB) ScrollAreaScreenShot2.PNG Screen Shot 2 Nelson Azadian, 06/21/2012 03:17 AM
#1

Updated by suburgatory 29 over 10 years ago

So where did you exactly use "setStyleClass" for your WContainerWidget and others. Maybe some code...

And i guess you can try the "scrolled()" event.(i.e. setStyleClass when you scroll)

#2

Updated by Koen Deforche over 10 years ago

  • Target version changed from 3.2.0 to 3.2.3
#3

Updated by Nelson Azadian over 10 years ago

Sorry for not getting back sooner.

The setStyleClass was used almost immediately after initializing each object. I no longer have a code sample pertaining to the exact issue as I coded around it, but the code looked something like the following:

using namespace Wt;

//Create children widgets...

WContainerWidget *conWid = new WContainerWidget();

conWid->decorationStyle().setBackgroundColor(col);

conWid->addWidget(children widgets);

WScrollArea *scrAre = new WScrollArea();

//Scroll area not using any decoration style

scrAre->setWidget(conWid);

WDialog dia("");

(dia.contents())->decorationStyle().setBackgroundColor(black);

(dia.contents())->addWidget(scrAre);

if(dia.exec())

{

//Do something

}

Since the WContainerWidget is at the topmost position (regarding z-order), it's background color should only be visible.

Nelson

#4

Updated by Koen Deforche about 10 years ago

  • Target version changed from 3.2.3 to 3.3.0
#5

Updated by Koen Deforche almost 10 years ago

  • Status changed from New to Feedback

Hey,

We fail to reproduce this issue ... it also sounds bizarre since indeed CSS and the browsers should be taking care of handling this correctly.

So in case you or anyone else hits this problem : test-case welcome !

Regards,

koen

#6

Updated by Koen Deforche almost 10 years ago

  • Target version deleted (3.3.0)

Also available in: Atom PDF