VR-Forces 4.0.4 Class Documentation
include/vrfGuiCoreQt/vrfObjectAttach.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2010 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 /******************************************************************************
00006 ** $RCSfile: vrfObjectAttach.h,v $ $Revision: 1.1 $ $State: Exp $
00007 ******************************************************************************/
00008 
00011 
00014 
00015 #pragma once
00016 
00017 #include <vrfGuiCoreQt/vrfGuiCoreQt.h>
00018 #include <vrvCoreQt/DtAttachWidgetInterface.h>
00019 #include <vrvCoreQt/DtToolbar.h>
00020 #include <vrvCoreQt/DtWidgetBuilder.h>
00021 #include <vrvCoreQt/DtAttachWidgetLogic.h>
00022 #include <QtGui/QWidget>
00023 #include <vrvUtil/DtUnicode.h>
00024 
00025 class QHBoxLayout;
00026 class QPushButton;
00027 class QAction;
00028 class QActionGroup;
00029 class QComboBox;
00030 
00031 namespace makVrv
00032 {
00033    class DtDe;
00034 }
00035 
00036 namespace makVrf
00037 {
00038    class DtVrfAttachWidgetLogic;
00039 
00043    class DT_DLL_VRFGUICOREQT DtVrfAttachObjectToolbar : public makVrv::DtToolbar
00044    { 
00045    public:
00046 
00048       DtVrfAttachObjectToolbar(makVrv::DtDe&);
00049 
00051       virtual ~DtVrfAttachObjectToolbar();
00052 
00054       virtual QToolBar* createToolbar(makVrv::DtDe&, QWidget* parent);
00055 
00056    }; 
00057 
00059    class DT_DLL_VRFGUICOREQT DtVrfAttachWidgetInterface : public makVrv::DtAttachWidgetInterface
00060    {
00061    public:
00062       virtual ~DtVrfAttachWidgetInterface();
00063 
00064       virtual void setAttached(bool) = 0;
00065 
00066    protected:
00068      virtual void setHideAttachedModel( bool trueFalse ) {};
00069      virtual void setAttachedObjects( const std::vector<makVrv::DtUnicode>& ) {};
00070      virtual void enableDetach( bool enabled ) {};
00071       
00072      virtual void setShowMoreInformation( bool enabled ) {};
00073        
00075      virtual void setHideAttachedModelEnabled( bool enabled ) {};
00076 
00078      virtual void setAttachableParts( const std::vector<makVrv::DtUnicode>& parts) {};
00079 
00081      virtual void setAttachedPart(const makVrv::DtUnicode& partName) {};
00082 
00084      virtual void setAttachModeEnabled(int, bool) {};
00085 
00087      virtual void setMoreInformationShown(bool) {};
00088 
00090       virtual void addAttachFilter( const makVrv::DtUnicode& filterName,
00091          int filterType ) {};
00092 
00094       virtual void setCurrentAttachFilter( int filterType ) {};
00095    };
00096 
00099    class DT_DLL_VRFGUICOREQT DtVrfAttachObjectWidget : public QWidget, public DtVrfAttachWidgetInterface
00100    {
00101       Q_OBJECT
00102 
00103    public:
00105       DtVrfAttachObjectWidget( makVrv::DtDe& de, QWidget* parent = 0, Qt::WindowFlags flags = 0);
00106 
00108       virtual ~DtVrfAttachObjectWidget();
00109 
00110    protected:
00112       virtual void setupUi();
00113 
00114       virtual void setAttached(bool);
00115 
00117      virtual void setAttachNextEnabled( bool enabled );
00118       
00120      virtual void setAttachPreviousEnabled( bool enabled );
00121    
00123       virtual void setAttachSelectedEnabled( bool enabled );
00124    
00126       virtual void addAttachModes( const std::list<makVrv::DtUnicode>& modeNames,
00127          const std::list<int>& modeTypes );
00128       
00130       virtual void setCurrentAttachMode( int modeType );
00131 
00132    protected slots:
00134       virtual void attachSelected();
00135  
00137       virtual void attachPrevious();
00138       
00140       virtual void attachNext();
00141 
00143       virtual void onSelectAttachMode(int);
00144 
00145    protected:
00146       makVrv::DtDe& myDe;
00147       
00148    public:
00149       QHBoxLayout*                  myMainLayout;
00150       QPushButton*                  myAttachSelectedBtn;
00151       QPushButton*                  myAttachPreviousBtn;
00152       QPushButton*                  myAttachNextBtn;
00153       QComboBox*                    myAttachSelections;
00154 
00155    protected:
00156       DtVrfAttachWidgetLogic*  myLogic;
00157    };
00158 
00160    class DT_DLL_VRFGUICOREQT DtVrfAttachWidgetLogic : public makVrv::DtAttachWidgetLogic
00161    {
00162    public:
00163       DtVrfAttachWidgetLogic( makVrv::DtDe& de, DtVrfAttachWidgetInterface* iFace );
00164 
00165       virtual ~DtVrfAttachWidgetLogic();
00166             
00168       virtual void setAttachMode( int mode );
00169      
00171       virtual void detach();
00172       
00174       virtual void attachNext();
00175       
00177       virtual void attachPrevious();
00178 
00180       virtual void attachToSelected();
00181 
00182    protected:
00183       virtual void determineAttachState();
00184    };
00185 
00186    class DT_DLL_VRFGUICOREQT DtVrfAttachObjectWidgetBuilder : public makVrv::DtWidgetBuilder
00187    { 
00188    public:
00189 
00190       DtVrfAttachObjectWidgetBuilder();
00191 
00192       virtual ~DtVrfAttachObjectWidgetBuilder();
00193 
00194       virtual QWidget* create( makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags);
00195    };
00196 }
00197 

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)