D_QanPreferencies_async.js 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. /****************************************************************************************************************************
  2. Licensed Materials - Property of IBM
  3. BI and PM: QFW
  4. Š Copyright IBM Corp. 2005, 2010
  5. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  6. *****************************************************************************************************************************/
  7. D_QanPreferencies.F_Dialog_OnBeforeVisible = function()
  8. {
  9. this.m_nQanProivderListView = G_ResManager.F_GetResource( 'qanProviders' );
  10. this.M_oInst.m_cboProviders = new C_ListView( this.F_GetDlgItem( "cboProviders" ),
  11. this.f_getProviderListView(this.m_nQanProivderListView.ownerDocument), this );
  12. this.M_oInst.m_cboColorSchemes = new C_ListView( this.F_GetDlgItem( "cboColorSchemes" ),
  13. this.f_getColorSchemesListView(this.m_nQanProivderListView.ownerDocument), this );
  14. this.M_oInst.m_cboProviders.F_SelectByValue( "QFS" );
  15. this.F_GetDlgItem("chkMainMethodsOnly").checked = ( G_QanApp.F_GetLoggingView().nHLdisplay == "none" );
  16. this.F_GetDlgItem("chkShowTimestamp").checked = ( G_QanApp.F_GetLoggingView().timeStamp == "inline" );
  17. };
  18. D_QanPreferencies.F_OnOK = function()
  19. {
  20. var v_bMainMethodsOnly = this.F_GetDlgItem("chkMainMethodsOnly").checked;
  21. G_QanApp.F_GetLoggingView().nHLdisplay = (v_bMainMethodsOnly)? "none": "block";
  22. var v_bShowTimestamp = this.F_GetDlgItem("chkShowTimestamp").checked;
  23. G_QanApp.F_GetLoggingView().timeStamp = (v_bShowTimestamp)? "inline": "none";
  24. G_QanApp.F_GetLoggingView().nHLtimeStamp = (v_bShowTimestamp)? "inline": "none";
  25. var v_aProviders = G_QanApp.F_GetLoggingView().providersList;
  26. var v_aViewColorSchemes = G_QanApp.F_GetLoggingView().highlightList;
  27. var v_nlListItems = this.m_nProvidersListView.selectNodes( 'listItems/listItem' );
  28. for( var i = 0; i < v_nlListItems.length; ++i )
  29. {
  30. var v_sProviderColorScheme = v_nlListItems[i].getAttribute( "colorScheme" );
  31. v_aViewColorSchemes[i] = (v_sProviderColorScheme && v_sProviderColorScheme != v_aColorSchemes[0][0])? v_sProviderColorScheme: "none";
  32. }
  33. G_QanApp.F_GetLoggingView().savePreferences(G_QanApp.F_GetLoggingView().document);
  34. G_QanApp.F_GetLoggingView().applyPreferences(G_QanApp.F_GetLoggingView().document);
  35. // set properties
  36. this.M_fnSuper_OnOK();
  37. };
  38. var v_aColorSchemes =
  39. [
  40. [ "&lt;clear&gt;", [] ],
  41. [ "red", [ "#ffcccc", "#ff9999", "#ff0000", "#cc0000" ] ],
  42. [ "orange", [ "#ffcccc", "#ffcc99", "#ff6600", "#cc3300" ] ],
  43. [ "yellow", [ "#ffffcc", "#ffff99", "#ffcc00", "#cc9900" ] ],
  44. [ "green", [ "#ccffcc", "#99ff99", "#00cc00", "#009900" ] ],
  45. [ "cyan", [ "#ccffff", "#99ffff", "#009999", "#006666" ] ],
  46. [ "purple", [ "#ffccff", "#cc99ff", "#660099", "#330066" ] ],
  47. [ "pink", [ "#ffccff", "#ff99cc", "#cc0099", "#990066" ] ],
  48. [ "grey", [ "#cccccc", "#999999", "#666666", "#333333" ] ],
  49. [ "blue", [ "#ccccff", "#9999ff", "#0033cc", "#003399" ] ]
  50. ];
  51. D_QanPreferencies.f_getColorSchemesListView = function( v_document )
  52. {
  53. if( this.m_nColorSchemesListView )
  54. return this.m_nColorSchemesListView;
  55. var d = v_document;
  56. var v_nListView = d.createElement( "listView" );
  57. v_nListView.setAttribute( "allowCtrlDeselect", "false" );
  58. v_nListView.setAttribute( "hotTracking", "false" );
  59. var v_nListItems = v_nListView.appendChild( d.createElement( "listItems" ) );
  60. for( var iColor = 0; iColor < v_aColorSchemes.length; ++iColor )
  61. {
  62. var v_nListItem = v_nListItems.appendChild( d.createElement( "listItem" ) );
  63. v_nListItem.setAttribute( "value", v_aColorSchemes[iColor][0] );
  64. var v_sHtml = "";
  65. var v_aColors = v_aColorSchemes[iColor][1];
  66. for( var i = 0; i < v_aColors.length; ++i )
  67. v_sHtml += '<img src="../hal/images/blank.gif"; style="background-color:' + v_aColors[i] + '; width:11px; height:11px; vertical-align:middle">';
  68. v_sHtml += '<span style="padding-left:3px;">' + v_aColorSchemes[iColor][0] + '</span>';
  69. v_nListItem.setAttribute( "html", v_sHtml );
  70. }
  71. this.m_nColorSchemesListView = v_nListView;
  72. return v_nListView;
  73. }
  74. D_QanPreferencies.f_getProviderListView = function( v_document )
  75. {
  76. if( this.m_nProvidersListView )
  77. return this.m_nProvidersListView;
  78. var d = v_document;
  79. var v_aProviders = G_QanApp.F_GetLoggingView().providersList;
  80. var v_aColorScheme = G_QanApp.F_GetLoggingView().highlightList;
  81. var v_nListView = d.createElement( "listView" );
  82. v_nListView.setAttribute( "allowCtrlDeselect", "false" );
  83. v_nListView.setAttribute( "hotTracking", "false" );
  84. var v_nListItems = v_nListView.appendChild( d.createElement( "listItems" ) );
  85. for( var iProvider = 0; iProvider < v_aProviders.length; ++iProvider )
  86. {
  87. var v_nListItem = v_nListItems.appendChild( d.createElement( "listItem" ) );
  88. var v_aColorSchemeInfo = this.f_findColorSchemeInfo( v_aColorScheme[iProvider] );
  89. var v_sProviderName = v_aProviders[iProvider].replace(/\./, "");
  90. v_nListItem.setAttribute( "value", v_sProviderName );
  91. v_nListItem.setAttribute( "colorScheme", v_aColorSchemeInfo? v_aColorSchemeInfo[0]: v_aColorSchemes[0][0] );
  92. D_QanPreferencies.f_setProviderItemListHtml( v_nListItem );
  93. }
  94. this.m_nProvidersListView = v_nListView;
  95. return v_nListView;
  96. }
  97. D_QanPreferencies.f_setProviderItemListHtml = function( nListItem )
  98. {
  99. var v_sProviderName = nListItem.getAttribute( "value" );
  100. var v_sColorScheme = nListItem.getAttribute( "colorScheme" );
  101. var v_aColorSchemeInfo = this.f_findColorSchemeInfo( v_sColorScheme );
  102. var v_sFontColor = (v_aColorSchemeInfo && v_aColorSchemeInfo[1][3])? v_aColorSchemeInfo[1][3]: "";
  103. var v_sHtml = '<span style="color:' + v_sFontColor + ';">' + v_sProviderName + '</span>';
  104. nListItem.setAttribute( "html", v_sHtml );
  105. }
  106. D_QanPreferencies.f_findColorSchemeInfo = function( sColorSchemeName )
  107. {
  108. for( var i = 0; i < v_aColorSchemes.length; ++i )
  109. if( v_aColorSchemes[i][0] == sColorSchemeName )
  110. return v_aColorSchemes[i];
  111. }
  112. D_QanPreferencies.F_ListView_OnItemClick = function( v_oListView, v_nListItem, v_iMouseButton )
  113. {
  114. if( v_oListView == this.M_oInst.m_cboProviders )
  115. this.f_updateColorSchemeList( v_nListItem );
  116. else
  117. this.f_updateColorSchemeOfActiveProvider( v_nListItem );
  118. }
  119. D_QanPreferencies.f_updateColorSchemeList = function( nActiveProviderListItem )
  120. {
  121. var v_sCurrentColorScheme = nActiveProviderListItem.getAttribute( "colorScheme" );
  122. this.M_oInst.m_cboColorSchemes.F_SelectByValue( v_sCurrentColorScheme? v_sCurrentColorScheme: v_aColorSchemes[0][0] );
  123. }
  124. D_QanPreferencies.f_updateColorSchemeOfActiveProvider = function( nActiveColorScheme )
  125. {
  126. var v_sCurrentColorScheme = nActiveColorScheme.getAttribute( "value" );
  127. var v_nSelectedProviderItem = this.M_oInst.m_cboProviders.F_GetSelectedListItem();
  128. v_nSelectedProviderItem.setAttribute( "colorScheme", v_sCurrentColorScheme );
  129. this.f_setProviderItemListHtml( v_nSelectedProviderItem );
  130. this.M_oInst.m_cboProviders.F_Draw();
  131. }