Mercurial > projects > dwt-linux
comparison dwt/widgets/Display.d @ 28:10acbb123580
Widget and TypedListener
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Wed, 09 Jan 2008 02:59:32 +0100 |
parents | ffa3c27c4328 |
children | 5e5d1c9cffdb |
comparison
equal
deleted
inserted
replaced
27:ffa3c27c4328 | 28:10acbb123580 |
---|---|
632 popups = newPopups; | 632 popups = newPopups; |
633 } | 633 } |
634 popups [index] = menu; | 634 popups [index] = menu; |
635 } | 635 } |
636 | 636 |
637 void addWidget (int/**/ handle, Widget widget) { | 637 void addWidget (GtkWidget* handle, Widget widget) { |
638 if (handle is 0) return; | 638 if (handle is null) return; |
639 if (freeSlot is -1) { | 639 if (freeSlot is -1) { |
640 int len = (freeSlot = indexTable.length) + GROW_SIZE; | 640 int len = (freeSlot = indexTable.length) + GROW_SIZE; |
641 int[] newIndexTable = new int[len]; | 641 int[] newIndexTable = new int[len]; |
642 Widget[] newWidgetTable = new Widget [len]; | 642 Widget[] newWidgetTable = new Widget [len]; |
643 System.arraycopy (indexTable, 0, newIndexTable, 0, freeSlot); | 643 System.arraycopy (indexTable, 0, newIndexTable, 0, freeSlot); |
856 OS.gtk_set_locale(); | 856 OS.gtk_set_locale(); |
857 int cnt = 0; | 857 int cnt = 0; |
858 if (!OS.gtk_init_check (&cnt, null)) { | 858 if (!OS.gtk_init_check (&cnt, null)) { |
859 SWT.error (SWT.ERROR_NO_HANDLES, null, " [gtk_init_check() failed]"); | 859 SWT.error (SWT.ERROR_NO_HANDLES, null, " [gtk_init_check() failed]"); |
860 } | 860 } |
861 if (OS.GDK_WINDOWING_X11 ()) xDisplay = cast(dwt.internal.gtk.c.cairotypes.Display*) OS.GDK_DISPLAY (); | 861 if (OS.GDK_WINDOWING_X11 ()) xDisplay = cast(void*) OS.GDK_DISPLAY (); |
862 char* ptr = OS.gtk_check_version (MAJOR, MINOR, MICRO); | 862 char* ptr = OS.gtk_check_version (MAJOR, MINOR, MICRO); |
863 if (ptr !is null) { | 863 if (ptr !is null) { |
864 char [] buffer = fromUtf8z(ptr); | 864 char [] buffer = fromUtf8z(ptr); |
865 Stdout.formatln ("***WARNING: {}", buffer ); | 865 Stdout.formatln ("***WARNING: {}", buffer ); |
866 Stdout.formatln ("***WARNING: SWT requires GTK {}.{}.{}", MAJOR, MINOR, MICRO ); | 866 Stdout.formatln ("***WARNING: SWT requires GTK {}.{}.{}", MAJOR, MINOR, MICRO ); |
3348 if( wrap is null ) SWT.error(SWT.ERROR_INVALID_ARGUMENT, null, " []"); | 3348 if( wrap is null ) SWT.error(SWT.ERROR_INVALID_ARGUMENT, null, " []"); |
3349 Object [] data = wrap.array; | 3349 Object [] data = wrap.array; |
3350 auto handle = (cast(LONG) data [0]).value; | 3350 auto handle = (cast(LONG) data [0]).value; |
3351 Widget widget = cast(Widget) data [1]; | 3351 Widget widget = cast(Widget) data [1]; |
3352 if (widget !is null) { | 3352 if (widget !is null) { |
3353 addWidget (handle, widget); | 3353 addWidget (cast(GtkWidget*)handle, widget); |
3354 } else { | 3354 } else { |
3355 removeWidget (cast(GtkWidget*)handle); | 3355 removeWidget (cast(GtkWidget*)handle); |
3356 } | 3356 } |
3357 } | 3357 } |
3358 | 3358 |