changeset 55:93981635e709

Checked and inserted missing default switch cases.
author Frank Benoit <benoit@tionex.de>
date Fri, 11 Jan 2008 15:40:16 +0100
parents 8f049b136add
children 002bcca59004
files dsss.conf dwt/SWT.d dwt/accessibility/AccessibleObject.d dwt/graphics/Device.d dwt/graphics/GC.d dwt/graphics/Image.d dwt/graphics/ImageData.d dwt/graphics/Path.d dwt/graphics/TextLayout.d dwt/internal/image/FileFormat.d dwt/internal/image/JPEGDecoder.d dwt/internal/image/PNGFileFormat.d dwt/internal/image/PngEncoder.d dwt/internal/image/TIFFDirectory.d dwt/internal/image/WinICOFileFormat.d dwt/layout/GridLayout.d dwt/widgets/Button.d dwt/widgets/Composite.d dwt/widgets/Control.d dwt/widgets/MenuItem.d dwt/widgets/ScrollBar.d dwt/widgets/ToolTip.d dwt/widgets/TypedListener.d dwt/widgets/Widget.d todo.txt
diffstat 25 files changed, 221 insertions(+), 137 deletions(-) [+]
line wrap: on
line diff
--- a/dsss.conf	Fri Jan 11 14:31:37 2008 +0100
+++ b/dsss.conf	Fri Jan 11 15:40:16 2008 +0100
@@ -28,6 +28,6 @@
 buildflags+=-L-lglib-2.0
 buildflags+=-L-lcairo
 buildflags+=-I/home/frank/jive
-#buildflags+=-g -gc
+buildflags+=-g -gc
 
 
--- a/dwt/SWT.d	Fri Jan 11 14:31:37 2008 +0100
+++ b/dwt/SWT.d	Fri Jan 11 15:40:16 2008 +0100
@@ -3413,6 +3413,7 @@
 		case ERROR_CANNOT_INVERT_MATRIX:    return "Cannot invert matrix"; //$NON-NLS-1$
 		case ERROR_NO_GRAPHICS_LIBRARY:    return "Unable to load graphics library"; //$NON-NLS-1$
 		case ERROR_INVALID_FONT:    		return "Font not valid"; //$NON-NLS-1$
+        default:
 	}
 	return "Unknown error"; //$NON-NLS-1$
 }
@@ -3601,6 +3602,7 @@
 			error.throwable = throwable;
 			throw error;
 		}
+        default:
 	}
 
 	/* Unknown/Undefined Error */
--- a/dwt/accessibility/AccessibleObject.d	Fri Jan 11 14:31:37 2008 +0100
+++ b/dwt/accessibility/AccessibleObject.d	Fri Jan 11 15:40:16 2008 +0100
@@ -480,6 +480,7 @@
 					case ACC.ROLE_TREEITEM: return ATK.ATK_ROLE_LIST_ITEM;
 					case ACC.ROLE_RADIOBUTTON: return ATK.ATK_ROLE_RADIO_BUTTON;
 					case ACC.ROLE_WINDOW: return ATK.ATK_ROLE_WINDOW;
+                    default:
 				}
 			}
 		}
@@ -897,6 +898,7 @@
 					endBounds = lineEnd2;
 					break;
 				}
+                default:
 			}
 			*start_offset=startBounds;
 			*end_offset=endBounds;
@@ -1014,6 +1016,7 @@
 					startBounds = lineEnd1;
 					endBounds = nextIndexOfChar (text, "\n", lineEnd1 + 1);
 				}
+                default:
 			}
 			*start_offset=startBounds;
 			*end_offset=endBounds;
@@ -1136,6 +1139,7 @@
 					if (startBounds is -1) startBounds = 0;
 					break;
 				}
+                default:
 			}
 			*start_offset=startBounds;
 			*end_offset=endBounds;
--- a/dwt/graphics/Device.d	Fri Jan 11 14:31:37 2008 +0100
+++ b/dwt/graphics/Device.d	Fri Jan 11 15:40:16 2008 +0100
@@ -485,6 +485,7 @@
 		case SWT.COLOR_MAGENTA: 			return COLOR_MAGENTA;
 		case SWT.COLOR_CYAN: 				return COLOR_CYAN;
 		case SWT.COLOR_WHITE: 				return COLOR_WHITE;
+        default:
 	}
 	return COLOR_BLACK;
 }
--- a/dwt/graphics/GC.d	Fri Jan 11 14:31:37 2008 +0100
+++ b/dwt/graphics/GC.d	Fri Jan 11 15:40:16 2008 +0100
@@ -288,6 +288,7 @@
 				case SWT.CAP_ROUND: cap_style = Cairo.CAIRO_LINE_CAP_ROUND; break;
 				case SWT.CAP_FLAT: cap_style = Cairo.CAIRO_LINE_CAP_BUTT; break;
 				case SWT.CAP_SQUARE: cap_style = Cairo.CAIRO_LINE_CAP_SQUARE; break;
+                default:
 			}
 			Cairo.cairo_set_line_cap(cairo, cap_style);
 		}
@@ -297,6 +298,7 @@
 				case SWT.JOIN_MITER: join_style = Cairo.CAIRO_LINE_JOIN_MITER; break;
 				case SWT.JOIN_ROUND:  join_style = Cairo.CAIRO_LINE_JOIN_ROUND; break;
 				case SWT.JOIN_BEVEL: join_style = Cairo.CAIRO_LINE_JOIN_BEVEL; break;
