COPASI API  4.16.103
Public Member Functions | Protected Slots | Private Types | Private Member Functions | Private Attributes | List of all members
CQLayoutsWidget Class Reference

#include <CQLayoutsWidget.h>

Inheritance diagram for CQLayoutsWidget:
Inheritance graph
[legend]
Collaboration diagram for CQLayoutsWidget:
Collaboration graph
[legend]

Public Member Functions

 CQLayoutsWidget (QWidget *parent)
 
void deleteLayoutWindows ()
 
virtual bool leave ()
 
virtual bool update (ListViews::ObjectType objectType, ListViews::Action action, const std::string &key)
 
virtual ~CQLayoutsWidget ()
 
- Public Member Functions inherited from CopasiWidget
 CopasiWidget (QWidget *parent=0, const char *name=0, Qt::WFlags f=0)
 
bool enter (const std::string &key)
 
CCopasiDataModelgetDataModel ()
 
bool getIgnoreUpdates ()
 
virtual void setFramework (int framework)
 
void setIgnoreUpdates (bool v)
 

Protected Slots

virtual void dataChanged (const QModelIndex &topLeft, const QModelIndex &bottomRight)
 
virtual void slotBtnClearClicked ()
 
virtual void slotBtnDeleteClicked ()
 
virtual void slotBtnNewClicked ()
 
virtual void slotDoubleClicked (const QModelIndex proxyIndex)
 
virtual void slotFilterChanged ()
 
virtual void slotSelectionChanged (const QItemSelection &selected, const QItemSelection &deselected)
 
void slotShowLayout (const QModelIndex &index)
 
- Protected Slots inherited from CopasiWidget
virtual bool protectedNotify (ListViews::ObjectType objectType, ListViews::Action action, const std::string &key="")
 

Private Types

typedef CWindowInterface LayoutWindow
 
typedef std::map< std::string,
LayoutWindow * > 
LayoutWindowMap
 

Private Member Functions

LayoutWindowcreateLayoutWindow (int row, CLayout *pLayout)
 
void deleteSelectedLayouts ()
 
virtual bool enterProtected ()
 
void showButtons ()
 
void updateDeleteBtns ()
 

Private Attributes

LayoutWindowMap mLayoutWindowMap
 
CQLayoutsDMmpLayoutsDM
 
CQSortFilterProxyModelmpProxyModel
 
CQPushButtonDelegatempPushButtonDelegate
 

Additional Inherited Members

- Protected Attributes inherited from CopasiWidget
int mFramework
 
bool mIgnoreUpdates
 
std::string mKey
 
CCopasiDataModelmpDataModel
 
ListViewsmpListView
 
CCopasiObjectmpObject
 

Detailed Description

Definition at line 30 of file CQLayoutsWidget.h.

Member Typedef Documentation

Definition at line 34 of file CQLayoutsWidget.h.

typedef std::map< std::string, LayoutWindow * > CQLayoutsWidget::LayoutWindowMap
private

Definition at line 36 of file CQLayoutsWidget.h.

Constructor & Destructor Documentation

CQLayoutsWidget::CQLayoutsWidget ( QWidget *  parent)

Definition at line 44 of file CQLayoutsWidget.cpp.

References COL_ROW_NUMBER, COL_SHOW, dataChanged(), CQIconResource::icon(), mpLayoutsDM, mpProxyModel, mpPushButtonDelegate, CopasiWidget::protectedNotify(), CQPushButtonDelegate::PushButton, slotFilterChanged(), slotShowLayout(), and CQIconResource::unknown.

