![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2007 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtTextureDrapingWidget.h,v $ $Revision: 1.20 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #ifndef DtTextureDrapingWidget_H_ 00014 #define DtTextureDrapingWidget_H_ 00015 00016 #include <vrvCoreQt/vrvCoreQt.h> 00017 #include <vrvCoreQt/DtTextureDrapingWidgetUI.hpp> 00018 #include <vrvCoreQt/DtTextureDrapingInterface.h> 00019 #include <QtGui/QWidget> 00020 00021 class QTreeWidgetItem; 00022 class QLineEdit; 00023 class QPushButton; 00024 class QHBoxLayout; 00025 00026 namespace makVrv 00027 { 00028 class DtDe; 00029 00032 class DT_DLL_VRVCOREQT DtTextureDrapingWidget 00033 : public QWidget 00034 , public Ui::DtTextureDrapingWidgetUI 00035 , public DtTextureDrapingInterface 00036 { 00037 00038 Q_OBJECT; 00039 00040 public: 00042 DtTextureDrapingWidget(DtDe& de,QWidget* parent, 00043 Qt::WindowFlags f = Qt::Widget); 00044 00046 virtual ~DtTextureDrapingWidget(); 00047 00049 void addRasterLayer(const std::string& image, bool on, 00050 bool canSelectImage = true, const std::string& imageName = "", bool select = false, 00051 int iIndex = -1); 00052 00054 virtual void removeRasterLayer(const std::string& image); 00055 00057 virtual void selectRaster(const std::string& raster); 00058 00060 virtual void clearRasterImages(); 00061 00063 virtual void setRasterTextureEnabled(const std::string& raster, bool); 00064 00066 virtual void setRasterTextureDefinition(const std::string& raster, const std::string& filename); 00067 00069 virtual std::string currentRasterLayer() const; 00070 00072 virtual std::string currentRasterImage() const; 00073 00075 virtual void setRasterTextureBlendMode(int); 00076 00078 virtual void setRasterTextureWrapMode(int); 00079 00081 virtual void clearCoordinateSystems(); 00082 00085 virtual void setCoordinateSystem(const std::string& system); 00086 00088 virtual void addCoordinateSystem(const std::string& system); 00089 00091 virtual void setCoordinateLabels(const std::string& x, const std::string& y); 00092 virtual void setSWCoordinateLabels(const std::string& x, const std::string& y); 00093 virtual void setNECoordinateLabels(const std::string& x, const std::string& y); 00094 00096 virtual void getSWCorner(std::string& x, std::string& y); 00097 virtual void getNECorner(std::string& x, std::string& y); 00098 00100 virtual std::string coordinateSystem() const; 00101 00103 virtual void setSWCorner(const std::string& x, const std::string& y); 00104 virtual void setNECorner(const std::string& x, const std::string& y); 00105 00107 virtual void addBlendMode(const std::string& strMode, int mode); 00108 00110 virtual void clearBlendModes(); 00111 00113 virtual void addWrapMode(const std::string& strMode, int mode); 00114 00116 virtual void clearWrapModes(); 00117 00119 virtual void moveRasterLayer(const std::string&, int); 00120 00122 virtual void addButtonsToTitleArea(QHBoxLayout* title); 00123 00124 protected: 00126 virtual void enableWidgetItems(); 00127 00130 virtual bool canEnableRasterLayer() const; 00131 00132 protected slots: 00133 00135 virtual void onItemSelectionChanged(); 00136 00138 virtual void onRasterImageSelect(); 00139 00141 virtual void onBlendModeChanged(); 00142 00144 virtual void onWrapModeChanged(); 00145 00147 virtual void onClearPressed(); 00148 00150 virtual void onResetPressed(); 00151 00153 virtual void onCoordinateSystemChanged(); 00154 00156 virtual void onSWCornerChanged(); 00157 virtual void onNECornerChanged(); 00158 00160 virtual void setSWCornerGroupBoxLabel(const std::string& x); 00161 virtual void setNECornerGroupBoxLabel(const std::string& x); 00162 00164 virtual void setSWValidator(const std::string& x, const std::string& y); 00165 virtual void setNEValidator(const std::string& x, const std::string& y); 00166 00169 virtual void onItemChanged(QTreeWidgetItem*, int); 00170 00172 virtual void onSetupFileSelector(); 00173 00176 virtual void onRasterTextureDefinitionChanged(const QString&); 00177 00180 virtual void onRasterTextureEditingFinished(); 00181 00183 virtual void onAddRasterLayer(); 00184 00187 virtual void onRemoveRasterLayer(); 00188 00191 virtual void onMoveRasterLayerUp(); 00192 virtual void onMoveRasterLayerDown(); 00193 00196 virtual void onRasterLayerNameChanged(); 00197 00199 virtual void setMaximumTextureUnits(int); 00200 00201 protected: 00202 DtDe& myDe; 00203 int myMaximumTextureUnits; 00204 00205 public: 00206 QWidget* myFilePanel; 00207 QHBoxLayout* myFilesSelectionLayout; 00208 QLineEdit* myFileEdit; 00209 QPushButton* myFileSelect; 00210 00211 QSpacerItem* mySpacerItem; 00212 QPushButton* myMoveRasterLayerUpButton; 00213 QPushButton* myMoveRasterLayerDownButton; 00214 QPushButton* myAddRasterLayer; 00215 QPushButton* myRemoveRasterLayer; 00216 }; 00217 } 00218 00219 #endif