+                default:
 			}
 			Cairo.cairo_set_line_join(cairo, join_style);
 		}
@@ -308,6 +310,7 @@
 				case SWT.LINE_DASHDOT:
 				case SWT.LINE_DASHDOTDOT:
 					state |= LINE_STYLE;
+                default:
 			}
 		}
 		if ((state & LINE_STYLE) !is 0) {
@@ -321,6 +324,7 @@
 				case SWT.LINE_DASHDOT: dashes = width !is 0 ? LINE_DASHDOT : LINE_DASHDOT_ZERO; break;
 				case SWT.LINE_DASHDOTDOT: dashes = width !is 0 ? LINE_DASHDOTDOT : LINE_DASHDOTDOT_ZERO; break;
 				case SWT.LINE_CUSTOM: dashes = data.lineDashes; break;
+                default:
 			}
 			if (dashes !is null) {
 				dashesOffset = data.lineDashesOffset;
@@ -385,11 +389,13 @@
 			case SWT.CAP_ROUND: cap_style = OS.GDK_CAP_ROUND; break;
 			case SWT.CAP_FLAT: cap_style = OS.GDK_CAP_BUTT; break;
 			case SWT.CAP_SQUARE: cap_style = OS.GDK_CAP_PROJECTING; break;
+                default:
 		}
 		switch (data.lineJoin) {
 			case SWT.JOIN_ROUND: join_style = OS.GDK_JOIN_ROUND; break;
 			case SWT.JOIN_MITER: join_style = OS.GDK_JOIN_MITER; break;
 			case SWT.JOIN_BEVEL: join_style = OS.GDK_JOIN_BEVEL; break;
+                default:
 		}
 		switch (data.lineStyle) {
 			case SWT.LINE_SOLID: break;
@@ -398,6 +404,7 @@
 			case SWT.LINE_DASHDOT: dashes = width !is 0 ? LINE_DASHDOT : LINE_DASHDOT_ZERO; break;
 			case SWT.LINE_DASHDOTDOT: dashes = width !is 0 ? LINE_DASHDOTDOT : LINE_DASHDOTDOT_ZERO; break;
 			case SWT.LINE_CUSTOM: dashes = data.lineDashes; break;
+                default:
 		}
 		if (dashes !is null) {
 			if ((state & LINE_STYLE) !is 0) {
@@ -845,6 +852,7 @@
 				case SWT.NONE: filter = Cairo.CAIRO_FILTER_NEAREST; break;
 				case SWT.LOW: filter = Cairo.CAIRO_FILTER_FAST; break;
 				case SWT.HIGH: filter = Cairo.CAIRO_FILTER_BEST; break;
+                default:
 			}
 			auto pattern = Cairo.cairo_pattern_create_for_surface(srcImage.surface);
 			if (pattern is null) SWT.error(SWT.ERROR_NO_HANDLES);
@@ -2231,6 +2239,7 @@
 		case Cairo.CAIRO_ANTIALIAS_NONE: return SWT.OFF;
 		case Cairo.CAIRO_ANTIALIAS_GRAY:
 		case Cairo.CAIRO_ANTIALIAS_SUBPIXEL: return SWT.ON;
+                default:
 	}
 	return SWT.DEFAULT;
 }
@@ -2716,6 +2725,7 @@
 		case Cairo.CAIRO_ANTIALIAS_NONE: return SWT.OFF;
 		case Cairo.CAIRO_ANTIALIAS_GRAY:
 		case Cairo.CAIRO_ANTIALIAS_SUBPIXEL: return SWT.ON;
+                default:
 	}
 	return SWT.DEFAULT;
 }
--- a/dwt/graphics/Image.d	Fri Jan 11 14:31:37 2008 +0100
+++ b/dwt/graphics/Image.d	Fri Jan 11 15:40:16 2008 +0100
@@ -355,6 +355,7 @@
 			}
 			break;
 		}
+        default:
 	}
 
 	/* Copy data back to destination pixmap */
--- a/dwt/graphics/ImageData.d	Fri Jan 11 14:31:37 2008 +0100
+++ b/dwt/graphics/ImageData.d	Fri Jan 11 15:40:16 2008 +0100
@@ -688,6 +688,7 @@
 			} else {
 				return 1;
 			}
+        default:
 	}
 	SWT.error(SWT.ERROR_UNSUPPORTED_DEPTH);
 	return 0;
@@ -836,6 +837,7 @@
 				}
 			}
 			return;
+        default:
 	}
 	SWT.error(SWT.ERROR_UNSUPPORTED_DEPTH);
 }
@@ -1030,6 +1032,7 @@
 				}
 			}
 			return;
+        default:
 	}
 	SWT.error(SWT.ERROR_UNSUPPORTED_DEPTH);
 }
@@ -1264,6 +1267,7 @@
 				data[index] = cast(byte)(theByte & (mask ^ -1));
 			}
 			return;
+        default:
 	}
 	SWT.error(SWT.ERROR_UNSUPPORTED_DEPTH);
 }
@@ -1389,6 +1393,7 @@
 				}
 			}
 			return;
+        default:
 	}
 	SWT.error(SWT.ERROR_UNSUPPORTED_DEPTH);
 }
@@ -1568,6 +1573,7 @@
 				}
 			}
 			return;
+        default:
 	}
 	SWT.error(SWT.ERROR_UNSUPPORTED_DEPTH);
 }
@@ -1905,6 +1911,7 @@
 					}
 				}
 				break;
