Changeset 82:43c42c637c9c

Show
Ignore:
Timestamp:
02/06/08 09:45:27 (1 year ago)
Author:
Frank Benoit <benoit@tionex.de>
branch:
default
Message:

First simple example works

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • dwt/internal/win32/OS.d

    r79 r82  
    2121import tango.sys.SharedLib : SharedLib; 
    2222import tango.util.log.Trace; 
    23  
     23static import tango.stdc.stdlib; 
    2424 
    2525 
     
    141141    public static const int MAX_PATH = 260; 
    142142 
    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 
    169168    /* Get the Windows version and the flags */ 
    170169    public static this() { 
     
    185184        info.dwOSVersionInfoSize = OSVERSIONINFO.sizeof; 
    186185        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); 
    189188        } 
    190189        //OSVERSIONINFO info = new OSVERSIONINFOW (); 
     
    200199        IsWin95 = (info.dwPlatformId is VER_PLATFORM_WIN32_WINDOWS); 
    201200        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        } 
    206211        WIN32_MAJOR = info.dwMajorVersion; 
    207212        WIN32_MINOR = info.dwMinorVersion; 
    208213        WIN32_VERSION = VERSION (WIN32_MAJOR, WIN32_MINOR); 
    209         IsUnicode = !IsWin32s && !IsWin95; 
    210  
     214 
     215        //PORTING_CHANGE: made by version 
     216        //IsUnicode = !IsWin32s && !IsWin95; 
    211217        /* Load the manifest to force the XP Theme */ 
    212         if (System.getProperty (NO_MANIFEST) is null) { 
     218        //if (System.getProperty (NO_MANIFEST) is null) { 
    213219            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
    218224                } 
    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
    224230                pActCtx.cbSize = ACTCTX.sizeof; 
    225231                pActCtx.dwFlags = ACTCTX_FLAG_RESOURCE_NAME_VALID | ACTCTX_FLAG_SET_PROCESS_DEFAULT; 
    226232                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); 
    232238                /* 
    233239                * NOTE:  A single activation context is created and activated 
     
    236242                */ 
    237243            } 
    238        
     244        //
    239245 
    240246        /* Make the process DPI aware for Windows Vista */ 
     
    261267            short primaryLang = OS.PRIMARYLANGID (langID); 
    262268            if (primaryLang is LANG_KOREAN) { 
    263                 OSVERSIONINFOEX infoex = IsUnicode ? (OSVERSIONINFOEX)new OSVERSIONINFOEXW () : (OSVERSIONINFOEX)new OSVERSIONINFOEXA ()
     269                OSVERSIONINFOEX infoex
    264270                infoex.dwOSVersionInfoSize = OSVERSIONINFOEX.sizeof; 
    265                 GetVersionEx (infoex); 
     271                GetVersionEx (cast(OSVERSIONINFO*) &infoex ); 
    266272                if (infoex.wServicePackMajor < 2) { 
    267273                    OS.ImmDisableTextFrameService (0); 
     
    269275            } 
    270276        } 
    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; 
    276280        dvi.cbSize = DLLVERSIONINFO.sizeof; 
    277281        dvi.dwMajorVersion = 4; 
    278282        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`) ) { 
    282287            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); 
    286293            } 
    287             int /*long*/ DllGetVersion = OS.GetProcAddress (hModule, lpProcName); 
    288             if (DllGetVersion !is 0) OS.Call (DllGetVersion, dvi); 
    289             OS.FreeLibrary (hModule); 
     294            lib.unload(); 
    290295        } 
    291296        COMCTL32_MAJOR = dvi.dwMajorVersion; 
    292297        COMCTL32_MINOR = dvi.dwMinorVersion; 
    293298        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; 
    299302        dvi.cbSize = DLLVERSIONINFO.sizeof; 
    300303        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`)) { 
    304307            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); 
    308313            } 
    309             int /*long*/ DllGetVersion = OS.GetProcAddress (hModule, lpProcName); 
    310             if (DllGetVersion !is 0) OS.Call (DllGetVersion, dvi); 
    311             OS.FreeLibrary (hModule); 
     314            lib.unload(); 
    312315        } 
    313316        SHELL32_MAJOR = dvi.dwMajorVersion; 
    314317        SHELL32_MINOR = dvi.dwMinorVersion; 
    315318        SHELL32_VERSION = VERSION (SHELL32_MAJOR, SHELL32_MINOR); 
    316     } 
    317 ++/ 
     319    Trace.formatln("line:{} in {}", __LINE__, __FILE__ ); 
     320    } 
    318321 
    319322    /* Flag used on WinCE */ 
     
    43374340} 
    43384341 
     4342// user32.dll vista 
     4343public static extern(Windows) BOOL function() SetProcessDPIAware; 
     4344// Imm32.lib 
     4345public static extern(Windows) BOOL function( DWORD idThread ) ImmDisableTextFrameService; 
     4346 
     4347// kernel32 winxp/vista 
     4348public static extern(Windows) { 
     4349HANDLE function( ACTCTX* pActCtx ) CreateActCtx; 
     4350BOOL function( HACTCTX hActCtx, uint* lpCookie ) ActivateActCtx; 
     4351} 
    43394352//------------------------------------------------------------------------ 
    43404353/** All Natives */ 
  • dwt/internal/win32/WINAPI.d

    r78 r82  
    168168  int nBottomRect  // y-coord of lower-right corner 
    169169); 
     170 
     171/+ 
     172// kernel32 winxp/vista 
     173version(ANSI){ 
     174HANDLE CreateActCtxA( 
     175  ACTCTXA* pActCtx 
     176); 
     177} 
     178else{ 
     179HANDLE CreateActCtxW( 
     180  ACTCTXW* pActCtx 
     181); 
     182} 
     183BOOL ActivateActCtx( 
     184  HACTCTX hActCtx, 
     185  uint* lpCookie 
     186); 
     187+/ 
    170188} 
    171189//-------------------------------------------------------------------------------------- 
  • dwt/internal/win32/WINTYPES.d

    r75 r82  
    8383    LPARAM lParam; 
    8484} 
     85 
     86struct 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} 
     97struct 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} 
     108version(ANSI) alias ACTCTXA ACTCTX; 
     109else          alias ACTCTXW ACTCTX; 
     110alias HANDLE HACTCTX; 
     111 
     112struct 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 
    85128// .... 
    86129//-------------------------------------------------------------------------------- 
  • dwt/widgets/Button.d

    r80 r82  
    222222                            fImageType = OS.IMAGE_BITMAP; 
    223223                            break; 
     224                        default: 
    224225                    } 
    225226                    break; 
     
    231232                    break; 
    232233                } 
     234                default: 
    233235            } 
    234236            /* 
     
    12081210            } 
    12091211            postEvent (DWT.Selection); 
     1212        default: 
    12101213    } 
    12111214    return super.wmCommandChild (wParam, lParam); 
     
    12461249            case DWT.LEFT: iStateId = OS.ABS_LEFTNORMAL; break; 
    12471250            case DWT.RIGHT: iStateId = OS.ABS_RIGHTNORMAL; break; 
     1251            default: 
    12481252        } 
    12491253        /* 
     
    12621266            case DWT.LEFT: uState = OS.DFCS_SCROLLLEFT; break; 
    12631267            case DWT.RIGHT: uState = OS.DFCS_SCROLLRIGHT; break; 
     1268            default: 
    12641269        } 
    12651270        if (!getEnabled ()) uState |= OS.DFCS_INACTIVE; 
  • dwt/widgets/ColorDialog.d

    r44 r82  
    133133            break; 
    134134        } 
     135        default: 
    135136    } 
    136137    return 0; 
  • dwt/widgets/Combo.d

    r80 r82  
    13281328            if ((stateMask & (DWT.ALT | DWT.SHIFT | DWT.CONTROL)) !is 0) return false; 
    13291329            break; 
     1330        default: 
    13301331    } 
    13311332 
     
    19151916                } 
    19161917            } 
     1918        default: 
    19171919    } 
    19181920    return super.translateTraversal (msg); 
     
    20662068                    } 
    20672069                    break; 
     2070                default: 
    20682071            } 
    20692072            if (result !is LRESULT.NULL) return result; 
     
    22602263                } 
    22612264            } 
     2265        default: 
    22622266    } 
    22632267    return result; 
     
    23122316            newText = TCHARzToStr( cast(TCHAR*)lParam ); 
    23132317            break; 
     2318        default: 
    23142319    } 
    23152320    if (newText !is null) { 
     
    24012406            if (isDisposed ()) return LRESULT.ZERO; 
    24022407            break; 
     2408        default: 
    24032409    } 
    24042410    return super.wmCommandChild (wParam, lParam); 
  • dwt/widgets/Composite.d

    r75 r82  
    992992                OS.SendMessage (msg.hwnd, OS.WM_CHANGEUISTATE, OS.UIS_INITIALIZE, 0); 
    993993                break; 
     994            default: 
    994995        } 
    995996    } 
     
    14621463                if (code is 0) return LRESULT.ZERO; 
    14631464                return cast( LRESULT )(code); 
     1465            default: 
    14641466        } 
    14651467    } 
     
    16011603                break; 
    16021604            } 
     1605            default: 
    16031606        } 
    16041607    } 
  • dwt/widgets/Control.d

    r77 r82  
    5454import dwt.dwthelper.System; 
    5555 
     56import tango.util.log.Trace; 
     57static import tango.sys.Common; 
     58void trc( int line ){ 
     59    Trace.formatln( "Control {}", line ); 
     60} 
     61 
    5662/** 
    5763 * Control is the abstract superclass of all windowed user interface classes. 
     
    24122418                } 
    24132419                break; 
     2420            default: 
    24142421        } 
    24152422    } 
     
    34383445        case DWT.TRAVERSE_PAGE_NEXT:        return traversePage (true); 
    34393446        case DWT.TRAVERSE_PAGE_PREVIOUS:    return traversePage (false); 
     3447        default: 
    34403448    } 
    34413449    return false; 
     
    37973805        case OS.WM_XBUTTONDOWN:         result = WM_XBUTTONDOWN (wParam, lParam); break; 
    37983806        case OS.WM_XBUTTONUP:           result = WM_XBUTTONUP (wParam, lParam); break; 
     3807        default: 
    37993808    } 
    38003809    if (result !is LRESULT.NULL) return result; 
     
    44594468            menuShell ().saveFocus (); 
    44604469            break; 
     4470        default: 
    44614471    } 
    44624472    return LRESULT.NULL; 
  • dwt/widgets/CoolBar.d

    r80 r82  
    12091209                        drawBackground (nmcd.hdc); 
    12101210                        break; 
     1211                    default: 
    12111212                } 
    12121213            } 
    12131214            break; 
    12141215        } 
     1216        default: 
    12151217    } 
    12161218    return super.wmNotifyChild (hdr, wParam, lParam); 
  • dwt/widgets/DateTime.d

    r54 r82  
    400400                while (start > 0 && buffer.charAt (start) !is MONTH_FORMAT_CONSTANT) start--; 
    401401                break; 
     402            default: 
    402403            } 
    403404            break; 
     
    794795            sendEvent (DWT.Selection); 
    795796            break; 
     797        default: 
    796798    } 
    797799    return super.wmNotifyChild (hdr, wParam, lParam); 
  • dwt/widgets/Decorations.d

    r77 r82  
    10271027                hSmallIcon = smallIcon.handle; 
    10281028                break; 
     1029            default: 
    10291030        } 
    10301031    } else { 
     
    10531054                hLargeIcon = largeIcon.handle; 
    10541055                break; 
     1056            default: 
    10551057        } 
    10561058    } 
     
    14971499                case OS.VK_F6: 
    14981500                    if (traverseDecorations (true)) return true; 
     1501                default: 
    14991502            } 
    15001503            return false; 
     
    15051508                    OS.PostMessage (shell.handle, OS.WM_CLOSE, 0, 0); 
    15061509                    return true; 
     1510                default: 
    15071511            } 
    15081512            return false; 
     
    16111615            if (hAccel is cast(HACCEL)-1) createAccelerators (); 
    16121616            return msg is Display.SWT_GETACCELCOUNT ? nAccel : cast(int)hAccel; 
     1617        default: 
    16131618    } 
    16141619    return super.windowProc (hwnd, msg, wParam, lParam); 
     
    17851790                newHeight = rect.height; 
    17861791                break; 
     1792            default: 
    17871793        } 
    17881794        changed = newWidth !is oldWidth || newHeight !is oldHeight; 
     
    18171823                return LRESULT.ZERO; 
    18181824            } 
     1825            default: 
    18191826        } 
    18201827    } 
  • dwt/widgets/DirectoryDialog.d

    r31 r82  
    118118            directoryPath = buffer.toString (0, length); 
    119119            break; 
     120        default: 
    120121    } 
    121122    return 0; 
  • dwt/widgets/Display.d

    r80 r82  
    152152    //int windowProc_; 
    153153    int threadId; 
    154     TCHAR* windowClass_, windowShadowClass; 
     154    TCHAR[] windowClass_, windowShadowClass; 
    155155    static int WindowClassCount; 
    156156    static const char[] WindowName = "SWT_Window"; //$NON-NLS-1$ 
     
    828828            transparentPixel = data.transparentPixel; 
    829829            break; 
     830        default: 
    830831    } 
    831832    BITMAP bm; 
     
    879880                    red = cast(byte)((transparentPixel & 0xFF00) >> 8); 
    880881                    break; 
     882                default: 
    881883            } 
    882884        } 
     
    992994                    red = cast(byte)((transparentPixel & 0xFF00) >> 8); 
    993995                    break; 
     996                default: 
    994997            } 
    995998        } 
     
    11921195            break; 
    11931196        } 
     1197        default: 
    11941198    } 
    11951199    return OS.DefWindowProc (hwnd, msg, wParam, lParam); 
     
    14411445        case DWT.MouseUp: 
    14421446            return clickCount; 
     1447        default: 
    14431448    } 
    14441449    return 0; 
     
    19982003        auto hInstance = OS.GetModuleHandle (null); 
    19992004        embeddedHwnd = OS.CreateWindowEx (0, 
    2000             windowClass_
     2005            windowClass_.ptr
    20012006            null, 
    20022007            OS.WS_OVERLAPPED, 
     
    20282033                } 
    20292034            } 
     2035            default: 
    20302036        } 
    20312037    } 
     
    21572163            return downArrow; 
    21582164        } 
     2165        default: 
    21592166    } 
    21602167    return null; 
     
    23752382            return warningIcon = Image.win32_new (this, DWT.ICON, hIcon); 
    23762383        } 
     2384        default: 
    23772385    } 
    23782386    return null; 
     
    24952503 
    24962504    /* Use the character encoding for the default locale */ 
    2497     windowClass_ = StrToTCHARz ( WindowName ~ to!(char[])(WindowClassCount)); 
    2498     windowShadowClass = StrToTCHARz ( WindowShadowName ~ to!(char[])(WindowClassCount)); 
     2505    windowClass_ = StrToTCHARs ( 0, WindowName ~ to!(char[])(WindowClassCount), true ); 
     2506    windowShadowClass = StrToTCHARs ( 0, WindowShadowName ~ to!(char[])(WindowClassCount), true ); 
    24992507    WindowClassCount++; 
    25002508 
     
    25072515    lpWndClass.style = OS.CS_BYTEALIGNWINDOW | OS.CS_DBLCLKS; 
    25082516    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); 
    25132520    OS.RegisterClass (&lpWndClass); 
    25142521    OS.HeapFree (hHeap, 0, lpWndClass.lpszClassName); 
     
    25162523    /* Register the DWT drop shadow window class */ 
    25172524    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); 
    25222528    OS.RegisterClass (&lpWndClass); 
    25232529    OS.HeapFree (hHeap, 0, lpWndClass.lpszClassName); 
     
    25252531    /* Create the message only HWND */ 
    25262532    hwndMessage = OS.CreateWindowEx (0, 
    2527         windowClass_
     2533        windowClass_.ptr
    25282534        null, 
    25292535        OS.WS_OVERLAPPED, 
     
    29102916                        break; 
    29112917                    } 
     2918                    default: 
    29122919                } 
    29132920                if (!accentKey && !ignoreNextKey) { 
     
    29382945                        } 
    29392946                    } 
     2947                    default: 
    29402948                } 
    29412949            } 
     
    30273035                case OS.SPI_SETHIGHCONTRAST: 
    30283036                    OS.SetTimer (hwndMessage, SETTINGS_ID, SETTINGS_DELAY, null); 
     3037                default: 
    30293038            } 
    30303039            break; 
     
    31353144            break; 
    31363145        } 
     3146        default: 
    31373147    } 
    31383148    return OS.CallNextHookEx (filterHook, code, wParam, lParam); 
     
    31573167        case OS.VK_DECIMAL: return '.'; 
    31583168        case OS.VK_DIVIDE:      return '/'; 
     3169        default: 
    31593170    } 
    31603171    return 0; 
     
    33243335            return result; 
    33253336        } 
     3337        default: 
    33263338    } 
    33273339    return false; 
     
    34993511    auto hHeap = OS.GetProcessHeap (); 
    35003512    auto hInstance = OS.GetModuleHandle (null); 
    3501     OS.UnregisterClass (windowClass_, hInstance); 
     3513    OS.UnregisterClass (windowClass_.ptr, hInstance); 
    35023514 
    35033515    /* Unregister the DWT drop shadow window class */ 
    3504     OS.UnregisterClass (windowShadowClass, hInstance); 
     3516    OS.UnregisterClass (windowShadowClass.ptr, hInstance); 
    35053517    windowClass_ = windowShadowClass = null; 
    35063518    //windowCallback.dispose (); 
     
    43114323            } 
    43124324            break; 
     4325        default: 
    43134326    } 
    43144327    return false; 
     
    45254538 
    45264539char[] windowClass(){ 
    4527     return TCHARzToStr( windowClass_ ); 
    4528 } 
    4529  
    4530 } 
     4540    return TCHARsToStr( windowClass_ ); 
     4541} 
     4542 
     4543} 
  • dwt/widgets/ExpandBar.d

    r54 r82  
    618618            break; 
    619619        } 
     620        default: 
    620621    } 
    621622    return result; 
  • dwt/widgets/FileDialog.d

    r31 r82  
    184184          } 
    185185          break; 
     186        default: 
    186187    } 
    187188    return 0; 
     
    332333            USE_HOOK = true; 
    333334            break; 
     335        default: 
    334336    } 
    335337    display.runMessagesInIdle = oldRunMessagesInIdle; 
  • dwt/widgets/Group.d

    r80 r82  
    155155        case OS.WM_LBUTTONDBLCLK: 
    156156            return cast(LRESULT) OS.DefWindowProc (hwnd, msg, wParam, lParam); 
     157        default: 
    157158    } 
    158159    return cast(LRESULT) OS.CallWindowProc (GroupProc, hwnd, msg, wParam, lParam); 
  • dwt/widgets/Link.d

    r80 r82  
    698698                } 
    699699                break; 
     700            default: 
    700701        } 
    701702    } else { 
     
    712713                int code = callWindowProc (handle, OS.WM_KEYDOWN, wParam, lParam); 
    713714                return cast(LRESULT) (code); 
     715            default: 
    714716        } 
    715717 
     
    776778                */ 
    777779                return LRESULT.ZERO; 
     780            default: 
    778781        } 
    779782    } 
     
    977980                sendEvent (DWT.Selection, event); 
    978981                break; 
     982            default: 
    979983        } 
    980984    } 
  • dwt/widgets/List.d

    r80 r82  
    15701570            postEvent (DWT.DefaultSelection); 
    15711571            break; 
     1572        default: 
    15721573    } 
    15731574    return super.wmCommandChild (wParam, lParam); 
  • dwt/widgets/Sash.d

    r77 r82  
    266266            } 
    267267            return result; 
     268        default: 
    268269    } 
    269270    return result; 
  • dwt/widgets/Scale.d

    r80 r82  
    497497        case OS.TB_THUMBPOSITION: 
    498498            return LRESULT.NULL; 
     499        default: 
    499500    } 
    500501 
     
    512513//      case OS.TB_PAGEDOWN:    event.detail = DWT.PAGE_DOWN;  break; 
    513514//      case OS.TB_PAGEUP:      event.detail = DWT.PAGE_UP;  break; 
     515//      default: 
    514516//  } 
    515517 
  • dwt/widgets/ScrollBar.d

    r77 r82  
    677677                    bar = parent.getHorizontalBar (); 
    678678