9 #include <QRadioButton> 11 #include <QStackedWidget> 12 #include <QToolButton> 28 p_bandBinViewport = NULL;
40 action->setIcon(QPixmap(
toolIconDir() +
"/rgb.png"));
41 action->setToolTip(
"Band Selection (B)");
42 action->setShortcut(Qt::Key_B);
44 "<b>Function:</b> Change the view of the cube from gray scale to RGB.\ 45 <p><b>Shortcut:</b> B</p> ";
46 action->setWhatsThis(text);
66 copyLinked->setText(
"to Linked Viewports");
70 copyAll->setText(
"to All Viewports");
73 copyMenu->addAction(copyLinked);
74 copyMenu->addAction(copyAll);
76 QToolButton *copyButton =
new QToolButton(hbox);
77 copyButton->setAutoRaise(
true);
78 copyButton->setIconSize(QSize(22, 22));
79 copyButton->setPopupMode(QToolButton::MenuButtonPopup);
80 copyButton->setMenu(copyMenu);
81 copyButton->setDefaultAction(copyAll);
82 copyButton->setIcon(QPixmap(
toolIconDir() +
"/copy_bands.png"));
83 copyButton->setToolTip(
"Copy");
86 copyButton->setWhatsThis(text);
90 colorIcon.addPixmap(
toolIconDir() +
"/rgb.png", QIcon::Normal, QIcon::On);
91 grayIcon.addPixmap(
toolIconDir() +
"/gray.png", QIcon::Normal, QIcon::Off);
102 "<b>Function:</b> Toggle the active viewport between color or \ 103 grayscale display of the cube. Color display is only possible if \ 104 the cube has two or more bands";
110 p_comboBox->setSizeAdjustPolicy(QComboBox::AdjustToContents);
112 p_comboBox->setToolTip(
"Select BandBin keyword");
114 "<b>Function:</b> The default option \"Wavelength\" \ 115 simply shows the current band displayed in the viewport. However, \ 116 the labels of many cubes contain the BandBin group. \ 117 Keywords in this group describe the bands in a meaningful way, \ 118 such as WaveLength, Filter, Temperature, iTime, etc. \ 119 Selecting an alternative BandBin keyword will cause those values \ 120 to show in the spin boxes to the right.";
123 p_stack =
new QStackedWidget(hbox);
132 p_redSpin->setToolTip(
"Change red band");
134 p_grnSpin->setToolTip(
"Change green band");
136 p_bluSpin->setToolTip(
"Change blue band");
139 p_stack2 =
new QStackedWidget(hbox);
142 p_grayDisplay->setFrameStyle(QFrame::Panel | QFrame::Sunken);
149 p_redDisplay->setFrameStyle(QFrame::Panel | QFrame::Sunken);
151 p_blueDisplay->setFrameStyle(QFrame::Panel | QFrame::Sunken);
155 QHBoxLayout *displayLayout =
new QHBoxLayout(grayWidget);
157 displayLayout->addStretch(1);
158 grayWidget->setLayout(displayLayout);
160 displayLayout =
new QHBoxLayout(colorWidget);
164 colorWidget->setLayout(displayLayout);
166 QHBoxLayout *layout =
new QHBoxLayout(stuff1);
167 layout->setMargin(0);
169 layout->addStretch(1);
170 stuff1->setLayout(layout);
172 layout =
new QHBoxLayout(stuff2);
173 layout->setMargin(0);
178 stuff2->setLayout(layout);
186 vertLine->setFrameShape(QFrame::VLine);
187 vertLine->setFrameShadow(QFrame::Sunken);
189 layout =
new QHBoxLayout(hbox);
190 layout->setMargin(0);
193 layout->addWidget(copyButton);
195 layout->addWidget(vertLine);
198 layout->addStretch(1);
199 hbox->setLayout(layout);
218 .findGroup(
"BandBin");
225 for(
int i = 0; i < bandBin.
keywords(); i++) {
226 if(bandBin[i].name() ==
p_comboBox->currentText()) {
228 for(
int j = 0; j < bandBin[i].size(); j++) {
235 for(
int i = 1; i <=
p_bands; i++) {
282 .findGroup(
"BandBin");
283 for(
int i = 0; i < bandBin.
keywords(); i++) {
285 if(bandBin[i].size() ==
p_bands) {
286 QString bandBinName = bandBin[i].
name();
316 if(v == NULL)
return;
474 if(p_bandBinViewport != cvp) {
518 p_bandBinViewport = cvp;
Cube display widget for certain Isis MDI applications.
int keywords() const
Returns the number of keywords contained in the PvlContainer.
int cubeBands() const
Return the number of bands in the cube.
PvlObjectIterator findObject(const QString &name, PvlObjectIterator beg, PvlObjectIterator end)
Find the index of object with a specified name, between two indexes.
void setComboCount(int count)
Sets the band bin combo box count.
QString name() const
Returns the container name.
void setComboIndex(int index)
Sets the band bin combo box index.
Contains multiple PvlContainers.
bool isLinked() const
Is the viewport linked with other viewports.
Pvl * label() const
Returns a pointer to the IsisLabel object associated with the cube.
Namespace for ISIS/Bullet specific routines.
virtual int bandCount() const
Returns the number of virtual bands for the cube.
IO Handler for Isis Cubes.