+        default:
 		}
 		return;
 	}
@@ -2004,6 +2011,7 @@
 					b = srcBlues[(data & srcBlueMask) >>> srcBlueShift] & 0xff;
 					a = srcAlphas[(data & srcAlphaMask) >>> srcAlphaShift] & 0xff;
 				} break;
+                default:
 			}
 
 			/*** DO SPECIAL PROCESSING IF REQUIRED ***/
@@ -2032,6 +2040,7 @@
 						}
 					}
 					break;
+                default:
 			}
 			if (alpha != 0x10000) {
 				if (alpha == 0x0000) continue;
@@ -2086,6 +2095,7 @@
 						bq = destBlues[(data & destBlueMask) >>> destBlueShift] & 0xff;
 						aq = destAlphas[(data & destAlphaMask) >>> destAlphaShift] & 0xff;
 					} break;
+                    default:
 				}
 				// Perform alpha blending
 				a = aq + ((a - aq) * alpha >> 16);
@@ -2129,6 +2139,7 @@
 					destData[dp + 2] = cast(byte) (data >>> 16);
 					destData[dp + 3] = cast(byte) (data >>> 24);
 				} break;
+                default:
 			}
 		}
 	}
@@ -2333,6 +2344,7 @@
 				if (minDistance != 0) isExactPaletteMapping = false;
 			}
 			break;
+        default:
 	}
 	if ((paletteMapping != null) && (isExactPaletteMapping || ! ditherEnabled)) {
 		if ((stype == dtype) && (alphaMode == 0x10000)) {
@@ -2388,6 +2400,7 @@
 						}
 					}
 					break;
+                default:
 			}
 		} else {
 			/*** Convert between indexed modes using mapping and mask ***/
@@ -2453,6 +2466,7 @@
 							}
 							if (i < alphaData.length) continue;
 						} break;
+                        default:
 					}
 					index = paletteMapping[index] & 0xff;
 
@@ -2477,6 +2491,7 @@
 							int shift = dp & 7;
 							destData[dp >> 3] = cast(byte)(destData[dp >> 3] & ~(0x01 << shift) | (index << shift));
 						} break;
+                        default:
 					}
 				}
 			}
@@ -2529,6 +2544,7 @@
 					index = (srcData[sp >> 3] >>> (sp & 7)) & 0x01;
 					sp += (sfx >>> 16);
 					break;
+                default:
 			}
 
 			/*** DO SPECIAL PROCESSING IF REQUIRED ***/
@@ -2563,6 +2579,7 @@
 					}
 					if (i < alphaData.length) continue;
 				} break;
+                default:
 			}
 			if (alpha != 0x10000) {
 				if (alpha == 0x0000) continue;
@@ -2583,6 +2600,7 @@
 					case TYPE_INDEX_1_LSB:
 						indexq = (destData[dp >> 3] >>> (dp & 7)) & 0x01;
 						break;
+                    default:
 				}
 				// Perform alpha blending
 				int rq = destReds[indexq] & 0xff;
@@ -2657,6 +2675,7 @@
 					int shift = dp & 7;
 					destData[dp >> 3] = cast(byte)(destData[dp >> 3] & ~(0x01 << shift) | (lastindex << shift));
 				} break;
+                default:
 			}
 		}
 	}
@@ -2862,6 +2881,7 @@
 					index = (srcData[sp >> 3] >>> (sp & 7)) & 0x01;
 					sp += (sfx >>> 16);
 					break;
+                default:
 			}
 
 			/*** DO SPECIAL PROCESSING IF REQUIRED ***/
@@ -2898,6 +2918,7 @@
 					}
 					if (i < alphaData.length) continue;
 				} break;
+                default:
 			}
 			if (alpha != 0x10000) {
 				if (alpha == 0x0000) continue;
@@ -2952,6 +2973,7 @@
 						bq = destBlues[(data & destBlueMask) >>> destBlueShift] & 0xff;
 						aq = destAlphas[(data & destAlphaMask) >>> destAlphaShift] & 0xff;
 					} break;
+                    default:
 				}
 				// Perform alpha blending
 				a = aq + ((a - aq) * alpha >> 16);
@@ -2995,6 +3017,7 @@
 					destData[dp + 2] = cast(byte) (data >>> 16);
 					destData[dp + 3] = cast(byte) (data >>> 24);
 				} break;
+                default:
 			}
 		}
 	}
@@ -3242,6 +3265,7 @@
 					b = srcBlues[(data & srcBlueMask) >>> srcBlueShift] & 0xff;
 					a = srcAlphas[(data & srcAlphaMask) >>> srcAlphaShift] & 0xff;
 				} break;
+                default:
 			}
 
 			/*** DO SPECIAL PROCESSING IF REQUIRED ***/
@@ -3270,6 +3294,7 @@
 						}
 					}
 					break;
+                default:
 			}
 			if (alpha != 0x10000) {
 				if (alpha == 0x0000) continue;
@@ -3290,6 +3315,7 @@
 					case TYPE_INDEX_1_LSB:
 						indexq = (destData[dp >> 3] >>> (dp & 7)) & 0x01;
 						break;
+                    default:
 				}
 				// Perform alpha blending
 				int rq = destReds[indexq] & 0xff;
@@ -3364,6 +3390,7 @@
 					int shift = dp & 7;
 					destData[dp >> 3] = cast(byte)(destData[dp >> 3] & ~(0x01 << shift) | (lastindex << shift));
 				} break;
+                default:
 			}
 		}
 	}
