Mercurial > projects > dwt-addons
comparison dwtx/jface/viewers/ColumnViewerEditor.d @ 72:5df4896124c7
JFace and its examples do compile
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Thu, 22 May 2008 17:56:17 +0200 |
parents | 4878bef4a38e |
children | 7ffeace6c47f |
comparison
equal
deleted
inserted
replaced
71:4878bef4a38e | 72:5df4896124c7 |
---|---|
181 | 181 |
182 if (part !is null && part.getEditingSupport() !is null | 182 if (part !is null && part.getEditingSupport() !is null |
183 && part.getEditingSupport().canEdit_package(element)) { | 183 && part.getEditingSupport().canEdit_package(element)) { |
184 cellEditor = part.getEditingSupport().getCellEditor_package(element); | 184 cellEditor = part.getEditingSupport().getCellEditor_package(element); |
185 if (cellEditor !is null) { | 185 if (cellEditor !is null) { |
186 int timeout = cellEditor.getDoubleClickTimeout(); | 186 int timeout = cellEditor.getDoubleClickTimeout_package(); |
187 | 187 |
188 final int activationTime; | 188 int activationTime; |
189 | 189 |
190 if (timeout !is 0) { | 190 if (timeout !is 0) { |
191 activationTime = activationEvent.time + timeout; | 191 activationTime = activationEvent.time + timeout; |
192 } else { | 192 } else { |
193 activationTime = 0; | 193 activationTime = 0; |
225 } | 225 } |
226 setLayoutData(cellEditor.getLayoutData()); | 226 setLayoutData(cellEditor.getLayoutData()); |
227 setEditor(control, cast(Item) cell.getItem(), cell.getColumnIndex()); | 227 setEditor(control, cast(Item) cell.getItem(), cell.getColumnIndex()); |
228 cellEditor.setFocus(); | 228 cellEditor.setFocus(); |
229 | 229 |
230 if (cellEditor.dependsOnExternalFocusListener()) { | 230 if (cellEditor.dependsOnExternalFocusListener_package()) { |
231 if (focusListener is null) { | 231 if (focusListener is null) { |
232 focusListener = new class FocusAdapter { | 232 focusListener = new class FocusAdapter { |
233 public void focusLost(FocusEvent e) { | 233 public void focusLost(FocusEvent e) { |
234 applyEditorValue(); | 234 applyEditorValue(); |
235 } | 235 } |
236 }; | 236 }; |
237 } | 237 } |
238 control.addFocusListener(focusListener); | 238 control.addFocusListener(focusListener); |
239 } | 239 } |
240 | 240 |
241 mouseListener = new class(control, activationEvent) MouseAdapter { | 241 mouseListener = new class(control, activationEvent, activationTime) MouseAdapter { |
242 Control control_; | 242 Control control_; |
243 ColumnViewerEditorActivationEvent activationEvent_; | 243 ColumnViewerEditorActivationEvent activationEvent_; |
244 this(Control a, ColumnViewerEditorActivationEvent b){ | 244 int activationTime_; |
245 this(Control a, ColumnViewerEditorActivationEvent b, int c){ | |
245 control_=a; | 246 control_=a; |
246 activationEvent_=b; | 247 activationEvent_=b; |
248 activationTime_=c; | |
247 } | 249 } |
248 public void mouseDown(MouseEvent e) { | 250 public void mouseDown(MouseEvent e) { |
249 // time wrap? | 251 // time wrap? |
250 // check for expiration of doubleClickTime | 252 // check for expiration of doubleClickTime |
251 if (shouldFireDoubleClick(activationTime, e.time, activationEvent_) && e.button is 1) { | 253 if (shouldFireDoubleClick(activationTime_, e.time, activationEvent_) && e.button is 1) { |
252 control_.removeMouseListener(mouseListener); | 254 control_.removeMouseListener(mouseListener); |
253 cancelEditing(); | 255 cancelEditing(); |
254 handleDoubleClickEvent(); | 256 handleDoubleClickEvent(); |
255 } else if (mouseListener !is null) { | 257 } else if (mouseListener !is null) { |
256 control_.removeMouseListener(mouseListener); | 258 control_.removeMouseListener(mouseListener); |
353 | 355 |
354 if (tabeditingListener !is null) { | 356 if (tabeditingListener !is null) { |
355 control.removeTraverseListener(tabeditingListener); | 357 control.removeTraverseListener(tabeditingListener); |
356 } | 358 } |
357 } | 359 } |
358 c.deactivate(tmp); | 360 c.deactivate_package(tmp); |
359 | 361 |
360 if (editorActivationListener !is null | 362 if (editorActivationListener !is null |
361 && !editorActivationListener.isEmpty()) { | 363 && !editorActivationListener.isEmpty()) { |
362 Object[] ls = editorActivationListener.getListeners(); | 364 Object[] ls = editorActivationListener.getListeners(); |
363 for (int i = 0; i < ls.length; i++) { | 365 for (int i = 0; i < ls.length; i++) { |
422 control.removeTraverseListener(tabeditingListener); | 424 control.removeTraverseListener(tabeditingListener); |
423 } | 425 } |
424 } | 426 } |
425 | 427 |
426 CellEditor oldEditor = cellEditor; | 428 CellEditor oldEditor = cellEditor; |
427 oldEditor.deactivate(tmp); | 429 oldEditor.deactivate_package(tmp); |
428 | 430 |
429 if (editorActivationListener !is null | 431 if (editorActivationListener !is null |
430 && !editorActivationListener.isEmpty()) { | 432 && !editorActivationListener.isEmpty()) { |
431 Object[] ls = editorActivationListener.getListeners(); | 433 Object[] ls = editorActivationListener.getListeners(); |
432 for (int i = 0; i < ls.length; i++) { | 434 for (int i = 0; i < ls.length; i++) { |
614 } | 616 } |
615 | 617 |
616 private bool isCellEditable(ColumnViewer viewer, ViewerCell cell) { | 618 private bool isCellEditable(ColumnViewer viewer, ViewerCell cell) { |
617 ViewerColumn column = viewer.getViewerColumn(cell.getColumnIndex()); | 619 ViewerColumn column = viewer.getViewerColumn(cell.getColumnIndex()); |
618 return column !is null && column.getEditingSupport() !is null | 620 return column !is null && column.getEditingSupport() !is null |
619 && column.getEditingSupport().canEdit(cell.getElement()); | 621 && column.getEditingSupport().canEdit_package(cell.getElement()); |
620 } | 622 } |
621 | 623 |
622 private ViewerCell searchPreviousCell(ViewerRow row, | 624 private ViewerCell searchPreviousCell(ViewerRow row, |
623 ViewerCell currentCell, ViewerCell originalCell, ColumnViewer viewer) { | 625 ViewerCell currentCell, ViewerCell originalCell, ColumnViewer viewer) { |
624 ViewerCell rv = null; | 626 ViewerCell rv = null; |
626 | 628 |
627 if (currentCell !is null) { | 629 if (currentCell !is null) { |
628 previousCell = currentCell.getNeighbor(ViewerCell.LEFT, true); | 630 previousCell = currentCell.getNeighbor(ViewerCell.LEFT, true); |
629 } else { | 631 } else { |
630 if (row.getColumnCount() !is 0) { | 632 if (row.getColumnCount() !is 0) { |
631 previousCell = row.getCell(row.getCreationIndex(row | 633 previousCell = row.getCell(row.getCreationIndex_package(row |
632 .getColumnCount() - 1)); | 634 .getColumnCount() - 1)); |
633 } else { | 635 } else { |
634 previousCell = row.getCell(0); | 636 previousCell = row.getCell(0); |
635 } | 637 } |
636 | 638 |
637 } | 639 } |
638 | 640 |
639 // No endless loop | 641 // No endless loop |
640 if (originalCell.equals(previousCell)) { | 642 if (originalCell.opEquals(previousCell)) { |
641 return null; | 643 return null; |
642 } | 644 } |
643 | 645 |
644 if (previousCell !is null) { | 646 if (previousCell !is null) { |
645 if (isCellEditable(viewer, previousCell)) { | 647 if (isCellEditable(viewer, previousCell)) { |
669 ViewerCell nextCell; | 671 ViewerCell nextCell; |
670 | 672 |
671 if (currentCell !is null) { | 673 if (currentCell !is null) { |
672 nextCell = currentCell.getNeighbor(ViewerCell.RIGHT, true); | 674 nextCell = currentCell.getNeighbor(ViewerCell.RIGHT, true); |
673 } else { | 675 } else { |
674 nextCell = row.getCell(row.getCreationIndex(0)); | 676 nextCell = row.getCell(row.getCreationIndex_package(0)); |
675 } | 677 } |
676 | 678 |
677 // No endless loop | 679 // No endless loop |
678 if (originalCell.equals(nextCell)) { | 680 if (originalCell.opEquals(nextCell)) { |
679 return null; | 681 return null; |
680 } | 682 } |
681 | 683 |
682 if (nextCell !is null) { | 684 if (nextCell !is null) { |
683 if (isCellEditable(viewer, nextCell)) { | 685 if (isCellEditable(viewer, nextCell)) { |