/****************************************************************************************************************************
Licensed Materials - Property of IBM
BI and PM: QFW
© Copyright IBM Corp. 2005, 2010
US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
*****************************************************************************************************************************/
D_QanPreferencies.F_Dialog_OnBeforeVisible = function()
{
this.m_nQanProivderListView = G_ResManager.F_GetResource( 'qanProviders' );
this.M_oInst.m_cboProviders = new C_ListView( this.F_GetDlgItem( "cboProviders" ),
this.f_getProviderListView(this.m_nQanProivderListView.ownerDocument), this );
this.M_oInst.m_cboColorSchemes = new C_ListView( this.F_GetDlgItem( "cboColorSchemes" ),
this.f_getColorSchemesListView(this.m_nQanProivderListView.ownerDocument), this );
this.M_oInst.m_cboProviders.F_SelectByValue( "QFS" );
this.F_GetDlgItem("chkMainMethodsOnly").checked = ( G_QanApp.F_GetLoggingView().nHLdisplay == "none" );
this.F_GetDlgItem("chkShowTimestamp").checked = ( G_QanApp.F_GetLoggingView().timeStamp == "inline" );
};
D_QanPreferencies.F_OnOK = function()
{
var v_bMainMethodsOnly = this.F_GetDlgItem("chkMainMethodsOnly").checked;
G_QanApp.F_GetLoggingView().nHLdisplay = (v_bMainMethodsOnly)? "none": "block";
var v_bShowTimestamp = this.F_GetDlgItem("chkShowTimestamp").checked;
G_QanApp.F_GetLoggingView().timeStamp = (v_bShowTimestamp)? "inline": "none";
G_QanApp.F_GetLoggingView().nHLtimeStamp = (v_bShowTimestamp)? "inline": "none";
var v_aProviders = G_QanApp.F_GetLoggingView().providersList;
var v_aViewColorSchemes = G_QanApp.F_GetLoggingView().highlightList;
var v_nlListItems = this.m_nProvidersListView.selectNodes( 'listItems/listItem' );
for( var i = 0; i < v_nlListItems.length; ++i )
{
var v_sProviderColorScheme = v_nlListItems[i].getAttribute( "colorScheme" );
v_aViewColorSchemes[i] = (v_sProviderColorScheme && v_sProviderColorScheme != v_aColorSchemes[0][0])? v_sProviderColorScheme: "none";
}
G_QanApp.F_GetLoggingView().savePreferences(G_QanApp.F_GetLoggingView().document);
G_QanApp.F_GetLoggingView().applyPreferences(G_QanApp.F_GetLoggingView().document);
// set properties
this.M_fnSuper_OnOK();
};
var v_aColorSchemes =
[
[ "<clear>", [] ],
[ "red", [ "#ffcccc", "#ff9999", "#ff0000", "#cc0000" ] ],
[ "orange", [ "#ffcccc", "#ffcc99", "#ff6600", "#cc3300" ] ],
[ "yellow", [ "#ffffcc", "#ffff99", "#ffcc00", "#cc9900" ] ],
[ "green", [ "#ccffcc", "#99ff99", "#00cc00", "#009900" ] ],
[ "cyan", [ "#ccffff", "#99ffff", "#009999", "#006666" ] ],
[ "purple", [ "#ffccff", "#cc99ff", "#660099", "#330066" ] ],
[ "pink", [ "#ffccff", "#ff99cc", "#cc0099", "#990066" ] ],
[ "grey", [ "#cccccc", "#999999", "#666666", "#333333" ] ],
[ "blue", [ "#ccccff", "#9999ff", "#0033cc", "#003399" ] ]
];
D_QanPreferencies.f_getColorSchemesListView = function( v_document )
{
if( this.m_nColorSchemesListView )
return this.m_nColorSchemesListView;
var d = v_document;
var v_nListView = d.createElement( "listView" );
v_nListView.setAttribute( "allowCtrlDeselect", "false" );
v_nListView.setAttribute( "hotTracking", "false" );
var v_nListItems = v_nListView.appendChild( d.createElement( "listItems" ) );
for( var iColor = 0; iColor < v_aColorSchemes.length; ++iColor )
{
var v_nListItem = v_nListItems.appendChild( d.createElement( "listItem" ) );
v_nListItem.setAttribute( "value", v_aColorSchemes[iColor][0] );
var v_sHtml = "";
var v_aColors = v_aColorSchemes[iColor][1];
for( var i = 0; i < v_aColors.length; ++i )
v_sHtml += '
';
v_sHtml += '' + v_aColorSchemes[iColor][0] + '';
v_nListItem.setAttribute( "html", v_sHtml );
}
this.m_nColorSchemesListView = v_nListView;
return v_nListView;
}
D_QanPreferencies.f_getProviderListView = function( v_document )
{
if( this.m_nProvidersListView )
return this.m_nProvidersListView;
var d = v_document;
var v_aProviders = G_QanApp.F_GetLoggingView().providersList;
var v_aColorScheme = G_QanApp.F_GetLoggingView().highlightList;
var v_nListView = d.createElement( "listView" );
v_nListView.setAttribute( "allowCtrlDeselect", "false" );
v_nListView.setAttribute( "hotTracking", "false" );
var v_nListItems = v_nListView.appendChild( d.createElement( "listItems" ) );
for( var iProvider = 0; iProvider < v_aProviders.length; ++iProvider )
{
var v_nListItem = v_nListItems.appendChild( d.createElement( "listItem" ) );
var v_aColorSchemeInfo = this.f_findColorSchemeInfo( v_aColorScheme[iProvider] );
var v_sProviderName = v_aProviders[iProvider].replace(/\./, "");
v_nListItem.setAttribute( "value", v_sProviderName );
v_nListItem.setAttribute( "colorScheme", v_aColorSchemeInfo? v_aColorSchemeInfo[0]: v_aColorSchemes[0][0] );
D_QanPreferencies.f_setProviderItemListHtml( v_nListItem );
}
this.m_nProvidersListView = v_nListView;
return v_nListView;
}
D_QanPreferencies.f_setProviderItemListHtml = function( nListItem )
{
var v_sProviderName = nListItem.getAttribute( "value" );
var v_sColorScheme = nListItem.getAttribute( "colorScheme" );
var v_aColorSchemeInfo = this.f_findColorSchemeInfo( v_sColorScheme );
var v_sFontColor = (v_aColorSchemeInfo && v_aColorSchemeInfo[1][3])? v_aColorSchemeInfo[1][3]: "";
var v_sHtml = '' + v_sProviderName + '';
nListItem.setAttribute( "html", v_sHtml );
}
D_QanPreferencies.f_findColorSchemeInfo = function( sColorSchemeName )
{
for( var i = 0; i < v_aColorSchemes.length; ++i )
if( v_aColorSchemes[i][0] == sColorSchemeName )
return v_aColorSchemes[i];
}
D_QanPreferencies.F_ListView_OnItemClick = function( v_oListView, v_nListItem, v_iMouseButton )
{
if( v_oListView == this.M_oInst.m_cboProviders )
this.f_updateColorSchemeList( v_nListItem );
else
this.f_updateColorSchemeOfActiveProvider( v_nListItem );
}
D_QanPreferencies.f_updateColorSchemeList = function( nActiveProviderListItem )
{
var v_sCurrentColorScheme = nActiveProviderListItem.getAttribute( "colorScheme" );
this.M_oInst.m_cboColorSchemes.F_SelectByValue( v_sCurrentColorScheme? v_sCurrentColorScheme: v_aColorSchemes[0][0] );
}
D_QanPreferencies.f_updateColorSchemeOfActiveProvider = function( nActiveColorScheme )
{
var v_sCurrentColorScheme = nActiveColorScheme.getAttribute( "value" );
var v_nSelectedProviderItem = this.M_oInst.m_cboProviders.F_GetSelectedListItem();
v_nSelectedProviderItem.setAttribute( "colorScheme", v_sCurrentColorScheme );
this.f_setProviderItemListHtml( v_nSelectedProviderItem );
this.M_oInst.m_cboProviders.F_Draw();
}