--- a/dwt/graphics/Path.d	Fri Jan 11 14:31:37 2008 +0100
+++ b/dwt/graphics/Path.d	Fri Jan 11 15:40:16 2008 +0100
@@ -364,6 +364,7 @@
                     maxY = Math.max(maxY, path.data[i+3].point.y);
 					break;
 				case Cairo.CAIRO_PATH_CLOSE_PATH: break;
+                default:
 			}
 			i += data.header.length;
 		}
@@ -447,6 +448,7 @@
 				case Cairo.CAIRO_PATH_CLOSE_PATH:
 					types[typeIndex++] = SWT.PATH_CLOSE;
 					break;
+                default:
 			}
 			i += data.header.length;
 		}
--- a/dwt/graphics/TextLayout.d	Fri Jan 11 14:31:37 2008 +0100
+++ b/dwt/graphics/TextLayout.d	Fri Jan 11 15:40:16 2008 +0100
@@ -508,6 +508,7 @@
 	switch ( cast(int)alignment) {
 		case OS.PANGO_ALIGN_CENTER: return SWT.CENTER;
 		case OS.PANGO_ALIGN_RIGHT: return SWT.RIGHT;
+        default:
 	}
 	return SWT.LEFT;
 }
@@ -1344,6 +1345,7 @@
 	switch (alignment) {
 		case SWT.CENTER: al = OS.PANGO_ALIGN_CENTER; break;
 		case SWT.RIGHT: al = OS.PANGO_ALIGN_RIGHT; break;
+        default:
 	}
 	OS.pango_layout_set_alignment(layout, al);
 }
@@ -1743,6 +1745,7 @@
 		case 0x0673:
 		case 0x0675:
 			return true;
+        default:
 	}
 	return false;
 }
--- a/dwt/internal/image/FileFormat.d	Fri Jan 11 14:31:37 2008 +0100
+++ b/dwt/internal/image/FileFormat.d	Fri Jan 11 15:40:16 2008 +0100
@@ -118,6 +118,7 @@
 		switch (loader.data[0].depth) {
 			case 8: fileFormat.compression = 1; break;
 			case 4: fileFormat.compression = 2; break;
+            default:
 		}
 	}
 	fileFormat.unloadIntoStream(loader, stream);
--- a/dwt/internal/image/JPEGDecoder.d	Fri Jan 11 14:31:37 2008 +0100
+++ b/dwt/internal/image/JPEGDecoder.d	Fri Jan 11 15:40:16 2008 +0100
@@ -3571,6 +3571,7 @@
 				/* Return without advancing past this marker. */
 				/* Entropy decoder will be forced to process an empty segment. */
 				return true;
+            default:
 		}
 	} /* end loop */
 }
@@ -4269,6 +4270,7 @@
 			main.rowgroup_ctr[0] = (cinfo.min_DCT_scaled_size + 1);
 			main.rowgroups_avail =	(cinfo.min_DCT_scaled_size + 2);
 			main.context_state = CTX_POSTPONED_ROW;
+        default:
 	}
 }
 
@@ -4776,6 +4778,7 @@
 				case H2V2_FANCY_UPSAMPLE: h2v2_fancy_upsample(cinfo, compptr, input_buf[ci], offset, upsample.color_buf, upsample.color_buf_offset, ci); break;
 				case H2V2_UPSAMPLE: h2v2_upsample(cinfo, compptr, input_buf[ci], offset, upsample.color_buf, upsample.color_buf_offset, ci); break;
 				case INT_UPSAMPLE: int_upsample(cinfo, compptr, input_buf[ci], offset, upsample.color_buf, upsample.color_buf_offset, ci); break;
+            default:
 			}
 		}
 		upsample.next_row_out = 0;
@@ -4801,6 +4804,7 @@
 		case YCC_RGB_CONVERT: ycc_rgb_convert (cinfo, upsample.color_buf, upsample.color_buf_offset, upsample.next_row_out, output_buf, out_row_ctr[0], num_rows); break;
 		case GRAY_RGB_CONVERT: gray_rgb_convert (cinfo, upsample.color_buf, upsample.color_buf_offset, upsample.next_row_out, output_buf, out_row_ctr[0], num_rows); break;
 		case YCCK_CMYK_CONVERT: error(); break;
+            default:
 	}
 
 	/* Adjust counts */
@@ -5015,6 +5019,7 @@
 				case 2: offset = RGB_BLUE; break;
 				case 1: offset = RGB_GREEN; break;
 				case 0: offset = RGB_RED; break;
+            default:
 			}
 			int outptr_offset = offset, inptr_offset = 0;
 			for (count = num_cols; count > 0; count--) {
@@ -5485,6 +5490,7 @@
 		case JPEG_SUSPENDED:
 			/* no work */
 			break;
+        default:
 	}
 
 	return retcode;
@@ -6147,7 +6153,8 @@
 		break;
 	case JPEG_SUSPENDED:
 		break;
-	}
+    default:
+    }
 
 	return val;
 }
--- a/dwt/internal/image/PNGFileFormat.d	Fri Jan 11 14:31:37 2008 +0100
+++ b/dwt/internal/image/PNGFileFormat.d	Fri Jan 11 15:40:16 2008 +0100
@@ -585,6 +585,7 @@
 				row[i] = cast(byte) ((currentValue + preductor) & 0xFF);
 			}
 			break;
+        default:
 	}
 }
 
