Flex scrollbar styling issue - apache-flex

I'm trying to style vscrollbar and hscrollbar inside a Vbox.But there's always a white square thing at the right bottom cornor which can not be styled.
My CSS is:
ScrollBar{
downArrowUpSkin: Embed(source="assets/images/scrollbar/arrow_down.png");
downArrowOverSkin: Embed(source="assets/images/scrollbar/arrow_down.png");
downArrowDownSkin: Embed(source="assets/images/scrollbar/arrow_down.png");
upArrowUpSkin: Embed(source="assets/images/scrollbar/arrow_up.png");
upArrowOverSkin: Embed(source="assets/images/scrollbar/arrow_up.png");
upArrowDownSkin: Embed(source="assets/images/scrollbar/arrow_up.png");
thumbDownSkin: Embed(source="assets/images/scrollbar/thumb.png");
thumbUpSkin: Embed(source="assets/images/scrollbar/thumb.png");
thumbOverSkin: Embed(source="assets/images/scrollbar/thumb.png");
trackSkin:Embed(source="assets/images/scrollbar/track.png");
fillAlphas:0,0,0,0;}
Could anyone help me out?Much Thanks!

This is a weird one. The white box at the bottom right is actually a (raw) child of the container.
To get around this you need to subclass whatever container you want to add your styled scrollbars to and remove the child called "whitebox":
var whitebox:DisplayObject = rawChildren.getChildByName('whiteBox');
if (whitebox)
rawChildren.removeChild(whitebox);
IIRC you need to do the above in two places: an override of createChildren and an override of validateDisplayList. In both cases remember to call the super class method first!

That area isn't controlled by the scroll bar(s), it's part of the original container. Does the VBox have it's background colour set to black?

Related

Antd Treenode title and height css setting

I am using Antd v4.2.4 Tree (example: virtual scroll) from the link. I woulld like to use the virtual Scroll which can be used by setting "height" prop of the Tree. All is fine till here as in the example.
I would like to apply some css to the scrollbar like both overflowX and Y should be enabled on hover in the container
I would like have the Tree node show in only single line when the title is really big and not wrap it, if I use overflowX css, it doesn't work.
codesandbox
Update1: I see when we set "height" prop to Tree a lot of Divs have the inline css elements so not sure how to override them.
May be there is something small here but I am unable to figure out
I want to have such a look for my TreeNode and when hovered on this container the scrollbar X and Y is visible to see the longer node title please advice
update 2
if the set following css I am able to get the title in single line, but the scroll-X behaves strange. i.e. the scoll-x gets hidden when the Tree height/contents are big and when ypu collapse all treenodes, it shows up
.ant-tree .ant-tree-treenode {
white-space: nowrap;
}
codesandbox
TIA

How to get a Borderlayout to fill its container?

I am a GWT programmer trying to get to grips with using PlayN with Tripleplays gui library.
Having a little bit of trouble working out how to get a border layout filling up all the space of its container. (presumably with the middle space expanding to fill the available size)
BorderLayout border = new BorderLayout(3);
Group mainLayout = new Group(border);
mainLayout.setConstraint(AxisLayout.stretched());
Button Center= new Button("test");
Center.setConstraint(BorderLayout.CENTER);
mainLayout.add(Top);
mainLayout.add(Bottom);
mainLayout.add(Left);
mainLayout.add(Center);
Top Bottom and Left are similarly specified to BorderLayout.Left, top etc.
the whole thing is then added to the root screen with
_root.setConstraint(AxisLayout.stretched());
_root.add(0, mainLayout);
(_root itself just has a AxisLayout.vertical() ...which I am assuming makes it act somewhat like a gwt vertical panel)
At the moment the vertical space seems to be filled, but not the horizontal.
Any ideas where I am going wrong?
I would suggest to set
border.setConstraint(AxisLayout.stretched());
before adding border to mainLayout. This will tell mainLayout to strech this child widget.

Flex ComboBox - Removing Borders

Does anyone know how to remove the small border around the combobox?
In a Flex3 Combobox (Halo Theme) there is this little gray border at the left, right, and bottom edges. I want to remove those borders so that the button part of the combobox doesn't have any border at all. Instead, I just want the top border.
Any ideas how it can be done?
Thanks.
I think you have to replace the Class that's used by default in the skin css property with one of your own. The docs say that is defined in ComboBase, so you'll need to look there to see what the Class is there and if you can extend or even do away with it (by setting skin to an empty ClassReference).

scroll bar selectable

I have a canvas with a scrollbar and I would like to disable the scrollbar in some way that keeps the thumb visible, but not selectable. I just want to let the user know that there is more information below, but I do not want to let him use the scroll to move down(this will be done with the movement of the arrows). I tried using the properties enabled but it does not work.
Any ideas???
Thanks.
Canvas has verticalScrollBarStyleName used for scrollbar skinning. This is name of CSS style which will be assigned to vertical Scrollbar, which in turn has following styles:
thumbUpSkin, thumbOverSkin, thumbDownSkin. You need some custom class for thumb with mouseEnabled=false. Set these styles to this thumb class name.

FLEX: popupManager: TitleWindow: how to make the background transparent

I'm using PopupManager to display (not modal) popups in Flex.
How can I make the background of my TitleWindow popup completely transparent?
Now it is semi-transparent.. see picture with semi-transparent background (i.e. I just want the label inside visible):
http://dl.dropbox.com/u/72686/semiTransparent.png
Maybe, instead of making it transparent I could try to reduce the padding, in order to make only the children visible ?
thanks
If you want to make it transparent, add
borderAlpha="0.0"
If you also want to remove the side and bottom borders completely, add
borderThicknessLeft="0" borderThicknessRight="0"
You can't remove the header, even thought there is borderThicknessTop option.
Also, the borderThickness="0" option doesn't work as far as I know.
Set the backgroundAlpha style of the TitleWindow to 0.
Edit, oops, my mistake, since it's a subclass of Panel, you'll also need to set the borderAlpha style to 0 as well. If you're using the default flex skins, the white arrow is the "background" and the blue area is the "border".

Resources