class ImageStyle
{
- public ImageStyle (string expand, string collapse, string noExpand, string icon, string iconLeaf, string iconRoot) {
+ public ImageStyle (string expand, string collapse, string noExpand, string icon, string iconLeaf, string iconRoot)
+ {
Expand = expand;
Collapse = collapse;
NoExpand = noExpand;
{
if (Events != null) {
TreeNodeEventHandler eh = (TreeNodeEventHandler) Events [TreeNodeCheckChangedEvent];
- if (eh != null) eh (this, e);
+ if (eh != null)
+ eh (this, e);
}
}
{
if (Events != null) {
EventHandler eh = (EventHandler) Events [SelectedNodeChangedEvent];
- if (eh != null) eh (this, e);
+ if (eh != null)
+ eh (this, e);
}
}
{
if (Events != null) {
TreeNodeEventHandler eh = (TreeNodeEventHandler) Events [TreeNodeCollapsedEvent];
- if (eh != null) eh (this, e);
+ if (eh != null)
+ eh (this, e);
}
}
{
if (Events != null) {
TreeNodeEventHandler eh = (TreeNodeEventHandler) Events [TreeNodeDataBoundEvent];
- if (eh != null) eh (this, e);
+ if (eh != null)
+ eh (this, e);
}
}
{
if (Events != null) {
TreeNodeEventHandler eh = (TreeNodeEventHandler) Events [TreeNodeExpandedEvent];
- if (eh != null) eh (this, e);
+ if (eh != null)
+ eh (this, e);
}
}
{
if (Events != null) {
TreeNodeEventHandler eh = (TreeNodeEventHandler) Events [TreeNodePopulateEvent];
- if (eh != null) eh (this, e);
+ if (eh != null)
+ eh (this, e);
}
}
[Localizable (true)]
public string CollapseImageToolTip {
- get {
- return ViewState.GetString ("CollapseImageToolTip", "Collapse {0}");
- }
- set {
- ViewState["CollapseImageToolTip"] = value;
- }
+ get { return ViewState.GetString ("CollapseImageToolTip", "Collapse {0}"); }
+ set { ViewState["CollapseImageToolTip"] = value; }
}
[MonoTODO ("Implement support for this")]
[WebSysDescription ("Whether the tree will automatically generate bindings.")]
[DefaultValue (true)]
public bool AutoGenerateDataBindings {
- get {
- return ViewState.GetBool ("AutoGenerateDataBindings", true);
- }
- set {
- ViewState["AutoGenerateDataBindings"] = value;
- }
+ get { return ViewState.GetBool ("AutoGenerateDataBindings", true); }
+ set { ViewState["AutoGenerateDataBindings"] = value; }
}
[DefaultValue ("")]
[WebCategory ("Appearance")]
[Editor ("System.Web.UI.Design.ImageUrlEditor, " + Consts.AssemblySystem_Design, "System.Drawing.Design.UITypeEditor, " + Consts.AssemblySystem_Drawing)]
public string CollapseImageUrl {
- get {
- return ViewState.GetString ("CollapseImageUrl", "");
- }
- set {
- ViewState["CollapseImageUrl"] = value;
- }
+ get { return ViewState.GetString ("CollapseImageUrl", String.Empty); }
+ set { ViewState["CollapseImageUrl"] = value; }
}
[WebCategory ("Data")]
[Themeable (false)]
[DefaultValue (true)]
public bool EnableClientScript {
- get {
- return ViewState.GetBool ("EnableClientScript", true);
- }
- set {
- ViewState["EnableClientScript"] = value;
- }
+ get { return ViewState.GetBool ("EnableClientScript", true); }
+ set { ViewState["EnableClientScript"] = value; }
}
[DefaultValue (-1)]
[WebSysDescription ("The initial expand depth.")]
[TypeConverter ("System.Web.UI.WebControls.TreeView+TreeViewExpandDepthConverter, " + Consts.AssemblySystem_Web)]
public int ExpandDepth {
- get {
- return ViewState.GetInt ("ExpandDepth", -1);
- }
- set {
- ViewState["ExpandDepth"] = value;
- }
+ get { return ViewState.GetInt ("ExpandDepth", -1); }
+ set { ViewState["ExpandDepth"] = value; }
}
[Localizable (true)]
public string ExpandImageToolTip {
- get {
- return ViewState.GetString ("ExpandImageToolTip", "Expand {0}");
- }
- set {
- ViewState["ExpandImageToolTip"] = value;
- }
+ get { return ViewState.GetString ("ExpandImageToolTip", "Expand {0}"); }
+ set { ViewState["ExpandImageToolTip"] = value; }
}
[DefaultValue ("")]
[WebCategory ("Appearance")]
[Editor ("System.Web.UI.Design.ImageUrlEditor, " + Consts.AssemblySystem_Design, "System.Drawing.Design.UITypeEditor, " + Consts.AssemblySystem_Drawing)]
public string ExpandImageUrl {
- get {
- return ViewState.GetString ("ExpandImageUrl", "");
- }
- set {
- ViewState["ExpandImageUrl"] = value;
- }
+ get { return ViewState.GetString ("ExpandImageUrl", String.Empty); }
+ set { ViewState["ExpandImageUrl"] = value; }
}
[PersistenceMode (PersistenceMode.InnerProperty)]
[DefaultValue (TreeViewImageSet.Custom)]
public TreeViewImageSet ImageSet {
- get {
- return (TreeViewImageSet)ViewState.GetInt ("ImageSet", (int)TreeViewImageSet.Custom);
- }
+ get { return (TreeViewImageSet)ViewState.GetInt ("ImageSet", (int)TreeViewImageSet.Custom); }
set {
if (!Enum.IsDefined (typeof (TreeViewImageSet), value))
throw new ArgumentOutOfRangeException ();
[DefaultValue ("")]
public string LineImagesFolder {
- get {
- return ViewState.GetString ("LineImagesFolder", "");
- }
- set {
- ViewState["LineImagesFolder"] = value;
- }
+ get { return ViewState.GetString ("LineImagesFolder", String.Empty); }
+ set { ViewState["LineImagesFolder"] = value; }
}
[DefaultValue (-1)]
public int MaxDataBindDepth {
- get {
- return ViewState.GetInt ("MaxDataBindDepth", -1);
- }
- set {
- ViewState["MaxDataBindDepth"] = value;
- }
+ get { return ViewState.GetInt ("MaxDataBindDepth", -1); }
+ set { ViewState["MaxDataBindDepth"] = value; }
}
[DefaultValue (20)]
public int NodeIndent {
- get {
- return ViewState.GetInt ("NodeIndent", 20);
- }
- set {
- ViewState["NodeIndent"] = value;
- }
+ get { return ViewState.GetInt ("NodeIndent", 20); }
+ set { ViewState["NodeIndent"] = value; }
}
[PersistenceMode (PersistenceMode.InnerProperty)]
[DefaultValue (false)]
public bool NodeWrap {
- get {
- return ViewState.GetBool ("NodeWrap", false);
- }
- set {
- ViewState ["NodeWrap"] = value;
- }
+ get { return ViewState.GetBool ("NodeWrap", false); }
+ set { ViewState ["NodeWrap"] = value; }
}
[UrlProperty]
[WebCategory ("Appearance")]
[Editor ("System.Web.UI.Design.ImageUrlEditor, " + Consts.AssemblySystem_Design, "System.Drawing.Design.UITypeEditor, " + Consts.AssemblySystem_Drawing)]
public string NoExpandImageUrl {
- get {
- return ViewState.GetString ("NoExpandImageUrl", "");
- }
- set {
- ViewState ["NoExpandImageUrl"] = value;
- }
+ get { return ViewState.GetString ("NoExpandImageUrl", String.Empty); }
+ set { ViewState ["NoExpandImageUrl"] = value; }
}
[PersistenceMode (PersistenceMode.InnerProperty)]
[DefaultValue ('/')]
public char PathSeparator {
- get {
- return ViewState.GetChar ("PathSeparator", '/');
- }
- set {
- ViewState ["PathSeparator"] = value;
- }
+ get { return ViewState.GetChar ("PathSeparator", '/'); }
+ set { ViewState ["PathSeparator"] = value; }
}
[DefaultValue (true)]
public bool PopulateNodesFromClient {
- get {
- return ViewState.GetBool ("PopulateNodesFromClient", true);
- }
- set {
- ViewState ["PopulateNodesFromClient"] = value;
- }
+ get { return ViewState.GetBool ("PopulateNodesFromClient", true); }
+ set { ViewState ["PopulateNodesFromClient"] = value; }
}
[PersistenceMode (PersistenceMode.InnerProperty)]
Style RootNodeLinkStyle {
get {
- if (rootNodeLinkStyle == null) {
+ if (rootNodeLinkStyle == null)
rootNodeLinkStyle = new Style ();
- }
return rootNodeLinkStyle;
}
}
Style ParentNodeLinkStyle {
get {
- if (parentNodeLinkStyle == null) {
+ if (parentNodeLinkStyle == null)
parentNodeLinkStyle = new Style ();
- }
return parentNodeLinkStyle;
}
}
Style SelectedNodeLinkStyle {
get {
- if (selectedNodeLinkStyle == null) {
+ if (selectedNodeLinkStyle == null)
selectedNodeLinkStyle = new Style ();
- }
return selectedNodeLinkStyle;
}
}
Style LeafNodeLinkStyle {
get {
- if (leafNodeLinkStyle == null) {
+ if (leafNodeLinkStyle == null)
leafNodeLinkStyle = new Style ();
- }
return leafNodeLinkStyle;
}
}
Style HoverNodeLinkStyle {
get {
- if (hoverNodeLinkStyle == null) {
+ if (hoverNodeLinkStyle == null)
hoverNodeLinkStyle = new Style ();
- }
return hoverNodeLinkStyle;
}
}
[DefaultValue (TreeNodeTypes.None)]
public TreeNodeTypes ShowCheckBoxes {
- get {
- return (TreeNodeTypes)ViewState.GetInt ("ShowCheckBoxes", (int)TreeNodeTypes.None);
- }
+ get { return (TreeNodeTypes)ViewState.GetInt ("ShowCheckBoxes", (int)TreeNodeTypes.None); }
set {
if ((int) value > 7)
throw new ArgumentOutOfRangeException ();
[DefaultValue (true)]
public bool ShowExpandCollapse {
- get {
- return ViewState.GetBool ("ShowExpandCollapse", true);
- }
- set {
- ViewState ["ShowExpandCollapse"] = value;
- }
+ get { return ViewState.GetBool ("ShowExpandCollapse", true); }
+ set { ViewState ["ShowExpandCollapse"] = value; }
}
[DefaultValue (false)]
public bool ShowLines {
- get {
- return ViewState.GetBool ("ShowLines", false);
- }
- set {
- ViewState ["ShowLines"] = value;
- }
+ get { return ViewState.GetBool ("ShowLines", false); }
+ set { ViewState ["ShowLines"] = value; }
}
[Localizable (true)]
public string SkipLinkText
{
- get {
- return ViewState.GetString ("SkipLinkText", "Skip Navigation Links.");
- }
- set {
- ViewState ["SkipLinkText"] = value;
- }
+ get { return ViewState.GetString ("SkipLinkText", "Skip Navigation Links."); }
+ set { ViewState ["SkipLinkText"] = value; }
}
[DefaultValue ("")]
[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
public string SelectedValue {
- get { return selectedNode != null ? selectedNode.Value : ""; }
+ get { return selectedNode != null ? selectedNode.Value : String.Empty; }
}
[DefaultValue ("")]
public string Target {
- get {
- return ViewState.GetString ("Target", "");
- }
- set {
- ViewState ["Target"] = value;
- }
+ get { return ViewState.GetString ("Target", String.Empty); }
+ set { ViewState ["Target"] = value; }
}
[MonoTODO ("why override?")]
public override bool Visible
{
- get {
- return base.Visible;
- }
- set {
- base.Visible = value;
- }
+ get { return base.Visible; }
+ set { base.Visible = value; }
}
[Browsable (false)]
void FindCheckedNodes (TreeNodeCollection nodeList, TreeNodeCollection result)
{
foreach (TreeNode node in nodeList) {
- if (node.Checked) result.Add (node, false);
+ if (node.Checked)
+ result.Add (node, false);
FindCheckedNodes (node.ChildNodes, result);
}
}
public TreeNode FindNode (string valuePath)
{
- if (valuePath == null) throw new ArgumentNullException ("valuePath");
+ if (valuePath == null)
+ throw new ArgumentNullException ("valuePath");
string[] path = valuePath.Split (PathSeparator);
int n = 0;
TreeNodeCollection col = Nodes;
foundBranch = false;
foreach (TreeNode node in col) {
if (node.Value == path [n]) {
- if (++n == path.Length) return node;
+ if (++n == path.Length)
+ return node;
col = node.ChildNodes;
foundBranch = true;
break;
internal void SetSelectedNode (TreeNode node, bool loading)
{
- if (selectedNode == node) return;
+ if (selectedNode == node)
+ return;
if (selectedNode != null)
selectedNode.SelectedFlag = false;
selectedNode = node;
EnsureDataBound ();
base.TrackViewState();
- if (hoverNodeStyle != null) {
+ if (hoverNodeStyle != null)
hoverNodeStyle.TrackViewState();
- }
- if (leafNodeStyle != null) {
+ if (leafNodeStyle != null)
leafNodeStyle.TrackViewState();
- }
- if (levelStyles != null && levelStyles.Count > 0) {
+ if (levelStyles != null && levelStyles.Count > 0)
((IStateManager)levelStyles).TrackViewState();
- }
- if (nodeStyle != null) {
+ if (nodeStyle != null)
nodeStyle.TrackViewState();
- }
- if (parentNodeStyle != null) {
+ if (parentNodeStyle != null)
parentNodeStyle.TrackViewState();
- }
- if (rootNodeStyle != null) {
+ if (rootNodeStyle != null)
rootNodeStyle.TrackViewState();
- }
- if (selectedNodeStyle != null) {
+ if (selectedNodeStyle != null)
selectedNodeStyle.TrackViewState();
- }
- if (dataBindings != null) {
+ if (dataBindings != null)
((IStateManager)dataBindings).TrackViewState ();
- }
- if (nodes != null) {
+ if (nodes != null)
((IStateManager)nodes).TrackViewState();;
- }
}
protected override object SaveViewState()
ValidateEvent (UniqueID, eventArgument);
string[] args = eventArgument.Split ('|');
TreeNode node = FindNodeByPos (args[1]);
- if (node == null) return;
+ if (node == null)
+ return;
if (args [0] == "sel")
HandleSelectEvent (node);
{
string[] segments = args [0].Split ('_');
TreeNode ret = null, node;
- StringBuilder sb = new StringBuilder ();
foreach (string seg in segments) {
int idx = Int32.Parse (seg);
ret = node;
}
- ret.Text = args [1];
- ret.Value = args [2];
- ret.ImageUrl = args [3];
- ret.NavigateUrl = args [4];
- ret.Target = args [5];
+ ret.Value = args [1].Replace ("U+007C", "|");
+ ret.ImageUrl = args [2].Replace ("U+007C", "|");
+ ret.NavigateUrl = args [3].Replace ("U+007C", "|");
+ ret.Target = args [4].Replace ("U+007C", "|");
ret.Tree = this;
NotifyPopulateRequired (ret);
{
base.PerformDataBinding ();
InitializeDataBindings ();
- HierarchicalDataSourceView data = GetData ("");
+ HierarchicalDataSourceView data = GetData (String.Empty);
if (data == null)
return;
Nodes.Clear ();
string[] ids = states.Split ('|');
UnsetExpandStates (Nodes, ids);
SetExpandStates (ids);
- }
- else
+ } else
UnsetExpandStates (Nodes, new string[0]);
res = true;
}
const string _OnPreRender_Script_PopulateCallback =
"{0}.form = {1};\n" +
- "{0}.PopulateNode = function (nodeId, nodeText, nodeValue, nodeImageUrl, nodeNavigateUrl, nodeTarget) {{\n" +
+ "{0}.PopulateNode = function (nodeId, nodeValue, nodeImageUrl, nodeNavigateUrl, nodeTarget) {{\n" +
"\t{2}.__theFormPostData = \"\";\n" +
"\t{2}.__theFormPostCollection = new Array ();\n" +
"\t{2}.WebForm_InitCallback ();\n" +
- "\tTreeView_PopulateNode (this.uid, this.treeId, nodeId, nodeText, nodeValue, nodeImageUrl, nodeNavigateUrl, nodeTarget)\n}};\n";
+ "\tTreeView_PopulateNode (this.uid, this.treeId, nodeId, nodeValue, nodeImageUrl, nodeNavigateUrl, nodeTarget)\n}};\n";
const string _OnPreRender_Script_CallbackOptions =
"{0}.populateFromClient = {1};\n" +
ClientScriptManager.GetScriptLiteral (GetNodeImageToolTip (true, null)),
ClientScriptManager.GetScriptLiteral (GetNodeImageToolTip (false, null)));
- if (!Page.IsPostBack) {
+ if (!Page.IsPostBack)
SetNodesExpandedToDepthRecursive (Nodes);
- }
if (EnableClientScript) {
Page.ClientScript.RegisterHiddenField (ClientID + "_ExpandStates", GetExpandStates ());
Page.ClientScript.RegisterWebFormClientScript ();
}
- if (EnableClientScript && PopulateNodesFromClient) {
+ if (EnableClientScript && PopulateNodesFromClient)
Page.ClientScript.RegisterHiddenField (ClientID + "_PopulatedStates", "|");
- }
EnsureStylesPrepared ();
}
}
- void EnsureStylesPrepared () {
+ void EnsureStylesPrepared ()
+ {
if (stylesPrepared)
return;
stylesPrepared = true;
PrepareStyles ();
}
- void PrepareStyles () {
+ void PrepareStyles ()
+ {
// The order in which styles are defined matters when more than one class
// is assigned to an element
ControlLinkStyle.CopyTextStylesFrom (ControlStyle);
RegisterStyle (SelectedNodeStyle, SelectedNodeLinkStyle);
}
- void SetNodesExpandedToDepthRecursive (TreeNodeCollection nodes) {
+ void SetNodesExpandedToDepthRecursive (TreeNodeCollection nodes)
+ {
foreach (TreeNode node in nodes) {
if (!node.Expanded.HasValue) {
if (ExpandDepth < 0 || node.Depth < ExpandDepth)
}
}
- string IncrementStyleClassName () {
+ string IncrementStyleClassName ()
+ {
registeredStylesCounter++;
return ClientID + "_" + registeredStylesCounter;
}
- void RegisterStyle (Style baseStyle, Style linkStyle) {
+ void RegisterStyle (Style baseStyle, Style linkStyle)
+ {
linkStyle.CopyTextStylesFrom (baseStyle);
linkStyle.BorderStyle = BorderStyle.None;
+ linkStyle.AddCssClass (baseStyle.CssClass);
baseStyle.Font.Reset ();
RegisterStyle (linkStyle);
RegisterStyle (baseStyle);
}
- void RegisterStyle (Style baseStyle) {
+ void RegisterStyle (Style baseStyle)
+ {
if (Page.Header == null)
return;
string className = IncrementStyleClassName ().Trim ('_');
return dataMember + " " + depth;
}
- void InitializeDataBindings () {
+ void InitializeDataBindings ()
+ {
if (dataBindings != null && dataBindings.Count > 0) {
bindings = new Hashtable ();
foreach (TreeNodeBinding bin in dataBindings) {
if (!bindings.ContainsKey(key))
bindings [key] = bin;
}
- }
- else
+ } else
bindings = null;
}
return null;
TreeNodeBinding bin = (TreeNodeBinding) bindings [GetBindingKey (type, depth)];
- if (bin != null) return bin;
+ if (bin != null)
+ return bin;
bin = (TreeNodeBinding) bindings [GetBindingKey (type, -1)];
- if (bin != null) return bin;
+ if (bin != null)
+ return bin;
- bin = (TreeNodeBinding) bindings [GetBindingKey ("", depth)];
- if (bin != null) return bin;
+ bin = (TreeNodeBinding) bindings [GetBindingKey (String.Empty, depth)];
+ if (bin != null)
+ return bin;
- return (TreeNodeBinding) bindings [GetBindingKey ("", -1)];
+ return (TreeNodeBinding) bindings [GetBindingKey (String.Empty, -1)];
}
internal void DecorateNode(TreeNode node)
public override void RenderBeginTag (HtmlTextWriter writer)
{
- if (SkipLinkText != "") {
+ string skipLinkText = SkipLinkText;
+
+ if (!String.IsNullOrEmpty (skipLinkText)) {
writer.AddAttribute (HtmlTextWriterAttribute.Href, "#" + ClientID + "_SkipLink");
writer.RenderBeginTag (HtmlTextWriterTag.A);
img.ImageUrl = csm.GetWebResourceUrl (typeof (SiteMapPath), "transparent.gif");
img.Attributes.Add ("height", "0");
img.Attributes.Add ("width", "0");
- img.AlternateText = SkipLinkText;
+ img.AlternateText = skipLinkText;
img.Render (writer);
writer.RenderEndTag ();
{
base.RenderEndTag (writer);
- if (SkipLinkText != "") {
+ if (!String.IsNullOrEmpty (SkipLinkText)) {
writer.AddAttribute (HtmlTextWriterAttribute.Id, ClientID + "_SkipLink");
writer.RenderBeginTag (HtmlTextWriterTag.A);
writer.RenderEndTag ();
void RenderNode (HtmlTextWriter writer, TreeNode node, int level, ArrayList levelLines, bool hasPrevious, bool hasNext)
{
+ if (node.PopulateOnDemand && node.HadChildrenBeforePopulating)
+ throw new InvalidOperationException ("PopulateOnDemand cannot be set to true on a node that already has children.");
+
DecorateNode(node);
string nodeImage;
else
hasChildNodes = (node.PopulateOnDemand && !node.Populated) || node.ChildNodes.Count > 0;
- writer.AddAttribute ("cellpadding", "0", false);
- writer.AddAttribute ("cellspacing", "0", false);
- writer.AddStyleAttribute ("border-width", "0");
+ writer.AddAttribute (HtmlTextWriterAttribute.Cellpadding, "0", false);
+ writer.AddAttribute (HtmlTextWriterAttribute.Cellspacing, "0", false);
+ writer.AddStyleAttribute (HtmlTextWriterStyle.BorderWidth, "0");
writer.RenderBeginTag (HtmlTextWriterTag.Table);
Unit nodeSpacing = GetNodeSpacing (node);
nodeImage = GetNodeImageUrl ("i", imageStyle);
for (int n=0; n<level; n++) {
writer.RenderBeginTag (HtmlTextWriterTag.Td);
- writer.AddStyleAttribute ("width", NodeIndent + "px");
- writer.AddStyleAttribute ("height", "1px");
+ writer.AddStyleAttribute (HtmlTextWriterStyle.Width, NodeIndent + "px");
+ writer.AddStyleAttribute (HtmlTextWriterStyle.Height, "1px");
writer.RenderBeginTag (HtmlTextWriterTag.Div);
if (ShowLines && levelLines [n] != null) {
- writer.AddAttribute ("src", nodeImage);
- writer.AddAttribute (HtmlTextWriterAttribute.Alt, "", false);
+ writer.AddAttribute (HtmlTextWriterAttribute.Src, nodeImage);
+ writer.AddAttribute (HtmlTextWriterAttribute.Alt, String.Empty, false);
writer.RenderBeginTag (HtmlTextWriterTag.Img);
writer.RenderEndTag ();
}
}
// Node image + line
-
- if (ShowExpandCollapse || ShowLines) {
+ bool showExpandCollapse = ShowExpandCollapse;
+ bool showLines = ShowLines;
+ if (showExpandCollapse || showLines) {
bool buttonImage = false;
- string tooltip = "";
- string shape = "";
+ string tooltip = String.Empty;
+ string shape = String.Empty;
- if (ShowLines) {
- if (hasPrevious && hasNext) shape = "t";
- else if (hasPrevious && !hasNext) shape = "l";
- else if (!hasPrevious && hasNext) shape = "r";
- else shape = "dash";
+ if (showLines) {
+ if (hasPrevious && hasNext)
+ shape = "t";
+ else if (hasPrevious && !hasNext)
+ shape = "l";
+ else if (!hasPrevious && hasNext)
+ shape = "r";
+ else
+ shape = "dash";
}
- if (ShowExpandCollapse) {
+ if (showExpandCollapse) {
if (hasChildNodes) {
buttonImage = true;
- if (node.Expanded.HasValue && node.Expanded.Value) shape += "minus";
- else shape += "plus";
+ if (node.Expanded.HasValue && node.Expanded.Value)
+ shape += "minus";
+ else
+ shape += "plus";
tooltip = GetNodeImageToolTip (!(node.Expanded.HasValue && node.Expanded.Value), node.Text);
- } else if (!ShowLines)
+ } else if (!showLines)
shape = "noexpand";
}
- if (shape != "") {
+ if (!String.IsNullOrEmpty (shape)) {
nodeImage = GetNodeImageUrl (shape, imageStyle);
writer.RenderBeginTag (HtmlTextWriterTag.Td); // TD
if (buttonImage) {
if (!clientExpand || (!PopulateNodesFromClient && node.PopulateOnDemand && !node.Populated))
- writer.AddAttribute ("href", GetClientEvent (node, "ec"));
+ writer.AddAttribute (HtmlTextWriterAttribute.Href, GetClientEvent (node, "ec"));
else
- writer.AddAttribute ("href", GetClientExpandEvent(node));
+ writer.AddAttribute (HtmlTextWriterAttribute.Href, GetClientExpandEvent(node));
writer.RenderBeginTag (HtmlTextWriterTag.A); // Anchor
}
// tooltip is 'HtmlAttributeEncoded'
- writer.AddAttribute ("alt", tooltip);
+ writer.AddAttribute (HtmlTextWriterAttribute.Alt, tooltip);
if (buttonImage && clientExpand)
- writer.AddAttribute ("id", GetNodeClientId (node, "img"));
- writer.AddAttribute ("src", nodeImage);
+ writer.AddAttribute (HtmlTextWriterAttribute.Id, GetNodeClientId (node, "img"));
+ writer.AddAttribute (HtmlTextWriterAttribute.Src, nodeImage);
if (buttonImage)
writer.AddStyleAttribute (HtmlTextWriterStyle.BorderWidth, "0");
writer.RenderBeginTag (HtmlTextWriterTag.Img);
if (!String.IsNullOrEmpty (imageUrl)) {
writer.RenderBeginTag (HtmlTextWriterTag.Td); // TD
BeginNodeTag (writer, node, clientExpand);
- writer.AddAttribute ("src", imageUrl);
+ writer.AddAttribute (HtmlTextWriterAttribute.Src, imageUrl);
writer.AddStyleAttribute (HtmlTextWriterStyle.BorderWidth, "0");
- writer.AddAttribute ("alt", node.ImageToolTip);
+ writer.AddAttribute (HtmlTextWriterAttribute.Alt, node.ImageToolTip);
writer.RenderBeginTag (HtmlTextWriterTag.Img);
writer.RenderEndTag (); // IMG
writer.RenderEndTag (); // style tag
}
if (!NodeWrap)
- writer.AddStyleAttribute ("white-space", "nowrap");
+ writer.AddStyleAttribute (HtmlTextWriterStyle.WhiteSpace, "nowrap");
bool nodeIsSelected = node == SelectedNode && selectedNodeStyle != null;
if (!nodeIsSelected && selectedNodeStyle != null) {
if (!String.IsNullOrEmpty (activeSiteMapPath))
- nodeIsSelected = String.Compare (activeSiteMapPath,
- node.NavigateUrl,
- HttpRuntime.CaseInsensitive ? StringComparison.OrdinalIgnoreCase : StringComparison.Ordinal) == 0;
+ nodeIsSelected = String.Compare (activeSiteMapPath, node.NavigateUrl, RuntimeHelpers.StringComparison) == 0;
}
AddNodeStyle (writer, node, level, nodeIsSelected);
// Checkbox
if (node.ShowCheckBoxInternal) {
- writer.AddAttribute ("name", ClientID + "_cs_" + node.Path);
- writer.AddAttribute ("type", "checkbox", false);
- writer.AddAttribute ("title", node.Text);
- if (node.Checked) writer.AddAttribute ("checked", "checked", false);
+ writer.AddAttribute (HtmlTextWriterAttribute.Name, ClientID + "_cs_" + node.Path);
+ writer.AddAttribute (HtmlTextWriterAttribute.Type, "checkbox", false);
+ writer.AddAttribute (HtmlTextWriterAttribute.Title, node.Text);
+ if (node.Checked) writer.AddAttribute (HtmlTextWriterAttribute.Checked, "checked", false);
writer.RenderBeginTag (HtmlTextWriterTag.Input); // INPUT
writer.RenderEndTag (); // INPUT
}
node.BeginRenderText (writer);
if (clientExpand)
- writer.AddAttribute ("id", GetNodeClientId (node, "txt"));
+ writer.AddAttribute (HtmlTextWriterAttribute.Id, GetNodeClientId (node, "txt"));
AddNodeLinkStyle (writer, node, level, nodeIsSelected);
BeginNodeTag (writer, node, clientExpand);
writer.Write (node.Text);
if (clientExpand) {
if (!(node.Expanded.HasValue && node.Expanded.Value))
- writer.AddStyleAttribute ("display", "none");
+ writer.AddStyleAttribute (HtmlTextWriterStyle.Display, "none");
else
- writer.AddStyleAttribute ("display", "block");
- writer.AddAttribute ("id", GetNodeClientId (node, null));
+ writer.AddStyleAttribute (HtmlTextWriterStyle.Display, "block");
+ writer.AddAttribute (HtmlTextWriterAttribute.Id, GetNodeClientId (node, null));
writer.RenderBeginTag (HtmlTextWriterTag.Span);
if (renderChildNodes) {
return;
writer.RenderBeginTag (HtmlTextWriterTag.Table);
- writer.AddAttribute ("height", ((int) value).ToString (), false);
+ writer.AddAttribute (HtmlTextWriterAttribute.Height, ((int) value).ToString (), false);
writer.RenderBeginTag (HtmlTextWriterTag.Tr);
writer.RenderBeginTag (HtmlTextWriterTag.Td);
writer.RenderEndTag (); // td
writer.RenderEndTag (); // table
}
- void RenderMenuItemSpacing (HtmlTextWriter writer, Unit itemSpacing) {
- writer.AddStyleAttribute ("height", itemSpacing.ToString ());
+ void RenderMenuItemSpacing (HtmlTextWriter writer, Unit itemSpacing)
+ {
+ writer.AddStyleAttribute (HtmlTextWriterStyle.Height, itemSpacing.ToString ());
writer.RenderBeginTag (HtmlTextWriterTag.Tr);
writer.RenderBeginTag (HtmlTextWriterTag.Td);
writer.RenderEndTag ();
writer.RenderEndTag ();
}
- Unit GetNodeSpacing (TreeNode node) {
- if (node.Selected && selectedNodeStyle != null && selectedNodeStyle.NodeSpacing != Unit.Empty) {
+ Unit GetNodeSpacing (TreeNode node)
+ {
+ if (node.Selected && selectedNodeStyle != null && selectedNodeStyle.NodeSpacing != Unit.Empty)
return selectedNodeStyle.NodeSpacing;
- }
- if (levelStyles != null && node.Depth < levelStyles.Count && levelStyles [node.Depth].NodeSpacing != Unit.Empty) {
+ if (levelStyles != null && node.Depth < levelStyles.Count && levelStyles [node.Depth].NodeSpacing != Unit.Empty)
return levelStyles [node.Depth].NodeSpacing;
- }
if (node.IsLeafNode) {
if (leafNodeStyle != null && leafNodeStyle.NodeSpacing != Unit.Empty)
return leafNodeStyle.NodeSpacing;
- }
- else if (node.IsRootNode) {
+ } else if (node.IsRootNode) {
if (rootNodeStyle != null && rootNodeStyle.NodeSpacing != Unit.Empty)
return rootNodeStyle.NodeSpacing;
- }
- else if (node.IsParentNode) {
+ } else if (node.IsParentNode) {
if (parentNodeStyle != null && parentNodeStyle.NodeSpacing != Unit.Empty)
return parentNodeStyle.NodeSpacing;
}
if (leafNodeStyle != null) {
style.CopyFrom (leafNodeStyle);
}
- }
- else if (node.IsRootNode) {
+ } else if (node.IsRootNode) {
if (rootNodeStyle != null) {
style.CopyFrom (rootNodeStyle);
}
- }
- else if (node.IsParentNode) {
+ } else if (node.IsParentNode) {
if (parentNodeStyle != null) {
style.CopyFrom (parentNodeStyle);
}
}
- if (levelStyles != null && levelStyles.Count > level) {
+ if (levelStyles != null && levelStyles.Count > level)
style.CopyFrom (levelStyles [level]);
- }
- if (nodeIsSelected) {
+ if (nodeIsSelected)
style.CopyFrom (selectedNodeStyle);
- }
}
style.AddAttributesToRender (writer);
}
style.AddCssClass (nodeLinkStyle.CssClass);
style.AddCssClass (nodeLinkStyle.RegisteredCssClass);
}
+
+ if (levelLinkStyles != null && levelLinkStyles.Count > level) {
+ style.AddCssClass (levelLinkStyles [level].CssClass);
+ style.AddCssClass (levelLinkStyles [level].RegisteredCssClass);
+ }
+
if (node.IsLeafNode) {
if (leafNodeStyle != null) {
style.AddCssClass (leafNodeLinkStyle.CssClass);
style.AddCssClass (leafNodeLinkStyle.RegisteredCssClass);
}
- }
- else if (node.IsRootNode) {
+ } else if (node.IsRootNode) {
if (rootNodeStyle != null) {
style.AddCssClass (rootNodeLinkStyle.CssClass);
style.AddCssClass (rootNodeLinkStyle.RegisteredCssClass);
}
- }
- else if (node.IsParentNode) {
+ } else if (node.IsParentNode) {
if (parentNodeStyle != null) {
style.AddCssClass (parentNodeLinkStyle.CssClass);
style.AddCssClass (parentNodeLinkStyle.RegisteredCssClass);
}
}
- if (levelStyles != null && levelStyles.Count > level) {
- style.AddCssClass (levelLinkStyles [level].CssClass);
- style.AddCssClass (levelLinkStyles [level].RegisteredCssClass);
- }
+
if (nodeIsSelected) {
style.AddCssClass (selectedNodeLinkStyle.CssClass);
style.AddCssClass (selectedNodeLinkStyle.RegisteredCssClass);
}
- }
- else {
+ } else {
// styles are not registered
style.CopyFrom (ControlLinkStyle);
- if (nodeStyle != null) {
+ if (nodeStyle != null)
style.CopyFrom (nodeLinkStyle);
- }
+
+ if (levelLinkStyles != null && levelLinkStyles.Count > level)
+ style.CopyFrom (levelLinkStyles [level]);
+
if (node.IsLeafNode) {
if (node.IsLeafNode && leafNodeStyle != null) {
style.CopyFrom (leafNodeLinkStyle);
}
- }
- else if (node.IsRootNode) {
+ } else if (node.IsRootNode) {
if (node.IsRootNode && rootNodeStyle != null) {
style.CopyFrom (rootNodeLinkStyle);
}
- }
- else if (node.IsParentNode) {
+ } else if (node.IsParentNode) {
if (node.IsParentNode && parentNodeStyle != null) {
style.CopyFrom (parentNodeLinkStyle);
}
}
- if (levelStyles != null && levelStyles.Count > level) {
- style.CopyFrom (levelLinkStyles [level]);
- }
- if (nodeIsSelected) {
+
+ if (nodeIsSelected)
style.CopyFrom (selectedNodeLinkStyle);
- }
style.AlwaysRenderTextDecoration = true;
}
style.AddAttributesToRender (writer);
void BeginNodeTag (HtmlTextWriter writer, TreeNode node, bool clientExpand)
{
if(node.ToolTip.Length>0)
- writer.AddAttribute ("title", node.ToolTip);
+ writer.AddAttribute (HtmlTextWriterAttribute.Title, node.ToolTip);
- if (node.NavigateUrl != "") {
+ string navigateUrl = node.NavigateUrl;
+ if (!String.IsNullOrEmpty (navigateUrl)) {
string target = node.Target.Length > 0 ? node.Target : Target;
#if TARGET_J2EE
- string navUrl = ResolveClientUrl (node.NavigateUrl, String.Compare (target, "_blank", StringComparison.InvariantCultureIgnoreCase) != 0);
+ string navUrl = ResolveClientUrl (navigateUrl, String.Compare (target, "_blank", StringComparison.InvariantCultureIgnoreCase) != 0);
#else
- string navUrl = ResolveClientUrl (node.NavigateUrl);
+ string navUrl = ResolveClientUrl (navigateUrl);
#endif
- writer.AddAttribute ("href", navUrl);
+ writer.AddAttribute (HtmlTextWriterAttribute.Href, navUrl);
if (target.Length > 0)
- writer.AddAttribute ("target", target);
+ writer.AddAttribute (HtmlTextWriterAttribute.Target, target);
writer.RenderBeginTag (HtmlTextWriterTag.A);
- }
- else if (node.SelectAction != TreeNodeSelectAction.None) {
+ } else if (node.SelectAction != TreeNodeSelectAction.None) {
if (node.SelectAction == TreeNodeSelectAction.Expand && clientExpand)
- writer.AddAttribute ("href", GetClientExpandEvent (node));
+ writer.AddAttribute (HtmlTextWriterAttribute.Href, GetClientExpandEvent (node));
else
- writer.AddAttribute ("href", GetClientEvent (node, "sel"));
+ writer.AddAttribute (HtmlTextWriterAttribute.Href, GetClientEvent (node, "sel"));
writer.RenderBeginTag (HtmlTextWriterTag.A);
- }
- else
+ } else
writer.RenderBeginTag (HtmlTextWriterTag.Span);
}
- string GetNodeImageToolTip (bool expand, string txt) {
- if (expand) {
- if (ExpandImageToolTip != "")
- return String.Format (ExpandImageToolTip, HttpUtility.HtmlAttributeEncode (txt));
+ string GetNodeImageToolTip (bool expand, string txt)
+ {
+ if (expand) {
+ string expandImageToolTip = ExpandImageToolTip;
+ if (!String.IsNullOrEmpty (expandImageToolTip))
+ return String.Format (expandImageToolTip, HttpUtility.HtmlAttributeEncode (txt));
else if (txt != null)
return "Expand " + HttpUtility.HtmlAttributeEncode (txt);
else
return "Expand {0}";
} else {
- if (CollapseImageToolTip != "")
- return String.Format (CollapseImageToolTip, HttpUtility.HtmlAttributeEncode (txt));
+ string collapseImageToolTip = CollapseImageToolTip;
+ if (!String.IsNullOrEmpty (collapseImageToolTip))
+ return String.Format (collapseImageToolTip, HttpUtility.HtmlAttributeEncode (txt));
else if (txt != null)
return "Collapse " + HttpUtility.HtmlAttributeEncode (txt);
else
string GetNodeClientId (TreeNode node, string sufix)
{
- return ClientID + "_" + node.Path + (sufix != null ? "_" + sufix : "");
+ return ClientID + "_" + node.Path + (sufix != null ? "_" + sufix : String.Empty);
}
string GetNodeImageUrl (string shape, ImageStyle imageStyle)
if (shape == "plus") {
if (!String.IsNullOrEmpty (imageStyle.Expand))
return GetNodeIconUrl (imageStyle.Expand);
- }
- else if (shape == "minus") {
+ } else if (shape == "minus") {
if (!String.IsNullOrEmpty (imageStyle.Collapse))
return GetNodeIconUrl (imageStyle.Collapse);
- }
- else if (shape == "noexpand") {
+ } else if (shape == "noexpand") {
if (!String.IsNullOrEmpty (imageStyle.NoExpand))
return GetNodeIconUrl (imageStyle.NoExpand);
}
- }
- else {
+ } else {
if (shape == "plus") {
if (!String.IsNullOrEmpty (ExpandImageUrl))
return ResolveClientUrl (ExpandImageUrl);
- }
- else if (shape == "minus") {
+ } else if (shape == "minus") {
if (!String.IsNullOrEmpty (CollapseImageUrl))
return ResolveClientUrl (CollapseImageUrl);
- }
- else if (shape == "noexpand") {
+ } else if (shape == "noexpand") {
if (!String.IsNullOrEmpty (NoExpandImageUrl))
return ResolveClientUrl (NoExpandImageUrl);
}
string GetClientExpandEvent (TreeNode node)
{
- return String.Format ("javascript:TreeView_ToggleExpand ('{0}','{1}','{2}','{3}','{4}','{5}','{6}')",
+ return String.Format ("javascript:TreeView_ToggleExpand ('{0}','{1}','{2}','{3}','{4}','{5}')",
ClientID,
node.Path,
- "", //HttpUtility.HtmlEncode (node.Text).Replace ("'", "\\'"),
- HttpUtility.HtmlAttributeEncode (node.Value).Replace ("'", "\\'"),
- HttpUtility.HtmlAttributeEncode (node.ImageUrl).Replace ("'", "\\'"),
- HttpUtility.HtmlAttributeEncode (node.NavigateUrl).Replace ("'", "\\'"),
- HttpUtility.HtmlAttributeEncode (node.Target).Replace ("'", "\\'"));
+ HttpUtility.HtmlAttributeEncode (node.Value).Replace ("'", "\\'").Replace ("|","U+007C"),
+ HttpUtility.HtmlAttributeEncode (node.ImageUrl).Replace ("'", "\\'").Replace ("|","U+007c"),
+ HttpUtility.HtmlAttributeEncode (node.NavigateUrl).Replace ("'", "\\'").Replace ("|","U+007C"),
+ HttpUtility.HtmlAttributeEncode (node.Target).Replace ("'", "\\'").Replace ("|","U+007C"));
}
TreeNode FindNodeByPos (string path)
void SetExpandStates (string[] states)
{
foreach (string id in states) {
- if (id == null || id == "") continue;
+ if (String.IsNullOrEmpty (id))
+ continue;
TreeNode node = FindNodeByPos (id);
if (node != null)
node.Expanded = true;
}
}
}
-
#endif