VR-Forces 4.0.4 Class Documentation
include/entityEditorImpl/thumbnailView.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2007 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: thumbnailView.h,v $ $Revision: 1.1 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef DTTHUMBNAILVIEW_H_
00013 #define DTTHUMBNAILVIEW_H_
00014 
00015 #include <QtGui/QScrollArea>
00016 
00017 class QPainter;
00018 
00019 #include "entityEditorImpl/entityEditorImplDefines.h"
00020 
00021 class DT_DLL_entityeditorimpl DtThumbnail : public QWidget
00022 {
00023 public:
00024    DtThumbnail(QWidget* parent);
00025 
00026    void setTitle(const QString&);
00027    const QString& title() const;
00028 
00029    virtual void setIcon(const QPixmap&);
00030    const QPixmap& icon() const;
00031 
00032    void setIconSize(const QSize&);
00033    const QSize& iconSize() const;
00034 
00035    virtual QSize minimumSizeHint() const;
00036 
00037    virtual void draw(QPainter&) const;
00038 
00039    void setSelected(bool);
00040    bool selected() const;
00041 
00042 protected:
00043    QPixmap  myIcon;
00044    QString  myTitle;
00045    QSize    myIconSize;
00046    bool     mySelected;
00047 };
00048 
00049 class DT_DLL_entityeditorimpl DtThumbnailView : public QScrollArea
00050 {
00051 
00052    Q_OBJECT
00053    
00054 public:
00055 
00057    DtThumbnailView(QWidget* parent = NULL);
00058 
00060    virtual ~DtThumbnailView();
00061 
00062    void setIconSize(const QSize&);
00063    const QSize& iconSize() const;
00064 
00065    virtual DtThumbnail* addIcon(const QPixmap&, const QString&);
00066 
00067    virtual void clear();
00068 
00069    DtThumbnail* selected();
00070    virtual void setSelected(DtThumbnail*);
00071 
00072    int thumbnailCount() const;
00073    DtThumbnail* thumbnail(int);
00074 
00075    int selectedIndex() const;
00076    virtual void setSelectedIndex(int);
00077 
00078 protected:
00079    virtual void setViewportSize();
00080    virtual void fontChange(const QFont& f);
00081    virtual QSize canvasSize() const;
00082    virtual void paintEvent(QPaintEvent*);
00083    virtual QSize minimumSizeHint() const;
00084    virtual QSize sizeHint() const;
00085    virtual void mousePressEvent(QMouseEvent* e);
00086    virtual void mouseDoubleClickEvent(QMouseEvent* e);
00087    virtual DtThumbnail* createThumbnail(QWidget* parent);
00088 
00089 signals:
00090    void thumbnailSelected(DtThumbnail*);
00091    void thumbnailDoubleClicked(DtThumbnail*);
00092 
00093 protected:
00094    QSize myIconSize;
00095    QList<DtThumbnail*>  myThumbnails;
00096    DtThumbnail* mySelected;
00097 };
00098 
00099 inline DtThumbnail* DtThumbnailView::selected()
00100 {
00101    return mySelected;
00102 }
00103 
00104 inline void DtThumbnailView::setIconSize(const QSize& s)
00105 {
00106    myIconSize = s;
00107 
00108    QList<DtThumbnail*>::const_iterator iter = myThumbnails.begin();
00109 
00110    while (iter != myThumbnails.end())
00111    {
00112       (*iter)->setIconSize(s);
00113       ++iter;
00114    }
00115 
00116    setViewportSize();
00117 }
00118 
00119 inline int DtThumbnailView::thumbnailCount() const
00120 {
00121    return myThumbnails.count();
00122 }
00123 
00124 inline int DtThumbnailView::selectedIndex() const
00125 {
00126    if (mySelected)
00127    {
00128       return myThumbnails.indexOf(mySelected);
00129    }
00130    else
00131    {
00132       return -1;
00133    }
00134 }
00135 
00136 inline DtThumbnail* DtThumbnailView::thumbnail(int i)
00137 {
00138    return myThumbnails.at(i);
00139 }
00140 
00141 inline const QSize& DtThumbnailView::iconSize() const
00142 {
00143    return myIconSize;
00144 }
00145 
00146 inline const QSize& DtThumbnail::iconSize() const
00147 {
00148    return myIconSize;
00149 }
00150 
00151 inline void DtThumbnail::setTitle(const QString& t)
00152 {
00153    myTitle = t;
00154 }
00155 
00156 inline const QString& DtThumbnail::title() const
00157 {
00158    return myTitle;
00159 }
00160 
00161 inline const QPixmap& DtThumbnail::icon() const
00162 {
00163    return myIcon;
00164 }
00165 
00166 inline void DtThumbnail::setSelected(bool b)
00167 {
00168    mySelected = b;
00169 }
00170 
00171 inline bool DtThumbnail::selected() const
00172 {
00173    return mySelected;
00174 }
00175 
00176 #endif
00177 

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)