MCPcopy Create free account
hub / github.com/codenameone/CodenameOne / createCell

Method createCell

CodenameOne/src/com/codename1/ui/table/Table.java:495–588  ·  view source on GitHub ↗
(Object value, int row, final int column, boolean editable)

Source from the content-addressed store, hash-verified

493 ///
494 /// cell component instance
495 protected Component createCell(Object value, int row, final int column, boolean editable) {
496 if (row == -1) {
497 Button header = new Button((String) value, getUIID() + "Header");
498 header.getAllStyles().setAlignment(titleAlignment);
499 header.setTextPosition(LEFT);
500 if (isSortSupported()) {
501 header.addActionListener(new ActionListener<ActionEvent>() {
502 @Override
503 public void actionPerformed(ActionEvent evt) {
504 Comparator<Object> cmp = createColumnSortComparator(column);
505 if (column == sortedColumn) {
506 ascending = !ascending;
507 } else {
508 sortedColumn = column;
509 ascending = false;
510 }
511 if (model instanceof SortableTableModel) {
512 model = ((SortableTableModel) model).getUnderlying();
513 }
514 setModel(new SortableTableModel(sortedColumn, ascending, model, cmp));
515 }
516 });
517 if (sortedColumn == column) {
518 if (ascending) {
519 FontImage.setMaterialIcon(header, FontImage.MATERIAL_ARROW_DROP_UP);
520 } else {
521 FontImage.setMaterialIcon(header, FontImage.MATERIAL_ARROW_DROP_DOWN);
522 }
523 }
524 }
525 return header;
526 }
527 int constraint = TextArea.ANY;
528 Constraint validation = null;
529 if (isAbstractTableModel()) {
530 Class type = ((AbstractTableModel) model).getCellType(row, column);
531 if (type == Boolean.class) {
532 CheckBox cell = new CheckBox();
533 cell.setSelected(Util.toBooleanValue(value));
534 cell.setUIID(getUIID() + "Cell");
535 cell.setEnabled(editable);
536 return cell;
537 }
538 if (editable && (type == null || type == String.class)) {
539 String[] multiChoice = ((AbstractTableModel) model).getMultipleChoiceOptions(row, column);
540 if (multiChoice != null) {
541 Picker cell = new Picker();
542 cell.setStrings(multiChoice);
543 if (value != null) {
544 cell.setSelectedString((String) value);
545 }
546 cell.setUIID(getUIID() + "Cell");
547 return cell;
548 }
549 }
550 if (editable && type == Date.class) {
551 Picker cell = new Picker();
552 cell.setType(Display.PICKER_TYPE_DATE);

Callers 1

createCellImplMethod · 0.95

Calls 15

isSortSupportedMethod · 0.95
addActionListenerMethod · 0.95
setMaterialIconMethod · 0.95
isAbstractTableModelMethod · 0.95
toBooleanValueMethod · 0.95
setUIIDMethod · 0.95
addConstraintMethod · 0.95
setStringsMethod · 0.80
setSelectedStringMethod · 0.80
setTextPositionMethod · 0.65
setSelectedMethod · 0.65

Tested by

no test coverage detected