--- a/dwt/internal/image/PngEncoder.d	Fri Jan 11 14:31:37 2008 +0100
+++ b/dwt/internal/image/PngEncoder.d	Fri Jan 11 15:40:16 2008 +0100
@@ -223,6 +223,7 @@
 			}
 
 			break;
+        default:
 
 	}
 
--- a/dwt/internal/image/TIFFDirectory.d	Fri Jan 11 14:31:37 2008 +0100
+++ b/dwt/internal/image/TIFFDirectory.d	Fri Jan 11 15:40:16 2008 +0100
@@ -379,6 +379,7 @@
 				colorMapOffset = getEntryValue(TYPE_LONG, buffer, offset);
 				break;
 			}
+            default:
 		}
 	}
 }
--- a/dwt/internal/image/WinICOFileFormat.d	Fri Jan 11 14:31:37 2008 +0100
+++ b/dwt/internal/image/WinICOFileFormat.d	Fri Jan 11 15:40:16 2008 +0100
@@ -73,6 +73,7 @@
 		case 24:
 		case 32:
 			return i.palette.isDirect;
+        default:
 	}
 	return false;
 }
--- a/dwt/layout/GridLayout.d	Fri Jan 11 14:31:37 2008 +0100
+++ b/dwt/layout/GridLayout.d	Fri Jan 11 15:40:16 2008 +0100
@@ -676,6 +676,7 @@
 						case SWT.FILL:
 							childWidth = cellWidth - data.horizontalIndent;
 							break;
+                        default:
 					}
 					cellHeight += verticalSpacing * (vSpan - 1);
 					int childY = gridY + data.verticalIndent;
@@ -693,6 +694,7 @@
 						case SWT.FILL:
 							childHeight = cellHeight - data.verticalIndent;
 							break;
+                        default:
 					}
 					Control child = grid [i][j];
 					if (child !is null) {
--- a/dwt/widgets/Button.d	Fri Jan 11 14:31:37 2008 +0100
+++ b/dwt/widgets/Button.d	Fri Jan 11 15:40:16 2008 +0100
@@ -555,6 +555,7 @@
 			case SWT.DOWN: arrow_type = OS.GTK_ARROW_DOWN; break;
 			case SWT.LEFT: arrow_type = isRTL ? OS.GTK_ARROW_RIGHT : OS.GTK_ARROW_LEFT; break;
 			case SWT.RIGHT: arrow_type = isRTL ? OS.GTK_ARROW_LEFT : OS.GTK_ARROW_RIGHT; break;
+            default:
 		}
 		OS.gtk_arrow_set (cast(GtkArrow*)arrowHandle, arrow_type, OS.GTK_SHADOW_OUT);
 		return;
@@ -684,6 +685,7 @@
 			switch (style & (SWT.LEFT | SWT.RIGHT)) {
 				case SWT.LEFT: OS.gtk_arrow_set (cast(GtkArrow*)arrowHandle, OS.GTK_ARROW_RIGHT, OS.GTK_SHADOW_OUT); break;
 				case SWT.RIGHT: OS.gtk_arrow_set (cast(GtkArrow*)arrowHandle, OS.GTK_ARROW_LEFT, OS.GTK_SHADOW_OUT); break;
+                default:
 			}
 		}
 	}
--- a/dwt/widgets/Composite.d	Fri Jan 11 14:31:37 2008 +0100
+++ b/dwt/widgets/Composite.d	Fri Jan 11 15:40:16 2008 +0100
@@ -700,6 +700,7 @@
 		switch (key) {
 			case OS.GDK_Return:
 			case OS.GDK_KP_Enter: return 1;
+            default:
 		}
 	}
 	return result;
--- a/dwt/widgets/Control.d	Fri Jan 11 14:31:37 2008 +0100
+++ b/dwt/widgets/Control.d	Fri Jan 11 15:40:16 2008 +0100
@@ -55,6 +55,7 @@
 import tango.stdc.string;
 import tango.stdc.stringz;
 import tango.core.Thread;
