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