Changeset 82:43c42c637c9c
- Timestamp:
- 02/06/08 09:45:27 (1 year ago)
- Files:
-
- dwt/internal/win32/OS.d (modified) (8 diffs)
- dwt/internal/win32/WINAPI.d (modified) (1 diff)
- dwt/internal/win32/WINTYPES.d (modified) (1 diff)
- dwt/widgets/Button.d (modified) (5 diffs)
- dwt/widgets/ColorDialog.d (modified) (1 diff)
- dwt/widgets/Combo.d (modified) (6 diffs)
- dwt/widgets/Composite.d (modified) (3 diffs)
- dwt/widgets/Control.d (modified) (5 diffs)
- dwt/widgets/CoolBar.d (modified) (1 diff)
- dwt/widgets/DateTime.d (modified) (2 diffs)
- dwt/widgets/Decorations.d (modified) (7 diffs)
- dwt/widgets/DirectoryDialog.d (modified) (1 diff)
- dwt/widgets/Display.d (modified) (23 diffs)
- dwt/widgets/ExpandBar.d (modified) (1 diff)
- dwt/widgets/FileDialog.d (modified) (2 diffs)
- dwt/widgets/Group.d (modified) (1 diff)
- dwt/widgets/Link.d (modified) (4 diffs)
- dwt/widgets/List.d (modified) (1 diff)
- dwt/widgets/Sash.d (modified) (1 diff)
- dwt/widgets/Scale.d (modified) (2 diffs)
- dwt/widgets/ScrollBar.d (modified) (2 diffs)
- dwt/widgets/Scrollable.d (modified) (1 diff)
- dwt/widgets/Shell.d (modified) (8 diffs)
- dwt/widgets/Slider.d (modified) (3 diffs)
- dwt/widgets/Spinner.d (modified) (9 diffs)
- dwt/widgets/TabFolder.d (modified) (2 diffs)
- dwt/widgets/Table.d (modified) (14 diffs)
- dwt/widgets/Text.d (modified) (5 diffs)
- dwt/widgets/ToolBar.d (modified) (4 diffs)
- dwt/widgets/Tracker.d (modified) (3 diffs)
- dwt/widgets/TrayItem.d (modified) (2 diffs)
- dwt/widgets/Tree.d (modified) (18 diffs)
- dwt/widgets/TreeColumn.d (modified) (2 diffs)
- dwt/widgets/Widget.d (modified) (9 diffs)
- simple.d (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
dwt/internal/win32/OS.d
r79 r82 21 21 import tango.sys.SharedLib : SharedLib; 22 22 import tango.util.log.Trace; 23 23 static import tango.stdc.stdlib; 24 24 25 25 … … 141 141 public static const int MAX_PATH = 260; 142 142 143 static this(){ 144 NOTIFYICONDATAA_V2_SIZE = getNOTIFYICONDATAA_V2_SIZE (); 145 NOTIFYICONDATAW_V2_SIZE = getNOTIFYICONDATAW_V2_SIZE (); 146 NOTIFYICONDATA_V2_SIZE = IsUnicode ? getNOTIFYICONDATAW_V2_SIZE : getNOTIFYICONDATAA_V2_SIZE; 147 OSVERSIONINFO info; 148 IsWin32s = (info.dwPlatformId is VER_PLATFORM_WIN32s); 149 IsWin95 = (info.dwPlatformId is VER_PLATFORM_WIN32_WINDOWS); 150 IsWinNT = (info.dwPlatformId is VER_PLATFORM_WIN32_NT); 151 //IsSP_ = false; 152 //IsPPC_ = false; 153 //IsHPC = false; 154 IsDBLocale = false; 155 WIN32_MAJOR = info.dwMajorVersion; 156 WIN32_MINOR = info.dwMinorVersion; 157 WIN32_VERSION = VERSION (WIN32_MAJOR, WIN32_MINOR); 158 //IsUnicode = !IsWin32s && !IsWin95; 159 DLLVERSIONINFO dvi; 160 COMCTL32_MAJOR = dvi.dwMajorVersion; 161 COMCTL32_MINOR = dvi.dwMinorVersion; 162 COMCTL32_VERSION = VERSION (COMCTL32_MAJOR, COMCTL32_MINOR); 163 SHELL32_MAJOR = dvi.dwMajorVersion; 164 SHELL32_MINOR = dvi.dwMinorVersion; 165 SHELL32_VERSION = VERSION (SHELL32_MAJOR, SHELL32_MINOR); 166 } 167 //PORTING_LEFT 168 /++ 143 // static this(){ 144 // NOTIFYICONDATAA_V2_SIZE = getNOTIFYICONDATAA_V2_SIZE (); 145 // NOTIFYICONDATAW_V2_SIZE = getNOTIFYICONDATAW_V2_SIZE (); 146 // NOTIFYICONDATA_V2_SIZE = IsUnicode ? getNOTIFYICONDATAW_V2_SIZE : getNOTIFYICONDATAA_V2_SIZE; 147 // OSVERSIONINFO info; 148 // IsWin32s = (info.dwPlatformId is VER_PLATFORM_WIN32s); 149 // IsWin95 = (info.dwPlatformId is VER_PLATFORM_WIN32_WINDOWS); 150 // IsWinNT = (info.dwPlatformId is VER_PLATFORM_WIN32_NT); 151 // //IsSP_ = false; 152 // //IsPPC_ = false; 153 // //IsHPC = false; 154 // IsDBLocale = false; 155 // WIN32_MAJOR = info.dwMajorVersion; 156 // WIN32_MINOR = info.dwMinorVersion; 157 // WIN32_VERSION = VERSION (WIN32_MAJOR, WIN32_MINOR); 158 // //IsUnicode = !IsWin32s && !IsWin95; 159 // DLLVERSIONINFO dvi; 160 // COMCTL32_MAJOR = dvi.dwMajorVersion; 161 // COMCTL32_MINOR = dvi.dwMinorVersion; 162 // COMCTL32_VERSION = VERSION (COMCTL32_MAJOR, COMCTL32_MINOR); 163 // SHELL32_MAJOR = dvi.dwMajorVersion; 164 // SHELL32_MINOR = dvi.dwMinorVersion; 165 // SHELL32_VERSION = VERSION (SHELL32_MAJOR, SHELL32_MINOR); 166 // } 167 169 168 /* Get the Windows version and the flags */ 170 169 public static this() { … … 185 184 info.dwOSVersionInfoSize = OSVERSIONINFO.sizeof; 186 185 if(!OS.GetVersionEx(&info)){ 187 MessageBoxA(null, "DWT Unicode version applications can't run in a non-Unicode platform !", "Error", MB_OK|MB_ICONERROR);188 exit(-1);186 MessageBoxA(null, "DWT Unicode version applications can't run in a non-Unicode platform !", "Error", MB_OK|MB_ICONERROR); 187 tango.stdc.stdlib.exit(-1); 189 188 } 190 189 //OSVERSIONINFO info = new OSVERSIONINFOW (); … … 200 199 IsWin95 = (info.dwPlatformId is VER_PLATFORM_WIN32_WINDOWS); 201 200 IsWinNT = (info.dwPlatformId is VER_PLATFORM_WIN32_NT); 202 IsWinCE = (info.dwPlatformId is VER_PLATFORM_WIN32_CE); 203 IsSP_ = IsSP(); 204 IsPPC_ = IsPPC(); 205 IsHPC = IsWinCE && !IsPPC && !IsSP; 201 //PORTING_CHANGE: made by version 202 //IsWinCE = (info.dwPlatformId is VER_PLATFORM_WIN32_CE); 203 //PORTING_CHANGE: made by version 204 //IsSP = IsSP(); 205 //PORTING_CHANGE: made by version 206 //IsPPC = IsPPC(); 207 208 version(WinCE) { 209 IsHPC = IsWinCE && !IsPPC && !IsSP; 210 } 206 211 WIN32_MAJOR = info.dwMajorVersion; 207 212 WIN32_MINOR = info.dwMinorVersion; 208 213 WIN32_VERSION = VERSION (WIN32_MAJOR, WIN32_MINOR); 209 IsUnicode = !IsWin32s && !IsWin95; 210 214 215 //PORTING_CHANGE: made by version 216 //IsUnicode = !IsWin32s && !IsWin95; 211 217 /* Load the manifest to force the XP Theme */ 212 if (System.getProperty (NO_MANIFEST) is null) {218 //if (System.getProperty (NO_MANIFEST) is null) { 213 219 if (!OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (5, 1)) { 214 TCHAR buffer = new TCHAR (0, MAX_PATH);215 int /*long*/hModule = OS.GetLibraryHandle ();216 while (OS.GetModuleFileName (hModule, buffer , buffer.length ()) is buffer.length ()) {217 buffer = new TCHAR (0, buffer.length () + MAX_PATH);220 TCHAR[] buffer = new TCHAR[ MAX_PATH ]; 221 HANDLE hModule = OS.GetLibraryHandle (); 222 while (OS.GetModuleFileName (hModule, buffer.ptr, buffer.length ) is buffer.length ) { 223 buffer.length = buffer.length + MAX_PATH; 218 224 } 219 int /*long*/hHeap = OS.GetProcessHeap ();220 int byteCount = buffer.length ()* TCHAR.sizeof;221 int /*long*/ pszText =OS.HeapAlloc (hHeap, HEAP_ZERO_MEMORY, byteCount);222 OS.MoveMemory (pszText, buffer , byteCount);223 ACTCTX pActCtx = new ACTCTX ();225 auto hHeap = OS.GetProcessHeap (); 226 int byteCount = buffer.length * TCHAR.sizeof; 227 TCHAR* pszText = cast(TCHAR*) OS.HeapAlloc (hHeap, HEAP_ZERO_MEMORY, byteCount); 228 OS.MoveMemory (pszText, buffer.ptr, byteCount); 229 ACTCTX pActCtx; 224 230 pActCtx.cbSize = ACTCTX.sizeof; 225 231 pActCtx.dwFlags = ACTCTX_FLAG_RESOURCE_NAME_VALID | ACTCTX_FLAG_SET_PROCESS_DEFAULT; 226 232 pActCtx.lpSource = pszText; 227 pActCtx.lpResourceName = MANIFEST_RESOURCE_ID;228 int /*long*/ hActCtx = OS.CreateActCtx (pActCtx);229 if (pszText !is 0) OS.HeapFree (hHeap, 0, pszText);230 int /*long*/ [] lpCookie = new int /*long*/ [1];231 OS.ActivateActCtx (hActCtx, lpCookie);233 pActCtx.lpResourceName = cast(char*)MANIFEST_RESOURCE_ID; 234 HANDLE hActCtx = OS.CreateActCtx (&pActCtx); 235 if (pszText !is null) OS.HeapFree (hHeap, 0, pszText); 236 uint lpCookie; 237 OS.ActivateActCtx (hActCtx, &lpCookie); 232 238 /* 233 239 * NOTE: A single activation context is created and activated … … 236 242 */ 237 243 } 238 }244 //} 239 245 240 246 /* Make the process DPI aware for Windows Vista */ … … 261 267 short primaryLang = OS.PRIMARYLANGID (langID); 262 268 if (primaryLang is LANG_KOREAN) { 263 OSVERSIONINFOEX infoex = IsUnicode ? (OSVERSIONINFOEX)new OSVERSIONINFOEXW () : (OSVERSIONINFOEX)new OSVERSIONINFOEXA ();269 OSVERSIONINFOEX infoex; 264 270 infoex.dwOSVersionInfoSize = OSVERSIONINFOEX.sizeof; 265 GetVersionEx ( infoex);271 GetVersionEx (cast(OSVERSIONINFO*) &infoex ); 266 272 if (infoex.wServicePackMajor < 2) { 267 273 OS.ImmDisableTextFrameService (0); … … 269 275 } 270 276 } 271 } 272 273 /* Get the COMCTL32.DLL version */ 274 static this() { 275 DLLVERSIONINFO dvi = new DLLVERSIONINFO (); 277 278 /* Get the COMCTL32.DLL version */ 279 DLLVERSIONINFO dvi; 276 280 dvi.cbSize = DLLVERSIONINFO.sizeof; 277 281 dvi.dwMajorVersion = 4; 278 282 dvi.dwMinorVersion = 0; 279 TCHAR lpLibFileName = new TCHAR (0, "comctl32.dll", true); //$NON-NLS-1$ 280 int /*long*/ hModule = OS.LoadLibrary (lpLibFileName); 281 if (hModule !is 0) { 283 //PORTING_CHANGE: comctl is loaded automatically 284 //TCHAR lpLibFileName = new TCHAR (0, "comctl32.dll", true); //$NON-NLS-1$ 285 //int /*long*/ hModule = OS.LoadLibrary (lpLibFileName); 286 if (auto lib = SharedLib.load( `comctl32.dll`) ) { 282 287 char[] name = "DllGetVersion\0"; //$NON-NLS-1$ 283 byte [] lpProcName = new byte [name.length ()]; 284 for (int i=0; i<lpProcName.length; i++) { 285 lpProcName [i] = (byte) name.charAt (i); 288 void* DllGetVersion = lib.getSymbol(name.ptr); 289 if (DllGetVersion !is null){ 290 alias extern(Windows) void function(DLLVERSIONINFO*) TDllVersion; 291 TDllVersion f = cast( TDllVersion )DllGetVersion; 292 f(&dvi); 286 293 } 287 int /*long*/ DllGetVersion = OS.GetProcAddress (hModule, lpProcName); 288 if (DllGetVersion !is 0) OS.Call (DllGetVersion, dvi); 289 OS.FreeLibrary (hModule); 294 lib.unload(); 290 295 } 291 296 COMCTL32_MAJOR = dvi.dwMajorVersion; 292 297 COMCTL32_MINOR = dvi.dwMinorVersion; 293 298 COMCTL32_VERSION = VERSION (COMCTL32_MAJOR, COMCTL32_MINOR); 294 } 295 296 /* Get the Shell32.DLL version */ 297 static { 298 DLLVERSIONINFO dvi = new DLLVERSIONINFO (); 299 300 /* Get the Shell32.DLL version */ 301 dvi = DLLVERSIONINFO.init; 299 302 dvi.cbSize = DLLVERSIONINFO.sizeof; 300 303 dvi.dwMajorVersion = 4; 301 TCHAR lpLibFileName = new TCHAR (0, "Shell32.dll", true); //$NON-NLS-1$302 int /*long*/ hModule = OS.LoadLibrary (lpLibFileName);303 if ( hModule !is 0) {304 //TCHAR lpLibFileName = new TCHAR (0, "Shell32.dll", true); //$NON-NLS-1$ 305 //int /*long*/ hModule = OS.LoadLibrary (lpLibFileName); 306 if ( auto lib = SharedLib.load( `Shell32.dll`)) { 304 307 char[] name = "DllGetVersion\0"; //$NON-NLS-1$ 305 byte [] lpProcName = new byte [name.length ()]; 306 for (int i=0; i<lpProcName.length; i++) { 307 lpProcName [i] = (byte) name.charAt (i); 308 void* DllGetVersion = lib.getSymbol(name.ptr); 309 if (DllGetVersion !is null){ 310 alias extern(Windows) void function(DLLVERSIONINFO*) TDllVersion; 311 TDllVersion f = cast( TDllVersion )DllGetVersion; 312 f(&dvi); 308 313 } 309 int /*long*/ DllGetVersion = OS.GetProcAddress (hModule, lpProcName); 310 if (DllGetVersion !is 0) OS.Call (DllGetVersion, dvi); 311 OS.FreeLibrary (hModule); 314 lib.unload(); 312 315 } 313 316 SHELL32_MAJOR = dvi.dwMajorVersion; 314 317 SHELL32_MINOR = dvi.dwMinorVersion; 315 318 SHELL32_VERSION = VERSION (SHELL32_MAJOR, SHELL32_MINOR); 316 }317 ++/ 319 Trace.formatln("line:{} in {}", __LINE__, __FILE__ ); 320 } 318 321 319 322 /* Flag used on WinCE */ … … 4337 4340 } 4338 4341 4342 // user32.dll vista 4343 public static extern(Windows) BOOL function() SetProcessDPIAware; 4344 // Imm32.lib 4345 public static extern(Windows) BOOL function( DWORD idThread ) ImmDisableTextFrameService; 4346 4347 // kernel32 winxp/vista 4348 public static extern(Windows) { 4349 HANDLE function( ACTCTX* pActCtx ) CreateActCtx; 4350 BOOL function( HACTCTX hActCtx, uint* lpCookie ) ActivateActCtx; 4351 } 4339 4352 //------------------------------------------------------------------------ 4340 4353 /** All Natives */ dwt/internal/win32/WINAPI.d
r78 r82 168 168 int nBottomRect // y-coord of lower-right corner 169 169 ); 170 171 /+ 172 // kernel32 winxp/vista 173 version(ANSI){ 174 HANDLE CreateActCtxA( 175 ACTCTXA* pActCtx 176 ); 177 } 178 else{ 179 HANDLE CreateActCtxW( 180 ACTCTXW* pActCtx 181 ); 182 } 183 BOOL ActivateActCtx( 184 HACTCTX hActCtx, 185 uint* lpCookie 186 ); 187 +/ 170 188 } 171 189 //-------------------------------------------------------------------------------------- dwt/internal/win32/WINTYPES.d
r75 r82 83 83 LPARAM lParam; 84 84 } 85 86 struct ACTCTXA { 87 ULONG cbSize; 88 DWORD dwFlags; 89 LPCSTR lpSource; 90 USHORT wProcessorArchitecture; 91 LANGID wLangId; 92 LPCTSTR lpAssemblyDirectory; 93 LPCTSTR lpResourceName; 94 LPCTSTR lpApplicationName; 95 HMODULE hModule; 96 } 97 struct ACTCTXW { 98 ULONG cbSize; 99 DWORD dwFlags; 100 LPCWSTR lpSource; 101 USHORT wProcessorArchitecture; 102 LANGID wLangId; 103 LPCTSTR lpAssemblyDirectory; 104 LPCTSTR lpResourceName; 105 LPCTSTR lpApplicationName; 106 HMODULE hModule; 107 } 108 version(ANSI) alias ACTCTXA ACTCTX; 109 else alias ACTCTXW ACTCTX; 110 alias HANDLE HACTCTX; 111 112 struct OSVERSIONINFOEX { 113 DWORD dwOSVersionInfoSize; 114 DWORD dwMajorVersion; 115 DWORD dwMinorVersion; 116 DWORD dwBuildNumber; 117 DWORD dwPlatformId; 118 TCHAR szCSDVersion[128]; 119 WORD wServicePackMajor; 120 WORD wServicePackMinor; 121 WORD wSuiteMask; 122 BYTE wProductType; 123 BYTE wReserved; 124 } 125 126 127 85 128 // .... 86 129 //-------------------------------------------------------------------------------- dwt/widgets/Button.d
r80 r82 222 222 fImageType = OS.IMAGE_BITMAP; 223 223 break; 224 default: 224 225 } 225 226 break; … … 231 232 break; 232 233 } 234 default: 233 235 } 234 236 /* … … 1208 1210 } 1209 1211 postEvent (DWT.Selection); 1212 default: 1210 1213 } 1211 1214 return super.wmCommandChild (wParam, lParam); … … 1246 1249 case DWT.LEFT: iStateId = OS.ABS_LEFTNORMAL; break; 1247 1250 case DWT.RIGHT: iStateId = OS.ABS_RIGHTNORMAL; break; 1251 default: 1248 1252 } 1249 1253 /* … … 1262 1266 case DWT.LEFT: uState = OS.DFCS_SCROLLLEFT; break; 1263 1267 case DWT.RIGHT: uState = OS.DFCS_SCROLLRIGHT; break; 1268 default: 1264 1269 } 1265 1270 if (!getEnabled ()) uState |= OS.DFCS_INACTIVE; dwt/widgets/ColorDialog.d
r44 r82 133 133 break; 134 134 } 135 default: 135 136 } 136 137 return 0; dwt/widgets/Combo.d
r80 r82 1328 1328 if ((stateMask & (DWT.ALT | DWT.SHIFT | DWT.CONTROL)) !is 0) return false; 1329 1329 break; 1330 default: 1330 1331 } 1331 1332 … … 1915 1916 } 1916 1917 } 1918 default: 1917 1919 } 1918 1920 return super.translateTraversal (msg); … … 2066 2068 } 2067 2069 break; 2070 default: 2068 2071 } 2069 2072 if (result !is LRESULT.NULL) return result; … … 2260 2263 } 2261 2264 } 2265 default: 2262 2266 } 2263 2267 return result; … … 2312 2316 newText = TCHARzToStr( cast(TCHAR*)lParam ); 2313 2317 break; 2318 default: 2314 2319 } 2315 2320 if (newText !is null) { … … 2401 2406 if (isDisposed ()) return LRESULT.ZERO; 2402 2407 break; 2408 default: 2403 2409 } 2404 2410 return super.wmCommandChild (wParam, lParam); dwt/widgets/Composite.d
r75 r82 992 992 OS.SendMessage (msg.hwnd, OS.WM_CHANGEUISTATE, OS.UIS_INITIALIZE, 0); 993 993 break; 994 default: 994 995 } 995 996 } … … 1462 1463 if (code is 0) return LRESULT.ZERO; 1463 1464 return cast( LRESULT )(code); 1465 default: 1464 1466 } 1465 1467 } … … 1601 1603 break; 1602 1604 } 1605 default: 1603 1606 } 1604 1607 } dwt/widgets/Control.d
r77 r82 54 54 import dwt.dwthelper.System; 55 55 56 import tango.util.log.Trace; 57 static import tango.sys.Common; 58 void trc( int line ){ 59 Trace.formatln( "Control {}", line ); 60 } 61 56 62 /** 57 63 * Control is the abstract superclass of all windowed user interface classes. … … 2412 2418 } 2413 2419 break; 2420 default: 2414 2421 } 2415 2422 } … … 3438 3445 case DWT.TRAVERSE_PAGE_NEXT: return traversePage (true); 3439 3446 case DWT.TRAVERSE_PAGE_PREVIOUS: return traversePage (false); 3447 default: 3440 3448 } 3441 3449 return false; … … 3797 3805 case OS.WM_XBUTTONDOWN: result = WM_XBUTTONDOWN (wParam, lParam); break; 3798 3806 case OS.WM_XBUTTONUP: result = WM_XBUTTONUP (wParam, lParam); break; 3807 default: 3799 3808 } 3800 3809 if (result !is LRESULT.NULL) return result; … … 4459 4468 menuShell ().saveFocus (); 4460 4469 break; 4470 default: 4461 4471 } 4462 4472 return LRESULT.NULL; dwt/widgets/CoolBar.d
r80 r82 1209 1209 drawBackground (nmcd.hdc); 1210 1210 break; 1211 default: 1211 1212 } 1212 1213 } 1213 1214 break; 1214 1215 } 1216 default: 1215 1217 } 1216 1218 return super.wmNotifyChild (hdr, wParam, lParam); dwt/widgets/DateTime.d
r54 r82 400 400 while (start > 0 && buffer.charAt (start) !is MONTH_FORMAT_CONSTANT) start--; 401 401 break; 402 default: 402 403 } 403 404 break; … … 794 795 sendEvent (DWT.Selection); 795 796 break; 797 default: 796 798 } 797 799 return super.wmNotifyChild (hdr, wParam, lParam); dwt/widgets/Decorations.d
r77 r82 1027 1027 hSmallIcon = smallIcon.handle; 1028 1028 break; 1029 default: 1029 1030 } 1030 1031 } else { … … 1053 1054 hLargeIcon = largeIcon.handle; 1054 1055 break; 1056 default: 1055 1057 } 1056 1058 } … … 1497 1499 case OS.VK_F6: 1498 1500 if (traverseDecorations (true)) return true; 1501 default: 1499 1502 } 1500 1503 return false; … … 1505 1508 OS.PostMessage (shell.handle, OS.WM_CLOSE, 0, 0); 1506 1509 return true; 1510 default: 1507 1511 } 1508 1512 return false; … … 1611 1615 if (hAccel is cast(HACCEL)-1) createAccelerators (); 1612 1616 return msg is Display.SWT_GETACCELCOUNT ? nAccel : cast(int)hAccel; 1617 default: 1613 1618 } 1614 1619 return super.windowProc (hwnd, msg, wParam, lParam); … … 1785 1790 newHeight = rect.height; 1786 1791 break; 1792 default: 1787 1793 } 1788 1794 changed = newWidth !is oldWidth || newHeight !is oldHeight; … … 1817 1823 return LRESULT.ZERO; 1818 1824 } 1825 default: 1819 1826 } 1820 1827 } dwt/widgets/DirectoryDialog.d
r31 r82 118 118 directoryPath = buffer.toString (0, length); 119 119 break; 120 default: 120 121 } 121 122 return 0; dwt/widgets/Display.d
r80 r82 152 152 //int windowProc_; 153 153 int threadId; 154 TCHAR *windowClass_, windowShadowClass;154 TCHAR[] windowClass_, windowShadowClass; 155 155 static int WindowClassCount; 156 156 static const char[] WindowName = "SWT_Window"; //$NON-NLS-1$ … … 828 828 transparentPixel = data.transparentPixel; 829 829 break; 830 default: 830 831 } 831 832 BITMAP bm; … … 879 880 red = cast(byte)((transparentPixel & 0xFF00) >> 8); 880 881 break; 882 default: 881 883 } 882 884 } … … 992 994 red = cast(byte)((transparentPixel & 0xFF00) >> 8); 993 995 break; 996 default: 994 997 } 995 998 } … … 1192 1195 break; 1193 1196 } 1197 default: 1194 1198 } 1195 1199 return OS.DefWindowProc (hwnd, msg, wParam, lParam); … … 1441 1445 case DWT.MouseUp: 1442 1446 return clickCount; 1447 default: 1443 1448 } 1444 1449 return 0; … … 1998 2003 auto hInstance = OS.GetModuleHandle (null); 1999 2004 embeddedHwnd = OS.CreateWindowEx (0, 2000 windowClass_ ,2005 windowClass_.ptr, 2001 2006 null, 2002 2007 OS.WS_OVERLAPPED, … … 2028 2033 } 2029 2034 } 2035 default: 2030 2036 } 2031 2037 } … … 2157 2163 return downArrow; 2158 2164 } 2165 default: 2159 2166 } 2160 2167 return null; … … 2375 2382 return warningIcon = Image.win32_new (this, DWT.ICON, hIcon); 2376 2383 } 2384 default: 2377 2385 } 2378 2386 return null; … … 2495 2503 2496 2504 /* Use the character encoding for the default locale */ 2497 windowClass_ = StrToTCHAR z ( WindowName ~ to!(char[])(WindowClassCount));2498 windowShadowClass = StrToTCHAR z ( WindowShadowName ~ to!(char[])(WindowClassCount));2505 windowClass_ = StrToTCHARs ( 0, WindowName ~ to!(char[])(WindowClassCount), true ); 2506 windowShadowClass = StrToTCHARs ( 0, WindowShadowName ~ to!(char[])(WindowClassCount), true ); 2499 2507 WindowClassCount++; 2500 2508 … … 2507 2515 lpWndClass.style = OS.CS_BYTEALIGNWINDOW | OS.CS_DBLCLKS; 2508 2516 lpWndClass.hCursor = OS.LoadCursor (null, cast(wchar*)OS.IDC_ARROW); 2509 int len = strlenz( windowClass_ ); 2510 int byteCount = len * TCHAR.sizeof; 2511 lpWndClass.lpszClassName = cast(wchar*) OS.HeapAlloc (hHeap, OS.HEAP_ZERO_MEMORY, byteCount); 2512 lpWndClass.lpszClassName[ 0 .. len ] = windowClass_[ 0 .. len ]; 2517 int byteCount = windowClass_.length * TCHAR.sizeof; 2518 lpWndClass.lpszClassName = cast(TCHAR*) OS.HeapAlloc (hHeap, OS.HEAP_ZERO_MEMORY, byteCount); 2519 OS.MoveMemory (lpWndClass.lpszClassName, windowClass_.ptr, byteCount); 2513 2520 OS.RegisterClass (&lpWndClass); 2514 2521 OS.HeapFree (hHeap, 0, lpWndClass.lpszClassName); … … 2516 2523 /* Register the DWT drop shadow window class */ 2517 2524 if (!OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (5, 1)) lpWndClass.style |= OS.CS_DROPSHADOW; 2518 len = strlenz( windowShadowClass ); 2519 byteCount = len * TCHAR.sizeof; 2520 lpWndClass.lpszClassName = cast(wchar*) OS.HeapAlloc (hHeap, OS.HEAP_ZERO_MEMORY, byteCount); 2521 lpWndClass.lpszClassName[ 0 .. len ] = windowShadowClass[ 0 .. len ]; 2525 byteCount = windowShadowClass.length * TCHAR.sizeof; 2526 lpWndClass.lpszClassName = cast(TCHAR*) OS.HeapAlloc (hHeap, OS.HEAP_ZERO_MEMORY, byteCount); 2527 OS.MoveMemory (lpWndClass.lpszClassName, windowShadowClass.ptr, byteCount); 2522 2528 OS.RegisterClass (&lpWndClass); 2523 2529 OS.HeapFree (hHeap, 0, lpWndClass.lpszClassName); … … 2525 2531 /* Create the message only HWND */ 2526 2532 hwndMessage = OS.CreateWindowEx (0, 2527 windowClass_ ,2533 windowClass_.ptr, 2528 2534 null, 2529 2535 OS.WS_OVERLAPPED, … … 2910 2916 break; 2911 2917 } 2918 default: 2912 2919 } 2913 2920 if (!accentKey && !ignoreNextKey) { … … 2938 2945 } 2939 2946 } 2947 default: 2940 2948 } 2941 2949 } … … 3027 3035 case OS.SPI_SETHIGHCONTRAST: 3028 3036 OS.SetTimer (hwndMessage, SETTINGS_ID, SETTINGS_DELAY, null); 3037 default: 3029 3038 } 3030 3039 break; … … 3135 3144 break; 3136 3145 } 3146 default: 3137 3147 } 3138 3148 return OS.CallNextHookEx (filterHook, code, wParam, lParam); … … 3157 3167 case OS.VK_DECIMAL: return '.'; 3158 3168 case OS.VK_DIVIDE: return '/'; 3169 default: 3159 3170 } 3160 3171 return 0; … … 3324 3335 return result; 3325 3336 } 3337 default: 3326 3338 } 3327 3339 return false; … … 3499 3511 auto hHeap = OS.GetProcessHeap (); 3500 3512 auto hInstance = OS.GetModuleHandle (null); 3501 OS.UnregisterClass (windowClass_ , hInstance);3513 OS.UnregisterClass (windowClass_.ptr, hInstance); 3502 3514 3503 3515 /* Unregister the DWT drop shadow window class */ 3504 OS.UnregisterClass (windowShadowClass , hInstance);3516 OS.UnregisterClass (windowShadowClass.ptr, hInstance); 3505 3517 windowClass_ = windowShadowClass = null; 3506 3518 //windowCallback.dispose (); … … 4311 4323 } 4312 4324 break; 4325 default: 4313 4326 } 4314 4327 return false; … … 4525 4538 4526 4539 char[] windowClass(){ 4527 return TCHAR zToStr( windowClass_ );4528 } 4529 4530 } 4540 return TCHARsToStr( windowClass_ ); 4541 } 4542 4543 } dwt/widgets/ExpandBar.d
r54 r82 618 618 break; 619 619 } 620 default: 620 621 } 621 622 return result; dwt/widgets/FileDialog.d
r31 r82 184 184 } 185 185 break; 186 default: 186 187 } 187 188 return 0; … … 332 333 USE_HOOK = true; 333 334 break; 335 default: 334 336 } 335 337 display.runMessagesInIdle = oldRunMessagesInIdle; dwt/widgets/Group.d
r80 r82 155 155 case OS.WM_LBUTTONDBLCLK: 156 156 return cast(LRESULT) OS.DefWindowProc (hwnd, msg, wParam, lParam); 157 default: 157 158 } 158 159 return cast(LRESULT) OS.CallWindowProc (GroupProc, hwnd, msg, wParam, lParam); dwt/widgets/Link.d
r80 r82 698 698 } 699 699 break; 700 default: 700 701 } 701 702 } else { … … 712 713 int code = callWindowProc (handle, OS.WM_KEYDOWN, wParam, lParam); 713 714 return cast(LRESULT) (code); 715 default: 714 716 } 715 717 … … 776 778 */ 777 779 return LRESULT.ZERO; 780 default: 778 781 } 779 782 } … … 977 980 sendEvent (DWT.Selection, event); 978 981 break; 982 default: 979 983 } 980 984 } dwt/widgets/List.d
r80 r82 1570 1570 postEvent (DWT.DefaultSelection); 1571 1571 break; 1572 default: 1572 1573 } 1573 1574 return super.wmCommandChild (wParam, lParam); dwt/widgets/Sash.d
r77 r82 266 266 } 267 267 return result; 268 default: 268 269 } 269 270 return result; dwt/widgets/Scale.d
r80 r82 497 497 case OS.TB_THUMBPOSITION: 498 498 return LRESULT.NULL; 499 default: 499 500 } 500 501 … … 512 513 // case OS.TB_PAGEDOWN: event.detail = DWT.PAGE_DOWN; break; 513 514 // case OS.TB_PAGEUP: event.detail = DWT.PAGE_UP; break; 515 // default: 514 516 // } 515 517 dwt/widgets/ScrollBar.d
r77 r82 677 677 bar = parent.getHorizontalBar (); 678 678
