VR-Forces 4.0.4 Class Documentation
include/vrfGuiCoreQt/DtVariableColumnTreeWidgetLogic.h
Go to the documentation of this file.
00001 /****************************************************************************** 
00002 ** Copyright (c) 2009 MAK Technologies, Inc. 
00003 ** All rights reserved. 
00004 ******************************************************************************/ 
00005 /****************************************************************************** 
00006 ** $RCSfile: DtVariableColumnTreeWidgetLogic.h,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 <map>
00020 
00021 #include <QtGui/QPixmap>
00022 #include <QtGui/QMenu>
00023 #include <QtGui/QActionGroup>
00024 
00025 #include <QtCore/QVariant>
00026 
00027 class QTreeWidgetItem;
00028 
00029 namespace makVrf
00030 {
00031    class DtShowHideColumnMenu;
00032 
00033    class DT_DLL_VRFGUICOREQT DtVariableColumnTreeColumn
00034    {
00035    public:
00036       unsigned int                                             myCol;
00037       DtVariableColumnTreeWidgetInterface::Flags               myFlags;
00038       DtVariableColumnTreeWidgetInterface::DtDisplayFunction*  myDisplayFunction;
00039       DtVariableColumnTreeWidgetInterface::DtSortFunction*     mySortFunction;
00040    };
00041 
00042    class DT_DLL_VRFGUICOREQT DtVariableColumnTreeWidgetLogic
00043    {
00044    public:
00045       typedef std::map<std::string, DtVariableColumnTreeColumn> DtVariableColumnMap;
00046 
00047    public: 
00048 
00050       DtVariableColumnTreeWidgetLogic(DtVariableColumnTreeWidgetInterface* iFace );
00051       
00053       virtual ~DtVariableColumnTreeWidgetLogic();
00054 
00057       virtual void addColumn(const QString&, const DtVariableColumnTreeWidgetInterface::Flags&, 
00058             DtVariableColumnTreeWidgetInterface::DtDisplayFunction* display, DtVariableColumnTreeWidgetInterface::DtSortFunction* sort);
00059 
00061       virtual void removeColumn(const QString&);
00062 
00064       virtual QVariant data(const QString& rowKey, const QString& colKey, int iRole) const;
00065 
00067       virtual void displayMenu(int);
00068 
00069       const DtVariableColumnMap& columns() const
00070       {
00071          return myColumns;
00072       }
00073 
00075       virtual bool isColumnVisible(int) const;
00076 
00078       virtual void setColumnVisible(int, bool);
00079 
00080    protected:
00082       QPixmap createMenuArrow();
00083 
00085       virtual void executeShowHideColumnMenu(int);
00086       virtual DtShowHideColumnMenu* createShowHideColumnMenu();
00087 
00088    protected:
00089       DtVariableColumnTreeWidgetInterface* myInterface;
00090 
00091       DtVariableColumnMap  myColumns;
00092    };
00093 
00094    class DT_DLL_VRFGUICOREQT DtShowHideColumnMenu : public QMenu
00095    {
00096       Q_OBJECT
00097 
00098    public:
00099       DtShowHideColumnMenu(DtVariableColumnTreeWidgetLogic*);
00100       virtual ~DtShowHideColumnMenu();
00101 
00102    protected:
00103       void setupItems();
00104 
00105       virtual void showAll(bool b);
00106 
00107    protected slots:
00108       virtual void changeColumnVisibility(bool);
00109       virtual void showAll();
00110       virtual void hideAll();
00111 
00112    protected:
00113       DtVariableColumnTreeWidgetLogic* myLogic;
00114       QActionGroup*                    myGroup;
00115       std::vector<QAction*>            myActions;
00116    };
00117 }

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)