1 #include "bindtonewtype.h"
2 #include "globals.h"
3 
4 //(*InternalHeaders(BindtoNewType)
5 #include <wx/intl.h>
6 #include <wx/button.h>
7 #include <wx/string.h>
8 //*)
9 
10 //(*IdInit(BindtoNewType)
11 const long BindtoNewType::ID_TEXTCTRL1 = wxNewId();
12 const long BindtoNewType::ID_TEXTCTRL2 = wxNewId();
13 const long BindtoNewType::ID_TEXTCTRL3 = wxNewId();
14 //*)
15 
BEGIN_EVENT_TABLE(BindtoNewType,wxDialog)16 BEGIN_EVENT_TABLE(BindtoNewType,wxDialog)
17 	//(*EventTable(BindtoNewType)
18 	//*)
19 	EVT_BUTTON  (wxID_OK, BindtoNewType::OnOK)
20 END_EVENT_TABLE()
21 
22 BindtoNewType::BindtoNewType(wxWindow* parent,wxWindowID id,const wxPoint& pos,const wxSize& size)
23 {
24 	//(*Initialize(BindtoNewType)
25 	wxStaticText* StaticText2;
26 	wxStaticText* StaticText1;
27 	wxStaticText* StaticText3;
28 	wxBoxSizer* BoxSizer1;
29 	wxFlexGridSizer* FlexGridSizer1;
30 	wxStdDialogButtonSizer* StdDialogButtonSizer1;
31 
32 	Create(parent, wxID_ANY, _("Add New Type"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER, _T("wxID_ANY"));
33 	SetClientSize(wxSize(400,180));
34 	SetMinSize(wxSize(200,100));
35 	BoxSizer1 = new wxBoxSizer(wxVERTICAL);
36 	FlexGridSizer1 = new wxFlexGridSizer(3, 2, 0, 0);
37 	FlexGridSizer1->AddGrowableCol(1);
38 	FlexGridSizer1->AddGrowableRow(2);
39 	StaticText1 = new wxStaticText(this, wxID_ANY, _("Fortran type:"), wxDefaultPosition, wxDefaultSize, 0, _T("wxID_ANY"));
40 	FlexGridSizer1->Add(StaticText1, 0, wxTOP|wxBOTTOM|wxRIGHT|wxALIGN_CENTER_VERTICAL, 5);
41 	tc_Fortran = new wxTextCtrl(this, ID_TEXTCTRL1, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL1"));
42 	FlexGridSizer1->Add(tc_Fortran, 1, wxTOP|wxBOTTOM|wxEXPAND, 5);
43 	StaticText2 = new wxStaticText(this, wxID_ANY, _("Fortran Bind(C):"), wxDefaultPosition, wxDefaultSize, 0, _T("wxID_ANY"));
44 	FlexGridSizer1->Add(StaticText2, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
45 	tc_BindC = new wxTextCtrl(this, ID_TEXTCTRL2, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL2"));
46 	FlexGridSizer1->Add(tc_BindC, 1, wxTOP|wxBOTTOM|wxEXPAND, 5);
47 	StaticText3 = new wxStaticText(this, wxID_ANY, _("C type:"), wxDefaultPosition, wxDefaultSize, 0, _T("wxID_ANY"));
48 	FlexGridSizer1->Add(StaticText3, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
49 	tc_C = new wxTextCtrl(this, ID_TEXTCTRL3, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL3"));
50 	FlexGridSizer1->Add(tc_C, 1, wxTOP|wxBOTTOM|wxEXPAND, 5);
51 	BoxSizer1->Add(FlexGridSizer1, 0, wxALL|wxEXPAND, 5);
52 	BoxSizer1->Add(-1,-1,1, wxALL|wxALIGN_CENTER_HORIZONTAL, 5);
53 	StdDialogButtonSizer1 = new wxStdDialogButtonSizer();
54 	StdDialogButtonSizer1->AddButton(new wxButton(this, wxID_OK, wxEmptyString));
55 	StdDialogButtonSizer1->AddButton(new wxButton(this, wxID_CANCEL, wxEmptyString));
56 	StdDialogButtonSizer1->Realize();
57 	BoxSizer1->Add(StdDialogButtonSizer1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5);
58 	SetSizer(BoxSizer1);
59 	SetSizer(BoxSizer1);
60 	Layout();
61 	//*)
62 }
63 
~BindtoNewType()64 BindtoNewType::~BindtoNewType()
65 {
66 	//(*Destroy(BindtoNewType)
67 	//*)
68 }
69 
OnOK(wxCommandEvent & event)70 void BindtoNewType::OnOK(wxCommandEvent& event)
71 {
72     if (tc_Fortran->GetValue().Trim() == wxEmptyString ||
73         tc_BindC->GetValue().Trim() == wxEmptyString ||
74         tc_C->GetValue().Trim() == wxEmptyString)
75     {
76         wxString mstr = _T("All text fields should be filled!");
77         cbMessageBox(mstr, _("Error"), wxICON_ERROR);
78         return;
79     }
80     EndModal(wxID_OK);
81 }
82 
SetEditType(const wxString & ft,const wxString & bt,const wxString & ct)83 void BindtoNewType::SetEditType(const wxString& ft, const wxString& bt, const wxString& ct)
84 {
85     this->SetTitle(_("Edit Type"));
86     tc_Fortran->SetValue(ft);
87     tc_BindC->SetValue(bt);
88     tc_C->SetValue(ct);
89 }
90 
GetFortranType()91 wxString BindtoNewType::GetFortranType()
92 {
93     return tc_Fortran->GetValue().Lower();
94 }
95 
GetBindCType()96 wxString BindtoNewType::GetBindCType()
97 {
98     return tc_BindC->GetValue().Lower();
99 }
100 
GetCType()101 wxString BindtoNewType::GetCType()
102 {
103     return tc_C->GetValue();
104 }
105