45  : CopasiWidget(parent)
46 {
47  setupUi(this);
48 
49  // Create Source Data Model.
50  mpLayoutsDM = new CQLayoutsDM(this);
51 
52  // Create the Proxy Model for sorting/filtering and set its properties.
54  mpProxyModel->setSortCaseSensitivity(Qt::CaseInsensitive);
55  mpProxyModel->setFilterKeyColumn(-1);
56  mpProxyModel->setSourceModel(mpLayoutsDM);
57 
58  mpTblLayouts->verticalHeader()->setResizeMode(QHeaderView::ResizeToContents);
59  mpTblLayouts->verticalHeader()->hide();
60  mpTblLayouts->sortByColumn(COL_ROW_NUMBER, Qt::AscendingOrder);
61  mpTblLayouts->setModel(mpProxyModel);
62 
64 
65  mpTblLayouts->setItemDelegateForColumn(COL_SHOW, mpPushButtonDelegate);
66 
67  // Connect the table widget
68  connect(mpLayoutsDM, SIGNAL(notifyGUI(ListViews::ObjectType, ListViews::Action, const std::string)),
69  this, SLOT(protectedNotify(ListViews::ObjectType, ListViews::Action, const std::string)));
70  connect(mpLayoutsDM, SIGNAL(dataChanged(const QModelIndex&, const QModelIndex&)),
71  this, SLOT(dataChanged(const QModelIndex&, const QModelIndex&)));
72  connect(mpLEFilter, SIGNAL(textChanged(const QString &)),
73  this, SLOT(slotFilterChanged()));
74  connect(mpPushButtonDelegate, SIGNAL(clicked(const QModelIndex &)), this, SLOT(slotShowLayout(const QModelIndex &)));
75 }
CQSortFilterProxyModel * mpProxyModel
CQLayoutsDM * mpLayoutsDM
virtual void slotFilterChanged()
void slotShowLayout(const QModelIndex &index)
CQPushButtonDelegate * mpPushButtonDelegate
CopasiWidget(QWidget *parent=0, const char *name=0, Qt::WFlags f=0)
static const QIcon & icon(const IconID &id)
virtual void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight)
virtual bool protectedNotify(ListViews::ObjectType objectType, ListViews::Action action, const std::string &key="")
#define COL_SHOW
Definition: CQLayoutsDM.h:21
#define COL_ROW_NUMBER
CQLayoutsWidget::~CQLayoutsWidget ( )
virtual

Definition at line 78 of file CQLayoutsWidget.cpp.

References mpProxyModel, and pdelete.

79 {
81 }
#define pdelete(p)
Definition: copasi.h:215
CQSortFilterProxyModel * mpProxyModel

Member Function Documentation

CQLayoutsWidget::LayoutWindow * CQLayoutsWidget::createLayoutWindow ( int  row,
CLayout pLayout 
)
private

This creates a new layout window.

This creates a new layout window and return a pointer to it. In case of an error, NULL is returned.

Definition at line 367 of file CQLayoutsWidget.cpp.

References CWindowInterface::addToMainWindow(), CCopasiRootContainer::getConfiguration(), CCopasiRootContainer::getDatamodelList(), CLayout::getKey(), CCopasiObject::getObjectName(), and mLayoutWindowMap.

Referenced by slotBtnNewClicked(), and slotShowLayout().

368 {
369  if (pLayout == NULL || row < 0) return NULL;
370 
371  LayoutWindow * pWin = NULL;
372 
373 #ifndef DISABLE_QT_LAYOUT_RENDERING
374 
375  if (CCopasiRootContainer::getConfiguration()->useOpenGL())
376  {
378  (static_cast<CQNewMainWindow*>(pWin))->slotLayoutChanged(row);
379  }
380  else
381  {
382  pWin = new CQAnimationWindow(pLayout, (*CCopasiRootContainer::getDatamodelList())[0]);
383  }
384 
385 #else
387  (static_cast<CQNewMainWindow*>(pWin))->slotLayoutChanged(row);
388 #endif //DISABLE_QT_LAYOUT_RENDERING
389 
390  std::string title = "COPASI Diagram: " + pLayout->getObjectName();
391  pWin->setWindowTitle(title.c_str());
392  pWin->addToMainWindow();
393  pWin->resize(900, 600);
394  mLayoutWindowMap[pLayout->getKey()] = pWin;
395 
396  return pWin;
397 }
const std::string & getObjectName() const
static CConfigurationFile * getConfiguration()
LayoutWindowMap mLayoutWindowMap
static CCopasiVector< CCopasiDataModel > * getDatamodelList()
CWindowInterface LayoutWindow
virtual const std::string & getKey() const
Definition: CLayout.h:71
void CQLayoutsWidget::dataChanged ( const QModelIndex &  topLeft,
const QModelIndex &  bottomRight 
)
protectedvirtualslot

Definition at line 348 of file CQLayoutsWidget.cpp.

References showButtons(), and updateDeleteBtns().

Referenced by CQLayoutsWidget(), enterProtected(), and slotBtnNewClicked().

350 {
351  mpTblLayouts->resizeColumnsToContents();
353  showButtons();
354 }
void CQLayoutsWidget::deleteLayoutWindows ( )

Definition at line 100 of file CQLayoutsWidget.cpp.

References mLayoutWindowMap.

Referenced by slotBtnClearClicked(), ListViews::slotNotify(), and ListViews::~ListViews().

