Lines 48-53
Link Here
|
48 |
import java.awt.datatransfer.Transferable; |
48 |
import java.awt.datatransfer.Transferable; |
49 |
import java.awt.dnd.DnDConstants; |
49 |
import java.awt.dnd.DnDConstants; |
50 |
import java.awt.event.ActionEvent; |
50 |
import java.awt.event.ActionEvent; |
|
|
51 |
import java.beans.PropertyEditor; |
51 |
import java.io.IOException; |
52 |
import java.io.IOException; |
52 |
import java.lang.ref.Reference; |
53 |
import java.lang.ref.Reference; |
53 |
import java.lang.ref.WeakReference; |
54 |
import java.lang.ref.WeakReference; |
Lines 266-272
Link Here
|
266 |
// ; or the models directly |
267 |
// ; or the models directly |
267 |
boolean hasLists = false; |
268 |
boolean hasLists = false; |
268 |
int modelsSize = models.size(); |
269 |
int modelsSize = models.size(); |
269 |
if (11 <= modelsSize && modelsSize <= 15) { |
270 |
if (11 <= modelsSize && modelsSize <= 18) { |
270 |
Iterator it = models.iterator (); |
271 |
Iterator it = models.iterator (); |
271 |
boolean failure = false; |
272 |
boolean failure = false; |
272 |
while (it.hasNext ()) { |
273 |
while (it.hasNext ()) { |
Lines 306-311
Link Here
|
306 |
ml.tableRendererModels = (List<TableRendererModel>) models.get(13); |
307 |
ml.tableRendererModels = (List<TableRendererModel>) models.get(13); |
307 |
if (modelsSize > 14) { |
308 |
if (modelsSize > 14) { |
308 |
ml.tableRendererModelFilters = (List<TableRendererModelFilter>) models.get(14); |
309 |
ml.tableRendererModelFilters = (List<TableRendererModelFilter>) models.get(14); |
|
|
310 |
//if (modelsSize > 15) { |
311 |
// ml.tableHtmlModels = (List<TableHTMLModel>) models.get(15); |
312 |
if (modelsSize > 15) { |
313 |
ml.tableHtmlModelFilters = (List<TableHTMLModelFilter>) models.get(15); |
314 |
if (modelsSize > 16) { |
315 |
ml.tablePropertyEditorsModels = (List<TablePropertyEditorsModel>) models.get(16); |
316 |
if (modelsSize > 17) { |
317 |
ml.tablePropertyEditorsModelFilters = (List<TablePropertyEditorsModelFilter>) models.get(17); |
318 |
} |
319 |
} |
320 |
} |
321 |
//} |
309 |
} |
322 |
} |
310 |
} |
323 |
} |
311 |
} |
324 |
} |
Lines 400-406
Link Here
|
400 |
new DefaultAsynchronousModel(),//new DelegatingAsynchronousModel (ml.asynchModels), |
413 |
new DefaultAsynchronousModel(),//new DelegatingAsynchronousModel (ml.asynchModels), |
401 |
ml.asynchModelFilters |
414 |
ml.asynchModelFilters |
402 |
), |
415 |
), |
403 |
null, |
416 |
null, null, |
404 |
propertiesHelpID |
417 |
propertiesHelpID |
405 |
); |
418 |
); |
406 |
} else { |
419 |
} else { |
Lines 424-430
Link Here
|
424 |
ml.columnModels, |
437 |
ml.columnModels, |
425 |
createCompoundTableModel ( |
438 |
createCompoundTableModel ( |
426 |
new DelegatingTableModel (ml.tableModels), |
439 |
new DelegatingTableModel (ml.tableModels), |
427 |
ml.tableModelFilters |
440 |
ml.tableModelFilters, |
|
|
441 |
ml.tableHtmlModelFilters |
428 |
), |
442 |
), |
429 |
createCompoundAsynchronousModel ( |
443 |
createCompoundAsynchronousModel ( |
430 |
new DefaultAsynchronousModel(),//new DelegatingAsynchronousModel (ml.asynchModels), |
444 |
new DefaultAsynchronousModel(),//new DelegatingAsynchronousModel (ml.asynchModels), |
Lines 434-439
Link Here
|
434 |
new DelegatingTableRendererModel(ml.tableRendererModels), |
448 |
new DelegatingTableRendererModel(ml.tableRendererModels), |
435 |
ml.tableRendererModelFilters |
449 |
ml.tableRendererModelFilters |
436 |
), |
450 |
), |
|
|
451 |
/*createCompoundTableHTMLModel ( |
452 |
new DelegatingTableHTMLModel(ml.tableHtmlModels), |
453 |
ml.tableHtmlModelFilters |
454 |
),*/ |
455 |
createCompoundTablePropertyEditorModel ( |
456 |
new DelegatingTablePropertyEditorsModel(ml.tablePropertyEditorsModels), |
457 |
ml.tablePropertyEditorsModelFilters |
458 |
), |
437 |
propertiesHelpID |
459 |
propertiesHelpID |
438 |
); |
460 |
); |
439 |
} |
461 |
} |
Lines 557-567
Link Here
|
557 |
* |
579 |
* |
558 |
* @returns compound table model |
580 |
* @returns compound table model |
559 |
*/ |
581 |
*/ |
560 |
private static TableModel createCompoundTableModel ( |
582 |
private static TableHTMLModel createCompoundTableModel ( |
561 |
TableModel originalTableModel, |
583 |
TableHTMLModel originalTableModel, |
562 |
List tableModelFilters |
584 |
List tableModelFilters, |
|
|
585 |
List tableHtmlModelFilters |
563 |
) { |
586 |
) { |
564 |
TableModel tm = originalTableModel; |
587 |
TableHTMLModel tm = originalTableModel; |
565 |
int i, k = tableModelFilters.size (); |
588 |
int i, k = tableModelFilters.size (); |
566 |
for (i = 0; i < k; i++) { |
589 |
for (i = 0; i < k; i++) { |
567 |
tm = new CompoundTableModel ( |
590 |
tm = new CompoundTableModel ( |
Lines 569-574
Link Here
|
569 |
(TableModelFilter) tableModelFilters.get (i) |
592 |
(TableModelFilter) tableModelFilters.get (i) |
570 |
); |
593 |
); |
571 |
} |
594 |
} |
|
|
595 |
k = tableHtmlModelFilters.size (); |
596 |
for (i = 0; i < k; i++) { |
597 |
tm = new CompoundTableModel ( |
598 |
tm, |
599 |
(TableHTMLModelFilter) tableHtmlModelFilters.get (i) |
600 |
); |
601 |
} |
572 |
return tm; |
602 |
return tm; |
573 |
} |
603 |
} |
574 |
|
604 |
|
Lines 595-600
Link Here
|
595 |
} |
625 |
} |
596 |
return tm; |
626 |
return tm; |
597 |
} |
627 |
} |
|
|
628 |
|
629 |
private static TablePropertyEditorsModel createCompoundTablePropertyEditorModel ( |
630 |
TablePropertyEditorsModel originalTableModel, |
631 |
List tableModelFilters |
632 |
) { |
633 |
TablePropertyEditorsModel tm = originalTableModel; |
634 |
int i, k = tableModelFilters.size (); |
635 |
for (i = 0; i < k; i++) { |
636 |
tm = new CompoundTablePropertyEditorsModel ( |
637 |
tm, |
638 |
(TablePropertyEditorsModelFilter) tableModelFilters.get (i) |
639 |
); |
640 |
} |
641 |
return tm; |
642 |
} |
598 |
|
643 |
|
599 |
/** |
644 |
/** |
600 |
* Creates {@link org.netbeans.spi.viewmodel.NodeActionsProvider} for given NodeActionsProvider and |
645 |
* Creates {@link org.netbeans.spi.viewmodel.NodeActionsProvider} for given NodeActionsProvider and |
Lines 1031-1037
Link Here
|
1031 |
} else if (event instanceof ModelEvent.TableValueChanged) { |
1076 |
} else if (event instanceof ModelEvent.TableValueChanged) { |
1032 |
newEvent = new ModelEvent.TableValueChanged(newSource, |
1077 |
newEvent = new ModelEvent.TableValueChanged(newSource, |
1033 |
((ModelEvent.TableValueChanged) event).getNode(), |
1078 |
((ModelEvent.TableValueChanged) event).getNode(), |
1034 |
((ModelEvent.TableValueChanged) event).getColumnID()); |
1079 |
((ModelEvent.TableValueChanged) event).getColumnID(), |
|
|
1080 |
((ModelEvent.TableValueChanged) event).getChange()); |
1035 |
} else if (event instanceof ModelEvent.TreeChanged) { |
1081 |
} else if (event instanceof ModelEvent.TreeChanged) { |
1036 |
newEvent = new ModelEvent.TreeChanged(newSource); |
1082 |
newEvent = new ModelEvent.TreeChanged(newSource); |
1037 |
} else { |
1083 |
} else { |
Lines 1357-1367
Link Here
|
1357 |
* |
1403 |
* |
1358 |
* @author Jan Jancura |
1404 |
* @author Jan Jancura |
1359 |
*/ |
1405 |
*/ |
1360 |
private final static class CompoundTableModel implements TableModel, ModelListener { |
1406 |
private final static class CompoundTableModel implements TableHTMLModel, ModelListener { |
1361 |
|
1407 |
|
1362 |
|
1408 |
|
1363 |
private TableModel model; |
1409 |
private TableHTMLModel model; |
1364 |
private TableModelFilter filter; |
1410 |
private TableModelFilter filter; |
|
|
1411 |
private TableHTMLModelFilter htmlFilter; |
1365 |
|
1412 |
|
1366 |
private final Collection<ModelListener> modelListeners = new HashSet<ModelListener>(); |
1413 |
private final Collection<ModelListener> modelListeners = new HashSet<ModelListener>(); |
1367 |
|
1414 |
|
Lines 1370-1380
Link Here
|
1370 |
* Creates {@link org.netbeans.spi.viewmodel.TableModel} for given TableModel and |
1417 |
* Creates {@link org.netbeans.spi.viewmodel.TableModel} for given TableModel and |
1371 |
* {@link org.netbeans.spi.viewmodel.TableModelFilter}. |
1418 |
* {@link org.netbeans.spi.viewmodel.TableModelFilter}. |
1372 |
*/ |
1419 |
*/ |
1373 |
CompoundTableModel (TableModel model, TableModelFilter filter) { |
1420 |
CompoundTableModel (TableHTMLModel model, TableModelFilter filter) { |
1374 |
this.model = model; |
1421 |
this.model = model; |
1375 |
this.filter = filter; |
1422 |
this.filter = filter; |
1376 |
} |
1423 |
} |
1377 |
|
1424 |
|
|
|
1425 |
CompoundTableModel (TableHTMLModel model, TableHTMLModelFilter htmlFilter) { |
1426 |
this.model = model; |
1427 |
this.htmlFilter = htmlFilter; |
1428 |
} |
1429 |
|
1378 |
/** |
1430 |
/** |
1379 |
* Returns value to be displayed in column <code>columnID</code> |
1431 |
* Returns value to be displayed in column <code>columnID</code> |
1380 |
* and row <code>node</code>. Column ID is defined in by |
1432 |
* and row <code>node</code>. Column ID is defined in by |
Lines 1391-1397
Link Here
|
1391 |
@Override |
1443 |
@Override |
1392 |
public Object getValueAt (Object node, String columnID) throws |
1444 |
public Object getValueAt (Object node, String columnID) throws |
1393 |
UnknownTypeException { |
1445 |
UnknownTypeException { |
1394 |
return filter.getValueAt (model, node, columnID); |
1446 |
if (filter != null) { |
|
|
1447 |
return filter.getValueAt (model, node, columnID); |
1448 |
} else { |
1449 |
return model.getValueAt(node, columnID); |
1450 |
} |
1451 |
} |
1452 |
|
1453 |
@Override |
1454 |
public boolean hasHTMLValueAt(Object node, String columnID) throws UnknownTypeException { |
1455 |
if (htmlFilter != null) { |
1456 |
return htmlFilter.hasHTMLValueAt(model, node, columnID); |
1457 |
} else { |
1458 |
return model.hasHTMLValueAt(node, columnID); |
1459 |
} |
1460 |
} |
1461 |
|
1462 |
@Override |
1463 |
public String getHTMLValueAt(Object node, String columnID) throws UnknownTypeException { |
1464 |
if (htmlFilter != null) { |
1465 |
return htmlFilter.getHTMLValueAt(model, node, columnID); |
1466 |
} else { |
1467 |
return model.getHTMLValueAt(node, columnID); |
1468 |
} |
1395 |
} |
1469 |
} |
1396 |
|
1470 |
|
1397 |
/** |
1471 |
/** |
Lines 1410-1416
Link Here
|
1410 |
@Override |
1484 |
@Override |
1411 |
public boolean isReadOnly (Object node, String columnID) throws |
1485 |
public boolean isReadOnly (Object node, String columnID) throws |
1412 |
UnknownTypeException { |
1486 |
UnknownTypeException { |
1413 |
return filter.isReadOnly (model, node, columnID); |
1487 |
if (filter != null) { |
|
|
1488 |
return filter.isReadOnly (model, node, columnID); |
1489 |
} else { |
1490 |
return model.isReadOnly(node, columnID); |
1491 |
} |
1414 |
} |
1492 |
} |
1415 |
|
1493 |
|
1416 |
/** |
1494 |
/** |
Lines 1428-1434
Link Here
|
1428 |
@Override |
1506 |
@Override |
1429 |
public void setValueAt (Object node, String columnID, Object value) |
1507 |
public void setValueAt (Object node, String columnID, Object value) |
1430 |
throws UnknownTypeException { |
1508 |
throws UnknownTypeException { |
1431 |
filter.setValueAt (model, node, columnID, value); |
1509 |
if (filter != null) { |
|
|
1510 |
filter.setValueAt (model, node, columnID, value); |
1511 |
} else { |
1512 |
model.setValueAt(node, columnID, value); |
1513 |
} |
1432 |
} |
1514 |
} |
1433 |
|
1515 |
|
1434 |
/** |
1516 |
/** |
Lines 1440-1446
Link Here
|
1440 |
public void addModelListener (ModelListener l) { |
1522 |
public void addModelListener (ModelListener l) { |
1441 |
synchronized (modelListeners) { |
1523 |
synchronized (modelListeners) { |
1442 |
if (modelListeners.isEmpty()) { |
1524 |
if (modelListeners.isEmpty()) { |
1443 |
filter.addModelListener (this); |
1525 |
if (filter != null) { |
|
|
1526 |
filter.addModelListener (this); |
1527 |
} |
1444 |
model.addModelListener (this); |
1528 |
model.addModelListener (this); |
1445 |
} |
1529 |
} |
1446 |
modelListeners.add(l); |
1530 |
modelListeners.add(l); |
Lines 1457-1463
Link Here
|
1457 |
synchronized (modelListeners) { |
1541 |
synchronized (modelListeners) { |
1458 |
modelListeners.remove(l); |
1542 |
modelListeners.remove(l); |
1459 |
if (modelListeners.isEmpty()) { |
1543 |
if (modelListeners.isEmpty()) { |
1460 |
filter.removeModelListener (this); |
1544 |
if (filter != null) { |
|
|
1545 |
filter.removeModelListener (this); |
1546 |
} |
1461 |
model.removeModelListener (this); |
1547 |
model.removeModelListener (this); |
1462 |
} |
1548 |
} |
1463 |
} |
1549 |
} |
Lines 1490-1504
Link Here
|
1490 |
} |
1576 |
} |
1491 |
|
1577 |
|
1492 |
public String toString (String n) { |
1578 |
public String toString (String n) { |
|
|
1579 |
Model theFilter = (filter != null) ? filter : htmlFilter; |
1493 |
if (model instanceof CompoundTableModel) { |
1580 |
if (model instanceof CompoundTableModel) { |
1494 |
return n + filter + "\n" + |
1581 |
return n + theFilter + "\n" + |
1495 |
((CompoundTableModel) model).toString (n + " "); |
1582 |
((CompoundTableModel) model).toString (n + " "); |
1496 |
} |
1583 |
} |
1497 |
if (model instanceof DelegatingTableModel) { |
1584 |
if (model instanceof DelegatingTableModel) { |
1498 |
return n + filter + "\n" + |
1585 |
return n + theFilter + "\n" + |
1499 |
((DelegatingTableModel) model).toString (n + " "); |
1586 |
((DelegatingTableModel) model).toString (n + " "); |
1500 |
} |
1587 |
} |
1501 |
return n + filter + "\n" + |
1588 |
return n + theFilter + "\n" + |
1502 |
n + " " + model; |
1589 |
n + " " + model; |
1503 |
} |
1590 |
} |
1504 |
} |
1591 |
} |
Lines 1899-1904
Link Here
|
1899 |
} |
1986 |
} |
1900 |
} |
1987 |
} |
1901 |
|
1988 |
|
|
|
1989 |
private final static class CompoundTablePropertyEditorsModel implements TablePropertyEditorsModel { |
1990 |
|
1991 |
private TablePropertyEditorsModel model; |
1992 |
private TablePropertyEditorsModelFilter filter; |
1993 |
|
1994 |
CompoundTablePropertyEditorsModel(TablePropertyEditorsModel model, TablePropertyEditorsModelFilter filter) { |
1995 |
this.model = model; |
1996 |
this.filter = filter; |
1997 |
} |
1998 |
|
1999 |
@Override |
2000 |
public PropertyEditor getPropertyEditor(Object node, String columnID) throws UnknownTypeException { |
2001 |
return filter.getPropertyEditor(model, node, columnID); |
2002 |
} |
2003 |
|
2004 |
@Override |
2005 |
public String toString () { |
2006 |
return super.toString () + "\n" + toString (" "); |
2007 |
} |
2008 |
|
2009 |
public String toString (String n) { |
2010 |
if (model instanceof CompoundTablePropertyEditorsModel) { |
2011 |
return n + filter + "\n" + |
2012 |
((CompoundTablePropertyEditorsModel) model).toString (n + " "); |
2013 |
} |
2014 |
if (model instanceof DelegatingTablePropertyEditorsModel) { |
2015 |
return n + filter + "\n" + |
2016 |
((DelegatingTablePropertyEditorsModel) model).toString (n + " "); |
2017 |
} |
2018 |
return n + filter + "\n" + |
2019 |
n + " " + model; |
2020 |
} |
2021 |
} |
2022 |
|
1902 |
/** |
2023 |
/** |
1903 |
* Creates {@link org.netbeans.spi.viewmodel.NodeActionsProvider} |
2024 |
* Creates {@link org.netbeans.spi.viewmodel.NodeActionsProvider} |
1904 |
* for given NodeActionsProvider and |
2025 |
* for given NodeActionsProvider and |
Lines 2078-2084
Link Here
|
2078 |
* |
2199 |
* |
2079 |
* @author Jan Jancura |
2200 |
* @author Jan Jancura |
2080 |
*/ |
2201 |
*/ |
2081 |
private final static class DelegatingTableModel implements TableModel { |
2202 |
private final static class DelegatingTableModel implements TableModel, TableHTMLModel { |
2082 |
|
2203 |
|
2083 |
private TableModel[] models; |
2204 |
private TableModel[] models; |
2084 |
private HashMap<String, TableModel> classNameToModel = new HashMap<String, TableModel>(); |
2205 |
private HashMap<String, TableModel> classNameToModel = new HashMap<String, TableModel>(); |
Lines 2286-2291
Link Here
|
2286 |
sb.append (models [i]); |
2407 |
sb.append (models [i]); |
2287 |
return new String (sb); |
2408 |
return new String (sb); |
2288 |
} |
2409 |
} |
|
|
2410 |
|
2411 |
// HTML extension: |
2412 |
|
2413 |
private boolean defaultHasHTMLValueAt() { |
2414 |
return false; |
2415 |
} |
2416 |
|
2417 |
@Override |
2418 |
public boolean hasHTMLValueAt(Object node, String columnID) throws UnknownTypeException { |
2419 |
UnknownTypeException uex = null; |
2420 |
TableModel model = classNameToModel.get ( |
2421 |
node.getClass ().getName () |
2422 |
); |
2423 |
if (model != null) { |
2424 |
if (model instanceof TableHTMLModel) { |
2425 |
try { |
2426 |
return ((TableHTMLModel) model).hasHTMLValueAt(node, columnID); |
2427 |
} catch (UnknownTypeException e) { |
2428 |
uex = e; |
2429 |
} |
2430 |
} else { |
2431 |
return defaultHasHTMLValueAt(); |
2432 |
} |
2433 |
} |
2434 |
int i, k = models.length; |
2435 |
boolean isHTML = false; |
2436 |
for (i = 0; i < k; i++) { |
2437 |
if (models[i] instanceof TableHTMLModel) { |
2438 |
try { |
2439 |
boolean has = ((TableHTMLModel) models [i]).hasHTMLValueAt(node, columnID); |
2440 |
classNameToModel.put (node.getClass ().getName (), models [i]); |
2441 |
return has; |
2442 |
} catch (UnknownTypeException e) { |
2443 |
uex = e; |
2444 |
} |
2445 |
isHTML = true; |
2446 |
} |
2447 |
} |
2448 |
if (!isHTML) { |
2449 |
return defaultHasHTMLValueAt(); |
2450 |
} |
2451 |
if (uex != null) { |
2452 |
throw uex; |
2453 |
} else { |
2454 |
throw new UnknownTypeException (node); |
2455 |
} |
2456 |
} |
2457 |
|
2458 |
@Override |
2459 |
public String getHTMLValueAt(Object node, String columnID) throws UnknownTypeException { |
2460 |
UnknownTypeException uex = null; |
2461 |
TableModel model = classNameToModel.get ( |
2462 |
node.getClass ().getName () |
2463 |
); |
2464 |
if (model != null) { |
2465 |
if (model instanceof TableHTMLModel) { |
2466 |
try { |
2467 |
return ((TableHTMLModel) model).getHTMLValueAt(node, columnID); |
2468 |
} catch (UnknownTypeException e) { |
2469 |
uex = e; |
2470 |
} |
2471 |
} else { |
2472 |
return null; |
2473 |
} |
2474 |
} |
2475 |
int i, k = models.length; |
2476 |
boolean isHTML = false; |
2477 |
for (i = 0; i < k; i++) { |
2478 |
if (models[i] instanceof TableHTMLModel) { |
2479 |
try { |
2480 |
String htmlValue = ((TableHTMLModel) models [i]).getHTMLValueAt(node, columnID); |
2481 |
classNameToModel.put (node.getClass ().getName (), models [i]); |
2482 |
return htmlValue; |
2483 |
} catch (UnknownTypeException e) { |
2484 |
uex = e; |
2485 |
} |
2486 |
isHTML = true; |
2487 |
} |
2488 |
} |
2489 |
if (!isHTML) { |
2490 |
return null; |
2491 |
} |
2492 |
if (uex != null) { |
2493 |
throw uex; |
2494 |
} else { |
2495 |
throw new UnknownTypeException (node); |
2496 |
} |
2497 |
} |
2289 |
} |
2498 |
} |
2290 |
|
2499 |
|
2291 |
/** |
2500 |
/** |
Lines 2484-2489
Link Here
|
2484 |
} |
2693 |
} |
2485 |
|
2694 |
|
2486 |
} |
2695 |
} |
|
|
2696 |
|
2697 |
private final static class DelegatingTablePropertyEditorsModel implements TablePropertyEditorsModel { |
2698 |
|
2699 |
private TablePropertyEditorsModel[] models; |
2700 |
private HashMap<String, TablePropertyEditorsModel> classNameToModel = new HashMap<String, TablePropertyEditorsModel>(); |
2701 |
|
2702 |
DelegatingTablePropertyEditorsModel(List<TablePropertyEditorsModel> models) { |
2703 |
this(convert(models)); |
2704 |
} |
2705 |
|
2706 |
private static TablePropertyEditorsModel[] convert(List<TablePropertyEditorsModel> l) { |
2707 |
TablePropertyEditorsModel[] models = new TablePropertyEditorsModel[l.size()]; |
2708 |
return l.toArray(models); |
2709 |
} |
2710 |
|
2711 |
DelegatingTablePropertyEditorsModel(TablePropertyEditorsModel[] models) { |
2712 |
this.models = models; |
2713 |
} |
2714 |
|
2715 |
@Override |
2716 |
public PropertyEditor getPropertyEditor(Object node, String columnID) throws UnknownTypeException { |
2717 |
UnknownTypeException utex = null; |
2718 |
TablePropertyEditorsModel model = classNameToModel.get( |
2719 |
node.getClass().getName() |
2720 |
); |
2721 |
if (model != null) { |
2722 |
try { |
2723 |
return model.getPropertyEditor(node, columnID); |
2724 |
} catch (UnknownTypeException e) { |
2725 |
utex = e; |
2726 |
} |
2727 |
} |
2728 |
int i, k = models.length; |
2729 |
for (i = 0; i < k; i++) { |
2730 |
try { |
2731 |
PropertyEditor pe = models [i].getPropertyEditor(node, columnID); |
2732 |
classNameToModel.put (node.getClass ().getName (), models [i]); |
2733 |
return pe; |
2734 |
} catch (UnknownTypeException e) { |
2735 |
utex = e; |
2736 |
} |
2737 |
} |
2738 |
if (k == 0) { |
2739 |
return null; |
2740 |
} |
2741 |
if (utex != null) { |
2742 |
throw utex; |
2743 |
} else { |
2744 |
throw new UnknownTypeException (node); |
2745 |
} |
2746 |
} |
2747 |
|
2748 |
@Override |
2749 |
public String toString () { |
2750 |
return super.toString () + "\n" + toString (" "); |
2751 |
} |
2752 |
|
2753 |
public String toString (String n) { |
2754 |
int i, k = models.length - 1; |
2755 |
if (k == -1) { |
2756 |
return ""; |
2757 |
} |
2758 |
StringBuffer sb = new StringBuffer (); |
2759 |
for (i = 0; i < k; i++) { |
2760 |
sb.append (n); |
2761 |
sb.append (models [i]); |
2762 |
sb.append ('\n'); |
2763 |
} |
2764 |
sb.append (n); |
2765 |
sb.append (models [i]); |
2766 |
return new String (sb); |
2767 |
} |
2768 |
} |
2487 |
|
2769 |
|
2488 |
/** |
2770 |
/** |
2489 |
* Creates one {@link org.netbeans.spi.viewmodel.TableModel} |
2771 |
* Creates one {@link org.netbeans.spi.viewmodel.TableModel} |
Lines 3955-3963
Link Here
|
3955 |
CheckNodeModel, |
4237 |
CheckNodeModel, |
3956 |
DnDNodeModel, |
4238 |
DnDNodeModel, |
3957 |
NodeActionsProvider, |
4239 |
NodeActionsProvider, |
3958 |
TableModel, |
4240 |
TableHTMLModel, |
3959 |
TreeExpansionModel, |
4241 |
TreeExpansionModel, |
3960 |
TableRendererModel { |
4242 |
TableRendererModel, |
|
|
4243 |
TablePropertyEditorsModel { |
3961 |
|
4244 |
|
3962 |
private ReorderableTreeModel treeModel; |
4245 |
private ReorderableTreeModel treeModel; |
3963 |
private ExtendedNodeModel nodeModel; |
4246 |
private ExtendedNodeModel nodeModel; |
Lines 3965-3972
Link Here
|
3965 |
private DnDNodeModel dndNodeModel; |
4248 |
private DnDNodeModel dndNodeModel; |
3966 |
private NodeActionsProvider nodeActionsProvider; |
4249 |
private NodeActionsProvider nodeActionsProvider; |
3967 |
private ColumnModel[] columnModels; |
4250 |
private ColumnModel[] columnModels; |
3968 |
private TableModel tableModel; |
4251 |
private TableHTMLModel tableModel; |
3969 |
private TableRendererModel tableRendererModel; |
4252 |
private TableRendererModel tableRendererModel; |
|
|
4253 |
private TablePropertyEditorsModel tablePropertyEditorsModel; |
3970 |
private TreeExpansionModel treeExpansionModel; |
4254 |
private TreeExpansionModel treeExpansionModel; |
3971 |
private AsynchronousModel asynchModel; |
4255 |
private AsynchronousModel asynchModel; |
3972 |
|
4256 |
|
Lines 3997-4005
Link Here
|
3997 |
ExtendedNodeModel nodeModel, |
4281 |
ExtendedNodeModel nodeModel, |
3998 |
NodeActionsProvider nodeActionsProvider, |
4282 |
NodeActionsProvider nodeActionsProvider, |
3999 |
List<ColumnModel> columnModels, |
4283 |
List<ColumnModel> columnModels, |
4000 |
TableModel tableModel, |
4284 |
TableHTMLModel tableModel, |
4001 |
AsynchronousModel asynchModel, |
4285 |
AsynchronousModel asynchModel, |
4002 |
TableRendererModel tableRendererModel, |
4286 |
TableRendererModel tableRendererModel, |
|
|
4287 |
TablePropertyEditorsModel tablePropertyEditorsModel, |
4003 |
String propertiesHelpID |
4288 |
String propertiesHelpID |
4004 |
) { |
4289 |
) { |
4005 |
if (treeModel == null || nodeModel == null || tableModel == null || |
4290 |
if (treeModel == null || nodeModel == null || tableModel == null || |
Lines 4024-4029
Link Here
|
4024 |
} |
4309 |
} |
4025 |
this.tableModel = tableModel; |
4310 |
this.tableModel = tableModel; |
4026 |
this.tableRendererModel = tableRendererModel; |
4311 |
this.tableRendererModel = tableRendererModel; |
|
|
4312 |
this.tablePropertyEditorsModel = tablePropertyEditorsModel; |
4027 |
this.nodeActionsProvider = nodeActionsProvider; |
4313 |
this.nodeActionsProvider = nodeActionsProvider; |
4028 |
this.columnModels = columnModels.toArray ( |
4314 |
this.columnModels = columnModels.toArray ( |
4029 |
new ColumnModel [columnModels.size ()] |
4315 |
new ColumnModel [columnModels.size ()] |
Lines 4582-4587
Link Here
|
4582 |
return null; |
4868 |
return null; |
4583 |
} |
4869 |
} |
4584 |
} |
4870 |
} |
|
|
4871 |
|
4872 |
// TableHTMLModel |
4873 |
|
4874 |
@Override |
4875 |
public boolean hasHTMLValueAt(Object node, String columnID) throws UnknownTypeException { |
4876 |
return tableModel.hasHTMLValueAt(node, columnID); |
4877 |
} |
4878 |
|
4879 |
@Override |
4880 |
public String getHTMLValueAt(Object node, String columnID) throws UnknownTypeException { |
4881 |
return tableModel.getHTMLValueAt(node, columnID); |
4882 |
} |
4883 |
|
4884 |
// TablePropertyEditorsModel |
4885 |
|
4886 |
@Override |
4887 |
public PropertyEditor getPropertyEditor(Object node, String columnID) throws UnknownTypeException { |
4888 |
if (tablePropertyEditorsModel != null) { |
4889 |
return tablePropertyEditorsModel.getPropertyEditor(node, columnID); |
4890 |
} else { |
4891 |
return null; |
4892 |
} |
4893 |
} |
4894 |
|
4895 |
|
4585 |
|
4896 |
|
4586 |
} |
4897 |
} |
4587 |
|
4898 |
|
Lines 4602-4607
Link Here
|
4602 |
public List<AsynchronousModelFilter> asynchModelFilters = Collections.emptyList(); |
4913 |
public List<AsynchronousModelFilter> asynchModelFilters = Collections.emptyList(); |
4603 |
public List<TableRendererModel> tableRendererModels = Collections.emptyList(); |
4914 |
public List<TableRendererModel> tableRendererModels = Collections.emptyList(); |
4604 |
public List<TableRendererModelFilter> tableRendererModelFilters = Collections.emptyList(); |
4915 |
public List<TableRendererModelFilter> tableRendererModelFilters = Collections.emptyList(); |
|
|
4916 |
public List<TableHTMLModel> tableHtmlModels = Collections.emptyList(); |
4917 |
public List<TableHTMLModelFilter> tableHtmlModelFilters = Collections.emptyList(); |
4918 |
public List<TablePropertyEditorsModel> tablePropertyEditorsModels = Collections.emptyList(); |
4919 |
public List<TablePropertyEditorsModelFilter> tablePropertyEditorsModelFilters = Collections.emptyList(); |
4605 |
|
4920 |
|
4606 |
public void addOtherModels(List<? extends Model> otherModels) { |
4921 |
public void addOtherModels(List<? extends Model> otherModels) { |
4607 |
Iterator it = otherModels.iterator (); |
4922 |
Iterator it = otherModels.iterator (); |
Lines 4668-4673
Link Here
|
4668 |
tableRendererModelFilters.add(0, (TableRendererModelFilter) model); |
4983 |
tableRendererModelFilters.add(0, (TableRendererModelFilter) model); |
4669 |
} |
4984 |
} |
4670 |
} |
4985 |
} |
|
|
4986 |
if (model instanceof TableHTMLModel && !tableHtmlModels.contains((TableHTMLModel) model)) { |
4987 |
tableHtmlModels = new ArrayList<TableHTMLModel>(tableHtmlModels); |
4988 |
tableHtmlModels.add((TableHTMLModel) model); |
4989 |
} |
4990 |
if (model instanceof TableHTMLModelFilter && !tableHtmlModelFilters.contains((TableHTMLModelFilter) model)) { |
4991 |
tableHtmlModelFilters = new ArrayList<TableHTMLModelFilter>(tableHtmlModelFilters); |
4992 |
if (first) { |
4993 |
tableHtmlModelFilters.add((TableHTMLModelFilter) model); |
4994 |
} else { |
4995 |
tableHtmlModelFilters.add(0, (TableHTMLModelFilter) model); |
4996 |
} |
4997 |
} |
4998 |
if (model instanceof TablePropertyEditorsModel && !tablePropertyEditorsModels.contains((TablePropertyEditorsModel) model)) { |
4999 |
tablePropertyEditorsModels = new ArrayList<TablePropertyEditorsModel>(tablePropertyEditorsModels); |
5000 |
tablePropertyEditorsModels.add((TablePropertyEditorsModel) model); |
5001 |
} |
5002 |
if (model instanceof TablePropertyEditorsModelFilter && !tablePropertyEditorsModelFilters.contains((TablePropertyEditorsModelFilter) model)) { |
5003 |
tablePropertyEditorsModelFilters = new ArrayList<TablePropertyEditorsModelFilter>(tablePropertyEditorsModelFilters); |
5004 |
if (first) { |
5005 |
tablePropertyEditorsModelFilters.add((TablePropertyEditorsModelFilter) model); |
5006 |
} else { |
5007 |
tablePropertyEditorsModelFilters.add(0, (TablePropertyEditorsModelFilter) model); |
5008 |
} |
5009 |
} |
4671 |
if (model instanceof NodeActionsProvider && !nodeActionsProviders.contains((NodeActionsProvider) model)) { |
5010 |
if (model instanceof NodeActionsProvider && !nodeActionsProviders.contains((NodeActionsProvider) model)) { |
4672 |
nodeActionsProviders = new ArrayList<NodeActionsProvider>(nodeActionsProviders); |
5011 |
nodeActionsProviders = new ArrayList<NodeActionsProvider>(nodeActionsProviders); |
4673 |
nodeActionsProviders.add((NodeActionsProvider) model); |
5012 |
nodeActionsProviders.add((NodeActionsProvider) model); |