Changeset 5159 for branches/notebook/src/win32k/utils/Win32kCC.c
- Timestamp:
- Feb 17, 2001, 9:20:09 PM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/notebook/src/win32k/utils/Win32kCC.c
r5145 r5159 1 /* $Id: Win32kCC.c,v 1.12.2. 3 2001-02-17 08:57:50bird Exp $1 /* $Id: Win32kCC.c,v 1.12.2.4 2001-02-17 20:20:07 bird Exp $ 2 2 * 3 3 * Win32CC - Win32k Control Center. … … 39 39 #define INCL_DOSFILEMGR 40 40 #define INCL_DOSRESOURCES 41 #define INCL_DOSMISC 42 41 43 #define INCL_WINERRORS 42 44 #define INCL_WINDIALOGS … … 47 49 #define INCL_WINSTDBOOK 48 50 #define INCL_WINSYS 51 #define INCL_WINTIMER 52 53 #define INCL_WINACCELERATORS 54 #define INCL_WINFRAMEMGR 55 49 56 #define INCL_GPIPRIMITIVES 50 57 #define INCL_GPILCIDS 51 #define INCL_DOSMISC 58 52 59 53 60 … … 81 88 typedef struct _Win32kCC 82 89 { 83 HWND hwnd; 84 HWND hwndNtbk; 85 HAB hab; 86 BOOL fDirty; 87 88 K32OPTIONS Options; 89 K32OPTIONS NewOptions; 90 K32STATUS Status; 90 HWND hwnd; 91 HWND hwndNtbk; 92 HAB hab; 93 BOOL fDirty; 94 95 K32OPTIONS Options; 96 K32OPTIONS NewOptions; 97 K32STATUS Status; 98 99 ULONG idMemTimer; /* The Timer ID of the MemInfo Refresh Timer. */ 100 K32SYSTEMMEMINFO MemInfo; /* Current displayed meminfo. */ 91 101 92 102 WIN32KCCPAGE aPages[W32KCCPG_PAGES]; /* Array containing generic page info. */ … … 264 274 { 265 275 /* 266 * Sets the controls according to the data from win32k.276 * Initialize the controls and trigger a setcontrol event. 267 277 * 268 278 * mr: Focus changed or not. … … 318 328 return FALSE; 319 329 } 330 331 332 /* 333 * Load and set accellerator table. 334 */ 335 WinSetAccelTable(pThis->hab, WinLoadAccelTable(pThis->hab, NULLHANDLE, DL_WIN32KCC), hwnd); 320 336 321 337 … … 669 685 WinSendMsg(hwnd, WM_COMMAND, 670 686 MPFROMSHORT(DID_OK), MPFROM2SHORT(CMDSRC_MENU, FALSE)); 671 break;687 return NULL; 672 688 673 689 674 690 /* 675 691 * Window is destroyed (last message which ever should reach us!) 692 * -Free acceltable if present. 676 693 * -Free instance data 677 694 * -Set the instance data pointer to NULL (just in case). … … 679 696 case WM_DESTROY: 680 697 { 698 HACCEL haccel = WinQueryAccelTable(pThis->hab, hwnd); 699 if (haccel) 700 WinDestroyAccelTable(haccel); 681 701 free(pThis); 682 702 WinSetWindowPtr(hwnd, QWL_USER, NULL); … … 770 790 return (MPARAM)TRUE; 771 791 } 792 793 case WM_TRANSLATEACCEL: 794 { 795 break; 796 } 772 797 } 773 798 … … 805 830 { 806 831 /* 807 * Sets the controls according to the data from win32k.832 * Initialize controls. 808 833 * 809 834 * mr: Focus changed or not. … … 813 838 case WM_INITDLG: 814 839 { 815 pThis = (PWIN32KCC)mp2;816 if (!WinSetWindowPtr(hwnd, QWL_USER, pThis))817 {818 /* complain, dismiss and return. */819 Complain(hwnd, IDS_ERR_SET_INSTANCEDATA,820 WinGetLastError(pThis->hab),821 getLastErrorMsg(pThis->hab));822 WinPostMsg(hwnd, WM_QUIT, NULL, NULL);823 return FALSE;824 }825 826 840 /* 827 841 * Initiate controls (ie. behaviour not data). … … 1116 1130 { 1117 1131 /* 1118 * Sets the controls according to the data from win32k.1132 * Initialize controls. 1119 1133 * 1120 1134 * mr: Focus changed or not. … … 1124 1138 case WM_INITDLG: 1125 1139 { 1126 pThis = (PWIN32KCC)mp2;1127 if (!WinSetWindowPtr(hwnd, QWL_USER, pThis))1128 {1129 /* complain, dismiss and return. */1130 Complain(hwnd, IDS_ERR_SET_INSTANCEDATA,1131 WinGetLastError(pThis->hab),1132 getLastErrorMsg(pThis->hab));1133 WinPostMsg(hwnd, WM_QUIT, NULL, NULL);1134 return FALSE;1135 }1136 1137 1140 /* 1138 1141 * Initiate controls (ie. behaviour not data). … … 1297 1300 pThis->NewOptions.fDllFixes = WinSendDlgItemMsg(hwnd, CB_LDRFIX_DLLFIXES, BM_QUERYCHECK, NULL, NULL) != 0; 1298 1301 pThis->NewOptions.fForcePreload = WinSendDlgItemMsg(hwnd, CB_LDRFIX_FORCEPRELOAD, BM_QUERYCHECK, NULL, NULL) != 0; 1302 pThis->NewOptions.fExeFixes = pThis->Options.fExeFixes; 1299 1303 return (MRESULT)TRUE; 1300 1304 } … … 1331 1335 { 1332 1336 /* 1333 * S ets the controls according to the data from win32k.1337 * Start timer. 1334 1338 * 1335 1339 * mr: Focus changed or not. … … 1339 1343 case WM_INITDLG: 1340 1344 { 1345 pThis = (PWIN32KCC)mp2; 1341 1346 WinEnableWindow(WinWindowFromID(hwnd, TX_MEMINFO_PAGE_ENABLED), FALSE); 1342 break; /* break, not return thru ntbk page default procedure. */ 1343 } 1344 1345 1346 /* 1347 * Gets data from win32k. 1348 * Sets the controls according to the data from win32k. 1347 pThis->idMemTimer = WinStartTimer(pThis->hab, hwnd, 42, 1000); 1348 if (!pThis->idMemTimer) 1349 Complain(hwnd, IDS_ERR_TIMER_START, WinGetLastError(pThis->hab), getLastErrorMsg(pThis->hab)); 1350 memset(&pThis->MemInfo, -1, sizeof(pThis->MemInfo)); /* Force update of everything. */ 1351 break; /* not return, break thru the ntbk page default procedure. */ 1352 } 1353 1354 1355 /* 1356 * We've started a timer for refreshing the memory data. 1357 * 1358 * mr: reserved 1359 * mp1: Id of the timer which is ticking. 1360 * mp2: reserved 1361 */ 1362 case WM_TIMER: 1363 { 1364 if ((ULONG)mp1 != pThis->idMemTimer) 1365 return NULL; 1366 1367 /* intented fallthru to WM_SETCONTROLS */ 1368 } 1369 1370 1371 /* 1372 * Save old data. 1373 * Gets system meminfo data from win32k. 1374 * Updated changed values. 1375 * Update pThis with new meminfo. 1349 1376 * 1350 1377 * mr: reserved … … 1355 1382 { 1356 1383 K32SYSTEMMEMINFO MemInfo; 1384 K32SYSTEMMEMINFO OldMemInfo; 1357 1385 APIRET rc; 1358 1386 1387 OldMemInfo = pThis->MemInfo; 1359 1388 MemInfo.cb = sizeof(MemInfo); 1360 1389 MemInfo.flFlags = 0; … … 1362 1391 if (rc) 1363 1392 { 1393 WinStopTimer(pThis->hab, hwnd, pThis->idMemTimer); 1364 1394 break; 1365 1395 } 1366 1396 1367 SetDlgItemTextF(hwnd, TX_MEMINFO_SWAP_SIZE , "%d", MemInfo.cbSwapFileSize / 1024); 1368 SetDlgItemTextF(hwnd, TX_MEMINFO_SWAP_AVAIL , "%d", MemInfo.cbSwapFileAvail / 1024); 1369 SetDlgItemTextF(hwnd, TX_MEMINFO_SWAP_USED , "%d", MemInfo.cbSwapFileUsed / 1024); 1370 SetDlgItemTextF(hwnd, TX_MEMINFO_SWAP_MINFREE , "%d", MemInfo.cbSwapFileMinFree / 1024); 1371 SetDlgItemTextF(hwnd, TX_MEMINFO_SWAP_CFG_MINFREE, "%d", MemInfo.cbSwapFileCFGMinFree / 1024); 1372 SetDlgItemTextF(hwnd, TX_MEMINFO_SWAP_CFG_SIZE , "%d", MemInfo.cbSwapFileCFGSwapSize / 1024); 1373 SetDlgItemTextF(hwnd, TX_MEMINFO_SWAP_BROKEN_DFS , "%d", MemInfo.cSwapFileBrokenDF); 1374 SetDlgItemTextF(hwnd, TX_MEMINFO_SWAP_GROW_FAILS , "%d", MemInfo.cSwapFileGrowFails); 1375 SetDlgItemTextF(hwnd, TX_MEMINFO_SWAP_DFS_IN_MEMFILE, "%d", MemInfo.cSwapFileInMemFile); 1376 1377 SetDlgItemTextF(hwnd, TX_MEMINFO_PHYS_SIZE , "%d", MemInfo.cbPhysSize); 1378 SetDlgItemTextF(hwnd, TX_MEMINFO_PHYS_AVAIL, "%d", MemInfo.cbPhysAvail); 1379 SetDlgItemTextF(hwnd, TX_MEMINFO_PHYS_USED , "%d", MemInfo.cbPhysUsed); 1380 WinSendDlgItemMsg(hwnd, TX_MEMINFO_PAGE_ENABLED, BM_SETCHECK, (MPARAM)MemInfo.fPagingSwapEnabled, NULL); 1381 SetDlgItemTextF(hwnd, TX_MEMINFO_PAGE_FAULTS , "%d", MemInfo.cPagingPageFaults); 1382 SetDlgItemTextF(hwnd, TX_MEMINFO_PAGE_FAULTS_ACTIVE, "%d", MemInfo.cPagingPageFaultsActive); 1383 SetDlgItemTextF(hwnd, TX_MEMINFO_PAGE_PHYSPAGES, "%d", MemInfo.cPagingPhysPages); 1384 SetDlgItemTextF(hwnd, TX_MEMINFO_PAGE_RESPAGES , "%d", MemInfo.cPagingResidentPages); 1385 SetDlgItemTextF(hwnd, TX_MEMINFO_PAGE_SWAPPAGES, "%d", MemInfo.cPagingSwappablePages); 1386 SetDlgItemTextF(hwnd, TX_MEMINFO_PAGE_DISCPAGES, "%d", MemInfo.cPagingDiscardablePages); 1387 SetDlgItemTextF(hwnd, TX_MEMINFO_PAGE_DISCINMEM, "%d", MemInfo.cPagingDiscardableInmem); 1388 1389 SetDlgItemTextF(hwnd, TX_MEMINFO_VM_ADDRESSLIMIT, "%08xh", MemInfo.ulAddressLimit); 1390 SetDlgItemTextF(hwnd, TX_MEMINFO_VM_SHARED_MIN , "%08xh", MemInfo.ulVMArenaSharedMin); 1391 SetDlgItemTextF(hwnd, TX_MEMINFO_VM_SHARED_MAX , "%08xh", MemInfo.ulVMArenaSharedMax); 1392 SetDlgItemTextF(hwnd, TX_MEMINFO_VM_PRIVATE_MAX , "%08xh", MemInfo.ulVMArenaPrivMax); 1393 SetDlgItemTextF(hwnd, TX_MEMINFO_VM_SYSTEM_MIN , "%08xh", MemInfo.ulVMArenaSystemMin); 1394 SetDlgItemTextF(hwnd, TX_MEMINFO_VM_SYSTEM_MAX , "%08xh", MemInfo.ulVMArenaSystemMax); 1395 SetDlgItemTextF(hwnd, TX_MEMINFO_VM_PRIVATE_HMAX, "%08xh", MemInfo.ulVMArenaHighPrivMax); 1396 SetDlgItemTextF(hwnd, TX_MEMINFO_VM_SHARED_HMIN , "%08xh", MemInfo.ulVMArenaHighSharedMin); 1397 SetDlgItemTextF(hwnd, TX_MEMINFO_VM_SHARED_HMAX , "%08xh", MemInfo.ulVMArenaHighSharedMax); 1398 1397 if (MemInfo.cbSwapFileSize != OldMemInfo.cbSwapFileSize) 1398 SetDlgItemTextF(hwnd, TX_MEMINFO_SWAP_SIZE , "%d", MemInfo.cbSwapFileSize / 1024); 1399 if (MemInfo.cbSwapFileAvail != OldMemInfo.cbSwapFileAvail) 1400 SetDlgItemTextF(hwnd, TX_MEMINFO_SWAP_AVAIL , "%d", MemInfo.cbSwapFileAvail / 1024); 1401 if (MemInfo.cbSwapFileUsed != OldMemInfo.cbSwapFileUsed) 1402 SetDlgItemTextF(hwnd, TX_MEMINFO_SWAP_USED , "%d", MemInfo.cbSwapFileUsed / 1024); 1403 if (MemInfo.cbSwapFileMinFree != OldMemInfo.cbSwapFileMinFree) 1404 SetDlgItemTextF(hwnd, TX_MEMINFO_SWAP_MINFREE , "%d", MemInfo.cbSwapFileMinFree / 1024); 1405 if (MemInfo.cbSwapFileCFGMinFree != OldMemInfo.cbSwapFileCFGMinFree) 1406 SetDlgItemTextF(hwnd, TX_MEMINFO_SWAP_CFG_MINFREE, "%d", MemInfo.cbSwapFileCFGMinFree / 1024); 1407 if (MemInfo.cbSwapFileCFGSwapSize != OldMemInfo.cbSwapFileCFGSwapSize) 1408 SetDlgItemTextF(hwnd, TX_MEMINFO_SWAP_CFG_SIZE , "%d", MemInfo.cbSwapFileCFGSwapSize / 1024); 1409 if (MemInfo.cSwapFileBrokenDF != OldMemInfo.cSwapFileBrokenDF) 1410 SetDlgItemTextF(hwnd, TX_MEMINFO_SWAP_BROKEN_DFS , "%d", MemInfo.cSwapFileBrokenDF); 1411 if (MemInfo.cSwapFileGrowFails != OldMemInfo.cSwapFileGrowFails) 1412 SetDlgItemTextF(hwnd, TX_MEMINFO_SWAP_GROW_FAILS , "%d", MemInfo.cSwapFileGrowFails); 1413 if (MemInfo.cSwapFileInMemFile != OldMemInfo.cSwapFileInMemFile) 1414 SetDlgItemTextF(hwnd, TX_MEMINFO_SWAP_DFS_IN_MEMFILE, "%d", MemInfo.cSwapFileInMemFile); 1415 1416 if (MemInfo.cbPhysSize != OldMemInfo.cbPhysSize) 1417 SetDlgItemTextF(hwnd, TX_MEMINFO_PHYS_SIZE , "%d", MemInfo.cbPhysSize / 1024); 1418 if (MemInfo.cbPhysAvail != OldMemInfo.cbPhysAvail) 1419 SetDlgItemTextF(hwnd, TX_MEMINFO_PHYS_AVAIL, "%d", MemInfo.cbPhysAvail / 1024); 1420 if (MemInfo.cbPhysUsed != OldMemInfo.cbPhysUsed) 1421 SetDlgItemTextF(hwnd, TX_MEMINFO_PHYS_USED , "%d", MemInfo.cbPhysUsed / 1024); 1422 if (MemInfo.fPagingSwapEnabled != OldMemInfo.fPagingSwapEnabled) 1423 WinSendDlgItemMsg(hwnd, TX_MEMINFO_PAGE_ENABLED, BM_SETCHECK, (MPARAM)MemInfo.fPagingSwapEnabled, NULL); 1424 if (MemInfo.cPagingPageFaults != OldMemInfo.cPagingPageFaults) 1425 SetDlgItemTextF(hwnd, TX_MEMINFO_PAGE_FAULTS , "%d", MemInfo.cPagingPageFaults); 1426 if (MemInfo.cPagingPageFaultsActive != OldMemInfo.cPagingPageFaultsActive) 1427 SetDlgItemTextF(hwnd, TX_MEMINFO_PAGE_FAULTS_ACTIVE, "%d", MemInfo.cPagingPageFaultsActive); 1428 if (MemInfo.cPagingPhysPages != OldMemInfo.cPagingPhysPages) 1429 SetDlgItemTextF(hwnd, TX_MEMINFO_PAGE_PHYSPAGES, "%d", MemInfo.cPagingPhysPages); 1430 if (MemInfo.cPagingResidentPages != OldMemInfo.cPagingResidentPages) 1431 SetDlgItemTextF(hwnd, TX_MEMINFO_PAGE_RESPAGES , "%d", MemInfo.cPagingResidentPages); 1432 if (MemInfo.cPagingSwappablePages != OldMemInfo.cPagingSwappablePages) 1433 SetDlgItemTextF(hwnd, TX_MEMINFO_PAGE_SWAPPAGES, "%d", MemInfo.cPagingSwappablePages); 1434 if (MemInfo.cPagingDiscardablePages != OldMemInfo.cPagingDiscardablePages) 1435 SetDlgItemTextF(hwnd, TX_MEMINFO_PAGE_DISCPAGES, "%d", MemInfo.cPagingDiscardablePages); 1436 if (MemInfo.cPagingDiscardableInmem != OldMemInfo.cPagingDiscardableInmem) 1437 SetDlgItemTextF(hwnd, TX_MEMINFO_PAGE_DISCINMEM, "%d", MemInfo.cPagingDiscardableInmem); 1438 1439 if (MemInfo.ulAddressLimit != OldMemInfo.ulAddressLimit) 1440 SetDlgItemTextF(hwnd, TX_MEMINFO_VM_ADDRESSLIMIT, "%08xh", MemInfo.ulAddressLimit); 1441 if (MemInfo.ulVMArenaSharedMin != OldMemInfo.ulVMArenaSharedMin) 1442 SetDlgItemTextF(hwnd, TX_MEMINFO_VM_SHARED_MIN , "%08xh", MemInfo.ulVMArenaSharedMin); 1443 if (MemInfo.ulVMArenaSharedMax != OldMemInfo.ulVMArenaSharedMax) 1444 SetDlgItemTextF(hwnd, TX_MEMINFO_VM_SHARED_MAX , "%08xh", MemInfo.ulVMArenaSharedMax); 1445 if (MemInfo.ulVMArenaPrivMax != OldMemInfo.ulVMArenaPrivMax) 1446 SetDlgItemTextF(hwnd, TX_MEMINFO_VM_PRIVATE_MAX , "%08xh", MemInfo.ulVMArenaPrivMax); 1447 if (MemInfo.ulVMArenaSystemMin != OldMemInfo.ulVMArenaSystemMin) 1448 SetDlgItemTextF(hwnd, TX_MEMINFO_VM_SYSTEM_MIN , "%08xh", MemInfo.ulVMArenaSystemMin); 1449 if (MemInfo.ulVMArenaSystemMax != OldMemInfo.ulVMArenaSystemMax) 1450 SetDlgItemTextF(hwnd, TX_MEMINFO_VM_SYSTEM_MAX , "%08xh", MemInfo.ulVMArenaSystemMax); 1451 if (MemInfo.ulVMArenaHighPrivMax != OldMemInfo.ulVMArenaHighPrivMax) 1452 SetDlgItemTextF(hwnd, TX_MEMINFO_VM_PRIVATE_HMAX, "%08xh", MemInfo.ulVMArenaHighPrivMax); 1453 if (MemInfo.ulVMArenaHighSharedMin != OldMemInfo.ulVMArenaHighSharedMin) 1454 SetDlgItemTextF(hwnd, TX_MEMINFO_VM_SHARED_HMIN , "%08xh", MemInfo.ulVMArenaHighSharedMin); 1455 if (MemInfo.ulVMArenaHighSharedMax != OldMemInfo.ulVMArenaHighSharedMax) 1456 SetDlgItemTextF(hwnd, TX_MEMINFO_VM_SHARED_HMAX , "%08xh", MemInfo.ulVMArenaHighSharedMax); 1457 1458 pThis->MemInfo = MemInfo; 1399 1459 return NULL; 1400 1460 } 1461 1462 /* 1463 * Cleanup. 1464 * 1465 * mr: reserved 1466 * mp1: reserved 1467 * mp2: reserved 1468 */ 1469 case WM_DESTROY: 1470 { 1471 WinStopTimer(pThis->hab, hwnd, pThis->idMemTimer); 1472 break; 1473 } 1474 1401 1475 } 1402 1476 … … 1437 1511 return FALSE; 1438 1512 } 1513 1514 /* 1515 * Install same acceltable as the notebook - Don't work. 1516 */ 1517 WinSetAccelTable(pThis->hab, WinQueryAccelTable(pThis->hab, pThis->hwnd), hwnd); 1439 1518 break; 1440 1519 } … … 1473 1552 return (MRESULT)TRUE; 1474 1553 } 1554 1555 1556 #if 0 1557 /* 1558 * Nice little hack to get global notebook accelerators to work. 1559 * 1560 * mr: 1561 * 1562 */ 1563 case WM_TRANSLATEACCEL: 1564 { 1565 static BOOL fSem = FALSE; 1566 MRESULT mr; 1567 PWIN32KCC pThis = (PWIN32KCC)WinQueryWindowPtr(hwnd, QWL_USER); 1568 if (fSem || !pThis) 1569 return FALSE; 1570 fSem = TRUE; 1571 mr = WinSendMsg(pThis->hwnd, msg, mp1, mp2); 1572 fSem = FALSE; 1573 return mr; 1574 } 1575 #endif 1475 1576 } 1476 1577 … … 1729 1830 } 1730 1831 1832 #pragma info(none) 1731 1833 return (char*)(*pszStr != '\0' ? (const char*)pszStr - 1 : (const char*)NULL); 1834 #pragma info(restore) 1732 1835 } 1733 1836
Note:
See TracChangeset
for help on using the changeset viewer.