101 {
102  LayoutWindowMap::iterator it = mLayoutWindowMap.begin(), endit = mLayoutWindowMap.end();
103 
104  while (it != endit)
105  {
106  delete it->second;
107  ++it;
108  }
109 
110  mLayoutWindowMap.clear();
111 }
LayoutWindowMap mLayoutWindowMap
void CQLayoutsWidget::deleteSelectedLayouts ( )
private

Definition at line 113 of file CQLayoutsWidget.cpp.

References CCopasiRootContainer::getDatamodelList(), mLayoutWindowMap, mpLayoutsDM, mpProxyModel, CQLayoutsDM::removeRows(), and CQLayoutsDM::rowCount().

Referenced by slotBtnDeleteClicked().

114 {
115  const QItemSelectionModel * pSelectionModel = mpTblLayouts->selectionModel();
116 
117  QModelIndexList mappedSelRows;
118  size_t i, imax = mpLayoutsDM->rowCount();
119 
120  for (i = 0; i < imax; i++)
121  {
122  if (pSelectionModel->isRowSelected((int) i, QModelIndex()))
123  {
124  mappedSelRows.append(mpProxyModel->mapToSource(mpProxyModel->index((int) i, 0)));
125  }
126  }
127 
128  if (mappedSelRows.empty()) return;
129 
130  // We need to make sure that we remove the window mapped for each layout
131  QModelIndexList::const_iterator it = mappedSelRows.begin();
132  QModelIndexList::const_iterator end = mappedSelRows.end();
133 
134  assert(CCopasiRootContainer::getDatamodelList()->size() > 0);
135  CListOfLayouts * pListOfLayouts = (*CCopasiRootContainer::getDatamodelList())[0]->getListOfLayouts();
136 
137  for (; it != end; ++it)
138  {
139  LayoutWindowMap::iterator itWindow = mLayoutWindowMap.find((*pListOfLayouts)[it->row()]->getKey());
140 
141  if (itWindow != mLayoutWindowMap.end())
142  {
143  mLayoutWindowMap.erase(itWindow);
144  delete itWindow->second;
145  }
146  }
147 
148  mpLayoutsDM->removeRows(mappedSelRows);
149 }
bool removeRows(QModelIndexList rows, const QModelIndex &index=QModelIndex())
CQSortFilterProxyModel * mpProxyModel
virtual int rowCount(const QModelIndex &parent=QModelIndex()) const
Definition: CQLayoutsDM.cpp:24
CQLayoutsDM * mpLayoutsDM
LayoutWindowMap mLayoutWindowMap
static CCopasiVector< CCopasiDataModel > * getDatamodelList()
bool CQLayoutsWidget::enterProtected ( )
privatevirtual

Reimplemented from CopasiWidget.

Definition at line 158 of file CQLayoutsWidget.cpp.

References CCopasiVector< T >::begin(), dataChanged(), CCopasiVector< T >::end(), CModel::getCompartments(), CCopasiRootContainer::getDatamodelList(), CCopasiDataModel::getModel(), mLayoutWindowMap, mpLayoutsDM, CQLayoutsDM::setListOfLayouts(), CCopasiVector< T >::size(), and slotSelectionChanged().

Referenced by update().