+import tango.io.Stdout;
 
 
 /**
@@ -838,6 +839,8 @@
 
 void setRelations () {
 	auto parentHandle = parent.parentingHandle ();
+
+    Stdout.formatln( "setRelations {:x}", cast(uint)parentHandle );
 	auto list = OS.gtk_container_get_children (cast(GtkContainer*)parentHandle);
 	if (list is null) return;
 	int count = OS.g_list_length (list);
--- a/dwt/widgets/MenuItem.d	Fri Jan 11 14:31:37 2008 +0100
+++ b/dwt/widgets/MenuItem.d	Fri Jan 11 15:40:16 2008 +0100
@@ -431,6 +431,7 @@
 				setInputState (event, state);
 				break;
 			}
+            default:
 		}
 		OS.gdk_event_free (ptr);
 	}
--- a/dwt/widgets/ScrollBar.d	Fri Jan 11 14:31:37 2008 +0100
+++ b/dwt/widgets/ScrollBar.d	Fri Jan 11 15:40:16 2008 +0100
@@ -370,6 +370,7 @@
 		case OS.GTK_SCROLL_STEP_UP:
 		case OS.GTK_SCROLL_STEP_LEFT:
 		case OS.GTK_SCROLL_STEP_BACKWARD:	event.detail = SWT.ARROW_UP; break;
+        default:
 	}
 	detail = OS.GTK_SCROLL_NONE;
 	if (!dragSent) detail = OS.GTK_SCROLL_NONE;
@@ -394,6 +395,7 @@
 			dragSent = false;
 			break;
 		}
+        default:
 	}
 	return super.gtk_event_after (widget, gdkEvent);
 }
--- a/dwt/widgets/ToolTip.d	Fri Jan 11 14:31:37 2008 +0100
+++ b/dwt/widgets/ToolTip.d	Fri Jan 11 15:40:16 2008 +0100
@@ -447,6 +447,7 @@
 			case SWT.ICON_ERROR: buffer = "gtk-dialog-error"; break;
 			case SWT.ICON_INFORMATION: buffer = "gtk-dialog-info"; break;
 			case SWT.ICON_WARNING: buffer = "gtk-dialog-warning"; break;
+            default:
 		}
 		if (buffer !is null) {
 			auto style = OS.gtk_widget_get_default_style ();
--- a/dwt/widgets/TypedListener.d	Fri Jan 11 14:31:37 2008 +0100
+++ b/dwt/widgets/TypedListener.d	Fri Jan 11 15:40:16 2008 +0100
@@ -292,6 +292,7 @@
 			e.doit = event.doit;
 			break;
 		}
+        default:
 	}
 }
 
--- a/dwt/widgets/Widget.d	Fri Jan 11 14:31:37 2008 +0100
+++ b/dwt/widgets/Widget.d	Fri Jan 11 15:40:16 2008 +0100
@@ -840,6 +840,7 @@
 			case '_':
 				result [j++] = '_';
 				break;
+            default:
 		}
 		result [j++] = text [i++];
 	}
--- a/todo.txt	Fri Jan 11 14:31:37 2008 +0100
+++ b/todo.txt	Fri Jan 11 15:40:16 2008 +0100
@@ -14,6 +14,14 @@
     Search for "int /*long*/"
         -> "auto" if variable that gets initialized with something typed, e.g. result of method call.
 
+    Marks:
+        OK  the module is ported for compiling
+        s   checked switches to have a 'default' case
+        o   checked all override methods, added 'override' and/or aliases
+        r   A second person did a review Java vs D
+
+
+
 Next Steps:
     * accessibility package (independant)
     * Shell
@@ -25,97 +33,97 @@
     How about memory management?
     Check to remove "package", it non-virtual.
 
-SWT                                    // left: getMessage -> Compatibility:ResourceBundle
-SWTError                               // OK
-SWTException                           // OK
+SWT                                    // OKs left: getMessage -> Compatibility:ResourceBundle
+SWTError                               // OKs
+SWTException                           // OKs
 
-internal/BidiUtil                       // OK (stub: Runnable )
+internal/BidiUtil                       // OKs (stub: Runnable )
 internal/Callback                       // ?? hopefully not needed
-internal/CloneableCompatibility         // OK (java.lang.Cloneable)
-internal/C                              // OK not needed
+internal/CloneableCompatibility         // OKs (java.lang.Cloneable)
+internal/C                              // OKs not needed
 internal/Compatibility                  // left: ResourceBundle, interrupt()
 internal/Converter                      // left: gtk function prototypes
-internal/Library                        // OK (loading of lib not needed)
-internal/Lock                           // OK
-internal/LONG                           // OK
-internal/Platform                       // OK
-internal/SerializableCompatibility      // OK (java.io.Serializable)
-internal/SWTEventListener               // OK (java.util.EventListener)
-internal/SWTEventObject                 // OK (java.util.EventObject)
+internal/Library                        // OKs (loading of lib not needed)
+internal/Lock                           // OKs
+internal/LONG                           // OKs
+internal/Platform                       // OKs
+internal/SerializableCompatibility      // OKs (java.io.Serializable)
+internal/SWTEventListener               // OKs (java.util.EventListener)
+internal/SWTEventObject                 // OKs (java.util.EventObject)
 
-graphics/Color                          // OK
-graphics/Cursor                         // OK
-graphics/Device                         // OK
-graphics/DeviceData                     // OK (fld: debug->debugging)
-graphics/Drawable                       // OK
-graphics/Font                           // OK
-graphics/FontData                       // OK
-graphics/FontMetrics                    // OK
-graphics/GC                             // OK
-graphics/GCData                         // OK
-graphics/GlyphMetrics                   // OK
-graphics/Image                          // OK
-graphics/ImageData                      // OK
-graphics/ImageDataLoader                // OK
-graphics/ImageLoader                    // OK
-graphics/ImageLoaderEvent               // OK
-graphics/ImageLoaderListener            // OK
-graphics/LineAttributes                 // OK
-graphics/PaletteData                    // OK
-graphics/Path                           // OK
-graphics/PathData                       // OK
-graphics/Pattern                        // OK
-graphics/Point                          // OK
-graphics/Rectangle                      // OK (meth union->makeUnion)
-graphics/Region                         // OK
-graphics/Resource                       // OK
-graphics/RGB                            // OK
-graphics/TextLayout                     // OK (problems char/wchar)
-graphics/TextStyle                      // OK
-graphics/Transform                      // OK
+graphics/Color                          // OKs
+graphics/Cursor                         // OKs
+graphics/Device                         // OKs
+graphics/DeviceData                     // OKs (fld: debug->debugging)
+graphics/Drawable                       // OKs
+graphics/Font                           // OKs
+graphics/FontData                       // OKs
+graphics/FontMetrics                    // OKs
+graphics/GC                             // OKs
+graphics/GCData                         // OKs
+graphics/GlyphMetrics                   // OKs
+graphics/Image                          // OKs
+graphics/ImageData                      // OKs
+graphics/ImageDataLoader                // OKs
+graphics/ImageLoader                    // OKs
+graphics/ImageLoaderEvent               // OKs
+graphics/ImageLoaderListener            // OKs
+graphics/LineAttributes                 // OKs
+graphics/PaletteData                    // OKs
+graphics/Path                           // OKs
+graphics/PathData                       // OKs
+graphics/Pattern                        // OKs
+graphics/Point                          // OKs
+graphics/Rectangle                      // OKs (meth union->makeUnion)
+graphics/Region                         // OKs
+graphics/Resource                       // OKs
+graphics/RGB                            // OKs
+graphics/TextLayout                     // OKs (problems char/wchar)
+graphics/TextStyle                      // OKs
+graphics/Transform                      // OKs
 
