Summary: [4.5fc4 Classic] Some Controls on top of TabPanel redrawn incorrectly
Product: REALbasic
ProductVersion: 4.5fc4
Component: Application
Severity: Cosmetic
CC: realbasic-dr at lists dot realsoftware dot com
Reproduce:
Configuration: RB 4.5fc4 Classic, MacOS 9.1 German.
Create a new project.
To the default Window, add a TabPanel control ("TabPanel1").
Add a 2nd tab to the TabPanel control.
Put a StaticText control ("StaticText1") to the 1st tab of the TabPanel control.
Put a PopUpMenu control ("PopupMenu1") to the 1st tab of the TabPanel control.
Add a 2nd row to PopupMenu1;
give both rows some text (i.e., type something into the 'Initial value' dialog
available via
the Properties palette, e. g. "1 new line!] 2"
Add a PushButton control ("PushButton1") to the window (not on the TabPanel
control!).
In the action Event of PushButton1, enter the following code:
PopupMenu1.listIndex = (PopupMenu1.listIndex + 1) mod 2
StaticText1.text = StaticText1.text + "Bla"
Now sav and run the project.
We can take 2 observations:
1)
If the first TabPanel panel is selected (the one with the StaticText and
PopUpMenu controls),
if you click the button the 2 controls are updated, but you can recoginze some
unnecessary flicker:
obviously, both controls erase their background using the window background
color first,
instead of using the TabPanel background color. This is clearly wrong.
2)
If the second TabPanel panel is selected (the one without controls),
if you click the button you can see some flicker on the TabPanel:
obviously, the 2 controls on the invisible (!) TabPanel panel
are partially re-drawn (their background is erased using the window bkg color),
which is clearly wrong, as they are invisible.
In this example, the flicker is not extremely noticable, but in a larger window
with many controls
the flicker becomes very ugly.
Reproducible: Always
OSVersion: 9.1
CPUType: PowerPC
SubmittedOn:
REALbugsVersion: 1.4.1
Description:
Some controls, at lease StaticText and PopupMenu, are redrawn incorrectly (with
unnecessary flicker)
if they are on top of a TabPanel control.
1) If they are re-drawn (e.g. when the text of a StaticText or the listIndex of
a PopupMenu is changed),
their background is erased using the window's bkg color instead of using the
TabPanel bkg color.
2) If controls on an invisible (not the selected one) TabPanel panel are
changed (e.g. when the text of a
StaticText or the listIndex of a PopupMenu is changed), they are partially
re-drawn: which is
completely wrong, as they are not visible, and causes visual artifacts.
This is 'only' a cosmetic issue, but a very important one, as the flicker
caused by this errors
is extremely ugly, especially in a window with many controls. Such bugs
disqualify a professional
application.
Please fix this soon --
thanks,
Roman
WorkaroundNotes:
Use a PagePanel control instead of the TabPanel control: seems to work better.
Workaround: 1
|