![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtVariableColumnTreeWidgetInterface.cxx,v $ $Revision: 1.1 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00011 00013 00014 #pragma once 00015 00016 #include <vrfGuiCoreQt/vrfGuiCoreQt.h> 00017 00018 #include <boost/function.hpp> 00019 00020 #include <QtGui/QColor> 00021 #include <QtCore/QVariant> 00022 #include <QtCore/QPoint> 00023 00024 class QTreeWidgetItem; 00025 class QString; 00026 class QPixmap; 00027 00028 namespace makVrf 00029 { 00030 class DtVariableColumnTreeWidgetLogic; 00031 00033 class DT_DLL_VRFGUICOREQT DtVariableColumnTreeWidgetInterface 00034 { 00035 public: 00036 enum Flags 00037 { 00038 Show = 0x00000001, 00039 Permenant = 0x00000002 00040 }; 00041 00042 typedef boost::function< QVariant ( const QString& rowKey, const QString& colKey, int role )> DtDisplayFunction; 00043 typedef boost::function< int ( QTreeWidgetItem*, QTreeWidgetItem* )> DtSortFunction; 00044 00045 public: 00046 00048 virtual ~DtVariableColumnTreeWidgetInterface(); 00049 00050 public: 00053 virtual void addColumn(const QString&, const Flags&, 00054 DtDisplayFunction* display, DtSortFunction* sort = defaultSort()) = 0; 00055 00057 virtual void setFlagsForColumn(const QString& s, const Flags&) = 0; 00058 00060 virtual int addColumn(const QString& s, const Flags&) = 0; 00061 00063 virtual int removeColumn(const QString&) = 0; 00064 00066 virtual QColor backgroundColor() const = 0; 00067 00069 virtual void createMenuButton(int iCol, const QPixmap& arrow) = 0; 00070 00072 virtual void clear() = 0; 00073 00076 virtual void addRow(const QString&) = 0; 00077 00079 virtual void removeRow(const QString&) = 0; 00080 00082 virtual void setLogic(DtVariableColumnTreeWidgetLogic*) = 0; 00083 00085 virtual QPoint menuPointForColumn(int) const = 0; 00086 00088 virtual bool isColumnVisible(int) const = 0; 00089 00091 virtual void setColumnVisible(int, bool) = 0; 00092 00093 public: 00094 static DtSortFunction* defaultSort(); 00095 00096 protected: 00097 static int defaultSort(QTreeWidgetItem* lhs, QTreeWidgetItem* rhs); 00098 }; 00099 }