Plasma
treeview.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include "treeview.h"
00021
00022 #include <QTreeView>
00023 #include <QHeaderView>
00024 #include <QScrollBar>
00025
00026 #include <kiconloader.h>
00027
00028 #include "private/style_p.h"
00029
00030 namespace Plasma
00031 {
00032
00033 class TreeViewPrivate
00034 {
00035 public:
00036 Plasma::Style::Ptr style;
00037 };
00038
00039 TreeView::TreeView(QGraphicsWidget *parent)
00040 : QGraphicsProxyWidget(parent),
00041 d(new TreeViewPrivate)
00042 {
00043 QTreeView *native = new QTreeView;
00044 setWidget(native);
00045 native->setAttribute(Qt::WA_NoSystemBackground);
00046 native->setFrameStyle(QFrame::NoFrame);
00047
00048 d->style = Plasma::Style::sharedStyle();
00049 native->verticalScrollBar()->setStyle(d->style.data());
00050 native->horizontalScrollBar()->setStyle(d->style.data());
00051 }
00052
00053 TreeView::~TreeView()
00054 {
00055 delete d;
00056 Plasma::Style::doneWithSharedStyle();
00057 }
00058
00059 void TreeView::setModel(QAbstractItemModel *model)
00060 {
00061 nativeWidget()->setModel(model);
00062 }
00063
00064 QAbstractItemModel *TreeView::model()
00065 {
00066 return nativeWidget()->model();
00067 }
00068
00069 void TreeView::setStyleSheet(const QString &stylesheet)
00070 {
00071 widget()->setStyleSheet(stylesheet);
00072 }
00073
00074 QString TreeView::styleSheet()
00075 {
00076 return widget()->styleSheet();
00077 }
00078
00079 QTreeView *TreeView::nativeWidget() const
00080 {
00081 return static_cast<QTreeView*>(widget());
00082 }
00083
00084 }
00085
00086 #include <treeview.moc>
00087