00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
#include "driverview.h"
00021
#include "droptionview.h"
00022
#include "driveritem.h"
00023
#include "driver.h"
00024
00025
#include <qlistview.h>
00026
#include <qheader.h>
00027
#include <qlayout.h>
00028
00029 DrListView::DrListView(
QWidget *parent,
const char *name)
00030 : KListView(parent,name)
00031 {
00032 addColumn(
"");
00033 header()->hide();
00034 setFrameStyle(QFrame::WinPanel|QFrame::Sunken);
00035 setSorting(-1);
00036 }
00037
00038
00039
00040 DriverView::DriverView(
QWidget *parent,
const char *name)
00041 :
QWidget(parent,name)
00042 {
00043 m_driver = 0;
00044
00045 m_view =
new DrListView(
this);
00046 m_optview =
new DrOptionView(
this);
00047
00048
QVBoxLayout *main_ =
new QVBoxLayout(
this, 0, 10);
00049 main_->addWidget(m_view,1);
00050 main_->addWidget(m_optview,0);
00051
00052 connect(m_view,SIGNAL(selectionChanged(
QListViewItem*)),m_optview,SLOT(slotItemSelected(
QListViewItem*)));
00053 connect(m_optview,SIGNAL(changed()),SLOT(slotChanged()));
00054 }
00055
00056 DriverView::~DriverView()
00057 {
00058 }
00059
00060
void DriverView::setDriver(DrMain *driver)
00061 {
00062 m_driver = driver;
00063
if (m_driver)
00064 {
00065 m_view->clear();
00066 m_driver->createTreeView(m_view);
00067 slotChanged();
00068 }
00069 }
00070
00071
void DriverView::slotChanged()
00072 {
00073
if (m_driver)
00074 {
00075 m_conflict = m_driver->checkConstraints();
00076 ((DriverItem*)m_view->firstChild())->updateConflict();
00077 }
00078 }
00079
00080
void DriverView::setOptions(
const QMap<QString,QString>& opts)
00081 {
00082
if (m_driver)
00083 {
00084 m_driver->setOptions(opts);
00085 static_cast<DriverItem*>( m_view->firstChild() )->updateTextRecursive();
00086 slotChanged();
00087 m_optview->slotItemSelected(m_view->currentItem());
00088 }
00089 }
00090
00091
void DriverView::getOptions(
QMap<QString,QString>& opts,
bool incldef)
00092 {
00093
if (m_driver)
00094 m_driver->getOptions(opts,incldef);
00095 }
00096
00097
void DriverView::setAllowFixed(
bool on)
00098 {
00099 m_optview->setAllowFixed(on);
00100 }
00101
#include "driverview.moc"