VR-Vantage API Documentation
DtSelectionWidget.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2008 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: DtSelectionWidget.h,v $ $Revision: 1.12 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #pragma once
13 #include <vrvCoreQt/vrvCoreQt.h>
18 #include <vrvCore/DtUniqueID.h>
19 #include <vrvCore/DtElementData.h>
20 #include <QtCore/QHash>
21 
22 namespace makVrv
23 {
24  class DtFilter;
25  class DtSelectionManager;
26 
28  //
36  {
37 
38  Q_OBJECT
39 
40  public:
41 
43  DtSelectionWidget(DtDe& de, QWidget* parent = NULL,
44  const Qt::WindowFlags& f = 0);
45 
47  virtual ~DtSelectionWidget();
48 
50  virtual bool init( int iNumListBoxes = 1 );
51 
52  virtual void tick();
53 
55  virtual DtElementData::UniqueIdList selectedObjects(
56  int iListBox = -1) const;
57 
58  virtual QString selectedName(unsigned int iListBox = 0);
59  virtual bool selectedNames(QString& name1, QString& name2);
60 
61  virtual void addFilter(const DtFilter& filter,
62  unsigned int iForListBox = 0, bool executeForFilter = false);
63 
64  virtual DtFilteredListView* filteredListView(unsigned int iListBox = 0);
65 
66  virtual void clearAllSelections();
67  virtual QString filterFor(const QString& windowTitle,
68  const QString& listTitle);
69 
72  virtual void addFinalFilter(const DtFilter& f);
73  virtual void removeFinalFilter();
74 
76  virtual void removeButtons();
77  virtual void showButtons();
78 
80  virtual void makeConnections(bool connectMap = true);
81  virtual void disconnectConnections();
82 
83  void setContinueAccept(bool);
84  bool continueAccept() const;
85 
88  virtual void setSelectedName(const QString& name, int iListBox = 0);
89 
90  void onExternalSelectionChanged( const DtSelectionManager::IdSet& selected,
91  const DtSelectionManager::IdSet& deselected );
92 
93  protected:
94  virtual bool initConnections();
95  virtual bool initConnections(DtFilteredListView*);
96 
97  virtual bool disconnectConnections(DtFilteredListView*);
98 
101  virtual DtFilteredListView* createFilteredListView(unsigned int iForListBox);
102 
103  virtual bool initFilters(unsigned int iForListBox = 0);
104  virtual QString listTitle(unsigned int iForListBox = 0) const;
105  virtual QString listCaption(unsigned int iForListBox = 0) const;
106 
107  virtual bool initSelectionMode();
108  virtual QString windowTitle() const;
109 
110  virtual DtFilteredListView* createFilteredListView() = 0;
111 
112  virtual void slot_activate(DtDe* subject);
113 
114  virtual void slot_deactivate(DtDe* subject);
115 
119  void externalSelectionChanged( const DtSelectionManager::IdSet& selected,
120  const DtSelectionManager::IdSet& deselected );
121 
122  signals:
123 
126  void cancelActivated();
127  void accepted();
128 
129  public slots:
130 
131  virtual void accept();
132  virtual void cancelAndClose();
133 
136  virtual void listSelectionUpdated(const DtElementData::UniqueIdList& d);
137 
139  virtual void filterChanged(DtFilteredListView* window, const QString& filter);
140 
142  virtual void comboTextChanged(DtFilteredListView* window, const QString& filter);
143 
144  virtual bool createFilteredListViews();
145 
146  protected:
147 
148  virtual void keyPressEvent(QKeyEvent *e);
149  virtual void closeEvent(QCloseEvent *e);
150 
151  public:
153 
154  protected:
157 
159  bool myClosing;
160 
161  //static DtEntityMapperKey gForceLevel;
162  static QHash<QString, QString> gCurrentFilter;
163 
165 
169  };
170 
172  {
173  myContinueAccept = b;
174  }
175 
177  {
178  return myContinueAccept;
179  }
180 }


Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)