def test_cur_grid_has_layers(self): prj = ChartProject(output_folder=testing.output_data_folder()) with self.assertRaises(RuntimeError): prj.cur_grid_has_depth_layer() with self.assertRaises(RuntimeError): prj.cur_grid_has_product_uncertainty_layer() with self.assertRaises(RuntimeError): prj.cur_grid_has_density_layer() with self.assertRaises(RuntimeError): prj.cur_grid_has_tvu_qc_layer() with self.assertRaises(RuntimeError): prj.cur_grid_tvu_qc_layers() with self.assertRaises(RuntimeError): prj.set_cur_grid_tvu_qc_name("fake") prj.add_to_grid_list(testing.input_test_files(".bag")[0]) prj.set_cur_grid(testing.input_test_files(".bag")[0]) prj.open_to_read_cur_grid() self.assertTrue(prj.cur_grid_has_depth_layer()) self.assertTrue(prj.cur_grid_has_product_uncertainty_layer()) self.assertFalse(prj.cur_grid_has_density_layer()) self.assertFalse(prj.cur_grid_has_tvu_qc_layer()) self.assertEqual(len(prj.cur_grid_tvu_qc_layers()), 0) self.assertTrue(prj.has_bag_grid()) self.assertFalse(prj.has_csar_grid())
class ChartWidget(AbstractWidget): here = os.path.abspath(os.path.join( os.path.dirname(__file__))) # overloading def __init__(self, main_win): AbstractWidget.__init__(self, main_win=main_win) self.prj = ChartProject(progress=QtProgress(parent=self)) self.prj.set_callback(QtGridCallback(progress=self.prj.progress)) # init default settings settings = QtCore.QSettings() # - import import_folder = settings.value("chart_import_folder") if (import_folder is None) or (not os.path.exists(import_folder)): settings.setValue("chart_import_folder", self.prj.output_folder) # - output folder export_folder = settings.value("chart_export_folder") if (export_folder is None) or (not os.path.exists(export_folder)): settings.setValue("chart_export_folder", self.prj.output_folder) else: # folder exists self.prj.output_folder = export_folder # - shp export_shp = settings.value("chart_export_shp") if export_shp is None: settings.setValue("chart_export_shp", self.prj.output_shp) else: # exists self.prj.output_shp = (export_shp == "true") # - kml export_kml = settings.value("chart_export_kml") if export_kml is None: settings.setValue("chart_export_kml", self.prj.output_kml) else: # exists self.prj.output_kml = (export_kml == "true") # - subfolders export_subfolders = settings.value("chart_export_subfolders") if export_subfolders is None: settings.setValue("chart_export_subfolders", self.prj.output_subfolders) else: # exists self.prj.output_subfolders = (export_subfolders == "true") # - project folder export_project_folder = settings.value("chart_export_project_folder") if export_project_folder is None: settings.setValue("chart_export_project_folder", self.prj.output_project_folder) else: # exists self.prj.output_project_folder = (export_project_folder == "true") # make tabs self.tabs = QtWidgets.QTabWidget() self.setCentralWidget(self.tabs) self.tabs.setContentsMargins(0, 0, 0, 0) self.tabs.setIconSize(QtCore.QSize(36, 36)) self.tabs.setTabPosition(QtWidgets.QTabWidget.South) # - inputs self.tab_inputs = InputsTab(parent_win=self, prj=self.prj) self.idx_inputs = self.tabs.insertTab( 0, self.tab_inputs, QtGui.QIcon(os.path.join(self.media, 'inputs.png')), "") self.tabs.setTabToolTip(self.idx_inputs, "Data inputs") # - grid truncate self.tab_grid_truncate = GridTruncateTab(parent_win=self, prj=self.prj) self.idx_grid_truncate = self.tabs.insertTab( 1, self.tab_grid_truncate, QtGui.QIcon(os.path.join(self.media, 'grid_truncate.png')), "") self.tabs.setTabToolTip(self.idx_grid_truncate, "Grid truncate") self.tabs.setTabEnabled(self.idx_grid_truncate, False) # - grid xyz self.tab_grid_xyz = GridXyzTab(parent_win=self, prj=self.prj) self.idx_grid_xyz = self.tabs.insertTab( 2, self.tab_grid_xyz, QtGui.QIcon(os.path.join(self.media, 'grid_xyz.png')), "") self.tabs.setTabToolTip(self.idx_grid_xyz, "Grid xyz") self.tabs.setTabEnabled(self.idx_grid_xyz, False) # - S57 truncate self.tab_s57_truncate = S57TruncateTab(parent_win=self, prj=self.prj) self.idx_s57_truncate = self.tabs.insertTab( 3, self.tab_s57_truncate, QtGui.QIcon(os.path.join(self.media, 's57_truncate.png')), "") self.tabs.setTabToolTip(self.idx_s57_truncate, "S57 truncate") self.tabs.setTabEnabled(self.idx_s57_truncate, False) # - scan features self.tab_scan = ScanTab(parent_win=self, prj=self.prj) self.idx_scan = self.tabs.insertTab( 4, self.tab_scan, QtGui.QIcon(os.path.join(self.media, 'scan_features.png')), "") self.tabs.setTabToolTip(self.idx_scan, "Scan features") self.tabs.setTabEnabled(self.idx_scan, False) # - triangle self.tab_triangle = TriangleTab(parent_win=self, prj=self.prj) self.idx_triangle = self.tabs.insertTab( 5, self.tab_triangle, QtGui.QIcon(os.path.join(self.media, 'triangle.png')), "") self.tabs.setTabToolTip(self.idx_triangle, "Triangle Rule") self.tabs.setTabEnabled(self.idx_triangle, False) # noinspection PyUnresolvedReferences self.tabs.currentChanged.connect(self.change_tabs) # flags self.has_grid = False self.has_s57 = False self.has_ss = False def do(self): """DEBUGGING""" pass def grids_loaded(self): if self.prj.has_bag_grid(): self.tabs.setTabEnabled(self.idx_grid_truncate, True) self.tabs.setTabEnabled(self.idx_grid_xyz, True) self.has_grid = True def grids_unloaded(self): self.tabs.setTabEnabled(self.idx_grid_truncate, False) self.tabs.setTabEnabled(self.idx_grid_xyz, False) self.has_grid = False def s57_loaded(self): self.tabs.setTabEnabled(self.idx_s57_truncate, True) self.tabs.setTabEnabled(self.idx_scan, True) self.has_s57 = True if self.has_ss: self.tabs.setTabEnabled(self.idx_triangle, True) def s57_unloaded(self): self.tabs.setTabEnabled(self.idx_scan, False) self.tabs.setTabEnabled(self.idx_s57_truncate, False) if self.has_grid is False: self.tabs.setTabEnabled(self.idx_triangle, False) self.has_s57 = False def ss_loaded(self): self.has_ss = True if self.has_s57: self.tabs.setTabEnabled(self.idx_triangle, True) def ss_unloaded(self): self.has_ss = False self.tabs.setTabEnabled(self.idx_triangle, False)