159 {
160  if (mpTblLayouts->selectionModel() != NULL)
161  {
162  disconnect(mpTblLayouts->selectionModel(), SIGNAL(selectionChanged(const QItemSelection&, const QItemSelection&)),
163  this, SLOT(slotSelectionChanged(const QItemSelection&, const QItemSelection&)));
164  }
165 
166  assert(CCopasiRootContainer::getDatamodelList()->size() > 0);
167  CListOfLayouts * pListOfLayouts = (*CCopasiRootContainer::getDatamodelList())[0]->getListOfLayouts();
168  mpLayoutsDM->setListOfLayouts(pListOfLayouts);
169 
170  // check if we have at least a compartment
171  // that we can lay out.
173 
174  if (pDataModel != NULL &&
175  pDataModel->getModel() != NULL &&
176  pDataModel->getModel()->getCompartments().size() > 0)
177  {
178  mpBtnNew->setEnabled(true);
179  }
180  else
181  {
182  mpBtnNew->setEnabled(false);
183  }
184 
185  // We need to make sure that we have a window mapped for each layout
186  CListOfLayouts::const_iterator it = pListOfLayouts->begin();
187  CListOfLayouts::const_iterator end = pListOfLayouts->end();
188 
189  for (; it != end; ++it)
190  {
191  LayoutWindowMap::iterator pos = mLayoutWindowMap.find((*it)->getKey());
192 
193  // if this layout does not have an entry in the layout window map, add one
194  if (pos == mLayoutWindowMap.end())
195  {
196  mLayoutWindowMap.insert(std::pair<std::string, LayoutWindow*>((*it)->getKey(), (LayoutWindow*)NULL));
197  }
198  }
199 
200  connect(mpTblLayouts->selectionModel(), SIGNAL(selectionChanged(const QItemSelection&, const QItemSelection&)),
201  this, SLOT(slotSelectionChanged(const QItemSelection&, const QItemSelection&)));
202 
203  dataChanged(QModelIndex(), QModelIndex());
204 
205  return true;
206 }
virtual size_t size() const
CQLayoutsDM * mpLayoutsDM
iterator begin()
iterator end()
std::vector< CType * >::const_iterator const_iterator
Definition: CCopasiVector.h:57
LayoutWindowMap mLayoutWindowMap
virtual void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight)
static CCopasiVector< CCopasiDataModel > * getDatamodelList()
CWindowInterface LayoutWindow
CCopasiVectorNS< CCompartment > & getCompartments()
Definition: CModel.cpp:1145
void setListOfLayouts(CListOfLayouts *pListOfLayouts)
virtual void slotSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
bool CQLayoutsWidget::leave ( )
virtual

Reimplemented from CopasiWidget.

Definition at line 95 of file CQLayoutsWidget.cpp.

96 {
97  return true;
98 }
void CQLayoutsWidget::showButtons ( )
private

Definition at line 208 of file CQLayoutsWidget.cpp.

References COL_SHOW, mpLayoutsDM, mpProxyModel, and CQLayoutsDM::rowCount().

Referenced by dataChanged().

209 {
210  int i, imax = mpLayoutsDM->rowCount();
211 
212  for (i = 0; i < imax; ++i)
213  {
214  this->mpTblLayouts->openPersistentEditor(mpProxyModel->index(i, COL_SHOW, QModelIndex()));
215  }
216 }
CQSortFilterProxyModel * mpProxyModel
virtual int rowCount(const QModelIndex &parent=QModelIndex()) const
Definition: CQLayoutsDM.cpp:24
CQLayoutsDM * mpLayoutsDM
#define COL_SHOW
Definition: CQLayoutsDM.h:21
void CQLayoutsWidget::slotBtnClearClicked ( )
protectedvirtualslot

Definition at line 316 of file CQLayoutsWidget.cpp.

References CQLayoutsDM::clear(), deleteLayoutWindows(), mpLayoutsDM, and CQMessageBox::question().

317 {
318  int ret = CQMessageBox::question(this, tr("Confirm Delete"), "Delete all Layouts?",
319  QMessageBox::Yes | QMessageBox::No, QMessageBox::No);
320 
321  if (ret == QMessageBox::Yes)
322  {
323  mpLayoutsDM->clear();
325  }
326 }
virtual bool clear()
Definition: CQLayoutsDM.cpp:31
CQLayoutsDM * mpLayoutsDM
static StandardButton question(QWidget *parent, const QString &title, const QString &text, StandardButtons buttons=Ok, StandardButton defaultButton=NoButton)
void CQLayoutsWidget::slotBtnDeleteClicked ( )
protectedvirtualslot

Definition at line 309 of file CQLayoutsWidget.cpp.

References deleteSelectedLayouts().

310 {
311  if (mpTblLayouts->hasFocus())
313 }
void CQLayoutsWidget::slotBtnNewClicked ( )
protectedvirtualslot

Definition at line 234 of file CQLayoutsWidget.cpp.

References CListOfLayouts::addLayout(), CCopasiSpringLayout::createLayout(), createLayoutWindow(), dataChanged(), CCopasiRootContainer::getDatamodelList(), CCopasiDataModel::getListOfLayouts(), CCopasiDataModel::getModel(), CQAutolayoutWizard::getSelectedCompartments(), CQAutolayoutWizard::getSelectedMetabolites(), CQAutolayoutWizard::getSelectedReactions(), CQAutolayoutWizard::getSideMetabolites(), hasLayout(), CQLayoutsDM::insertRows(), mpLayoutsDM, CCopasiObject::setObjectName(), CCopasiVector< T >::size(), and CQAnimationWindow::slotAutoLayout().

