Refractor ImageInfoData
This commit is contained in:
+28
-13
@@ -1,24 +1,39 @@
|
||||
#include "imageinfo.h"
|
||||
|
||||
static const QVector<QByteArray> noEditableKey = {"SIMPLE", "BITPIX", "NAXIS", "NAXIS1", "NAXIS2", "NAXIS3", "EXTEND", "BZERO", "BSCALE"};
|
||||
|
||||
bool FITSRecord::editable() const
|
||||
{
|
||||
return noEditableKey.count(key);
|
||||
}
|
||||
|
||||
ImageInfo::ImageInfo(QWidget *parent) : QTreeWidget(parent)
|
||||
{
|
||||
setColumnCount(2);
|
||||
setHeaderLabels({tr("Property"), tr("Value")});
|
||||
setColumnCount(3);
|
||||
setHeaderLabels({tr("Property"), tr("Value"), tr("Comment")});
|
||||
setIndentation(5);
|
||||
}
|
||||
|
||||
void ImageInfo::setInfo(ImageInfoData info)
|
||||
void ImageInfo::setInfo(const ImageInfoData &info)
|
||||
{
|
||||
clear();
|
||||
QList<QTreeWidgetItem*> items;
|
||||
QTreeWidgetItem *w;
|
||||
int i=0;
|
||||
for(StringPair item : info)
|
||||
if(info.fitsHeader.size())
|
||||
{
|
||||
w = new QTreeWidgetItem({item.first, item.second});
|
||||
w->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
||||
|
||||
items.append(w);
|
||||
i++;
|
||||
QTreeWidgetItem *fitsHeader = new QTreeWidgetItem({tr("FITS Header")});
|
||||
for(const FITSRecord &record : info.fitsHeader)
|
||||
{
|
||||
new QTreeWidgetItem(fitsHeader, {record.key, record.value.toString(), record.comment});
|
||||
}
|
||||
addTopLevelItem(fitsHeader);
|
||||
}
|
||||
insertTopLevelItems(0, items);
|
||||
if(info.info.size())
|
||||
{
|
||||
QTreeWidgetItem *infoHeader = new QTreeWidgetItem({tr("Image info")});
|
||||
for(auto &item : info.info)
|
||||
{
|
||||
new QTreeWidgetItem(infoHeader, {item.first, item.second});
|
||||
}
|
||||
addTopLevelItem(infoHeader);
|
||||
}
|
||||
expandAll();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user