equal
deleted
inserted
replaced
227 self.AppFrame.RefreshTitle() |
227 self.AppFrame.RefreshTitle() |
228 self.AppFrame.RefreshFileMenu() |
228 self.AppFrame.RefreshFileMenu() |
229 self.AppFrame.RefreshPageTitles() |
229 self.AppFrame.RefreshPageTitles() |
230 return True |
230 return True |
231 return False |
231 return False |
|
232 |
|
233 def _getProjectFilesPath(self): |
|
234 projectfiles_path = os.path.join(self.GetProjectPath(), "project_files") |
|
235 if not os.path.exists(projectfiles_path): |
|
236 os.mkdir(projectfiles_path) |
|
237 return projectfiles_path |
232 |
238 |
233 def NewProject(self, ProjectPath, BuildPath=None): |
239 def NewProject(self, ProjectPath, BuildPath=None): |
234 """ |
240 """ |
235 Create a new project in an empty folder |
241 Create a new project in an empty folder |
236 @param ProjectPath: path of the folder where project have to be created |
242 @param ProjectPath: path of the folder where project have to be created |
1356 if self._connector.MatchMD5(MD5): |
1362 if self._connector.MatchMD5(MD5): |
1357 self.logger.write( |
1363 self.logger.write( |
1358 _("Latest build already matches current target. Transfering anyway...\n")) |
1364 _("Latest build already matches current target. Transfering anyway...\n")) |
1359 |
1365 |
1360 # Get temprary directory path |
1366 # Get temprary directory path |
1361 extrafilespath = self._getExtraFilesPath() |
1367 extrafiles = [] |
1362 extrafiles = [(name, open(os.path.join(extrafilespath, name), |
1368 for extrafilespath in [self._getExtraFilesPath(), |
|
1369 self._getProjectFilesPath()]: |
|
1370 |
|
1371 extrafiles.extend( |
|
1372 [(name, open(os.path.join(extrafilespath, name), |
1363 'rb').read()) \ |
1373 'rb').read()) \ |
1364 for name in os.listdir(extrafilespath) \ |
1374 for name in os.listdir(extrafilespath)]) |
1365 if not name=="CVS"] |
1375 |
1366 |
|
1367 # Send PLC on target |
1376 # Send PLC on target |
1368 builder = self.GetBuilder() |
1377 builder = self.GetBuilder() |
1369 if builder is not None: |
1378 if builder is not None: |
1370 data = builder.GetBinaryCode() |
1379 data = builder.GetBinaryCode() |
1371 if data is not None : |
1380 if data is not None : |
1380 self.logger.write_error(_("Transfer failed\n")) |
1389 self.logger.write_error(_("Transfer failed\n")) |
1381 else: |
1390 else: |
1382 self.logger.write_error(_("No PLC to transfer (did build succeed ?)\n")) |
1391 self.logger.write_error(_("No PLC to transfer (did build succeed ?)\n")) |
1383 |
1392 |
1384 wx.CallAfter(self.UpdateMethodsFromPLCStatus) |
1393 wx.CallAfter(self.UpdateMethodsFromPLCStatus) |
|
1394 |
|
1395 def _ImportProjectFile(self): |
|
1396 dialog = wx.FileDialog(self.AppFrame, _("Choose a file"), os.getcwd(), "", _("All files|*.*"), wx.OPEN) |
|
1397 if dialog.ShowModal() == wx.ID_OK: |
|
1398 filepath = dialog.GetPath() |
|
1399 if os.path.isfile(filepath): |
|
1400 shutil.copy(filepath, self._getProjectFilesPath()) |
|
1401 else: |
|
1402 self.logger.write_error(_("No such file: %s\n") % filepath) |
|
1403 dialog.Destroy() |
1385 |
1404 |
1386 StatusMethods = [ |
1405 StatusMethods = [ |
1387 {"bitmap" : "Build", |
1406 {"bitmap" : "Build", |
1388 "name" : _("Build"), |
1407 "name" : _("Build"), |
1389 "tooltip" : _("Build project into build folder"), |
1408 "tooltip" : _("Build project into build folder"), |
1427 ConfNodeMethods = [ |
1446 ConfNodeMethods = [ |
1428 {"bitmap" : "editIECrawcode", |
1447 {"bitmap" : "editIECrawcode", |
1429 "name" : _("Raw IEC code"), |
1448 "name" : _("Raw IEC code"), |
1430 "tooltip" : _("Edit raw IEC code added to code generated by PLCGenerator"), |
1449 "tooltip" : _("Edit raw IEC code added to code generated by PLCGenerator"), |
1431 "method" : "_editIECrawcode"}, |
1450 "method" : "_editIECrawcode"}, |
|
1451 {"bitmap" : "ImportFile", |
|
1452 "name" : _("Import file"), |
|
1453 "tooltip" : _("Import into project a file to be transfered with PLC"), |
|
1454 "method" : "_ImportProjectFile"}, |
1432 ] |
1455 ] |
1433 |
1456 |
1434 |
1457 |
1435 def EnableMethod(self, method, value): |
1458 def EnableMethod(self, method, value): |
1436 for d in self.StatusMethods: |
1459 for d in self.StatusMethods: |