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)) {