![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtVariableColumnTreeWidget.cxx,v $ $Revision: 1.1 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00011 00013 00014 #pragma once 00015 00016 #include <vrfGuiCoreQt/vrfGuiCoreQt.h> 00017 #include <vrfGuiCoreQt/DtVariableColumnTreeWidgetInterface.h> 00018 00019 #include <boost/function.hpp> 00020 00021 #include <QtCore/QHash> 00022 00023 #include <vrfGuiCoreQt/qtTreeWidgetExtensions.h> 00024 00025 namespace makVrf 00026 { 00027 class DtVariableColumnTreeWidgetLogic; 00028 class DtVariableColumnTreeWidget; 00029 00030 class DT_DLL_VRFGUICOREQT DtVariableColumnItem : public QTreeWidgetItem 00031 { 00032 public: 00033 DtVariableColumnItem(DtVariableColumnTreeWidget*, DtVariableColumnTreeWidgetLogic*, const QString&); 00034 virtual ~DtVariableColumnItem(); 00035 00036 virtual QVariant data(int iColumn, int iRole) const; 00037 00038 const QString& key() const 00039 { 00040 return myKey; 00041 } 00042 00043 protected: 00044 DtVariableColumnTreeWidgetLogic* myLogic; 00045 QString myKey; 00046 mutable bool myProcessing; 00047 }; 00048 00050 class DT_DLL_VRFGUICOREQT DtVariableColumnTreeWidget 00051 : public DtTreeWidget, public DtVariableColumnTreeWidgetInterface 00052 { 00053 Q_OBJECT 00054 00055 public: 00056 DtVariableColumnTreeWidget(QWidget*, const Qt::WindowFlags& f = 0); 00057 00058 virtual ~DtVariableColumnTreeWidget(); 00059 00060 public: 00063 virtual void addColumn(const QString&, const Flags&, 00064 DtDisplayFunction* display, DtSortFunction* sort = defaultSort()); 00065 00067 virtual void setFlagsForColumn(const QString& s, const Flags&); 00068 00070 virtual int addColumn(const QString& s, const Flags&); 00071 00073 virtual int removeColumn(const QString&); 00074 00076 virtual int columnFor(const QString&) const; 00077 00079 virtual QColor backgroundColor() const; 00080 00082 virtual void createMenuButton(int iCol, const QPixmap& arrow); 00083 00085 virtual void clear(); 00086 00089 virtual void addRow(const QString&); 00090 00092 virtual DtVariableColumnItem* createVariableColumnItem(const QString& key); 00093 00095 virtual void removeRow(const QString&); 00096 00098 virtual void setLogic(DtVariableColumnTreeWidgetLogic*); 00099 00101 virtual QPoint menuPointForColumn(int) const; 00102 00104 virtual bool isColumnVisible(int) const; 00105 00107 virtual void setColumnVisible(int, bool); 00108 00109 protected slots: 00111 00112 virtual void showObjectOptions(int); 00113 00114 protected: 00115 DtVariableColumnTreeWidgetLogic* myLogic; 00116 QHash<QString, DtVariableColumnItem*> myItems; 00117 }; 00118 }