Mercurial > projects > dwt-mac
comparison dwt/custom/CTabFolder.d @ 143:c41e13089a3c
Fixes #21
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Fri, 05 Jun 2009 01:25:10 +0200 |
parents | 6337764516f1 |
children | 1324fd764db4 |
comparison
equal
deleted
inserted
replaced
142:6ef64ef8df0a | 143:c41e13089a3c |
---|---|
351 updateTabHeight(false); | 351 updateTabHeight(false); |
352 | 352 |
353 initAccessible(); | 353 initAccessible(); |
354 | 354 |
355 // Add all listeners | 355 // Add all listeners |
356 listener = new class() Listener { | 356 listener = new class(this) Listener { |
357 CTabFolder ctf; | |
358 | |
359 this (CTabFolder ctf) | |
360 { | |
361 this.ctf = ctf; | |
362 } | |
363 | |
357 public void handleEvent(Event event) { | 364 public void handleEvent(Event event) { |
358 switch (event.type) { | 365 switch (event.type) { |
359 case DWT.Dispose: onDispose(event); break; | 366 case DWT.Dispose: ctf.onDispose(event); break; |
360 case DWT.DragDetect: onDragDetect(event); break; | 367 case DWT.DragDetect: ctf.onDragDetect(event); break; |
361 case DWT.FocusIn: onFocus(event); break; | 368 case DWT.FocusIn: ctf.onFocus(event); break; |
362 case DWT.FocusOut: onFocus(event); break; | 369 case DWT.FocusOut: ctf.onFocus(event); break; |
363 case DWT.KeyDown: onKeyDown(event); break; | 370 case DWT.KeyDown: ctf.onKeyDown(event); break; |
364 case DWT.MouseDoubleClick: onMouseDoubleClick(event); break; | 371 case DWT.MouseDoubleClick: ctf.onMouseDoubleClick(event); break; |
365 case DWT.MouseDown: onMouse(event); break; | 372 case DWT.MouseDown: ctf.onMouse(event); break; |
366 case DWT.MouseEnter: onMouse(event); break; | 373 case DWT.MouseEnter: ctf.onMouse(event); break; |
367 case DWT.MouseExit: onMouse(event); break; | 374 case DWT.MouseExit: ctf.onMouse(event); break; |
368 case DWT.MouseMove: onMouse(event); break; | 375 case DWT.MouseMove: ctf.onMouse(event); break; |
369 case DWT.MouseUp: onMouse(event); break; | 376 case DWT.MouseUp: ctf.onMouse(event); break; |
370 case DWT.Paint: onPaint(event); break; | 377 case DWT.Paint: ctf.onPaint(event); break; |
371 case DWT.Resize: onResize(); break; | 378 case DWT.Resize: ctf.onResize(); break; |
372 case DWT.Traverse: onTraverse(event); break; | 379 case DWT.Traverse: ctf.onTraverse(event); break; |
373 default: | 380 default: |
374 } | 381 } |
375 } | 382 } |
376 }; | 383 }; |
377 | 384 |
1827 } | 1834 } |
1828 e.children = children; | 1835 e.children = children; |
1829 } | 1836 } |
1830 }); | 1837 }); |
1831 | 1838 |
1832 addListener(DWT.Selection, new class(accessible) Listener { | 1839 addListener(DWT.Selection, new class(accessible, this) Listener { |
1833 Accessible acc; | 1840 Accessible accessible; |
1834 this( Accessible a ){ | 1841 CTabFolder ctf; |
1835 this.acc = a; | 1842 |
1836 } | 1843 this (Accessible accessible, CTabFolder ctf) |
1844 { | |
1845 this.accessible = accessible; | |
1846 this.ctf = ctf; | |
1847 } | |
1848 | |
1837 public void handleEvent(Event event) { | 1849 public void handleEvent(Event event) { |
1838 if (isFocusControl()) { | 1850 if (ctf.isFocusControl()) { |
1839 if (selectedIndex is -1) { | 1851 if (selectedIndex is -1) { |
1840 acc.setFocus(ACC.CHILDID_SELF); | 1852 accessible.setFocus(ACC.CHILDID_SELF); |
1841 } else { | 1853 } else { |
1842 acc.setFocus(selectedIndex); | 1854 accessible.setFocus(selectedIndex); |
1843 } | 1855 } |
1844 } | 1856 } |
1845 } | 1857 } |
1846 }); | 1858 }); |
1847 | 1859 |
1848 addListener(DWT.FocusIn, new class(accessible) Listener { | 1860 addListener(DWT.FocusIn, new class(accessible) Listener { |
1849 Accessible acc; | 1861 Accessible acc; |
1850 this( Accessible a ){ this.acc = a; } | 1862 this( Accessible a ){ this.acc = a; } |
1851 public void handleEvent(Event event) { | 1863 public void handleEvent(Event event) { |
1852 if (selectedIndex is -1) { | 1864 if (selectedIndex is -1) { |
3895 if (tab.showing) continue; | 3907 if (tab.showing) continue; |
3896 MenuItem item = new MenuItem(showMenu, DWT.NONE); | 3908 MenuItem item = new MenuItem(showMenu, DWT.NONE); |
3897 item.setText(tab.getText()); | 3909 item.setText(tab.getText()); |
3898 item.setImage(tab.getImage()); | 3910 item.setImage(tab.getImage()); |
3899 item.setData(id, tab); | 3911 item.setData(id, tab); |
3900 item.addSelectionListener(new class() SelectionAdapter { | 3912 item.addSelectionListener(new class(this) SelectionAdapter { |
3913 CTabFolder ctf; | |
3914 | |
3915 this (CTabFolder ctf) | |
3916 { | |
3917 this.ctf = ctf; | |
3918 } | |
3919 | |
3901 public void widgetSelected(SelectionEvent e) { | 3920 public void widgetSelected(SelectionEvent e) { |
3902 MenuItem menuItem = cast(MenuItem)e.widget; | 3921 MenuItem menuItem = cast(MenuItem)e.widget; |
3903 int index = indexOf(cast(CTabItem)menuItem.getData(id)); | 3922 int index = ctf.indexOf(cast(CTabItem)menuItem.getData(id)); |
3904 this.outer.setSelection(index, true); | 3923 ctf.setSelection(index, true); |
3905 } | 3924 } |
3906 }); | 3925 }); |
3907 } | 3926 } |
3908 int x = rect.x; | 3927 int x = rect.x; |
3909 int y = rect.y + rect.height; | 3928 int y = rect.y + rect.height; |