##// END OF EJS Templates
Completes fuzzing test structure by setting initial range for the time controller
Completes fuzzing test structure by setting initial range for the time controller

File last commit:

r930:5ec3f5d1277b
r1178:324a3ee21c58
Show More
MacScrollBarStyle.cpp
40 lines | 1.3 KiB | text/x-c | CppLexer
/ gui / src / Visualization / MacScrollBarStyle.cpp
Thibaud Rabillard
New style on mac to keep the scrollbars visible
r930 #include "Visualization/MacScrollBarStyle.h"
#include <QWidget>
int MacScrollBarStyle::styleHint(QStyle::StyleHint hint, const QStyleOption *option,
const QWidget *widget, QStyleHintReturn *returnData) const
{
switch (hint) {
case SH_ScrollBar_Transient:
return false; // Makes the scrollbar always visible
case SH_ScrollView_FrameOnlyAroundContents:
return true; // Avoid that the scrollbar is drawn on top of the widget
default:
break;
}
return QProxyStyle::styleHint(hint, option, widget, returnData);
}
void MacScrollBarStyle::selfInstallOn(QWidget *widget, bool installOnSubWidgets)
{
// Note: a style can be installed on a particular widget but it is not automatically applied its
// children widgets.
QList<QWidget *> widgetsToStyle{widget};
while (!widgetsToStyle.isEmpty()) {
auto widget = widgetsToStyle.takeFirst();
widget->setStyle(this);
if (installOnSubWidgets) {
for (auto child : widget->children()) {
auto childWidget = qobject_cast<QWidget *>(child);
if (childWidget) {
widgetsToStyle << childWidget;
}
}
}
}
}