def selectDuplicates(store, attrName): mvstore = None tempFile = None status = ToolsLocator.getTaskStatusManager().createDefaultSimpleTaskStatus( "SelectDuplicates") status.add() status.setAutoremove(True) try: dataManager = DALLocator.getDataManager() dup = dataManager.createLargeMap() dup.clear() selection = store.createFeatureSelection() status.setRangeOfValues(0, store.getFeatureCount()) n = 0 for f in store: status.setCurValue(n) value = f.get(attrName) if dup.has_key(value): selection.select(f) else: dup[value] = True n += 1 store.setSelection(selection) finally: status.terminate()
def __init__(self, factory, parameters): ExportService.__init__(self) self.params = parameters self._factory = factory self.listeners = set() self._attributeNamesTranslator = None self._requestCancel = False self._taskStatus = ToolsLocator.getTaskStatusManager().createDefaultSimpleTaskStatus("ExportImages")
def execute(self, actionCommand, *args): self.panel = ImportFieldPanel() self.panel.setPreferredSize(400, 300) i18nManager = ToolsLocator.getI18nManager() winmgr = ToolsSwingLocator.getWindowManager() self.taskStatus = ToolsLocator.getTaskStatusManager( ).createDefaultSimpleTaskStatus( i18nManager.getTranslation("_Import_fields")) self.taskStatus.setAutoremove(True) self.dialog = winmgr.createDialog( self.panel.asJComponent(), i18nManager.getTranslation("_Import_fields"), i18nManager.getTranslation("_Select_fields_to_import_into_table"), winmgr.BUTTONS_OK_CANCEL) self.dialog.addActionListener(self) self.dialog.show(WindowManager.MODE.WINDOW)
def createStatus(self, title="ARENA2", observer=None): taskManager = ToolsLocator.getTaskStatusManager() status = taskManager.createDefaultSimpleTaskStatus(title) if observer!=None: status.addObserver(observer) return status
def execute(self, actionCommand, *args): self.document = gvsig.currentDocument(TableManager.TYPENAME) if self.document == None: return i18nManager = ToolsLocator.getI18nManager() self.store = self.document.getFeatureStore() ## Previusly editing state if self.store.isEditing(): self.editingMode = True else: self.editingMode = False ## Analyce pending changes if self.store.getPendingChangesCount() > 0: message = i18nManager.getTranslation( "_info_confirm_dialog_field_calculator_commit_changes") title = "" optionType = commonsdialog.WARNING messageType = commonsdialog.WARNING msgid = "_field_calculator_save_pending_changes_at_finish" optionSave = ApplicationLocator.getManager().confirmDialog( message, title, optionType, messageType, msgid) if optionSave == commonsdialog.YES: pass else: logger( "User changes are not commited and FieldCalculator will commit all this changes", LOGGER_WARN) return ## name = i18nManager.getTranslation( "_Field_Calculator_Tool") + ": " + self.store.getName() self.taskStatus = ToolsLocator.getTaskStatusManager( ).createDefaultSimpleTaskStatus("") self.taskStatus.setAutoremove(True) windowManager = ToolsSwingLocator.getWindowManager() # Set first column option defaultField = None #table = gvsig.currentDocument(TableManager.TYPENAME) if self.document != None: selected = self.document.getMainWindow().getTablePanel().getTable( ).getSelectedColumnsAttributeDescriptor() if len(selected) >= 1: defaultField = selected[0].getName() # Open tool #prefs = readConfigFile() self.tool = FieldCalculatorTool(self.store, self.taskStatus, defaultField) self.expBuilder = self.tool.getExpBuilder() self.expFilter = self.tool.getExpFilter() self.dialog = windowManager.createDialog( self.tool.asJComponent(), name, None, WindowManager_v2.BUTTON_CANCEL | WindowManager_v2.BUTTON_APPLY) self.dialog.addActionListener(self) self.dialog.show(WindowManager.MODE.WINDOW) self.dialog.setButtonLabel(WindowManager_v2.BUTTON_CANCEL, i18nManager.getTranslation("_close")) columnSelectedDescriptor = self.tool.getFieldDescriptor() if columnSelectedDescriptor == None: self.dialog.setButtonEnabled(WindowManager_v2.BUTTON_APPLY, False) self.tool.setDialog(self.dialog)