##// END OF EJS Templates
Parser refactoring (3)...
Parser refactoring (3) Implements properties reading and properties checking Implementation takes some of the basic parser, which will be deleted at the end

File last commit:

r929:5ec3f5d1277b
r935:b93a3fb4e7f2
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
r929 #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;
}
}
}
}
}