Mercurial > projects > dwt-win
changeset 82:43c42c637c9c
First simple example works
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Wed, 06 Feb 2008 15:45:27 +0100 |
parents | e10cbfc977d2 |
children | b1f026458bc5 |
files | dwt/internal/win32/OS.d dwt/internal/win32/WINAPI.d dwt/internal/win32/WINTYPES.d dwt/widgets/Button.d dwt/widgets/ColorDialog.d dwt/widgets/Combo.d dwt/widgets/Composite.d dwt/widgets/Control.d dwt/widgets/CoolBar.d dwt/widgets/DateTime.d dwt/widgets/Decorations.d dwt/widgets/DirectoryDialog.d dwt/widgets/Display.d dwt/widgets/ExpandBar.d dwt/widgets/FileDialog.d dwt/widgets/Group.d dwt/widgets/Link.d dwt/widgets/List.d dwt/widgets/Sash.d dwt/widgets/Scale.d dwt/widgets/ScrollBar.d dwt/widgets/Scrollable.d dwt/widgets/Shell.d dwt/widgets/Slider.d dwt/widgets/Spinner.d dwt/widgets/TabFolder.d dwt/widgets/Table.d dwt/widgets/Text.d dwt/widgets/ToolBar.d dwt/widgets/Tracker.d dwt/widgets/TrayItem.d dwt/widgets/Tree.d dwt/widgets/TreeColumn.d dwt/widgets/Widget.d simple.d |
diffstat | 35 files changed, 323 insertions(+), 101 deletions(-) [+] |
line wrap: on
line diff
--- a/dwt/internal/win32/OS.d Wed Feb 06 15:12:11 2008 +0100 +++ b/dwt/internal/win32/OS.d Wed Feb 06 15:45:27 2008 +0100 @@ -20,7 +20,7 @@ import dwt.internal.Library; import tango.sys.SharedLib : SharedLib; import tango.util.log.Trace; - +static import tango.stdc.stdlib; // declare of Callback functions @@ -140,32 +140,31 @@ public static const int LANG_KOREAN = 0x12; public static const int MAX_PATH = 260; - static this(){ - NOTIFYICONDATAA_V2_SIZE = getNOTIFYICONDATAA_V2_SIZE (); - NOTIFYICONDATAW_V2_SIZE = getNOTIFYICONDATAW_V2_SIZE (); - NOTIFYICONDATA_V2_SIZE = IsUnicode ? getNOTIFYICONDATAW_V2_SIZE : getNOTIFYICONDATAA_V2_SIZE; - OSVERSIONINFO info; - IsWin32s = (info.dwPlatformId is VER_PLATFORM_WIN32s); - IsWin95 = (info.dwPlatformId is VER_PLATFORM_WIN32_WINDOWS); - IsWinNT = (info.dwPlatformId is VER_PLATFORM_WIN32_NT); - //IsSP_ = false; - //IsPPC_ = false; - //IsHPC = false; - IsDBLocale = false; - WIN32_MAJOR = info.dwMajorVersion; - WIN32_MINOR = info.dwMinorVersion; - WIN32_VERSION = VERSION (WIN32_MAJOR, WIN32_MINOR); - //IsUnicode = !IsWin32s && !IsWin95; - DLLVERSIONINFO dvi; - COMCTL32_MAJOR = dvi.dwMajorVersion; - COMCTL32_MINOR = dvi.dwMinorVersion; - COMCTL32_VERSION = VERSION (COMCTL32_MAJOR, COMCTL32_MINOR); - SHELL32_MAJOR = dvi.dwMajorVersion; - SHELL32_MINOR = dvi.dwMinorVersion; - SHELL32_VERSION = VERSION (SHELL32_MAJOR, SHELL32_MINOR); - } -//PORTING_LEFT -/++ +// static this(){ +// NOTIFYICONDATAA_V2_SIZE = getNOTIFYICONDATAA_V2_SIZE (); +// NOTIFYICONDATAW_V2_SIZE = getNOTIFYICONDATAW_V2_SIZE (); +// NOTIFYICONDATA_V2_SIZE = IsUnicode ? getNOTIFYICONDATAW_V2_SIZE : getNOTIFYICONDATAA_V2_SIZE; +// OSVERSIONINFO info; +// IsWin32s = (info.dwPlatformId is VER_PLATFORM_WIN32s); +// IsWin95 = (info.dwPlatformId is VER_PLATFORM_WIN32_WINDOWS); +// IsWinNT = (info.dwPlatformId is VER_PLATFORM_WIN32_NT); +// //IsSP_ = false; +// //IsPPC_ = false; +// //IsHPC = false; +// IsDBLocale = false; +// WIN32_MAJOR = info.dwMajorVersion; +// WIN32_MINOR = info.dwMinorVersion; +// WIN32_VERSION = VERSION (WIN32_MAJOR, WIN32_MINOR); +// //IsUnicode = !IsWin32s && !IsWin95; +// DLLVERSIONINFO dvi; +// COMCTL32_MAJOR = dvi.dwMajorVersion; +// COMCTL32_MINOR = dvi.dwMinorVersion; +// COMCTL32_VERSION = VERSION (COMCTL32_MAJOR, COMCTL32_MINOR); +// SHELL32_MAJOR = dvi.dwMajorVersion; +// SHELL32_MINOR = dvi.dwMinorVersion; +// SHELL32_VERSION = VERSION (SHELL32_MAJOR, SHELL32_MINOR); +// } + /* Get the Windows version and the flags */ public static this() { /* @@ -184,8 +183,8 @@ OSVERSIONINFO info; info.dwOSVersionInfoSize = OSVERSIONINFO.sizeof; if(!OS.GetVersionEx(&info)){ - MessageBoxA(null, "DWT Unicode version applications can't run in a non-Unicode platform !", "Error", MB_OK|MB_ICONERROR); - exit(-1); + MessageBoxA(null, "DWT Unicode version applications can't run in a non-Unicode platform !", "Error", MB_OK|MB_ICONERROR); + tango.stdc.stdlib.exit(-1); } //OSVERSIONINFO info = new OSVERSIONINFOW (); //info.dwOSVersionInfoSize = OSVERSIONINFOW.sizeof; @@ -199,43 +198,50 @@ IsWin32s = (info.dwPlatformId is VER_PLATFORM_WIN32s); IsWin95 = (info.dwPlatformId is VER_PLATFORM_WIN32_WINDOWS); IsWinNT = (info.dwPlatformId is VER_PLATFORM_WIN32_NT); - IsWinCE = (info.dwPlatformId is VER_PLATFORM_WIN32_CE); - IsSP_ = IsSP(); - IsPPC_ = IsPPC(); - IsHPC = IsWinCE && !IsPPC && !IsSP; + //PORTING_CHANGE: made by version + //IsWinCE = (info.dwPlatformId is VER_PLATFORM_WIN32_CE); + //PORTING_CHANGE: made by version + //IsSP = IsSP(); + //PORTING_CHANGE: made by version + //IsPPC = IsPPC(); + + version(WinCE) { + IsHPC = IsWinCE && !IsPPC && !IsSP; + } WIN32_MAJOR = info.dwMajorVersion; WIN32_MINOR = info.dwMinorVersion; WIN32_VERSION = VERSION (WIN32_MAJOR, WIN32_MINOR); - IsUnicode = !IsWin32s && !IsWin95; - + + //PORTING_CHANGE: made by version + //IsUnicode = !IsWin32s && !IsWin95; /* Load the manifest to force the XP Theme */ - if (System.getProperty (NO_MANIFEST) is null) { + //if (System.getProperty (NO_MANIFEST) is null) { if (!OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (5, 1)) { - TCHAR buffer = new TCHAR (0, MAX_PATH); - int /*long*/ hModule = OS.GetLibraryHandle (); - while (OS.GetModuleFileName (hModule, buffer, buffer.length ()) is buffer.length ()) { - buffer = new TCHAR (0, buffer.length () + MAX_PATH); + TCHAR[] buffer = new TCHAR[ MAX_PATH ]; + HANDLE hModule = OS.GetLibraryHandle (); + while (OS.GetModuleFileName (hModule, buffer.ptr, buffer.length ) is buffer.length ) { + buffer.length = buffer.length + MAX_PATH; } - int /*long*/ hHeap = OS.GetProcessHeap (); - int byteCount = buffer.length () * TCHAR.sizeof; - int /*long*/ pszText = OS.HeapAlloc (hHeap, HEAP_ZERO_MEMORY, byteCount); - OS.MoveMemory (pszText, buffer, byteCount); - ACTCTX pActCtx = new ACTCTX (); + auto hHeap = OS.GetProcessHeap (); + int byteCount = buffer.length * TCHAR.sizeof; + TCHAR* pszText = cast(TCHAR*) OS.HeapAlloc (hHeap, HEAP_ZERO_MEMORY, byteCount); + OS.MoveMemory (pszText, buffer.ptr, byteCount); + ACTCTX pActCtx; pActCtx.cbSize = ACTCTX.sizeof; pActCtx.dwFlags = ACTCTX_FLAG_RESOURCE_NAME_VALID | ACTCTX_FLAG_SET_PROCESS_DEFAULT; pActCtx.lpSource = pszText; - pActCtx.lpResourceName = MANIFEST_RESOURCE_ID; - int /*long*/ hActCtx = OS.CreateActCtx (pActCtx); - if (pszText !is 0) OS.HeapFree (hHeap, 0, pszText); - int /*long*/ [] lpCookie = new int /*long*/ [1]; - OS.ActivateActCtx (hActCtx, lpCookie); + pActCtx.lpResourceName = cast(char*)MANIFEST_RESOURCE_ID; + HANDLE hActCtx = OS.CreateActCtx (&pActCtx); + if (pszText !is null) OS.HeapFree (hHeap, 0, pszText); + uint lpCookie; + OS.ActivateActCtx (hActCtx, &lpCookie); /* * NOTE: A single activation context is created and activated * for the entire lifetime of the program. It is deactivated * and released by Windows when the program exits. */ } - } + //} /* Make the process DPI aware for Windows Vista */ if (OS.WIN32_VERSION >= OS.VERSION (6, 0)) OS.SetProcessDPIAware (); @@ -260,61 +266,58 @@ short langID = OS.GetSystemDefaultUILanguage (); short primaryLang = OS.PRIMARYLANGID (langID); if (primaryLang is LANG_KOREAN) { - OSVERSIONINFOEX infoex = IsUnicode ? (OSVERSIONINFOEX)new OSVERSIONINFOEXW () : (OSVERSIONINFOEX)new OSVERSIONINFOEXA (); + OSVERSIONINFOEX infoex; infoex.dwOSVersionInfoSize = OSVERSIONINFOEX.sizeof; - GetVersionEx (infoex); + GetVersionEx (cast(OSVERSIONINFO*) &infoex ); if (infoex.wServicePackMajor < 2) { OS.ImmDisableTextFrameService (0); } } } - } - - /* Get the COMCTL32.DLL version */ - static this() { - DLLVERSIONINFO dvi = new DLLVERSIONINFO (); + + /* Get the COMCTL32.DLL version */ + DLLVERSIONINFO dvi; dvi.cbSize = DLLVERSIONINFO.sizeof; dvi.dwMajorVersion = 4; dvi.dwMinorVersion = 0; - TCHAR lpLibFileName = new TCHAR (0, "comctl32.dll", true); //$NON-NLS-1$ - int /*long*/ hModule = OS.LoadLibrary (lpLibFileName); - if (hModule !is 0) { + //PORTING_CHANGE: comctl is loaded automatically + //TCHAR lpLibFileName = new TCHAR (0, "comctl32.dll", true); //$NON-NLS-1$ + //int /*long*/ hModule = OS.LoadLibrary (lpLibFileName); + if (auto lib = SharedLib.load( `comctl32.dll`) ) { char[] name = "DllGetVersion\0"; //$NON-NLS-1$ - byte [] lpProcName = new byte [name.length ()]; - for (int i=0; i<lpProcName.length; i++) { - lpProcName [i] = (byte) name.charAt (i); + void* DllGetVersion = lib.getSymbol(name.ptr); + if (DllGetVersion !is null){ + alias extern(Windows) void function(DLLVERSIONINFO*) TDllVersion; + TDllVersion f = cast( TDllVersion )DllGetVersion; + f(&dvi); } - int /*long*/ DllGetVersion = OS.GetProcAddress (hModule, lpProcName); - if (DllGetVersion !is 0) OS.Call (DllGetVersion, dvi); - OS.FreeLibrary (hModule); + lib.unload(); } COMCTL32_MAJOR = dvi.dwMajorVersion; COMCTL32_MINOR = dvi.dwMinorVersion; COMCTL32_VERSION = VERSION (COMCTL32_MAJOR, COMCTL32_MINOR); - } - - /* Get the Shell32.DLL version */ - static { - DLLVERSIONINFO dvi = new DLLVERSIONINFO (); + + /* Get the Shell32.DLL version */ + dvi = DLLVERSIONINFO.init; dvi.cbSize = DLLVERSIONINFO.sizeof; dvi.dwMajorVersion = 4; - TCHAR lpLibFileName = new TCHAR (0, "Shell32.dll", true); //$NON-NLS-1$ - int /*long*/ hModule = OS.LoadLibrary (lpLibFileName); - if (hModule !is 0) { + //TCHAR lpLibFileName = new TCHAR (0, "Shell32.dll", true); //$NON-NLS-1$ + //int /*long*/ hModule = OS.LoadLibrary (lpLibFileName); + if ( auto lib = SharedLib.load( `Shell32.dll`)) { char[] name = "DllGetVersion\0"; //$NON-NLS-1$ - byte [] lpProcName = new byte [name.length ()]; - for (int i=0; i<lpProcName.length; i++) { - lpProcName [i] = (byte) name.charAt (i); + void* DllGetVersion = lib.getSymbol(name.ptr); + if (DllGetVersion !is null){ + alias extern(Windows) void function(DLLVERSIONINFO*) TDllVersion; + TDllVersion f = cast( TDllVersion )DllGetVersion; + f(&dvi); } - int /*long*/ DllGetVersion = OS.GetProcAddress (hModule, lpProcName); - if (DllGetVersion !is 0) OS.Call (DllGetVersion, dvi); - OS.FreeLibrary (hModule); + lib.unload(); } SHELL32_MAJOR = dvi.dwMajorVersion; SHELL32_MINOR = dvi.dwMinorVersion; SHELL32_VERSION = VERSION (SHELL32_MAJOR, SHELL32_MINOR); + Trace.formatln("line:{} in {}", __LINE__, __FILE__ ); } -++/ /* Flag used on WinCE */ static const int SYS_COLOR_INDEX_FLAG = OS.IsWinCE ? 0x40000000 : 0x0; @@ -4336,6 +4339,16 @@ } } +// user32.dll vista +public static extern(Windows) BOOL function() SetProcessDPIAware; +// Imm32.lib +public static extern(Windows) BOOL function( DWORD idThread ) ImmDisableTextFrameService; + +// kernel32 winxp/vista +public static extern(Windows) { +HANDLE function( ACTCTX* pActCtx ) CreateActCtx; +BOOL function( HACTCTX hActCtx, uint* lpCookie ) ActivateActCtx; +} //------------------------------------------------------------------------ /** All Natives */ alias WINAPI.AbortDoc AbortDoc;
--- a/dwt/internal/win32/WINAPI.d Wed Feb 06 15:12:11 2008 +0100 +++ b/dwt/internal/win32/WINAPI.d Wed Feb 06 15:45:27 2008 +0100 @@ -167,6 +167,24 @@ int nRightRect, // x-coord of lower-right corner int nBottomRect // y-coord of lower-right corner ); + +/+ +// kernel32 winxp/vista +version(ANSI){ +HANDLE CreateActCtxA( + ACTCTXA* pActCtx +); +} +else{ +HANDLE CreateActCtxW( + ACTCTXW* pActCtx +); +} +BOOL ActivateActCtx( + HACTCTX hActCtx, + uint* lpCookie +); ++/ } //--------------------------------------------------------------------------------------
--- a/dwt/internal/win32/WINTYPES.d Wed Feb 06 15:12:11 2008 +0100 +++ b/dwt/internal/win32/WINTYPES.d Wed Feb 06 15:45:27 2008 +0100 @@ -82,6 +82,49 @@ UINT uStateOld; LPARAM lParam; } + +struct ACTCTXA { + ULONG cbSize; + DWORD dwFlags; + LPCSTR lpSource; + USHORT wProcessorArchitecture; + LANGID wLangId; + LPCTSTR lpAssemblyDirectory; + LPCTSTR lpResourceName; + LPCTSTR lpApplicationName; + HMODULE hModule; +} +struct ACTCTXW { + ULONG cbSize; + DWORD dwFlags; + LPCWSTR lpSource; + USHORT wProcessorArchitecture; + LANGID wLangId; + LPCTSTR lpAssemblyDirectory; + LPCTSTR lpResourceName; + LPCTSTR lpApplicationName; + HMODULE hModule; +} +version(ANSI) alias ACTCTXA ACTCTX; +else alias ACTCTXW ACTCTX; +alias HANDLE HACTCTX; + +struct OSVERSIONINFOEX { + DWORD dwOSVersionInfoSize; + DWORD dwMajorVersion; + DWORD dwMinorVersion; + DWORD dwBuildNumber; + DWORD dwPlatformId; + TCHAR szCSDVersion[128]; + WORD wServicePackMajor; + WORD wServicePackMinor; + WORD wSuiteMask; + BYTE wProductType; + BYTE wReserved; +} + + + // .... //--------------------------------------------------------------------------------
--- a/dwt/widgets/Button.d Wed Feb 06 15:12:11 2008 +0100 +++ b/dwt/widgets/Button.d Wed Feb 06 15:45:27 2008 +0100 @@ -221,6 +221,7 @@ imageBits = OS.BS_BITMAP; fImageType = OS.IMAGE_BITMAP; break; + default: } break; } @@ -230,6 +231,7 @@ fImageType = OS.IMAGE_ICON; break; } + default: } /* * Feature in Windows. The button control mirrors its image when the @@ -1207,6 +1209,7 @@ } } postEvent (DWT.Selection); + default: } return super.wmCommandChild (wParam, lParam); } @@ -1245,6 +1248,7 @@ case DWT.DOWN: iStateId = OS.ABS_DOWNNORMAL; break; case DWT.LEFT: iStateId = OS.ABS_LEFTNORMAL; break; case DWT.RIGHT: iStateId = OS.ABS_RIGHTNORMAL; break; + default: } /* * NOTE: The normal, hot, pressed and disabled state is @@ -1261,6 +1265,7 @@ case DWT.DOWN: uState = OS.DFCS_SCROLLDOWN; break; case DWT.LEFT: uState = OS.DFCS_SCROLLLEFT; break; case DWT.RIGHT: uState = OS.DFCS_SCROLLRIGHT; break; + default: } if (!getEnabled ()) uState |= OS.DFCS_INACTIVE; if ((style & DWT.FLAT) is DWT.FLAT) uState |= OS.DFCS_FLAT;
--- a/dwt/widgets/ColorDialog.d Wed Feb 06 15:12:11 2008 +0100 +++ b/dwt/widgets/ColorDialog.d Wed Feb 06 15:45:27 2008 +0100 @@ -132,6 +132,7 @@ } break; } + default: } return 0; }
--- a/dwt/widgets/Combo.d Wed Feb 06 15:12:11 2008 +0100 +++ b/dwt/widgets/Combo.d Wed Feb 06 15:45:27 2008 +0100 @@ -1327,6 +1327,7 @@ case OS.WM_KEYDOWN: if ((stateMask & (DWT.ALT | DWT.SHIFT | DWT.CONTROL)) !is 0) return false; break; + default: } /* @@ -1914,6 +1915,7 @@ return false; } } + default: } return super.translateTraversal (msg); } @@ -2065,6 +2067,7 @@ result = wmClipboard (hwnd, msg, wParam, lParam); } break; + default: } if (result !is LRESULT.NULL) return result; return callWindowProc (hwnd, msg, wParam, lParam); @@ -2259,6 +2262,7 @@ return LRESULT.ZERO; } } + default: } return result; } @@ -2311,6 +2315,7 @@ //newText = buffer.toString (0, length_); newText = TCHARzToStr( cast(TCHAR*)lParam ); break; + default: } if (newText !is null) { char[] oldText = newText; @@ -2400,6 +2405,7 @@ sendFocusEvent (DWT.FocusOut); if (isDisposed ()) return LRESULT.ZERO; break; + default: } return super.wmCommandChild (wParam, lParam); }
--- a/dwt/widgets/Composite.d Wed Feb 06 15:12:11 2008 +0100 +++ b/dwt/widgets/Composite.d Wed Feb 06 15:45:27 2008 +0100 @@ -991,6 +991,7 @@ case OS.VK_NEXT: OS.SendMessage (msg.hwnd, OS.WM_CHANGEUISTATE, OS.UIS_INITIALIZE, 0); break; + default: } } return super.translateTraversal (msg); @@ -1461,6 +1462,7 @@ } if (code is 0) return LRESULT.ZERO; return cast( LRESULT )(code); + default: } } /* Return the result */ @@ -1600,6 +1602,7 @@ } break; } + default: } } return super.wmNotify (hdr, wParam, lParam);
--- a/dwt/widgets/Control.d Wed Feb 06 15:12:11 2008 +0100 +++ b/dwt/widgets/Control.d Wed Feb 06 15:45:27 2008 +0100 @@ -53,6 +53,12 @@ import dwt.dwthelper.utils; import dwt.dwthelper.System; +import tango.util.log.Trace; +static import tango.sys.Common; +void trc( int line ){ + Trace.formatln( "Control {}", line ); +} + /** * Control is the abstract superclass of all windowed user interface classes. * <p> @@ -2411,6 +2417,7 @@ shell.setActiveControl (null); } break; + default: } } return true; @@ -3437,6 +3444,7 @@ case DWT.TRAVERSE_MNEMONIC: return traverseMnemonic (event.character); case DWT.TRAVERSE_PAGE_NEXT: return traversePage (true); case DWT.TRAVERSE_PAGE_PREVIOUS: return traversePage (false); + default: } return false; } @@ -3796,6 +3804,7 @@ case OS.WM_XBUTTONDBLCLK: result = WM_XBUTTONDBLCLK (wParam, lParam); break; case OS.WM_XBUTTONDOWN: result = WM_XBUTTONDOWN (wParam, lParam); break; case OS.WM_XBUTTONUP: result = WM_XBUTTONUP (wParam, lParam); break; + default: } if (result !is LRESULT.NULL) return result; return callWindowProc (hwnd, msg, wParam, lParam); @@ -4458,6 +4467,7 @@ /* Save the focus widget when the shell is minimized */ menuShell ().saveFocus (); break; + default: } return LRESULT.NULL; }
--- a/dwt/widgets/CoolBar.d Wed Feb 06 15:12:11 2008 +0100 +++ b/dwt/widgets/CoolBar.d Wed Feb 06 15:45:27 2008 +0100 @@ -1208,10 +1208,12 @@ case OS.CDDS_POSTERASE: drawBackground (nmcd.hdc); break; + default: } } break; } + default: } return super.wmNotifyChild (hdr, wParam, lParam); }
--- a/dwt/widgets/DateTime.d Wed Feb 06 15:12:11 2008 +0100 +++ b/dwt/widgets/DateTime.d Wed Feb 06 15:45:27 2008 +0100 @@ -399,6 +399,7 @@ // skip the preceding separator while (start > 0 && buffer.charAt (start) !is MONTH_FORMAT_CONSTANT) start--; break; + default: } break; } @@ -793,6 +794,7 @@ case OS.DTN_DATETIMECHANGE: sendEvent (DWT.Selection); break; + default: } return super.wmNotifyChild (hdr, wParam, lParam); }
--- a/dwt/widgets/Decorations.d Wed Feb 06 15:12:11 2008 +0100 +++ b/dwt/widgets/Decorations.d Wed Feb 06 15:45:27 2008 +0100 @@ -1026,6 +1026,7 @@ case DWT.ICON: hSmallIcon = smallIcon.handle; break; + default: } } else { /* @@ -1052,6 +1053,7 @@ case DWT.ICON: hLargeIcon = largeIcon.handle; break; + default: } } OS.SendMessage (handle, OS.WM_SETICON, OS.ICON_BIG, hLargeIcon); @@ -1496,6 +1498,7 @@ return true; case OS.VK_F6: if (traverseDecorations (true)) return true; + default: } return false; } @@ -1504,6 +1507,7 @@ case OS.VK_F4: OS.PostMessage (shell.handle, OS.WM_CLOSE, 0, 0); return true; + default: } return false; } @@ -1610,6 +1614,7 @@ case Display.SWT_GETACCELCOUNT: if (hAccel is cast(HACCEL)-1) createAccelerators (); return msg is Display.SWT_GETACCELCOUNT ? nAccel : cast(int)hAccel; + default: } return super.windowProc (hwnd, msg, wParam, lParam); } @@ -1784,6 +1789,7 @@ newWidth = rect.width; newHeight = rect.height; break; + default: } changed = newWidth !is oldWidth || newHeight !is oldHeight; if (changed) { @@ -1816,6 +1822,7 @@ traverseDecorations (true); return LRESULT.ZERO; } + default: } } return result;
--- a/dwt/widgets/DirectoryDialog.d Wed Feb 06 15:12:11 2008 +0100 +++ b/dwt/widgets/DirectoryDialog.d Wed Feb 06 15:45:27 2008 +0100 @@ -117,6 +117,7 @@ OS.MoveMemory (buffer, lParam, byteCount); directoryPath = buffer.toString (0, length); break; + default: } return 0; }
--- a/dwt/widgets/Display.d Wed Feb 06 15:12:11 2008 +0100 +++ b/dwt/widgets/Display.d Wed Feb 06 15:45:27 2008 +0100 @@ -151,7 +151,7 @@ //Callback windowCallback; //int windowProc_; int threadId; - TCHAR* windowClass_, windowShadowClass; + TCHAR[] windowClass_, windowShadowClass; static int WindowClassCount; static const char[] WindowName = "SWT_Window"; //$NON-NLS-1$ static const char[] WindowShadowName = "SWT_WindowShadow"; //$NON-NLS-1$ @@ -827,6 +827,7 @@ alphaData = data.alphaData; transparentPixel = data.transparentPixel; break; + default: } BITMAP bm; OS.GetObject (hBitmap, BITMAP.sizeof, &bm); @@ -878,6 +879,7 @@ green = cast(byte)((transparentPixel & 0xFF0000) >> 16); red = cast(byte)((transparentPixel & 0xFF00) >> 8); break; + default: } } } @@ -991,6 +993,7 @@ green = cast(byte)((transparentPixel & 0xFF0000) >> 16); red = cast(byte)((transparentPixel & 0xFF00) >> 8); break; + default: } } } @@ -1191,6 +1194,7 @@ //embeddedProc_ = getMsgProc_ = 0; break; } + default: } return OS.DefWindowProc (hwnd, msg, wParam, lParam); } @@ -1440,6 +1444,7 @@ //FALL THROUGH case DWT.MouseUp: return clickCount; + default: } return 0; } @@ -1997,7 +2002,7 @@ if (embeddedHwnd is null) { auto hInstance = OS.GetModuleHandle (null); embeddedHwnd = OS.CreateWindowEx (0, - windowClass_, + windowClass_.ptr, null, OS.WS_OVERLAPPED, 0, 0, 0, 0, @@ -2027,6 +2032,7 @@ //OS.MoveMemory (lParam, msg, MSG.sizeof); } } + default: } } return OS.CallNextHookEx (msgHook, code, wParam, lParam); @@ -2156,6 +2162,7 @@ gc.dispose (); return downArrow; } + default: } return null; } @@ -2374,6 +2381,7 @@ auto hIcon = OS.LoadImage (null, cast(wchar*)OS.OIC_BANG, OS.IMAGE_ICON, 0, 0, OS.LR_SHARED); return warningIcon = Image.win32_new (this, DWT.ICON, hIcon); } + default: } return null; } @@ -2494,8 +2502,8 @@ threadId = OS.GetCurrentThreadId (); /* Use the character encoding for the default locale */ - windowClass_ = StrToTCHARz ( WindowName ~ to!(char[])(WindowClassCount)); - windowShadowClass = StrToTCHARz ( WindowShadowName ~ to!(char[])(WindowClassCount)); + windowClass_ = StrToTCHARs ( 0, WindowName ~ to!(char[])(WindowClassCount), true ); + windowShadowClass = StrToTCHARs ( 0, WindowShadowName ~ to!(char[])(WindowClassCount), true ); WindowClassCount++; /* Register the DWT window class */ @@ -2506,25 +2514,23 @@ lpWndClass.lpfnWndProc = &windowProcFunc; lpWndClass.style = OS.CS_BYTEALIGNWINDOW | OS.CS_DBLCLKS; lpWndClass.hCursor = OS.LoadCursor (null, cast(wchar*)OS.IDC_ARROW); - int len = strlenz( windowClass_ ); - int byteCount = len * TCHAR.sizeof; - lpWndClass.lpszClassName = cast(wchar*) OS.HeapAlloc (hHeap, OS.HEAP_ZERO_MEMORY, byteCount); - lpWndClass.lpszClassName[ 0 .. len ] = windowClass_[ 0 .. len ]; + int byteCount = windowClass_.length * TCHAR.sizeof; + lpWndClass.lpszClassName = cast(TCHAR*) OS.HeapAlloc (hHeap, OS.HEAP_ZERO_MEMORY, byteCount); + OS.MoveMemory (lpWndClass.lpszClassName, windowClass_.ptr, byteCount); OS.RegisterClass (&lpWndClass); OS.HeapFree (hHeap, 0, lpWndClass.lpszClassName); /* Register the DWT drop shadow window class */ if (!OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (5, 1)) lpWndClass.style |= OS.CS_DROPSHADOW; - len = strlenz( windowShadowClass ); - byteCount = len * TCHAR.sizeof; - lpWndClass.lpszClassName = cast(wchar*) OS.HeapAlloc (hHeap, OS.HEAP_ZERO_MEMORY, byteCount); - lpWndClass.lpszClassName[ 0 .. len ] = windowShadowClass[ 0 .. len ]; + byteCount = windowShadowClass.length * TCHAR.sizeof; + lpWndClass.lpszClassName = cast(TCHAR*) OS.HeapAlloc (hHeap, OS.HEAP_ZERO_MEMORY, byteCount); + OS.MoveMemory (lpWndClass.lpszClassName, windowShadowClass.ptr, byteCount); OS.RegisterClass (&lpWndClass); OS.HeapFree (hHeap, 0, lpWndClass.lpszClassName); /* Create the message only HWND */ hwndMessage = OS.CreateWindowEx (0, - windowClass_, + windowClass_.ptr, null, OS.WS_OVERLAPPED, 0, 0, 0, 0, @@ -2909,6 +2915,7 @@ } break; } + default: } if (!accentKey && !ignoreNextKey) { keyMsg.hwnd = control.handle; @@ -2937,6 +2944,7 @@ } } } + default: } } if (consumed) { @@ -3026,6 +3034,7 @@ case 1: case OS.SPI_SETHIGHCONTRAST: OS.SetTimer (hwndMessage, SETTINGS_ID, SETTINGS_DELAY, null); + default: } break; } @@ -3134,6 +3143,7 @@ } break; } + default: } return OS.CallNextHookEx (filterHook, code, wParam, lParam); } @@ -3156,6 +3166,7 @@ case OS.VK_SUBTRACT: return '-'; case OS.VK_DECIMAL: return '.'; case OS.VK_DIVIDE: return '/'; + default: } return 0; } @@ -3323,6 +3334,7 @@ OS.HeapFree (hHeap, 0, pInputs); return result; } + default: } return false; } @@ -3498,10 +3510,10 @@ /* Unregister the DWT window class */ auto hHeap = OS.GetProcessHeap (); auto hInstance = OS.GetModuleHandle (null); - OS.UnregisterClass (windowClass_, hInstance); + OS.UnregisterClass (windowClass_.ptr, hInstance); /* Unregister the DWT drop shadow window class */ - OS.UnregisterClass (windowShadowClass, hInstance); + OS.UnregisterClass (windowShadowClass.ptr, hInstance); windowClass_ = windowShadowClass = null; //windowCallback.dispose (); //windowCallback = null; @@ -4310,6 +4322,7 @@ default: } break; + default: } return false; } @@ -4524,7 +4537,7 @@ } char[] windowClass(){ - return TCHARzToStr( windowClass_ ); + return TCHARsToStr( windowClass_ ); } }
--- a/dwt/widgets/ExpandBar.d Wed Feb 06 15:12:11 2008 +0100 +++ b/dwt/widgets/ExpandBar.d Wed Feb 06 15:45:27 2008 +0100 @@ -617,6 +617,7 @@ } break; } + default: } return result; }
--- a/dwt/widgets/FileDialog.d Wed Feb 06 15:12:11 2008 +0100 +++ b/dwt/widgets/FileDialog.d Wed Feb 06 15:45:27 2008 +0100 @@ -183,6 +183,7 @@ } } break; + default: } return 0; } @@ -331,6 +332,7 @@ case OS.FNERR_BUFFERTOOSMALL: USE_HOOK = true; break; + default: } display.runMessagesInIdle = oldRunMessagesInIdle;
--- a/dwt/widgets/Group.d Wed Feb 06 15:12:11 2008 +0100 +++ b/dwt/widgets/Group.d Wed Feb 06 15:45:27 2008 +0100 @@ -154,6 +154,7 @@ case OS.WM_LBUTTONDOWN: case OS.WM_LBUTTONDBLCLK: return cast(LRESULT) OS.DefWindowProc (hwnd, msg, wParam, lParam); + default: } return cast(LRESULT) OS.CallWindowProc (GroupProc, hwnd, msg, wParam, lParam); }
--- a/dwt/widgets/Link.d Wed Feb 06 15:12:11 2008 +0100 +++ b/dwt/widgets/Link.d Wed Feb 06 15:45:27 2008 +0100 @@ -697,6 +697,7 @@ } } break; + default: } } else { switch (wParam) { @@ -711,6 +712,7 @@ */ int code = callWindowProc (handle, OS.WM_KEYDOWN, wParam, lParam); return cast(LRESULT) (code); + default: } } @@ -775,6 +777,7 @@ * is normally performed in WM_KEYDOWN from WM_CHAR. */ return LRESULT.ZERO; + default: } } return result; @@ -976,6 +979,7 @@ event.text = ids [item.item.iLink]; sendEvent (DWT.Selection, event); break; + default: } } return cast(LRESULT) super.wmNotifyChild (hdr, wParam, lParam);
--- a/dwt/widgets/List.d Wed Feb 06 15:12:11 2008 +0100 +++ b/dwt/widgets/List.d Wed Feb 06 15:45:27 2008 +0100 @@ -1569,6 +1569,7 @@ case OS.LBN_DBLCLK: postEvent (DWT.DefaultSelection); break; + default: } return super.wmCommandChild (wParam, lParam); }
--- a/dwt/widgets/Sash.d Wed Feb 06 15:12:11 2008 +0100 +++ b/dwt/widgets/Sash.d Wed Feb 06 15:45:27 2008 +0100 @@ -265,6 +265,7 @@ } } return result; + default: } return result; }
--- a/dwt/widgets/Scale.d Wed Feb 06 15:12:11 2008 +0100 +++ b/dwt/widgets/Scale.d Wed Feb 06 15:45:27 2008 +0100 @@ -496,6 +496,7 @@ case OS.TB_ENDTRACK: case OS.TB_THUMBPOSITION: return LRESULT.NULL; + default: } Event event = new Event (); @@ -511,6 +512,7 @@ // case OS.TB_LINEUP: event.detail = DWT.ARROW_UP; break; // case OS.TB_PAGEDOWN: event.detail = DWT.PAGE_DOWN; break; // case OS.TB_PAGEUP: event.detail = DWT.PAGE_UP; break; +// default: // } /*
--- a/dwt/widgets/ScrollBar.d Wed Feb 06 15:12:11 2008 +0100 +++ b/dwt/widgets/ScrollBar.d Wed Feb 06 15:45:27 2008 +0100 @@ -676,6 +676,7 @@ case OS.SB_VERT: bar = parent.getHorizontalBar (); break; + default: } bool both = bar !is null && !bar.getVisible (); OS.ShowScrollBar (hwnd, both ? OS.SB_BOTH : flags, false); @@ -915,6 +916,7 @@ case OS.SB_LINEUP: event.detail = DWT.ARROW_UP; break; case OS.SB_PAGEDOWN: event.detail = DWT.PAGE_DOWN; break; case OS.SB_PAGEUP: event.detail = DWT.PAGE_UP; break; + default: } sendEvent (DWT.Selection, event); // the widget could be destroyed at this point
--- a/dwt/widgets/Scrollable.d Wed Feb 06 15:12:11 2008 +0100 +++ b/dwt/widgets/Scrollable.d Wed Feb 06 15:45:27 2008 +0100 @@ -406,6 +406,7 @@ int pageIncrement = bar.getPageIncrement (); info.nPos = Math.max (info.nMin, info.nPos - pageIncrement); break; + default: } OS.SetScrollInfo (hwnd, type, &info, true); } else {
--- a/dwt/widgets/Shell.d Wed Feb 06 15:12:11 2008 +0100 +++ b/dwt/widgets/Shell.d Wed Feb 06 15:45:27 2008 +0100 @@ -31,6 +31,11 @@ import dwt.dwthelper.utils; +import tango.util.log.Trace; +void trc( int line ){ + Trace.formatln( "Shell {}", line ); +} + /** * Instances of this class represent the "windows" * which the desktop or "window manager" is managing. @@ -494,6 +499,7 @@ case OS.WM_KILLFOCUS: case OS.WM_SETFOCUS: return cast(LRESULT) OS.DefWindowProc (hwnd, msg, wParam, lParam); + default: } return cast(LRESULT) DialogProc( hwnd, msg, wParam, lParam); } @@ -737,6 +743,7 @@ if (logBrush.lbHatch is value) return hBrush; } break; + default: } } int length_ = brushes.length; @@ -750,6 +757,7 @@ case OS.BS_PATTERN: hBrush = OS.CreatePatternBrush ( cast(HBITMAP) value); break; + default: } return brushes [0] = hBrush; } @@ -1763,7 +1771,7 @@ static if (OS.IsSP) return DialogClass; if ((style & DWT.TOOL) !is 0) { int trim = DWT.TITLE | DWT.CLOSE | DWT.MIN | DWT.MAX | DWT.BORDER | DWT.RESIZE; - if ((style & trim) is 0) return TCHARzToStr( display.windowShadowClass ); + if ((style & trim) is 0) return TCHARsToStr( display.windowShadowClass ); } return parent !is null ? TCHARzToStr(DialogClass.ptr) : super.windowClass (); } @@ -1798,6 +1806,7 @@ } break; } + default: } return callWindowProc (hwnd, msg, wParam, lParam); } @@ -2213,6 +2222,7 @@ case OS.WM_MBUTTONDOWN: case OS.WM_XBUTTONDOWN: OS.MessageBeep (OS.MB_OK); + default: } return LRESULT.ONE; } @@ -2298,6 +2308,7 @@ OS.ShowWindow (handle, OS.SW_SHOWMINIMIZED); return LRESULT.ZERO; } + default: } } return result;
--- a/dwt/widgets/Slider.d Wed Feb 06 15:12:11 2008 +0100 +++ b/dwt/widgets/Slider.d Wed Feb 06 15:45:27 2008 +0100 @@ -189,6 +189,7 @@ case OS.WM_LBUTTONDOWN: case OS.WM_LBUTTONDBLCLK: display.runDeferredEvents (); + default: } return cast(LRESULT) OS.CallWindowProc (ScrollBarProc, hwnd, msg, wParam, lParam); } @@ -671,6 +672,7 @@ int code = callWindowProc (handle, OS.WM_KEYDOWN, key, lParam); return cast(LRESULT) (code); } + default: } } return result; @@ -793,6 +795,7 @@ event.detail = DWT.PAGE_UP; info.nPos = Math.max (info.nMin, info.nPos - pageIncrement); break; + default: } OS.SetScrollInfo (handle, OS.SB_CTL, &info, true);
--- a/dwt/widgets/Spinner.d Wed Feb 06 15:12:11 2008 +0100 +++ b/dwt/widgets/Spinner.d Wed Feb 06 15:45:27 2008 +0100 @@ -723,6 +723,7 @@ case OS.WM_KEYDOWN: if ((stateMask & (DWT.ALT | DWT.SHIFT | DWT.CONTROL)) !is 0) return false; break; + default: } /* @@ -1137,6 +1138,7 @@ result = wmClipboard (hwnd, msg, wParam, lParam); } break; + default: } if (result !is LRESULT.NULL) return result; return callWindowProc (hwnd, msg, wParam, lParam); @@ -1195,6 +1197,7 @@ // FALL THROUGH case DWT.TAB: case DWT.ESC: return LRESULT.ZERO; + default: } return result; } @@ -1238,6 +1241,7 @@ ignoreModify = false; } break; + default: } if (newText !is null) { char[] oldText = newText; @@ -1283,6 +1287,7 @@ sendEvent (DWT.Modify); if (isDisposed ()) return LRESULT.ZERO; break; + default: } return super.wmCommandChild (wParam, lParam); } @@ -1300,6 +1305,7 @@ case OS.VK_DOWN: delta = -udaccel.nInc; break; case OS.VK_PRIOR: delta = pageIncrement; break; case OS.VK_NEXT: delta = -pageIncrement; break; + default: } if (delta !is 0) { int value = getSelectionText (); @@ -1326,6 +1332,7 @@ case OS.VK_UP: case OS.VK_DOWN: return LRESULT.ZERO; + default: } return result; } @@ -1368,6 +1375,7 @@ setSelection (value, true, true, true); } return LRESULT.ONE; + default: } return super.wmNotifyChild (hdr, wParam, lParam); } @@ -1378,6 +1386,7 @@ case OS.SB_THUMBPOSITION: postEvent (DWT.Selection); break; + default: } return super.wmScrollChild (wParam, lParam); }
--- a/dwt/widgets/TabFolder.d Wed Feb 06 15:12:11 2008 +0100 +++ b/dwt/widgets/TabFolder.d Wed Feb 06 15:45:27 2008 +0100 @@ -889,6 +889,7 @@ } break; } + default: } } return result; @@ -986,6 +987,7 @@ event.item = item; postEvent (DWT.Selection, event); } + default: } return super.wmNotifyChild (hdr, wParam, lParam); }
--- a/dwt/widgets/Table.d Wed Feb 06 15:12:11 2008 +0100 +++ b/dwt/widgets/Table.d Wed Feb 06 15:45:27 2008 +0100 @@ -179,6 +179,7 @@ //TODO - LVS_EX_LABELTIP causes white rectangles (turn it off) OS.SendMessage (handle, OS.LVM_SETEXTENDEDLISTVIEWSTYLE, OS.LVS_EX_LABELTIP, 0); break; + default: } } @@ -292,6 +293,7 @@ topIndex = OS.SendMessage (handle, OS.LVM_GETTOPINDEX, 0, 0); } } + default: } bool oldSelected = wasSelected; if (checkSelection) wasSelected = false; @@ -361,6 +363,7 @@ } } } + default: } return cast(LRESULT) code; } @@ -4941,6 +4944,7 @@ case DWT.DOWN: sortColumn.setImage (display.getSortImage (sortDirection), true, true); break; + default: } } } @@ -5032,6 +5036,7 @@ case OS.TTN_GETDISPINFOA: case OS.TTN_GETDISPINFOW: return OS.SendMessage (handle, msg, wParam, lParam); + default: } break; } @@ -5059,6 +5064,7 @@ } break; } + default: } return callWindowProc (hwnd, msg, wParam, lParam); } @@ -5103,6 +5109,7 @@ postEvent (DWT.DefaultSelection, event); } return LRESULT.ZERO; + default: } return result; } @@ -5212,6 +5219,7 @@ case OS.VK_DOWN: OS.SendMessage (handle, OS.WM_CHANGEUISTATE, OS.UIS_INITIALIZE, 0); break; + default: } return result; } @@ -5650,6 +5658,7 @@ case OS.SB_PAGEUP: OS.InvalidateRect (handle, null, true); break; + default: } } return result; @@ -5714,6 +5723,7 @@ column.pack (); return LRESULT.ONE; } + default: } break; } @@ -5843,6 +5853,7 @@ } break; } + default: } } LRESULT result = super.wmNotify (hdr, wParam, lParam); @@ -5855,6 +5866,7 @@ tipRequested = false; return cast(LRESULT) (code); } + default: } return result; } @@ -6033,6 +6045,7 @@ case OS.CDDS_SUBITEMPREPAINT: return CDDS_SUBITEMPREPAINT (nmcd, wParam, lParam); case OS.CDDS_SUBITEMPOSTPAINT: return CDDS_SUBITEMPOSTPAINT (nmcd, wParam, lParam); case OS.CDDS_POSTPAINT: return CDDS_POSTPAINT (nmcd, wParam, lParam); + default: } break; } @@ -6144,6 +6157,7 @@ } } break; + default: } return super.wmNotifyChild (hdr, wParam, lParam); }
--- a/dwt/widgets/Text.d Wed Feb 06 15:12:11 2008 +0100 +++ b/dwt/widgets/Text.d Wed Feb 06 15:45:27 2008 +0100 @@ -1358,6 +1358,7 @@ case OS.WM_KEYDOWN: if ((stateMask & (DWT.ALT | DWT.SHIFT | DWT.CONTROL)) !is 0) return false; break; + default: } /* @@ -2063,6 +2064,7 @@ if (OS.GetKeyState (OS.VK_CONTROL) < 0) { return LRESULT.ZERO; } + default: } /* @@ -2079,6 +2081,7 @@ // FALL THROUGH case DWT.TAB: case DWT.ESC: return LRESULT.ZERO; + default: } } return result; @@ -2323,6 +2326,7 @@ ignoreModify = ignoreCharacter = false; } break; + default: } if (newText !is null) { char[] oldText = newText; @@ -2410,6 +2414,7 @@ style |= DWT.RIGHT_TO_LEFT; fixAlignment (); break; + default: } return super.wmCommandChild (wParam, lParam); }
--- a/dwt/widgets/ToolBar.d Wed Feb 06 15:12:11 2008 +0100 +++ b/dwt/widgets/ToolBar.d Wed Feb 06 15:45:27 2008 +0100 @@ -1086,6 +1086,7 @@ return LRESULT.ZERO; } } + default: } return result; } @@ -1153,6 +1154,7 @@ * application the opportunity to cancel the operation. */ return LRESULT.ZERO; + default: } return result; } @@ -1373,6 +1375,7 @@ } return cast(LRESULT) (OS.CDRF_SKIPDEFAULT); } + default: } break; case OS.TBN_HOTITEMCHANGE: @@ -1390,9 +1393,11 @@ return LRESULT.ONE; } break; + default: } } break; + default: } return super.wmNotifyChild (hdr, wParam, lParam); }
--- a/dwt/widgets/Tracker.d Wed Feb 06 15:12:11 2008 +0100 +++ b/dwt/widgets/Tracker.d Wed Feb 06 15:45:27 2008 +0100 @@ -558,6 +558,7 @@ case OS.WM_SYSCHAR: wmSysChar (msg.hwnd, msg.wParam, msg.lParam); break; case OS.WM_SYSKEYDOWN: wmSysKeyDown (msg.hwnd, msg.wParam, msg.lParam); break; case OS.WM_SYSKEYUP: wmSysKeyUp (msg.hwnd, msg.wParam, msg.lParam); break; + default: } if (OS.WM_KEYFIRST <= msg.message && msg.message <= OS.WM_KEYLAST) continue; if (OS.WM_MOUSEFIRST <= msg.message && msg.message <= OS.WM_MOUSELAST) continue; @@ -903,6 +904,7 @@ OS.EndPaint (hwnd, &ps); return 0; } + default: } return OS.CallWindowProc (oldProc, hwnd, msg, wParam, lParam); } @@ -944,6 +946,7 @@ case OS.VK_DOWN: yChange = stepSize; break; + default: } if (xChange !is 0 || yChange !is 0) { Rectangle [] oldRectangles = rectangles;
--- a/dwt/widgets/TrayItem.d Wed Feb 06 15:12:11 2008 +0100 +++ b/dwt/widgets/TrayItem.d Wed Feb 06 15:45:27 2008 +0100 @@ -306,6 +306,7 @@ } } break; + default: } display.wakeThread (); return 0; @@ -420,6 +421,7 @@ case DWT.ICON: hIcon = icon.handle; break; + default: } } NOTIFYICONDATA iconData;
--- a/dwt/widgets/Tree.d Wed Feb 06 15:12:11 2008 +0100 +++ b/dwt/widgets/Tree.d Wed Feb 06 15:45:27 2008 +0100 @@ -247,6 +247,7 @@ } break; } + default: } } @@ -1533,6 +1534,7 @@ } break; } + default: } HANDLE hItem; bool redraw = false; @@ -1587,6 +1589,7 @@ } break; } + default: } int code = OS.CallWindowProc (TreeProc, hwnd, msg, wParam, lParam); switch (msg) { @@ -1650,6 +1653,7 @@ case OS.WM_PAINT: painted = true; break; + default: } return cast(LRESULT) code; } @@ -2149,6 +2153,7 @@ case OS.TVI_LAST: hFirstIndexOf = hLastIndexOf = hFirstItem = hNewItem; itemCount = lastIndexOf = 0; + default: } } if (hFirstItem is hFirstIndexOf && itemCount !is -1) itemCount++; @@ -5211,6 +5216,7 @@ case DWT.DOWN: sortColumn.setImage (display.getSortImage (sortDirection), true, true); break; + default: } } } @@ -5319,6 +5325,7 @@ case OS.TTN_GETDISPINFOA: case OS.TTN_GETDISPINFOW: return OS.SendMessage (handle, msg, wParam, lParam); + default: } break; } @@ -5346,6 +5353,7 @@ } break; } + default: } return callWindowProc (hwnd, msg, wParam, lParam); } @@ -5423,6 +5431,7 @@ OS.SetScrollInfo (hwndParent, OS.SB_VERT, &info, true); return cast(LRESULT)code; } + default: } return callWindowProc (hwnd, msg, wParam, lParam); } @@ -5511,6 +5520,7 @@ } case DWT.ESC: return LRESULT.ZERO; + default: } return result; } @@ -5662,6 +5672,7 @@ case OS.VK_END: hNewItem = cast(HANDLE) OS.SendMessage (handle, OS.TVM_GETNEXTITEM, OS.TVGN_LASTVISIBLE, 0); break; + default: } if (hNewItem !is null) { OS.SendMessage (handle, OS.TVM_ENSUREVISIBLE, 0, hNewItem); @@ -5709,6 +5720,7 @@ hAnchor = cast(HANDLE) OS.SendMessage (handle, OS.TVM_GETNEXTITEM, OS.TVGN_CARET, 0); return cast(LRESULT) (code); } + default: } return result; } @@ -6593,6 +6605,7 @@ if (result !is LRESULT.NULL) return result; } } + default: } } } @@ -6627,6 +6640,7 @@ case OS.HDN_DIVIDERDBLCLICKW: case OS.HDN_DIVIDERDBLCLICKA: if (column !is null) column.pack (); + default: } break; } @@ -6796,6 +6810,7 @@ } break; } + default: } } return super.wmNotify (hdr, wParam, lParam); @@ -6955,6 +6970,7 @@ case OS.CDDS_ITEMPREPAINT: return CDDS_ITEMPREPAINT (nmcd, wParam, lParam); case OS.CDDS_ITEMPOSTPAINT: return CDDS_ITEMPOSTPAINT (nmcd, wParam, lParam); case OS.CDDS_POSTPAINT: return CDDS_POSTPAINT (nmcd, wParam, lParam); + default: } break; } @@ -7119,6 +7135,7 @@ sendEvent (DWT.Collapse, event); if (isDisposed ()) return LRESULT.ZERO; break; + default: } /* * Bug in Windows. When all of the items are deleted during @@ -7222,6 +7239,7 @@ } break; } + default: } return super.wmNotifyChild (hdr, wParam, lParam); }
--- a/dwt/widgets/TreeColumn.d Wed Feb 06 15:12:11 2008 +0100 +++ b/dwt/widgets/TreeColumn.d Wed Feb 06 15:45:27 2008 +0100 @@ -637,6 +637,7 @@ hdItem.fmt &= ~OS.HDF_IMAGE; } break; + default: } OS.SendMessage (hwndHeader, OS.HDM_SETITEM, index, &hdItem); if (OS.COMCTL32_MAJOR >= 6 && OS.IsAppThemed ()) { @@ -659,6 +660,7 @@ case DWT.NONE: setImage (image, false, false); break; + default: } } }
--- a/dwt/widgets/Widget.d Wed Feb 06 15:12:11 2008 +0100 +++ b/dwt/widgets/Widget.d Wed Feb 06 15:45:27 2008 +0100 @@ -1179,6 +1179,7 @@ if (event.keyCode is DWT.SHIFT) event.stateMask |= DWT.SHIFT; if (event.keyCode is DWT.CONTROL) event.stateMask |= DWT.CONTROL; break; + default: } return true; } @@ -1199,6 +1200,7 @@ case DWT.LF: if (display.lastKey is DWT.CR) display.lastAscii = DWT.CR; break; + default: } /* @@ -1397,6 +1399,7 @@ case OS.VK_NUMLOCK: case OS.VK_SCROLL: if ((lParam & 0x40000000) !is 0) return LRESULT.NULL; + default: } /* Clear last key and last ascii because a new key has been typed */ @@ -1429,6 +1432,7 @@ case OS.VK_DELETE: mapKey = DWT.DEL; break; case OS.VK_ESCAPE: mapKey = DWT.ESC; break; case OS.VK_TAB: mapKey = DWT.TAB; break; + default: } } else { mapKey = OS.MapVirtualKey (wParam, 2); @@ -1657,6 +1661,7 @@ case OS.VK_DELETE: mapKey = DWT.DEL; break; case OS.VK_ESCAPE: mapKey = DWT.ESC; break; case OS.VK_TAB: mapKey = DWT.TAB; break; + default: } } else { mapKey = OS.MapVirtualKey (wParam, 2); @@ -2291,6 +2296,7 @@ int bits = OS.GetWindowLong (hwndShell, OS.GWL_STYLE); if ((bits & OS.WS_SYSMENU) !is 0) return LRESULT.NULL; } + default: } /* Ignore repeating modifier keys by testing key down state */ @@ -2302,6 +2308,7 @@ case OS.VK_NUMLOCK: case OS.VK_SCROLL: if ((lParam & 0x40000000) !is 0) return LRESULT.NULL; + default: } /* Clear last key and last ascii because a new key has been typed */ @@ -2326,6 +2333,7 @@ case OS.VK_DELETE: mapKey = DWT.DEL; break; case OS.VK_ESCAPE: mapKey = DWT.ESC; break; case OS.VK_TAB: mapKey = DWT.TAB; break; + default: } } else { mapKey = OS.MapVirtualKey (wParam, 2); @@ -2359,6 +2367,7 @@ case OS.VK_SUBTRACT: case OS.VK_DECIMAL: case OS.VK_DIVIDE: return LRESULT.NULL; + default: } display.lastAscii = display.numpadKey (display.lastKey); }
--- a/simple.d Wed Feb 06 15:12:11 2008 +0100 +++ b/simple.d Wed Feb 06 15:45:27 2008 +0100 @@ -7,6 +7,7 @@ import dwt.widgets.Text; import tango.io.Stdout; +import tango.util.log.Trace; import tango.math.Math; import tango.text.convert.Format; import tango.util.Convert; @@ -21,7 +22,6 @@ void main(){ try{ - Display display = new Display(); Shell shell = new Shell(display); shell.setSize(300, 200); @@ -50,7 +50,7 @@ } } catch (Exception e) { - Stdout.formatln (e.toString); + Stdout.formatln ( "'{}', {}:{}", e.toString, e.file, e.line ); } }