VR-Forces 4.0.4 Class Documentation
include/tmqt/selectionWidget.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2004 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: selectionWidget.h,v $ $Revision: 1.15 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef DTSELECTIONWIDGET_H_
00013 #define DTSELECTIONWIDGET_H_
00014 
00015 #include "tmqt/ui_selectionWidgetUi.h"
00016 #include "tmqt/filteredListView.h"
00017 #include "symbolMapper/modelData.h"
00018 
00019 #include <QtCore/QHash>
00020 
00021 class DtTMMapArea;
00022 class DtFilter;
00023 
00031 
00032 #include "tmqt/tmqtDefines.h"
00033 class DT_DLL_tmqt DtSelectionWidget : public QWidget
00034 {
00035 
00036    Q_OBJECT
00037 
00038 public:
00039 
00041    DtSelectionWidget(QWidget* parent = NULL, const Qt::WindowFlags& f = 0);
00042 
00044    virtual ~DtSelectionWidget();
00045 
00047    virtual bool init(DtTMMapArea* map, int iNumListBoxes = 1);
00048 
00050    virtual QVector<DtModelKey> selectedObjects(int iListBox = -1) const;
00051 
00052    virtual QString selectedName(unsigned int iListBox = 0);
00053    virtual bool selectedNames(QString& name1, QString& name2);
00054 
00055    virtual DtFilter* addFilter(const QString& name, const DtEntityMapperKey& key, unsigned int iForListBox = 0, bool executeForFilter = false);
00056    virtual DtFilter* addFilter(DtFilter* filter, unsigned int iForListBox = 0, bool executeForFilter = false);
00057 
00059    virtual void watchDictionary(const DtModelDataDict* dict, unsigned int iListBox = 0);
00060    virtual void stopWatching(const DtModelDataDict* dict, unsigned int iListBox = 0);
00061 
00064    virtual void addForceLevelItem(int iForce, unsigned int iForListBox = 0);
00065 
00066    virtual DtFilteredListView* filteredListView(unsigned int iListBox = 0);
00067 
00068    virtual void clearAllSelections();
00069    virtual QString filterFor(const QString& windowTitle, const QString& listTitle);
00070 
00073    virtual void addFinalFilter(const DtFilter& f);
00074    virtual void removeFinalFilter();
00075 
00077    virtual void removeButtons();
00078    virtual void showButtons();
00079 
00081    virtual void makeConnections(bool connectMap = true);
00082    virtual void disconnectConnections();
00083 
00084    void setContinueAccept(bool);
00085    bool continueAccept() const;
00086 
00088    virtual void setSelectedName(const QString& name, int iListBox = 0);
00089 
00090 protected:
00091    virtual bool initConnections();
00092    virtual bool initConnections(DtFilteredListView*);
00093 
00094    virtual bool disconnectConnections(DtFilteredListView*);
00095 
00098    virtual DtFilteredListView* createFilteredListView(unsigned int iForListBox);
00099 
00100    virtual bool initFilters(unsigned int iForListBox = 0);
00101    virtual QString listTitle(unsigned int iForListBox = 0) const;
00102    virtual QString listCaption(unsigned int iForListBox = 0) const;
00103 
00104    virtual bool initSelectionMode();
00105    virtual QString windowTitle() const;
00106 
00107    virtual DtFilteredListView* createFilteredListView();
00108 
00109 signals:
00110 
00111    void selectionUpdated(const QVector<DtModelKey>& d);
00112    void selectionChanged(const QVector<DtModelKey>& d);
00113    void cancelActivated();
00114    void accepted();
00115 
00116 public slots:
00117 
00118    virtual void accept();
00119    virtual void cancelAndClose();
00120 
00121    virtual void listSelectionUpdated(const QVector<DtModelKey>& d);
00122    virtual void listSelectionChanged(const QVector<DtModelKey>& d);
00123 
00124    virtual void mapAreaSelectionUpdated(const QVector<DtModelKey>&);
00125 
00129    virtual void mapAreaSelectionChanged(const QVector<DtModelKey>&);
00130 
00132    virtual void filterChanged(DtFilteredListView* view, const QString& filter);
00133 
00135    virtual void comboTextChanged(DtFilteredListView* view, const QString& filter);
00136 
00137 protected:
00138 
00139    virtual void keyPressEvent(QKeyEvent *e);
00140    virtual void closeEvent(QCloseEvent *e);
00141 
00142 public:
00143    Ui::SelectionWidgetUi myUiImpl;
00144 
00145 protected:
00146    DtTMMapArea* myMapArea;
00147    QList<DtFilteredListView*> myFilteredListViews;
00148    bool myClosing;
00149 
00150    static DtEntityMapperKey gForceLevel;
00151    static QHash<QString, QString> gCurrentFilter;
00152 
00153    bool myReflectingToMap;
00154 
00156    bool mySelectedOne;
00157    bool myContinueAccept;
00158 };
00159 
00160 inline void DtSelectionWidget::setContinueAccept(bool b)
00161 {
00162    myContinueAccept = b;
00163 }
00164 
00165 inline bool DtSelectionWidget::continueAccept() const
00166 {
00167    return myContinueAccept;
00168 }
00169 
00170 #endif

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)