File: FitsHeader.cpp

package info (click to toggle)
wxastrocapture 1.8.1%2Bgit20140821.796e1a1%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 42,212 kB
  • sloc: cpp: 43,421; sh: 733; perl: 246; makefile: 14
file content (78 lines) | stat: -rw-r--r-- 1,955 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include "FitsHeader.h"
#include "wxMainToolBar.h"
//(*InternalHeaders(FitsHeader)
#include <wx/intl.h>
#include <wx/string.h>
//*)

#include "wxFactory.h"

//(*IdInit(FitsHeader)
const long FitsHeader::ID_GRID1 = wxNewId();
//*)

BEGIN_EVENT_TABLE(FitsHeader,wxPanel)
	//(*EventTable(FitsHeader)
	//*)
END_EVENT_TABLE()

FitsHeader::FitsHeader(wxWindow* parent,wxWindowID id)
{
	//(*Initialize(FitsHeader)
	Create(parent, id, wxDefaultPosition, wxSize(400,400), wxTAB_TRAVERSAL, _T("id"));
	SetMaxSize(wxSize(-1,400));
	BoxSizer1 = new wxBoxSizer(wxHORIZONTAL);
	grid = new wxPropGrid(this, ID_GRID1, wxDefaultPosition, wxSize(500,300), wxSIMPLE_BORDER, _T("ID_GRID1"));
	BoxSizer1->Add(grid, 1, wxALL|wxEXPAND|wxALIGN_TOP|wxALIGN_CENTER_HORIZONTAL, 5);
	SetSizer(BoxSizer1);
	BoxSizer1->SetSizeHints(this);
	//*)

	Init();
}

FitsHeader::~FitsHeader()
{
	//(*Destroy(FitsHeader)
	//*)
}

void FitsHeader::Init()
{
   wxPropGrid::Columns columns;
   columns.push_back(wxT("Keyword"));
   columns.push_back(wxT("Value"));
   columns.push_back(wxT("Comment"));

   // retrieve values from config and pass onto grid
   wxPropGrid::Entries entries;
   wxFactory::singleton()->getFitsHeaderEntries(entries);
   grid->CreateGrid(entries,columns);

   wxArrayString choices;
   choices.Add(wxT("LIGHT"));
   choices.Add(wxT("BIAS"));
   choices.Add(wxT("DARK"));
   choices.Add(wxT("FLAT"));
   grid->CreateChoice(wxT("IMAGETYP"),choices);

   // recompute the control layout
	this->SetSizer(BoxSizer1);
	BoxSizer1->Fit(this);
   BoxSizer1->SetSizeHints(this);
   BoxSizer1->Layout();
	Layout();
}

bool FitsHeader::OnApply()
{
   // retrieve values from grid and pass on to config
   wxPropGrid::Entries entries;
   grid->GetCellValues(entries);
   wxFactory::singleton()->saveFitsHeaderEntries(entries);

   wxMainToolBar::singleton()->UpdateType();
   wxMainToolBar::singleton()->UpdateObject();

   return true;
}