-widgets/Button                          // OK
-widgets/Canvas                          // OK
-widgets/Caret                           // OK
+widgets/Button                          // OKs
+widgets/Canvas                          // OKs
+widgets/Caret                           // OKs
 widgets/ColorDialog
 widgets/Combo
-widgets/Composite                       // OK
-widgets/Control                         // OK
+widgets/Composite                       // OKs
+widgets/Control                         // OKs
 widgets/CoolBar
 widgets/CoolItem
 widgets/DateTime
-widgets/Decorations                     // OK
+widgets/Decorations                     // OKs
 widgets/Dialog
 widgets/DirectoryDialog
-widgets/Display                         // OK
-widgets/Event                           // OK
-widgets/EventTable                      // in work
+widgets/Display                         // OKs
+widgets/Event                           // OKs
+widgets/EventTable                      // OKs
 widgets/ExpandBar
 widgets/ExpandItem
 widgets/FileDialog
 widgets/FontDialog
 widgets/Group
-widgets/ImageList                       // OK
-widgets/Item                            // OK
+widgets/ImageList                       // OKs
+widgets/Item                            // OKs
 widgets/Label
 widgets/Layout
 widgets/Link
 widgets/List
-widgets/Listener                        // OK
-widgets/Menu                            // OK
-widgets/MenuItem                        // OK
+widgets/Listener                        // OKs
+widgets/Menu                            // OKs
+widgets/MenuItem                        // OKs
 widgets/MessageBox
-widgets/Monitor
+widgets/Monitor                         // OKs
 widgets/ProgressBar
-widgets/RunnableLock                    // OK
+widgets/RunnableLock                    // OKs
 widgets/Sash
 widgets/Scale
-widgets/Scrollable                      // OK
-widgets/ScrollBar                       // OK
-widgets/Shell                           // OK
+widgets/Scrollable                      // OKs
+widgets/ScrollBar                       // OKs
+widgets/Shell                           // OKs
 widgets/Slider
 widgets/Spinner
-widgets/Synchronizer                    // OK
+widgets/Synchronizer                    // OKs
 widgets/TabFolder
 widgets/TabItem
 widgets/Table
@@ -124,25 +132,25 @@
 widgets/Text
 widgets/ToolBar
 widgets/ToolItem
-widgets/ToolTip                         // OK
+widgets/ToolTip                         // OKs
 widgets/Tracker
-widgets/Tray                            // OK
-widgets/TrayItem                        // OK
+widgets/Tray                            // OKs
+widgets/TrayItem                        // OKs
 widgets/Tree
 widgets/TreeColumn
 widgets/TreeItem
-widgets/TypedListener                   // OK
-widgets/Widget                          // OK
+widgets/TypedListener                   // OKs
+widgets/Widget                          // OKs
 
-layout/FormLayout                       // OK
-layout/FormAttachment                   // OK
-layout/RowData                          // OK
-layout/GridData                         // OK
-layout/GridLayout                       // OK
-layout/FillLayout                       // OK
-layout/FormData                         // OK
-layout/FillData                         // OK
-layout/RowLayout                        // OK
+layout/FormLayout                       // OKs
+layout/FormAttachment                   // OKs
+layout/RowData                          // OKs
+layout/GridData                         // OKs
+layout/GridLayout                       // OKs
+layout/FillLayout                       // OKs
+layout/FormData                         // OKs
+layout/FillData                         // OKs
+layout/RowLayout                        // OKs
 
 
 
@@ -169,54 +177,54 @@
 internal/cairo/Cairo                            // OK
 internal/cairo/cairo_text_extents_t             // X
 internal/cairo/cairo_font_extents_t             // X
