QXRD  0.11.16
qxrdmaskstackview.cpp
Go to the documentation of this file.
1 #include "qxrdmaskstackview.h"
2 #include <QListView>
3 #include <QMenu>
4 #include <QContextMenuEvent>
5 #include "qxrdmaskdialog.h"
6 #include "qxrdmaskstack.h"
7 #include "qxrddataprocessor.h"
8 
10  QTableView(parent),
11  m_Dialog(NULL),
12  m_MaskStack(NULL),
13  m_Processor()
14 {
15 }
16 
18 {
19  m_Dialog = dlg;
20 }
21 
23 {
24  m_MaskStack = stk;
25 }
26 
28 {
29  m_Processor = proc;
30 }
31 
32 void QxrdMaskStackView::contextMenuEvent(QContextMenuEvent *event)
33 {
34  QMenu menu(NULL, NULL);
35 
36  QAction *newMask = menu.addAction("New Mask Layer");
37  QAction *enbMask = menu.addAction("Enable Mask Layer(s)");
38  QAction *dsbMask = menu.addAction("Disable Mask Layer(s)");
39  QAction *delMask = menu.addAction("Delete Mask Layer(s)");
40  QAction *andMask = menu.addAction("AND Mask Layers");
41  QAction *orMask = menu.addAction("OR Mask Layers");
42  QAction *thrMask = menu.addAction("Threshold Mask...");
43 
44 // xLog->setCheckable(true);
45 // yLog->setCheckable(true);
46 // xLog->setChecked(get_XAxisLog());
47 // yLog->setChecked(get_YAxisLog());
48 
49  QAction *action = menu.exec(event->globalPos());
50  QModelIndexList selected = selectedIndexes();
51 
52  if (m_Dialog) {
53  if (action == newMask) {
55 
56  if (dp) {
57  dp->newMaskStack();
58  }
59  } else if (action == enbMask) {
60  m_MaskStack->enableMasks(selected);
61  } else if (action == dsbMask) {
62  m_MaskStack->disableMasks(selected);
63  } else if (action == delMask) {
64  m_MaskStack->deleteMasks(selected);
65  } else if (action == andMask) {
66  m_MaskStack->andMasks(selected);
67  } else if (action == orMask) {
68  m_MaskStack->orMasks(selected);
69  } else if (action == thrMask) {
70 // m_MaskStack->thresholdMasks(selected);
71  }
72  }
73 
74  event->accept();
75 }
void setMaskDialog(QxrdMaskDialog *dlg)
QxrdMaskDialog * m_Dialog
void andMasks(QModelIndexList sel)
QWeakPointer< QxrdDataProcessor > QxrdDataProcessorWPtr
void setMaskStack(QxrdMaskStackPtr stk)
QxrdMaskStackPtr m_MaskStack
QxrdDataProcessorWPtr m_Processor
QSharedPointer< QxrdDataProcessor > QxrdDataProcessorPtr
void contextMenuEvent(QContextMenuEvent *event)
void deleteMasks(QModelIndexList sel)
void orMasks(QModelIndexList sel)
QxrdMaskStackView(QWidget *parent=0)
void disableMasks(QModelIndexList sel)
void setProcessor(QxrdDataProcessorWPtr proc)
void enableMasks(QModelIndexList sel)