VR-Forces 4.0.4 Class Documentation
include/vrfGuiCoreQt/DtVrfHierarchyPage.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2009 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: DtVrfHierarchyPage.h,v $ $Revision: 1.1 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00013 
00014 #pragma once
00015 
00016 #include <vrvUtil/signalslib.h>
00017 #include <vrfGuiCoreQt/vrfGuiCoreQt.h>
00018 #include <vrfGuiCoreQt/DtVrfObjectListPanelPageCreator.h>
00019 #include <vrfGuiCoreQt/DtVrfObjectListViewItem.h>
00020 #include <vrvCoreQt/DtPage.h>
00021 #include <QtGui/QPushButton>
00022 #include <QtGui/QPixmap>
00023 
00024 #include <boost/signal.hpp>
00025 
00026 class QVBoxLayout;
00027 class DtTreeWidget;
00028 class QCheckBox;
00029 
00030 namespace makVrf
00031 {
00032    class DtVrfHierarchyPageLogic;
00033    class DtVrfTreeWidget;
00034 
00035    class DT_DLL_VRFGUICOREQT DtScrollButtonArea : public QWidget
00036    {
00037    public:
00038       DtScrollButtonArea(QWidget* parent);
00039 
00040       virtual void scrollContentsBy(int x);
00041 
00042       QWidget* widget() { return myCanvas; };
00043 
00044       boost::signal<void (const QStringList&)> signal_deparent;
00045 
00046    protected:
00047       virtual void paintEvent(QPaintEvent* e);
00048       virtual void resizeEvent(QResizeEvent* e);
00049       virtual void dragEnterEvent(QDragEnterEvent *event);
00050       virtual void dropEvent(QDropEvent *e);
00051 
00052    protected:
00053       QWidget* myCanvas;
00054    };
00055 
00056 
00059    class DT_DLL_VRFGUICOREQT DtExpandCollapseButton : public QPushButton
00060    {
00061       Q_OBJECT
00062 
00063    public:
00064 
00065       DtExpandCollapseButton(QWidget *parent = NULL);
00066       virtual ~DtExpandCollapseButton();
00067       
00068       virtual void setExpandPixmap(QPixmap pix);
00069       virtual void setCollapsePixmap(QPixmap pix);
00070       virtual void setLevel(int level);
00071       virtual int level() const;
00072       virtual void setIsExpand(bool value);
00073       virtual bool isExpand() const;
00074 
00075    signals:
00076 
00077       void expandLevelClicked(unsigned int);
00078       void collapseLevelClicked(unsigned int);
00079 
00080    protected slots:
00081 
00082       virtual void buttonClicked();
00083 
00084    protected:
00085 
00086       virtual void paintEvent(QPaintEvent*);
00087 
00088    protected:
00089       QPixmap myExpandPixmap;
00090       QPixmap myCollapsePixmap;
00091       bool myIsExpand;
00092       int myLevel;
00093    };
00094 
00095    class DT_DLL_VRFGUICOREQT DtVrfHierarchyPage : public makVrv::DtPage
00096    {
00097       Q_OBJECT
00098 
00099    public:
00100 
00102       virtual ~DtVrfHierarchyPage();
00103 
00104       DtVrfTreeWidget* echelon();      
00105 
00108       virtual void selectObjects(const std::vector<DtVrfObjectListViewItem::DtVrfObjectState>);
00109 
00111       virtual std::vector<DtVrfObjectListViewItem::DtVrfObjectState> selectedObjects() const;
00112 
00113       virtual DtExpandCollapseButton* createExpandCollapseButton(unsigned int, int numButtons);
00114 
00115    protected slots:
00116 
00118       virtual void onRightClickOnItem(QTreeWidgetItem*, QMouseEvent*, int col);
00119 
00121       virtual void onItemSelected();
00122 
00123       virtual void onScrollRangeChanged(int);
00124 
00125       virtual void onViewItemExpanded(QTreeWidgetItem*);
00126 
00127       virtual void onViewItemCollapsed(QTreeWidgetItem*);
00128 
00129       virtual void onExpandToLevel(unsigned int);
00130 
00131       virtual void onCollapseToLevel(unsigned int);
00132 
00133       virtual DtVrfTreeWidget* createHierarchyList() = 0;
00134 
00135    protected:
00136       
00138       DtVrfHierarchyPage( makVrv::DtDe& de, QWidget* parent = 0, Qt::WindowFlags flags = 0);
00139 
00140       virtual void createAndInitializeLogic();
00141       virtual DtVrfHierarchyPageLogic* createLogic() = 0;
00142 
00143       virtual void setupUi(QWidget* p);
00144       virtual DtScrollButtonArea* createCollapseButtonConainer(QWidget* parent);
00145 
00146       virtual void slot_onDeParent(const QStringList&);
00147       virtual void slot_onReParent(const QStringList& children, makVrv::DtUniqueID parentId);
00148 
00149    protected:
00150       DtVrfHierarchyPageLogic*  myLogic;
00151       
00152    public:
00153       QVBoxLayout*         myMasterLayout;
00154       DtVrfTreeWidget*     myEchelon;
00155       DtScrollButtonArea*  myCollapseButtonWidget;
00156       QPixmap              myPlusPixmap;
00157       QPixmap              myMinusPixmap;
00158       QCheckBox*           myShowEchelonId;
00159    };
00160 }

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)