USGS

Isis 3.0 Object Programmers' Reference

Home

NomenclatureToolConfigDialog.cpp
1 #include "NomenclatureToolConfigDialog.h"
2 
3 #include <QtGui>
4 
5 #include "FeatureNomenclatureTool.h"
6 
7 namespace Isis {
15  FeatureNomenclatureTool *tool, QWidget *parent) : QDialog(parent) {
16  m_tool = tool;
17 
18  QVBoxLayout *mainLayout = new QVBoxLayout;
19  setLayout(mainLayout);
20 
21  QWidget *settingsAreaWidget = new QWidget;
22  mainLayout->addWidget(settingsAreaWidget);
23 
24  QWidget *buttonsAreaWidget = new QWidget;
25  mainLayout->addWidget(buttonsAreaWidget);
26 
27  QGridLayout *settingsAreaLayout = new QGridLayout;
28  settingsAreaWidget->setLayout(settingsAreaLayout);
29 
30  // Settings area
31  int row = 0;
32  QLabel *fontSizeLabel = new QLabel("Font Size");
33  settingsAreaLayout->addWidget(fontSizeLabel, row, 0);
34 
36  for (int i = 8; i <= 20; i++) {
37  m_fontSizeCombo->addItem(QString::number(i), i);
38  }
39  settingsAreaLayout->addWidget(m_fontSizeCombo, row, 1);
40  row++;
41 
42  QLabel *fontColorLabel = new QLabel("Font Color");
43  settingsAreaLayout->addWidget(fontColorLabel, row, 0);
44 
45  m_fontColorButton = new QPushButton;
46  settingsAreaLayout->addWidget(m_fontColorButton, row, 1);
47  connect(m_fontColorButton, SIGNAL(clicked()),
48  this, SLOT(askUserForColor()));
49  row++;
50 
51  QLabel *showVectorsLabel = new QLabel("Show feature extents");
52  settingsAreaLayout->addWidget(showVectorsLabel, row, 0);
53 
55 
60 
61  settingsAreaLayout->addWidget(m_showVectorsCombo, row, 1);
62  row++;
63 
64  QLabel *showApprovedLabel = new QLabel("Show IAU approved only");
65  settingsAreaLayout->addWidget(showApprovedLabel, row, 0);
66 
67  m_showApprovedCheckBox = new QCheckBox;
68  settingsAreaLayout->addWidget(m_showApprovedCheckBox, row, 1);
69  row++;
70 
71  QLabel *defaultOnLabel = new QLabel(
72  "Enabled when " + QCoreApplication::instance()->applicationName() +
73  " starts");
74  settingsAreaLayout->addWidget(defaultOnLabel, row, 0);
75 
76  m_defaultOnCheckBox = new QCheckBox;
77  settingsAreaLayout->addWidget(m_defaultOnCheckBox, row, 1);
78  row++;
79 
80  // Now the buttons area
81  QHBoxLayout *buttonsAreaLayout = new QHBoxLayout;
82  buttonsAreaWidget->setLayout(buttonsAreaLayout);
83 
84  buttonsAreaLayout->addStretch();
85 
86  QPushButton *okayButton = new QPushButton("&Ok");
87  okayButton->setIcon(QIcon::fromTheme("dialog-ok"));
88  buttonsAreaLayout->addWidget(okayButton);
89  connect(okayButton, SIGNAL(clicked()),
90  this, SLOT(applySettings()));
91  connect(okayButton, SIGNAL(clicked()),
92  this, SLOT(accept()));
93 
94  QPushButton *applyButton = new QPushButton("&Apply");
95  applyButton->setIcon(QIcon::fromTheme("dialog-ok-apply"));
96  buttonsAreaLayout->addWidget(applyButton);
97  connect(applyButton, SIGNAL(clicked()),
98  this, SLOT(applySettings()));
99 
100  QPushButton *cancelButton = new QPushButton("&Cancel");
101  cancelButton->setIcon(QIcon::fromTheme("dialog-cancel"));
102  buttonsAreaLayout->addWidget(cancelButton);
103  connect(cancelButton, SIGNAL(clicked()),
104  this, SLOT(reject()));
105 
106  readSettings();
107  }
108 
113 
114  }
115 
116 
122  m_fontSizeCombo->itemData(m_fontSizeCombo->currentIndex()).toInt());
123 
124  QPalette colorPalette(m_fontColorButton->palette());
125  m_tool->setFontColor(colorPalette.color(QPalette::Button));
126 
128 
130 
132  m_showVectorsCombo->itemData(m_showVectorsCombo->currentIndex()).toInt() );
133 
134  readSettings();
135  }
136 
137 
142  m_fontSizeCombo->setCurrentIndex(
143  m_fontSizeCombo->findText(QString::number(m_tool->fontSize())));
144 
145  QPalette colorPalette;
146  colorPalette.setColor(QPalette::Button, m_tool->fontColor());
147  m_fontColorButton->setPalette(colorPalette);
148 
149  m_defaultOnCheckBox->setChecked(m_tool->defaultEnabled());
150 
152 
153  m_showVectorsCombo->setCurrentIndex(
154  m_showVectorsCombo->findData(m_tool->vectorType()));
155  }
156 
157 
162  QPalette colorPalette(m_fontColorButton->palette());
163 
164  QColor newColor = QColorDialog::getColor(
165  colorPalette.color(QPalette::Button), this);
166 
167  if(newColor.isValid()) {
168  colorPalette.setColor(QPalette::Button, newColor);
169  m_fontColorButton->setPalette(colorPalette);
170  }
171  }
172 }