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