235 {
237  const CModel* pModel = pDataModel->getModel();
238  assert(pModel != NULL);
239 
240  std::string name = "COPASI autolayout";
241  int ncount = 1;
242 
243  while (hasLayout(*(pDataModel->getListOfLayouts()), name))
244  {
245  std::stringstream str;
246  str << "COPASI autolayout " << ncount++;
247  name = str.str();
248  }
249 
250  CQAutolayoutWizard pWizard(*pModel);
251 
252  if (pWizard.exec() != QDialog::Accepted)
253  return;
254 
255  // add the layout to the datamodel
256  std::map<std::string, std::string> m;
257 
258  CListOfLayouts * pListOfLayouts = pDataModel->getListOfLayouts();
259 
260  // create the random layout
263  pDataModel, pWizard.getSelectedCompartments(),
264  pWizard.getSelectedReactions(),
265  pWizard.getSelectedMetabolites(),
266  pWizard.getSideMetabolites(),
267  &p);
268 
269  pLayout->setObjectName(name);
270  pListOfLayouts->addLayout(pLayout, m);
271 
272  // update the table
273  mpLayoutsDM->insertRows(pListOfLayouts->size() - 1, 1);
274  dataChanged(QModelIndex(), QModelIndex());
275 
276  LayoutWindow *window = createLayoutWindow(pListOfLayouts->size() - 1, pLayout);
277  CQNewMainWindow* pWin = dynamic_cast<CQNewMainWindow*>(window);
278 
279 #ifndef DISABLE_QT_LAYOUT_RENDERING
280  CQAnimationWindow* pAnim = dynamic_cast<CQAnimationWindow*>(window);
281 
282  if (pAnim != NULL)
283  {
284  pAnim->show();
285  // now we create the spring layout
286  pAnim->slotAutoLayout();
287  }
288  else
289 #endif //DISABLE_QT_LAYOUT_RENDERING
290 
291  if (pWin != NULL)
292  {
293  pWin->updateRenderer();
294  pWin->setMode();
295  // show the new layout
296  pWin->show();
297  pWin->redrawNow();
298  // now we create the spring layout
299  pWin->slotRunSpringLayout();
300  }
301 
302  else
303  {
304  delete pLayout;
305  }
306 }
void slotAutoLayout()
Slots the auto layout.
virtual size_t size() const
CQLayoutsDM * mpLayoutsDM
LayoutWindow * createLayoutWindow(int row, CLayout *pLayout)
bool hasLayout(const CListOfLayouts &layouts, const std::string &name)
virtual bool insertRows(int position, int rows, const QModelIndex &index=QModelIndex())
static CLayout * createLayout(CCopasiContainer *parent, const std::set< const CCompartment * > &compartments, const std::set< const CReaction * > &reactions, const std::set< const CMetab * > &metabs, const std::set< const CMetab * > &sideMetabs, Parameters *mParams=NULL)
virtual void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight)
static CCopasiVector< CCopasiDataModel > * getDatamodelList()
CWindowInterface LayoutWindow
CListOfLayouts * getListOfLayouts()
void addLayout(CLayout *layout, const std::map< std::string, std::string > &m)
Definition: CModel.h:50
bool setObjectName(const std::string &name)
void CQLayoutsWidget::slotDoubleClicked ( const QModelIndex  proxyIndex)
protectedvirtualslot

Definition at line 336 of file CQLayoutsWidget.cpp.

References mpLayoutsDM, mpProxyModel, CQLayoutsDM::rowCount(), and slotShowLayout().

337 {
338  QModelIndex index = mpProxyModel->mapToSource(proxyIndex);
339 
340  int row = index.row();
341 
342  if (row >= mpLayoutsDM->rowCount() || row < 0) return;
343 
344  slotShowLayout(index);
345 }
CQSortFilterProxyModel * mpProxyModel
virtual int rowCount(const QModelIndex &parent=QModelIndex()) const
Definition: CQLayoutsDM.cpp:24
CQLayoutsDM * mpLayoutsDM
void slotShowLayout(const QModelIndex &index)
void CQLayoutsWidget::slotFilterChanged ( )
protectedvirtualslot

Definition at line 357 of file CQLayoutsWidget.cpp.

References mpProxyModel.

Referenced by CQLayoutsWidget().

