using System;
using System.Web.UI.WebControls;
using CMS.GlobalHelper;
using CMS.PortalEngine;
using CMS.SettingsProvider;
using CMS.SiteProvider;
using CMS.UIControls;
using CMS.DocumentEngine;
using CMS.Controls.Configuration;
using CMS.CMSHelper;
public partial class CMSModules_PortalEngine_UI_WebParts_WebPartProperties_header : CMSWebPartPropertiesPage
{
#region "Variables"
private bool showCodeTab = ValidationHelper.GetBoolean(SettingsHelper.AppSettings["CMSShowWebPartCodeTab"], false);
private bool showBindingTab = ValidationHelper.GetBoolean(SettingsHelper.AppSettings["CMSShowWebPartBindingTab"], false);
#endregion
#region "Page events"
protected void Page_Load(object sender, EventArgs e)
{
// Initialize page title
PageTitle.TitleText = GetString("WebpartProperties.Title");
PageTitle.TitleImage = GetImageUrl("CMSModules/CMS_PortalEngine/Webpartproperties.png");
if (!RequestHelper.IsPostBack())
{
InitalizeMenu();
}
tabsElem.OnTabCreated += tabElem_OnTabCreated;
ScriptHelper.RegisterWOpenerScript(Page);
ScriptHelper.RegisterClientScriptBlock(this, typeof(string), ScriptHelper.NEWWINDOW_SCRIPT_KEY, ScriptHelper.NewWindowScript);
}
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
tabsElem.DoTabSelection();
}
#endregion
#region "Methods"
///
/// Initializes menu.
///
protected void InitalizeMenu()
{
if (webpartId != string.Empty)
{
// get pageinfo
PageInfo pi = GetPageInfo(aliasPath, templateId, cultureCode);
if (pi == null)
{
Visible = false;
return;
}
PageTemplateInfo pti = pi.UsedPageTemplateInfo;
if (pti != null)
{
WebPartInfo wi = null;
// Get web part
WebPartInstance webPart = pti.GetWebPart(instanceGuid, webpartId);
if (webPart != null)
{
wi = WebPartInfoProvider.GetWebPartInfo(webPart.WebPartType);
if (ValidationHelper.GetString(webPart.GetValue("WebPartCode"), string.Empty).Trim() != string.Empty)
{
showCodeTab = true;
}
if (webPart.Bindings.Count > 0)
{
showBindingTab = true;
}
}
else
{
wi = WebPartInfoProvider.GetWebPartInfo(ValidationHelper.GetInteger(webpartId, 0));
}
if (wi != null)
{
// Generate documentation link
Literal ltr = new Literal();
PageTitle.RightPlaceHolder.Controls.Add(ltr);
string docScript = "NewWindow('" + ResolveUrl("~/CMSModules/PortalEngine/UI/WebParts/WebPartDocumentationPage.aspx") + "?webpartid=" + ScriptHelper.GetString(wi.WebPartName, false) + "', 'WebPartPropertiesDocumentation', 800, 800); return false;";
ltr.Text += "
";
PageTitle.TitleText = GetString("WebpartProperties.Title") + " (" + HTMLHelper.HTMLEncode(ResHelper.LocalizeString(wi.WebPartDisplayName)) + ")";
}
}
}
tabsElem.UrlTarget = "webpartpropertiescontent";
}
#endregion
#region "Control events"
protected TabItem tabElem_OnTabCreated(UIElementInfo element, TabItem tab, int tabIndex)
{
String script = "SetTabsContext('');";
String defaultParam = tab.OnClientClick;
switch (element.ElementName.ToLowerCSafe())
{
case "webpartproperties.general":
if (CMSContext.ViewMode == ViewModeEnum.Wireframe)
{
tab.SkipCheckPermissions = true;
}
break;
case "webpartproperties.code":
if (!showCodeTab || isNew || isNewVariant)
{
return null;
}
break;
case "webpartproperties.variant":
script = "SetTabsContext('variants');";
String varName = (variantMode == VariantModeEnum.MVT) ? "mvtvariant_edit" : "cpvariant_edit";
defaultParam = "if (window.SetHelpTopic) { window.SetHelpTopic('helpTopic', '" + varName + "')}";
if ((variantId <= 0) || isNew || isNewVariant)
{
return null;
}
break;
case "webpartzoneproperties.variant":
if ((zoneVariantId <= 0) || isNew)
{
return null;
}
break;
case "webpartproperties.bindings":
if (!showBindingTab || isNew || isNewVariant)
{
return null;
}
break;
case "webpartproperties.layout":
if (isNew || isNewVariant)
{
return null;
}
break;
}
tab.OnClientClick = script + defaultParam;
return tab;
}
#endregion
}