- Timestamp:
- 2003-08-18T14:03:24+12:00 (21 years ago)
- Location:
- trunk/gli/src/org/greenstone/gatherer/gui/table
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gli/src/org/greenstone/gatherer/gui/table/GTableModel.java
r4686 r5158 31 31 import javax.swing.*; 32 32 import javax.swing.table.*; 33 import org.greenstone.gatherer.Configuration; 33 34 import org.greenstone.gatherer.Gatherer; 34 35 import org.greenstone.gatherer.file.FileNode; … … 41 42 import org.greenstone.gatherer.msm.MSMUtils; 42 43 import org.greenstone.gatherer.util.ArrayTools; 44 import org.greenstone.gatherer.util.Utility; 43 45 /** Provides the model for a GTable component, filling it with metadata values for the choosen files or folders. The model also provides several different view of this data; assigned folder metadata, assigned file metadata, all assigned metadata, unassigned metadata, and all metadata. It also differentiates between metadata that is common to all of the files or folders, and that which isn't. The building of the actual model is done on a separate thread so that the gui remains responsive, and the gui is intermitantly updated by this thread. Updating of the model is triggered by events recieved from the metadata set manager in terms of new or obsolete metadata. A new model is rebuilt whenever the user selects a different group of files or folders. 44 46 * @author John Thompson, Greenstone Digital Library, University of Waikato … … 112 114 break; 113 115 case 1: 114 ElementWrapper element = m.getElement(); 115 if (element != null) { 116 result = element.toString(); 117 } 116 result = m.getElement(); 118 117 break; 119 118 case 2: … … 261 260 Metadata select_exact_metadata = null; 262 261 Metadata select_closest_metadata = null; 263 boolean had_warning = false;264 262 // If there is a current builder... 265 263 if (builder != null) { … … 268 266 select_exact_metadata = builder.select_exact_metadata; 269 267 select_closest_metadata = builder.select_closest_metadata; 270 had_warning = builder.had_warning;271 268 // ...kill it... 272 269 builder.kill(); … … 281 278 builder.select_exact_metadata = select_exact_metadata; 282 279 builder.select_closest_metadata = select_closest_metadata; 283 builder.had_warning = had_warning;284 280 } 285 281 … … 304 300 public Metadata select_exact_metadata = null; 305 301 public Metadata select_closest_metadata = null; 306 private boolean had_warning = false; 302 private boolean had_extracted_warning = false; 303 private boolean had_inherited_warning = false; 307 304 private volatile boolean killed = false; 308 305 … … 332 329 // Ignore hidden metadata 333 330 if (!element.toString().startsWith("hidden.")) { 334 // If a piece of metadata is at folder level, display the warning 335 if (!metadatum.isFileLevel()) { 336 showInheritedMetadataWarning(); 331 // Only process extracted metadata if the user has specified to 332 if(!element.getNamespace().equals(Utility.EXTRACTED_METADATA_NAMESPACE) || Gatherer.config.get("general.view_extracted_metadata", Configuration.COLLECTION_SPECIFIC)) { 333 // If a piece of metadata is at folder level, display the warning 334 if (!metadatum.isFileLevel()) { 335 showInheritedMetadataWarning(); 336 } 337 338 // If the piece of metadata is in the list, increment its count 339 int index = current_metadata.indexOf(metadatum); 340 if (index >= 0) { 341 Metadata existing = (Metadata) current_metadata.get(index); 342 existing.inc(); 343 } 344 // Otherwise add it to the list 345 else { 346 metadatum.setCount(1); 347 index = add(current_metadata, metadatum); 348 fireTableRowsInserted(index, index); 349 350 // Remember we have seen this element 351 if (known_elements.contains(element) == false) { 352 known_elements.add(element); 353 } 354 } 337 355 } 338 339 // If the piece of metadata is in the list, increment its count 340 int index = current_metadata.indexOf(metadatum); 341 if (index >= 0) { 342 Metadata existing = (Metadata) current_metadata.get(index); 343 existing.inc(); 344 } 345 // Otherwise add it to the list 356 // Display a warning 346 357 else { 347 metadatum.setCount(1); 348 index = add(current_metadata, metadatum); 349 fireTableRowsInserted(index, index); 350 351 // Remember we have seen this element 352 if (known_elements.contains(element) == false) { 353 known_elements.add(element); 354 } 358 showExtractedMetadataWarning(); 355 359 } 356 360 } … … 418 422 } 419 423 424 private void showExtractedMetadataWarning() 425 { 426 if (!had_extracted_warning) { 427 had_extracted_warning = true; 428 Runnable task = new Runnable() { 429 public void run() { 430 WarningDialog dialog = new WarningDialog("warning.ExtractedMetadata", false); 431 dialog.display(); 432 dialog.dispose(); 433 dialog = null; 434 } 435 }; 436 SwingUtilities.invokeLater(task); 437 } 438 } 420 439 421 440 private void showInheritedMetadataWarning() 422 441 { 423 if (!had_ warning) {424 had_ warning = true;442 if (!had_inherited_warning) { 443 had_inherited_warning = true; 425 444 Runnable task = new Runnable() { 426 445 public void run() { -
trunk/gli/src/org/greenstone/gatherer/gui/table/TableCellRenderer.java
r4366 r5158 49 49 import org.greenstone.gatherer.Gatherer; 50 50 import org.greenstone.gatherer.gui.table.GTableModel; 51 import org.greenstone.gatherer.msm.ElementWrapper; 51 52 import org.greenstone.gatherer.msm.Metadata; 52 53 import org.greenstone.gatherer.util.Utility; … … 116 117 renderer.setBorder(BorderFactory.createEmptyBorder(0,0,0,0)); 117 118 } 119 120 // We set a tooltip over the element column containing the description of the element 121 if(value instanceof ElementWrapper) { 122 renderer.setToolTipText(((ElementWrapper)value).getToolTip()); 123 } 124 118 125 return renderer; 119 126 }
Note:
See TracChangeset
for help on using the changeset viewer.