358 {
359  QRegExp regExp(mpLEFilter->text(), Qt::CaseInsensitive, QRegExp::RegExp);
360  mpProxyModel->setFilterRegExp(regExp);
361 }
CQSortFilterProxyModel * mpProxyModel
void CQLayoutsWidget::slotSelectionChanged ( const QItemSelection &  selected,
const QItemSelection &  deselected 
)
protectedvirtualslot

Definition at line 329 of file CQLayoutsWidget.cpp.

References updateDeleteBtns().

Referenced by enterProtected().

331 {
333 }
void CQLayoutsWidget::slotShowLayout ( const QModelIndex &  index)
protectedslot

Definition at line 399 of file CQLayoutsWidget.cpp.

References createLayoutWindow(), CCopasiRootContainer::getDatamodelList(), CLayout::getKey(), mLayoutWindowMap, CQNewMainWindow::setMode(), and CQNewMainWindow::slotLayoutChanged().

Referenced by CQLayoutsWidget(), and slotDoubleClicked().

400 {
401  int row = index.row();
402 
403  assert(CCopasiRootContainer::getDatamodelList()->size() > 0);
404  CListOfLayouts* pListOfLayouts = (*CCopasiRootContainer::getDatamodelList())[0]->getListOfLayouts();
405 
406  CLayout* pLayout = (* pListOfLayouts)[row];
407  std::string Key = pLayout->getKey();
408 
409  if (pLayout != NULL)
410  {
411  // check if we already have a widget for the layout
412  // if yes, open it, else create one and add it to the map
413  LayoutWindow * pLayoutWindow = NULL;
414 
415  LayoutWindowMap::iterator pos = mLayoutWindowMap.find(Key);
416 
417  if (pos != mLayoutWindowMap.end())
418  {
419  pLayoutWindow = pos->second;
420  }
421 
422  if (pLayoutWindow == NULL)
423  {
424  pLayoutWindow = createLayoutWindow(row, pLayout);
425 
426  // need to add it to the list, so the window can be deleted later
427  mLayoutWindowMap[pLayout->getKey()] = pLayoutWindow;
428  }
429 
430  if (pLayoutWindow != NULL)
431  {
432  CQNewMainWindow* cqWin = dynamic_cast<CQNewMainWindow*>(pLayoutWindow);
433 
434  if (cqWin != NULL)
435  {
436  cqWin ->slotLayoutChanged(row);
437  cqWin ->setMode();
438  }
439 
440  pLayoutWindow->show();
441  pLayoutWindow->showNormal();
442  pLayoutWindow->activateWindow();
443  }
444  }
445  else
446  {
447  //std::cerr << "Could not find layout." << std::endl;
448  }
449 }
void slotLayoutChanged(int index)
void setMode(DISPLAY_MODE mode=GRAPH_MODE)
LayoutWindow * createLayoutWindow(int row, CLayout *pLayout)
LayoutWindowMap mLayoutWindowMap
static CCopasiVector< CCopasiDataModel > * getDatamodelList()
CWindowInterface LayoutWindow
virtual const std::string & getKey() const
Definition: CLayout.h:71
bool CQLayoutsWidget::update ( ListViews::ObjectType  objectType,
ListViews::Action  action,
const std::string &  key 
)
virtual

Reimplemented from CopasiWidget.

Definition at line 84 of file CQLayoutsWidget.cpp.

References enterProtected(), and CopasiWidget::mIgnoreUpdates.

85 {
86  if (!mIgnoreUpdates)
87  {
89  }
90 
91  return true;
92 }
bool mIgnoreUpdates
Definition: copasiWidget.h:67
virtual bool enterProtected()
void CQLayoutsWidget::updateDeleteBtns ( )
private

Definition at line 151 of file CQLayoutsWidget.cpp.

References mpProxyModel.

Referenced by dataChanged(), and slotSelectionChanged().

152 {
153  mpBtnDelete->setEnabled(mpTblLayouts->selectionModel()->selectedRows().size() > 0);
154  mpBtnClear->setEnabled(mpProxyModel->rowCount() > 0);
155 }
CQSortFilterProxyModel * mpProxyModel

Member Data Documentation

LayoutWindowMap CQLayoutsWidget::mLayoutWindowMap
private
CQLayoutsDM* CQLayoutsWidget::mpLayoutsDM
private
CQSortFilterProxyModel* CQLayoutsWidget::mpProxyModel
private
CQPushButtonDelegate* CQLayoutsWidget::mpPushButtonDelegate
private

Definition at line 51 of file CQLayoutsWidget.h.

Referenced by CQLayoutsWidget().


The documentation for this class was generated from the following files: