Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

690 lines
16 KiB

  1. //
  2. // ARP resource file, "themed" look
  3. //
  4. #include "resource.h"
  5. #include <directuipp.h>
  6. /*****************************************************
  7. * Default style sheet rules
  8. *****************************************************/
  9. <style resid=frame>
  10. arpframe
  11. {
  12. accessible: true;
  13. accRole: 9;
  14. accName: rcstr(IDS_ARPTITLE);
  15. fontsize: sysmetric(DSM_ICONFONTSIZE);
  16. fontweight: sysmetric(DSM_ICONFONTWEIGHT);
  17. fontstyle: sysmetric(DSM_ICONFONTSTYLE);
  18. fontface: sysmetricstr(DSMS_ICONFONTFACE);
  19. background: window;
  20. foreground: windowtext;
  21. }
  22. </style>
  23. <style resid=closepane>
  24. element [id=atom(closepane)]
  25. {
  26. background: buttonface;
  27. padding: rect(10,10,10,10);
  28. }
  29. button
  30. {
  31. background: dtb(handlemap(BUTTONHTHEME), BP_PUSHBUTTON, PBS_NORMAL);
  32. foreground: buttontext;
  33. contentalign: middlecenter;
  34. padding: rect(20,6,20,6);
  35. }
  36. button [mousefocused]
  37. {
  38. background: dtb(handlemap(BUTTONHTHEME), BP_PUSHBUTTON, PBS_HOT);
  39. }
  40. button [pressed]
  41. {
  42. background: dtb(handlemap(BUTTONHTHEME), BP_PUSHBUTTON, PBS_PRESSED);
  43. padding: rect(21,7,19,5);
  44. }
  45. button [enabled=false]
  46. {
  47. background: dtb(handlemap(BUTTONHTHEME), BP_PUSHBUTTON, PBS_DISABLED);
  48. foreground: graytext;
  49. fontstyle: shadow;
  50. }
  51. button [keyfocused]
  52. {
  53. contentalign: middlecenter | focusrect;
  54. }
  55. progress
  56. {
  57. borderthickness: rect(2,2,2,2);
  58. bordercolor: buttonface;
  59. borderstyle: sunken;
  60. padding: rect(1,1,1,1);
  61. margin: rect(0, 4, 0, 2);
  62. foreground: rcbmp(IDB_PROGRESS);
  63. }
  64. </style>
  65. <style resid=optionpane>
  66. ARPSelector
  67. {
  68. background: dtb(handlemap(TOOLBARHTHEME), 0, 0);
  69. foreground: buttontext;
  70. padding: rect(3,3,3,3);
  71. }
  72. element
  73. {
  74. background: argb(0,0,0,0);
  75. }
  76. button
  77. {
  78. background: dtb(handlemap(TOOLBARHTHEME), TP_BUTTON, TS_NORMAL);
  79. margin: rect(5,6,5,6);
  80. padding: rect(6,6,6,8);
  81. }
  82. button [keyfocused]
  83. {
  84. background: dtb(handlemap(TOOLBARHTHEME), TP_BUTTON, TS_HOT);
  85. }
  86. button [mousefocused]
  87. {
  88. background: dtb(handlemap(TOOLBARHTHEME), TP_BUTTON, TS_HOT);
  89. }
  90. button [pressed]
  91. {
  92. background: dtb(handlemap(TOOLBARHTHEME), TP_BUTTON, TS_PRESSED);
  93. padding: rect(7,7,5,7);
  94. }
  95. button [selected]
  96. {
  97. background: dtb(handlemap(TOOLBARHTHEME), TP_BUTTON, TS_CHECKED);
  98. padding: rect(7,7,5,7);
  99. }
  100. </style>
  101. <style resid=contentpane>
  102. element [id=atom(contentpane)]
  103. {
  104. padding: rect(10,10,10,10);
  105. }
  106. element [id=atom(installedlistcontainer)]
  107. {
  108. borderthickness: rect(1,1,1,1);
  109. bordercolor: buttonshadow;
  110. padding: rect(0,0,0,0);
  111. }
  112. element [id=atom(publishedlistcontainer)]
  113. {
  114. borderthickness: rect(1,1,1,1);
  115. bordercolor: buttonshadow;
  116. padding: rect(0,0,0,0);
  117. }
  118. element [id=atom(ocsetuplistcontainer)]
  119. {
  120. borderthickness: rect(1,1,1,1);
  121. bordercolor: buttonshadow;
  122. padding: rect(0,0,0,0);
  123. }
  124. element [id=atom(label)]
  125. {
  126. padding: rect(0,5,5,5);
  127. }
  128. element
  129. {
  130. padding: rect(2,2,2,2);
  131. }
  132. element [id=atom(sort)]
  133. {
  134. padding: rect(2,2,0,2);
  135. }
  136. button
  137. {
  138. background: dtb(handlemap(BUTTONHTHEME), BP_PUSHBUTTON, PBS_NORMAL);
  139. foreground: buttontext;
  140. padding: rect(8,6,8,6);
  141. margin: rect(5,5,5,5);
  142. }
  143. button [mousefocused]
  144. {
  145. background: dtb(handlemap(BUTTONHTHEME), BP_PUSHBUTTON, PBS_HOT);
  146. }
  147. button [pressed]
  148. {
  149. background: dtb(handlemap(BUTTONHTHEME), BP_PUSHBUTTON, PBS_PRESSED);
  150. padding: rect(9,7,7,5);
  151. }
  152. button [keyfocused]
  153. {
  154. contentalign: focusrect;
  155. }
  156. </style>
  157. <style resid=listscroller>
  158. scrollbar
  159. {
  160. layoutpos: ninebottom;
  161. }
  162. scrollbar [vertical]
  163. {
  164. layoutpos: nineright;
  165. }
  166. viewer
  167. {
  168. layoutpos: nineclient;
  169. }
  170. thumb
  171. {
  172. background: dtb(handlemap(SCROLLBARHTHEME), SBP_THUMBBTNVERT, SCRBS_NORMAL);
  173. content: dtb(handlemap(SCROLLBARHTHEME), SBP_GRIPPERVERT, SCRBS_NORMAL);
  174. contentalign: middlecenter;
  175. }
  176. thumb [mousefocused]
  177. {
  178. background: dtb(handlemap(SCROLLBARHTHEME), SBP_THUMBBTNVERT, SCRBS_HOT);
  179. content: dtb(handlemap(SCROLLBARHTHEME), SBP_GRIPPERVERT, SCRBS_HOT);
  180. }
  181. thumb [captured]
  182. {
  183. background: dtb(handlemap(SCROLLBARHTHEME), SBP_THUMBBTNVERT, SCRBS_PRESSED);
  184. content: dtb(handlemap(SCROLLBARHTHEME), SBP_GRIPPERVERT, SCRBS_PRESSED);
  185. }
  186. repeatbutton [id=atom(lineup)]
  187. {
  188. background: dtb(handlemap(SCROLLBARHTHEME), SBP_ARROWBTN, ABS_UPNORMAL);
  189. width: sysmetric(SM_CXVSCROLL);
  190. height: sysmetric(SM_CYVSCROLL);
  191. }
  192. repeatbutton [id=atom(lineup)][mousefocused]
  193. {
  194. background: dtb(handlemap(SCROLLBARHTHEME), SBP_ARROWBTN, ABS_UPHOT);
  195. }
  196. repeatbutton [id=atom(lineup)][pressed]
  197. {
  198. background: dtb(handlemap(SCROLLBARHTHEME), SBP_ARROWBTN, ABS_UPPRESSED);
  199. }
  200. repeatbutton [id=atom(linedown)]
  201. {
  202. background: dtb(handlemap(SCROLLBARHTHEME), SBP_ARROWBTN, ABS_DOWNNORMAL);
  203. width: sysmetric(SM_CXVSCROLL);
  204. height: sysmetric(SM_CYVSCROLL);
  205. }
  206. repeatbutton [id=atom(linedown)][mousefocused]
  207. {
  208. background: dtb(handlemap(SCROLLBARHTHEME), SBP_ARROWBTN, ABS_DOWNHOT);
  209. }
  210. repeatbutton [id=atom(linedown)][pressed]
  211. {
  212. background: dtb(handlemap(SCROLLBARHTHEME), SBP_ARROWBTN, ABS_DOWNPRESSED);
  213. }
  214. repeatbutton [id=atom(pageup)]
  215. {
  216. background: dtb(handlemap(SCROLLBARHTHEME), SBP_UPPERTRACKVERT, SCRBS_NORMAL);
  217. }
  218. repeatbutton [id=atom(pageup)][mousefocused]
  219. {
  220. background: dtb(handlemap(SCROLLBARHTHEME), SBP_UPPERTRACKVERT, SCRBS_HOT);
  221. }
  222. repeatbutton [id=atom(pageup)][pressed]
  223. {
  224. background: dtb(handlemap(SCROLLBARHTHEME), SBP_UPPERTRACKVERT, SCRBS_PRESSED);
  225. }
  226. repeatbutton [id=atom(pagedown)]
  227. {
  228. background: dtb(handlemap(SCROLLBARHTHEME), SBP_LOWERTRACKVERT, SCRBS_NORMAL);
  229. }
  230. repeatbutton [id=atom(pagedown)][mousefocused]
  231. {
  232. background: dtb(handlemap(SCROLLBARHTHEME), SBP_LOWERTRACKVERT, SCRBS_HOT);
  233. }
  234. repeatbutton [id=atom(pagedown)][pressed]
  235. {
  236. background: dtb(handlemap(SCROLLBARHTHEME), SBP_LOWERTRACKVERT, SCRBS_PRESSED);
  237. }
  238. scrollviewer[id=atom(clientscroller)]
  239. {
  240. borderstyle: solid;
  241. borderthickness: rect(1,1,1,1);
  242. bordercolor: buttonshadow;
  243. margin: rect(0,10rp,0,0);
  244. }
  245. </style>
  246. <style resid=itemlist>
  247. arpitem
  248. {
  249. padding: rect(1,1,1,3);
  250. }
  251. arpitem [selected]
  252. {
  253. background: buttonface;
  254. foreground: buttontext;
  255. bordercolor: buttontext;
  256. }
  257. arpitem [keyfocused][selected]
  258. {
  259. background: highlight;
  260. foreground: highlighttext;
  261. bordercolor: highlighttext;
  262. }
  263. element
  264. {
  265. padding: rect(1,1,1,1);
  266. }
  267. element [id=atom(title)][selected]
  268. {
  269. fontweight: extrabold;
  270. }
  271. button
  272. {
  273. padding: rect(1,1,1,1);
  274. contentalign: wrapright;
  275. }
  276. button [id=atom(supinfo)]
  277. {
  278. contentalign: wrapleft;
  279. }
  280. button [selected]
  281. {
  282. fontstyle: underline;
  283. cursor: hand;
  284. }
  285. button [id=atom(supinfo)][keyfocused]
  286. {
  287. contentalign: wrapleft|focusrect;
  288. }
  289. button [keyfocused]
  290. {
  291. fontstyle: none;
  292. contentalign: wrapright|focusrect;
  293. }
  294. </style>
  295. <style resid=itemaction>
  296. button
  297. {
  298. background: dtb(handlemap(BUTTONHTHEME), BP_PUSHBUTTON, PBS_NORMAL);
  299. foreground: buttontext;
  300. padding: rect(8,6,8,6);
  301. margin: rect(5,5,5,5);
  302. }
  303. button [mousefocused]
  304. {
  305. background: dtb(handlemap(BUTTONHTHEME), BP_PUSHBUTTON, PBS_HOT);
  306. }
  307. button [pressed]
  308. {
  309. background: dtb(handlemap(BUTTONHTHEME), BP_PUSHBUTTON, PBS_PRESSED);
  310. padding: rect(9,7,7,5);
  311. }
  312. button [keyfocused]
  313. {
  314. contentalign: focusrect;
  315. }
  316. </style>
  317. <style resid=helppopup>
  318. arphelp
  319. {
  320. accessible: true;
  321. accRole: 9;
  322. background: infobackground;
  323. foreground: infotext;
  324. padding: rect(6,6,6,6);
  325. fontsize: sysmetric(DSM_ICONFONTSIZE);
  326. fontweight: sysmetric(DSM_ICONFONTWEIGHT);
  327. fontstyle: sysmetric(DSM_ICONFONTSTYLE);
  328. fontface: sysmetricstr(DSMS_ICONFONTFACE);
  329. }
  330. element [id=atom(divider)]
  331. {
  332. background: infotext;
  333. }
  334. element [id=atom(rdivider)]
  335. {
  336. background: infotext;
  337. }
  338. element
  339. {
  340. background: argb(0,0,0,0);
  341. }
  342. element [id=atom(title)]
  343. {
  344. fontsize: sysmetric(DSM_CAPTIONFONTSIZE);
  345. fontweight: sysmetric(DSM_CAPTIONFONTWEIGHT);
  346. fontstyle: sysmetric(DSM_CAPTIONFONTSTYLE);
  347. fontface: sysmetricstr(DSMS_CAPTIONFONTFACE);
  348. }
  349. button [Enabled]
  350. {
  351. foreground: hotlight;
  352. fontstyle: underline;
  353. }
  354. button [MouseFocused]
  355. {
  356. cursor: hand;
  357. }
  358. button [class="winstyle"]
  359. {
  360. background: dtb(handlemap(BUTTONHTHEME), BP_PUSHBUTTON, PBS_NORMAL);
  361. foreground: buttontext;
  362. padding: rect(8,6,8,6);
  363. margin: rect(5,5,5,5);
  364. cursor: arrow;
  365. fontstyle: none;
  366. }
  367. button [class="winstyle"][mousefocused]
  368. {
  369. background: dtb(handlemap(BUTTONHTHEME), BP_PUSHBUTTON, PBS_HOT);
  370. }
  371. button [class="winstyle"][pressed]
  372. {
  373. background: dtb(handlemap(BUTTONHTHEME), BP_PUSHBUTTON, PBS_PRESSED);
  374. padding: rect(9,7,7,5);
  375. }
  376. button [keyfocused]
  377. {
  378. contentalign: focusrect;
  379. }
  380. ARPSupportItem
  381. {
  382. ContentAlign: WrapLeft;
  383. }
  384. </style>
  385. <style resid=pickapppane>
  386. // top padding makes the baseline of the element line up with the combobox
  387. element [class="clientcaption"]
  388. {
  389. padding: rect(0,4rp,8rp,0);
  390. }
  391. element [class="clientcaption"][id=atom(rowheader)]
  392. {
  393. fontweight: bold;
  394. }
  395. // top padding makes the baseline of the element line up with the combobox
  396. // left padding does the same for horizontal positioning
  397. element [class="clientstatic"]
  398. {
  399. padding: rect(3rp,4rp,0,0);
  400. }
  401. // Separates clients in the OEM/MS/NonMS section
  402. element [class="interrowspacer"]
  403. {
  404. height: 6rp;
  405. }
  406. // Provides spacing around the introductory blurb text for each section
  407. element [class="blurbtext"]
  408. {
  409. padding:rect(0,8rp,8rp,8rp);
  410. }
  411. // Provides spacing at the bottom of the section
  412. // (Do not give any top padding or that will put the white gradient
  413. // in the wrong place.)
  414. element [id=atom(clipped)]
  415. {
  416. padding:rect(0,0,0,4rp);
  417. }
  418. element [id=atom(radiobutton)]
  419. {
  420. width: sysmetric(SM_CXMENUCHECK);
  421. height: sysmetric(SM_CYMENUCHECK);
  422. margin: rect(0,6rp,8rp,6rp);
  423. layoutpos: left;
  424. background: dtb(handlemap(BUTTONHTHEME), BP_RADIOBUTTON, RBS_UNCHECKEDNORMAL);
  425. }
  426. element [id=atom(radiobutton)][mousefocused]
  427. {
  428. background: dtb(handlemap(BUTTONHTHEME), BP_RADIOBUTTON, RBS_UNCHECKEDHOT);
  429. }
  430. element [id=atom(radiobutton)][selected]
  431. {
  432. background: dtb(handlemap(BUTTONHTHEME), BP_RADIOBUTTON, RBS_CHECKEDNORMAL);
  433. }
  434. element [id=atom(radiobutton)][selected][mousefocused]
  435. {
  436. background: dtb(handlemap(BUTTONHTHEME), BP_RADIOBUTTON, RBS_CHECKEDHOT);
  437. }
  438. element [id=atom(radiotext)]
  439. {
  440. layoutpos: left;
  441. contentalign: middleleft;
  442. }
  443. // The purpose of the "radioindent" class is to get the text inside
  444. // each expando to line up exactly with the text next to the radio button
  445. // in the header.
  446. element [class="radioindent"]
  447. {
  448. layoutpos: left;
  449. padding: rect(8rp,0,0,0);
  450. }
  451. element [id=atom(checkbutton)]
  452. {
  453. width: sysmetric(SM_CXMENUCHECK);
  454. height: sysmetric(SM_CYMENUCHECK);
  455. margin: rect(0,6rp,8rp,6rp);
  456. layoutpos: left;
  457. background: dtb(handlemap(BUTTONHTHEME), BP_CHECKBOX, CBS_UNCHECKEDNORMAL);
  458. }
  459. element [id=atom(checkbutton)][selected]
  460. {
  461. background: dtb(handlemap(BUTTONHTHEME), BP_CHECKBOX, CBS_CHECKEDNORMAL);
  462. }
  463. element [id=atom(checkbutton)][mousefocused]
  464. {
  465. background: dtb(handlemap(BUTTONHTHEME), BP_CHECKBOX, CBS_UNCHECKEDHOT);
  466. }
  467. element [id=atom(checkbutton)][selected][mousefocused]
  468. {
  469. background: dtb(handlemap(BUTTONHTHEME), BP_CHECKBOX, CBS_CHECKEDHOT);
  470. }
  471. element [id=atom(checkbutton)][enabled=false]
  472. {
  473. background: dtb(handlemap(BUTTONHTHEME), BP_CHECKBOX, CBS_UNCHECKEDDISABLED);
  474. }
  475. element [id=atom(checkbutton)][selected][enabled=false]
  476. {
  477. background: dtb(handlemap(BUTTONHTHEME), BP_CHECKBOX, CBS_CHECKEDDISABLED);
  478. }
  479. element [id=atom(checktext)]
  480. {
  481. layoutpos: client;
  482. contentalign: wrapleft;
  483. }
  484. element [id=atom(checktext)][enabled=false]
  485. {
  486. foreground: graytext;
  487. }
  488. autobutton [id=atom(arrow)]
  489. {
  490. layoutpos: right;
  491. content: rcbmp(IDB_DOWN,2,255,0,0,0,0,handlemap(SHELLSTYLEHINSTANCE));
  492. }
  493. autobutton [id=atom(arrow)][selected]
  494. {
  495. content: rcbmp(IDB_UP,2,255,0,0,0,0,handlemap(SHELLSTYLEHINSTANCE));
  496. }
  497. autobutton [id=atom(arrow)][mousefocused]
  498. {
  499. content: rcbmp(IDB_DOWNHOT,2,255,0,0,0,0,handlemap(SHELLSTYLEHINSTANCE));
  500. }
  501. autobutton [id=atom(arrow)][selected][mousefocused]
  502. {
  503. content: rcbmp(IDB_UPHOT,2,255,0,0,0,0,handlemap(SHELLSTYLEHINSTANCE));
  504. }
  505. // need to add this padding to avoid colliding with the focus rect
  506. autobutton [class="padded"]
  507. {
  508. padding: rect(8rp,2rp,8rp,2rp);
  509. }
  510. button [keyfocused]
  511. {
  512. contentalign: focusrect;
  513. }
  514. autobutton [keyfocused]
  515. {
  516. contentalign: focusrect;
  517. }
  518. expando
  519. {
  520. animation: rectanglev | s | fast;
  521. }
  522. expando [selected]
  523. {
  524. background: buttonface;
  525. foreground: buttontext;
  526. }
  527. clipper
  528. {
  529. alpha: 0;
  530. animation: alpha | s | fast;
  531. }
  532. clipper [expanded]
  533. {
  534. alpha: 255;
  535. }
  536. // This controls the spacing of the rows in the custom client section
  537. element [class="customclientitem"]
  538. {
  539. padding: rect(20rp,6rp,8rp,6rp);
  540. }
  541. gradientline
  542. {
  543. animation: rectanglev | s | fast;
  544. height: 1rp;
  545. }
  546. gradientline [class="intercategory"]
  547. {
  548. foreground: highlight;
  549. }
  550. gradientline [class="interheader"]
  551. {
  552. foreground: buttonface;
  553. margin: rect(0,1rp,0,1rp);
  554. }
  555. gradientline [class="innerheader"]
  556. {
  557. foreground: buttonface;
  558. }
  559. gradientline [class="innerheader"][selected]
  560. {
  561. foreground: window;
  562. }
  563. </style>