64 : wxDialog(NULL, -1, "Add
Operation Implementation Resource",
65 wxDefaultPosition, wxSize(600, 480))
67 wxBoxSizer *vbox =
new wxBoxSizer(wxVERTICAL);
68 wxBoxSizer *hbox1 =
new wxBoxSizer(wxHORIZONTAL);
70 wxButton *okButton =
new wxButton(
this, wxID_OK, wxT(
"Ok"),
71 wxDefaultPosition, wxSize(70, 30));
72 wxButton *closeButton =
new wxButton(
this, wxID_CANCEL, wxT(
"Cancel"),
73 wxDefaultPosition, wxSize(70, 30));
75 wxButton *delButton =
new wxButton(
this , wxID_DELETE, wxT(
""));
77 hbox1->Add(okButton, 1);
78 hbox1->Add(closeButton, 1, wxLEFT, 5);
80 wxFlexGridSizer *flex1 =
new wxFlexGridSizer(7, 2, 9, 25);
82 wxStaticText *title1 =
new wxStaticText(
83 this, -1, wxT(
"Name"));
84 wxStaticText *title2 =
new wxStaticText(
85 this, -1, wxT(
"VHDL Synthesis file"));
86 wxStaticText *title3 =
new wxStaticText(
87 this, -1, wxT(
"VHDL Simulation file"));
88 wxStaticText *title4 =
new wxStaticText(
89 this, -1, wxT(
"Verilog Synthesis file"));
90 wxStaticText *title5 =
new wxStaticText(
91 this, -1, wxT(
"Verilog Simulation file"));
92 wxStaticText *title7 =
new wxStaticText(
93 this, -1, wxT(
"IP-XACT component file"));
94 wxStaticText *title6 =
new wxStaticText(
95 this, -1, wxT(
"Selected files"));
97 nameCtrl_ =
new wxTextCtrl(
this, -1);
99 wxFilePickerCtrl *pick1 =
new wxFilePickerCtrl(
this, BUTTON_SYN_VHDL,
100 "",
"Select VHDL Synthesis File",
"*.vhd;*.vhdl",
101 wxDefaultPosition, wxDefaultSize,
102 wxFLP_OPEN | wxFLP_FILE_MUST_EXIST | wxFLP_SMALL);
103 wxFilePickerCtrl *pick2 =
new wxFilePickerCtrl(
this, BUTTON_SIM_VHDL,
104 "",
"Select VHDL Simulation File",
"*.vhd;*.vhdl",
105 wxDefaultPosition, wxDefaultSize,
106 wxFLP_OPEN | wxFLP_FILE_MUST_EXIST | wxFLP_SMALL);
107 wxFilePickerCtrl *pick3 =
new wxFilePickerCtrl(
this, BUTTON_SYN_VERILOG,
108 "",
"Select Verilog Synthesis File",
"*.vh;*.v",
109 wxDefaultPosition, wxDefaultSize,
110 wxFLP_OPEN | wxFLP_FILE_MUST_EXIST | wxFLP_SMALL);
111 wxFilePickerCtrl *pick4 =
new wxFilePickerCtrl(
this, BUTTON_SIM_VERILOG,
112 "",
"Select Verilog Simulation File",
"*.vh;*.v",
113 wxDefaultPosition, wxDefaultSize,
114 wxFLP_OPEN | wxFLP_FILE_MUST_EXIST | wxFLP_SMALL);
115 ipxactPick_ =
new wxFilePickerCtrl(
this, BUTTON_IPXACT,
116 "",
"Select IP-XACT component File",
"*.xml",
117 wxDefaultPosition, wxDefaultSize,
118 wxFLP_OPEN | wxFLP_FILE_MUST_EXIST | wxFLP_SMALL);
121 flex1->Add(nameCtrl_, 1, wxEXPAND);
123 flex1->Add(pick1, 1, wxEXPAND);
125 flex1->Add(pick2, 1, wxEXPAND);
127 flex1->Add(pick3, 1, wxEXPAND);
129 flex1->Add(pick4, 1, wxEXPAND);
131 flex1->Add(ipxactPick_, 1, wxEXPAND);
133 flex1->Add(delButton, 1, wxEXPAND);
136 fileList1_ =
new wxListCtrl(
this, -1,
137 wxDefaultPosition, wxDefaultSize, wxLC_REPORT);
138 fileList1_->AppendColumn(
"File", wxLIST_FORMAT_LEFT, 400);
139 fileList1_->AppendColumn(
"Type", wxLIST_FORMAT_LEFT, 150);
141 vbox->Add(flex1, 1, wxALL | wxEXPAND, 15);
142 vbox->Add(fileList1_, 1, wxALL | wxEXPAND, 15);
143 vbox->Add(hbox1, 0, wxALIGN_CENTER | wxTOP | wxBOTTOM, 10);
157 if (resource.
name.length() < 1) {
158 wxMessageBox( wxT(
"Give the resource a name."),
159 wxT(
"Error"), wxICON_ERROR);
164 for (
int i = 0; i < items; ++i) {
165 std::string file =
fileList1_->GetItemText(i, 0).ToStdString();
166 std::string type =
fileList1_->GetItemText(i, 1).ToStdString();
169 resource.
synFiles.emplace_back(file);
173 resource.
simFiles.emplace_back(file);
178 resource.
synFiles.emplace_back(file);
183 resource.
simFiles.emplace_back(file);
186 wxMessageBox( wxT(
"Unknown file type."),
187 wxT(
"Error"), wxICON_ERROR);
193 if (resource.
ipxact.length() < 1) {
194 wxMessageBox(wxT(
"Give the IP-XACT component file."),
195 wxT(
"Error"), wxICON_ERROR);
200 wxGetApp().mainFrame().browser()->update();
207 std::string es(path);
209 size_t i = s.rfind(
'/', s.length());
210 if (i != std::string::npos) {
211 s = s.substr(0, i+1);
212 if (es.find(s) == 0) {
213 return es.substr(s.length());
222 wxFileDirPickerEvent& e) {
232 wxFileDirPickerEvent& e) {
242 wxFileDirPickerEvent& e) {
252 wxFileDirPickerEvent& e) {
267 item, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);