-internal/image/FileFormat                       // OK
-internal/image/GIFFileFormat                    // OK
-internal/image/JPEGAppn                         // OK
-internal/image/JPEGArithmeticConditioningTable  // OK
-internal/image/JPEGComment                      // OK
-internal/image/JPEGDecoder                      // OK
-internal/image/JPEGEndOfImage                   // OK
-internal/image/JPEGFileFormat                   // OK
-internal/image/JPEGFixedSizeSegment             // OK
-internal/image/JPEGFrameHeader                  // OK
-internal/image/JPEGHuffmanTable                 // OK
-internal/image/JPEGQuantizationTable            // OK
-internal/image/JPEGRestartInterval              // OK
-internal/image/JPEGScanHeader                   // OK
-internal/image/JPEGSegment                      // OK
-internal/image/JPEGStartOfImage                 // OK
-internal/image/JPEGVariableSizeSegment          // OK
-internal/image/LEDataInputStream                // OK
-internal/image/LEDataOutputStream               // OK
-internal/image/LZWCodec                         // OK
-internal/image/LZWNode                          // OK
-internal/image/OS2BMPFileFormat                 // OK
-internal/image/PngChunk                         // OK
-internal/image/PngChunkReader                   // OK
-internal/image/PngDecodingDataStream            // OK
-internal/image/PngDeflater                      // OK
-internal/image/PngEncoder                       // OK
-internal/image/PNGFileFormat                    // OK
-internal/image/PngFileReadState                 // OK
-internal/image/PngHuffmanTable                  // OK
-internal/image/PngHuffmanTables                 // OK
-internal/image/PngIdatChunk                     // OK
-internal/image/PngIendChunk                     // OK
-internal/image/PngIhdrChunk                     // OK
-internal/image/PngInputStream                   // OK
-internal/image/PngLzBlockReader                 // OK
-internal/image/PngPlteChunk                     // OK
-internal/image/PngTrnsChunk                     // OK
-internal/image/TIFFDirectory                    // OK
-internal/image/TIFFFileFormat                   // OK
-internal/image/TIFFModifiedHuffmanCodec         // OK
-internal/image/TIFFRandomFileAccess             // OK
-internal/image/WinBMPFileFormat                 // OK
-internal/image/WinICOFileFormat                 // OK
+internal/image/FileFormat                       // OKs
+internal/image/GIFFileFormat                    // OKs
+internal/image/JPEGAppn                         // OKs
+internal/image/JPEGArithmeticConditioningTable  // OKs
+internal/image/JPEGComment                      // OKs
+internal/image/JPEGDecoder                      // OKs
+internal/image/JPEGEndOfImage                   // OKs
+internal/image/JPEGFileFormat                   // OKs
+internal/image/JPEGFixedSizeSegment             // OKs
+internal/image/JPEGFrameHeader                  // OKs
+internal/image/JPEGHuffmanTable                 // OKs
+internal/image/JPEGQuantizationTable            // OKs
+internal/image/JPEGRestartInterval              // OKs
+internal/image/JPEGScanHeader                   // OKs
+internal/image/JPEGSegment                      // OKs
+internal/image/JPEGStartOfImage                 // OKs
+internal/image/JPEGVariableSizeSegment          // OKs
+internal/image/LEDataInputStream                // OKs
+internal/image/LEDataOutputStream               // OKs
+internal/image/LZWCodec                         // OKs
+internal/image/LZWNode                          // OKs
+internal/image/OS2BMPFileFormat                 // OKs
+internal/image/PngChunk                         // OKs
+internal/image/PngChunkReader                   // OKs
+internal/image/PngDecodingDataStream            // OKs
+internal/image/PngDeflater                      // OKs
+internal/image/PngEncoder                       // OKs
+internal/image/PNGFileFormat                    // OKs
+internal/image/PngFileReadState                 // OKs
+internal/image/PngHuffmanTable                  // OKs
+internal/image/PngHuffmanTables                 // OKs
+internal/image/PngIdatChunk                     // OKs
+internal/image/PngIendChunk                     // OKs
+internal/image/PngIhdrChunk                     // OKs
+internal/image/PngInputStream                   // OKs
+internal/image/PngLzBlockReader                 // OKs
+internal/image/PngPlteChunk                     // OKs
+internal/image/PngTrnsChunk                     // OKs
+internal/image/TIFFDirectory                    // OKs
+internal/image/TIFFFileFormat                   // OKs
+internal/image/TIFFModifiedHuffmanCodec         // OKs
+internal/image/TIFFRandomFileAccess             // OKs
+internal/image/WinBMPFileFormat                 // OKs
+internal/image/WinICOFileFormat                 // OKs
 
 internal/gtk/GdkEventCrossing                   // X
 internal/gtk/XAnyEvent                          // X
-internal/gtk/OS                                 // OK
+internal/gtk/OS                                 // OKs
 internal/gtk/PangoRectangle                     // X
 internal/gtk/GTypeQuery                         // X
 internal/gtk/GdkEventScroll                     // X
@@ -330,19 +338,19 @@
 internal/accessibility/gtk/AtkObjectClass           // X
 internal/accessibility/gtk/AtkComponentIface        // X
 internal/accessibility/gtk/AtkHypertextIface        // X
-accessibility/AccessibleTextEvent                   // OK
-accessibility/AccessibleAdapter                     // OK
-accessibility/AccessibleListener                    // OK
-accessibility/AccessibleControlEvent                // OK
-accessibility/AccessibleTextListener                // OK
-accessibility/AccessibleControlAdapter              // OK
-accessibility/AccessibleObject                      // OK
-accessibility/AccessibleEvent                       // OK
-accessibility/AccessibleControlListener             // OK
-accessibility/AccessibleTextAdapter                 // OK
-accessibility/ACC                                   // OK
-accessibility/Accessible                            // OK
-accessibility/AccessibleFactory                     // OK
+accessibility/AccessibleTextEvent                   // OKs
+accessibility/AccessibleAdapter                     // OKs
+accessibility/AccessibleListener                    // OKs
+accessibility/AccessibleControlEvent                // OKs
+accessibility/AccessibleTextListener                // OKs
+accessibility/AccessibleControlAdapter              // OKs
+accessibility/AccessibleObject                      // OKs
+accessibility/AccessibleEvent                       // OKs
+accessibility/AccessibleControlListener             // OKs
+accessibility/AccessibleTextAdapter                 // OKs
+accessibility/ACC                                   // OKs
+accessibility/Accessible                            // OKs
+accessibility/AccessibleFactory                     // OKs