VR-Forces 4.0.4 Class Documentation
include/vrfGuiCoreQt/fileListDialog.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2007 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: fileListDialog.h,v $ $Revision: 1.4 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00012 #pragma once
00013 
00018 
00019 #include <vrfGuiCoreQt/vrfGuiCoreQt.h>
00020 #include <QtGui/QDialog>
00021 #include <QtCore/QEvent>
00022 
00023 class QListWidget;
00024 class QPushButton;
00025 class QLineEdit;
00026 class QVBoxLayout;
00027 class QHBoxLayout;
00028 class QLayout;
00029 
00030 namespace makVrf
00031 {
00032    class DT_DLL_VRFGUICOREQT DtFileListDialog : public QDialog
00033    {
00034       Q_OBJECT
00035 
00036    public:
00037       DtFileListDialog(QWidget* parent, const Qt::WindowFlags& flags = 0);
00038       virtual ~DtFileListDialog();
00039 
00040       virtual void init(const QStringList& = QStringList());
00041 
00043       virtual void setFiles(const QStringList& files);
00044 
00046       void setFilter(const QString&);
00047       const QString& filter() const;
00048 
00051       void setStartingDirectory(const QString&);
00052       const QString& startingDirectory() const;
00053 
00055       virtual QStringList files() const;
00056       virtual QString mergedFiles(const QChar& separator = ';') const;
00057 
00059       virtual void setDirectoryMode(bool);
00060       bool directoryMode() const;
00061 
00063       virtual void setPathsRelativeToApplication(bool);
00064       bool pathsRelativeToApplication() const;
00065 
00066       QListWidget* fileList() const;
00067 
00068       virtual QString makeRelativeTo(QString origFile) const;
00069 
00072       virtual QString makeRelativeTo(QString filename, QString path) const;
00073 
00075       virtual QString relativePath() const;
00076 
00079       virtual QString dataFolder() const;
00080 
00081       virtual QString cleanPath(const QString& path) const;
00082 
00083    protected:
00084       virtual void createAcceptButtons();
00085       virtual QLayout* createAddRemoveButtons(QHBoxLayout* fileLayout);
00086       virtual QLayout* createAddRemoveButtonLayout();
00087       virtual QString relativeFilename(const QString& file) const;
00088       virtual bool eventFilter(QObject* p, QEvent* e);
00089 
00090    signals:
00091       void filesChanged(const QStringList&);
00092 
00093    protected slots:
00094       virtual void itemSelectionChanged();
00095       virtual void addItem();
00096       virtual void removeItem();
00097 
00098       virtual void fileChanged();
00099 
00100       virtual void selectFile();
00101 
00102    protected:
00103       QListWidget*   myFileList;
00104       QPushButton*   myRemove;
00105 
00106       QPushButton*   myFileSelect;
00107       QLineEdit*     myFileEdit;
00108       QWidget*       myFilePanel;
00109 
00110       QString        myFilter;
00111       QString        myStartingDirectory;
00112 
00113       bool           myDirectoryMode;
00114       bool           myPathsRelativeToApplication;
00115    };
00116 
00119    class DT_DLL_VRFGUICOREQT DtFileListWidget : public DtFileListDialog
00120    {
00121    public:
00122       DtFileListWidget(QWidget*);
00123 
00124       virtual void init(const QStringList& = QStringList());
00125 
00126    protected:
00127       virtual void createAcceptButtons();
00128       virtual QLayout* createAddRemoveButtonLayout();
00129       virtual QLayout* createAddRemoveButtons(QHBoxLayout* fileLayout);
00130    };
00131 
00132    inline void DtFileListDialog::setFilter(const QString& f)
00133    {
00134       myFilter = f;
00135    }
00136 
00137    inline const QString& DtFileListDialog::filter() const
00138    {
00139       return myFilter;
00140    }
00141 
00142    inline void DtFileListDialog::setStartingDirectory(const QString& f)
00143    {
00144       myStartingDirectory = f;
00145    }
00146 
00147    inline const QString& DtFileListDialog::startingDirectory() const
00148    {
00149       return myStartingDirectory;
00150    }
00151 
00152    inline bool DtFileListDialog::directoryMode() const
00153    {
00154       return myDirectoryMode;
00155    }
00156 
00157    inline bool DtFileListDialog::pathsRelativeToApplication() const
00158    {
00159       return myPathsRelativeToApplication;
00160    }
00161 
00162    inline QListWidget* DtFileListDialog::fileList() const
00163    {
00164       return myFileList;
00165    }
00166 }

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)