using System; using System.Web.UI.WebControls; using CMS.UIControls; using MenuItem = CMS.UIControls.UniMenuConfig.Item; public partial class CMSAdminControls_UI_UniMenu_Content_ContentMenu : CMSUserControl { #region "Variables" private string titlePrefix = "general."; private string tooltipPrefix = "documents."; private string mNewImageUrl = null; private string mDeleteImageUrl = null; private int mBigButtonMinimalWidth = 40; private int mSmallButtonMinimalWidth = 66; private int mShrinkedButtonMinimalWidth = 70; #endregion #region "Properties" /// /// Width of the big menu button. /// public int BigButtonMinimalWidth { get { return mBigButtonMinimalWidth; } set { mBigButtonMinimalWidth = value; } } /// /// Width of the small menu button. /// public int SmallButtonMinimalWidth { get { return mSmallButtonMinimalWidth; } set { mSmallButtonMinimalWidth = value; } } /// /// Width of 'New' and 'Delete' buttons when AllButtonsAreSmall is set to true. /// public int ShrinkedButtonMinimalWidth { get { return mShrinkedButtonMinimalWidth; } set { mShrinkedButtonMinimalWidth = value; } } /// /// When set to true, all buttons are rendered as small. /// public bool AllButtonsAreSmall { get; set; } /// /// Resource string key prefix used for obtaining titles for buttons. 'general.' by defualt. /// public string TitleStringPrefix { get { return titlePrefix; } set { titlePrefix = value; } } /// /// Resource string key prefix used for obtaining tooltips for buttons. 'documents.' by defualt. /// public string TooltipStringPrefix { get { return tooltipPrefix; } set { tooltipPrefix = value; } } /// /// The 'New document' action icon path. /// public string NewImageUrl { get { return mNewImageUrl ?? GetImageUrl("CMSModules/CMS_Content/Menu/New.png"); } set { mNewImageUrl = value; } } /// /// The 'Delete document' action icon path. /// public string DeleteImageUrl { get { return mDeleteImageUrl ?? GetImageUrl("CMSModules/CMS_Content/Menu/Delete.png"); } set { mDeleteImageUrl = value; } } #endregion #region "Methods" protected void Page_Load(object sender, EventArgs e) { // New button MenuItem newItem = new MenuItem(); newItem.Text = GetTitleString("new"); newItem.Tooltip = GetTooltipString("newtooltip"); newItem.OnClientClick = "if (!NewItem()) return;"; newItem.ImagePath = NewImageUrl; newItem.ImageAltText = GetTooltipString("newtooltip"); if (AllButtonsAreSmall) { AddSmallButton(newItem, ShrinkedButtonMinimalWidth); } else { AddBigButton(newItem); } // Delete button MenuItem deleteItem = new MenuItem(); deleteItem.Text = GetTitleString("delete"); deleteItem.Tooltip = GetTooltipString("deletetooltip"); deleteItem.OnClientClick = "if(!DeleteItem()) return;"; deleteItem.ImagePath = DeleteImageUrl; deleteItem.ImageAltText = GetTooltipString("deletetooltip"); if (AllButtonsAreSmall) { AddSmallButton(deleteItem, ShrinkedButtonMinimalWidth); } else { AddBigButton(deleteItem); } // Copy button MenuItem copyItem = new MenuItem(); copyItem.Text = GetTitleString("copy"); copyItem.Tooltip = GetTooltipString("copytooltip"); copyItem.OnClientClick = "if(CheckChanges()) { CopyRef(GetSelectedNodeId()); };"; copyItem.ImagePath = GetImageUrl("CMSModules/CMS_Content/Menu/Copy.png"); copyItem.ImageAltText = GetTooltipString("copytooltip"); AddSmallButton(copyItem); // Move button MenuItem moveItem = new MenuItem(); moveItem.Text = GetTitleString("move"); moveItem.Tooltip = GetTooltipString("movetooltip"); moveItem.OnClientClick = "if(CheckChanges()) { MoveRef(GetSelectedNodeId()); };"; moveItem.ImagePath = GetImageUrl("CMSModules/CMS_Content/Menu/Move.png"); moveItem.ImageAltText = GetTooltipString("movetooltip"); AddSmallButton(moveItem); // Up button MenuItem upItem = new MenuItem(); upItem.Text = GetTitleString("up"); upItem.Tooltip = GetTooltipString("uptooltip"); upItem.OnClientClick = "if(!MoveUp()) return;"; upItem.ImagePath = GetImageUrl("CMSModules/CMS_Content/Menu/Up.png"); upItem.ImageAltText = GetTooltipString("uptooltip"); AddSmallButton(upItem); // Down button MenuItem downItem = new MenuItem(); downItem.Text = GetTitleString("down"); downItem.Tooltip = GetTooltipString("downtooltip"); downItem.OnClientClick = "if(!MoveDown()) return;"; downItem.ImagePath = GetImageUrl("CMSModules/CMS_Content/Menu/Down.png"); downItem.ImageAltText = GetTooltipString("downtooltip"); AddSmallButton(downItem); } /// /// Adds given menu item as small button of specified width. /// /// Menu item to be added. /// Width of button. private void AddSmallButton(MenuItem item, int width) { item.CssClass = "SmallButton"; item.ImageAlign = ImageAlign.AbsMiddle; item.MinimalWidth = width; buttonsSmall.Buttons.Add(item); } /// /// Adds given menu item as small button. /// /// Menu item to be added. private void AddSmallButton(MenuItem item) { AddSmallButton(item, SmallButtonMinimalWidth); } /// /// Adds given menu item as big button. /// /// Menu item to be added. private void AddBigButton(MenuItem item) { item.CssClass = "BigButton"; item.ImageAlign = ImageAlign.Top; item.MinimalWidth = BigButtonMinimalWidth; buttonsBig.Buttons.Add(item); } private string GetTitleString(string key) { return GetString(TitleStringPrefix + key); } private string GetTooltipString(string key) { return GetString(TooltipStringPrefix + key); } #endregion }