📄 basemenu.cs
字号:
/// <summary>
/// Generates an array of ItemLook properties that are to be propagated to the client side.
/// Intended to be used with control-level looks (the ones in ItemLook collection).
/// </summary>
/// <param name="look">The look to process.</param>
/// <returns>An ArrayList of relevant look properties. All properties are processed.
/// (Contrast this with <see cref="ProcessSignificantLook"/>.)</returns>
internal ArrayList ProcessLook(ItemLook look)
{
/* NOTE: The order of the ArrayList elements must match the order of their client-side
* equivalents in ComponentArt_ItemLook.PermanentProperties array in A573S188.js. */
JavaScriptArray lookProperties = new JavaScriptArray(JavaScriptArrayType.Sparse);
lookProperties.Add(look.LookId); // 'LookId'
lookProperties.Add(look.CssClass); // 'CssClass'
lookProperties.Add(look.HoverCssClass); // 'HoverCssClass'
lookProperties.Add(look.ImageHeight); // 'ImageHeight'
lookProperties.Add(look.ImageWidth); // 'ImageWidth'
lookProperties.Add(look.LabelPaddingBottom); // 'LabelPaddingBottom'
lookProperties.Add(look.LabelPaddingLeft); // 'LabelPaddingLeft'
lookProperties.Add(look.LabelPaddingRight); // 'LabelPaddingRight'
lookProperties.Add(look.LabelPaddingTop); // 'LabelPaddingTop'
lookProperties.Add(look.ActiveCssClass); // 'ActiveCssClass'
lookProperties.Add(look.ExpandedCssClass); // 'ExpandedCssClass'
lookProperties.Add(look.LeftIconUrl); // 'LeftIconUrl'
lookProperties.Add(look.HoverLeftIconUrl); // 'HoverLeftIconUrl'
lookProperties.Add(look.LeftIconWidth); // 'LeftIconWidth'
lookProperties.Add(look.LeftIconHeight); // 'LeftIconHeight'
lookProperties.Add(look.ActiveLeftIconUrl); // 'ActiveLeftIconUrl'
lookProperties.Add(look.ExpandedLeftIconUrl); // 'ExpandedLeftIconUrl'
lookProperties.Add(look.RightIconUrl); // 'RightIconUrl'
lookProperties.Add(look.HoverRightIconUrl); // 'HoverRightIconUrl'
lookProperties.Add(look.RightIconWidth); // 'RightIconWidth'
lookProperties.Add(look.RightIconHeight); // 'RightIconHeight'
lookProperties.Add(look.ActiveRightIconUrl); // 'ActiveRightIconUrl'
lookProperties.Add(look.ExpandedRightIconUrl); // 'ExpandedRightIconUrl'
lookProperties.Add(look.ImageUrl); // 'ImageUrl'
lookProperties.Add(look.HoverImageUrl); // 'HoverImageUrl'
lookProperties.Add(look.ActiveImageUrl); // 'ActiveImageUrl'
lookProperties.Add(look.ExpandedImageUrl); // 'ExpandedImageUrl'
return lookProperties;
}
/// <summary>
/// Generates an array of ItemLook properties that are to be propagated to the client side.
/// Intended to be used with node-level looks.
/// </summary>
/// <param name="look">The look to process.</param>
/// <returns>An ArrayList of relevant look properties. Only significant properties are processed
/// (those that override the values in the corresponding control-level look).
/// (Contrast this with <see cref="ProcessLook"/>.)</returns>
internal ArrayList ProcessSignificantLook(ItemLook look)
{
ItemLook originalLook = this.ItemLooks[look.LookId];
ItemLook significantLook = this.LookDifference(look, originalLook);
return this.ProcessLook(significantLook);
}
/// <summary>
/// Given two looks, returns the difference between them.
/// </summary>
/// <param name="effectiveLook">Left-hand side of the subtraction.</param>
/// <param name="originalLook">Right-hand side of the subtraction.</param>
/// <returns>An ItemLook containing only those properties of the effectiveLook which
/// are different from the corresponding originalLook property.</returns>
internal ItemLook LookDifference(ItemLook effectiveLook, ItemLook originalLook)
{
ItemLook difference;
if (originalLook == null)
{
/* Copy all the values from effectiveLook. Ensure that LookId is null. */
difference = (ItemLook) effectiveLook.Clone();
difference.LookId = null;
}
else
{
/* Make sure the LookId matches originalLook's. Include only the properties which are
* different in effectiveLook from the ones in originalLook. */
difference = new ItemLook();
difference.LookId = originalLook.LookId;
difference.ActiveCssClass = effectiveLook.ActiveCssClass != originalLook.ActiveCssClass ? effectiveLook.ActiveCssClass : null;
difference.ActiveImageUrl = effectiveLook.ActiveImageUrl != originalLook.ActiveImageUrl ? effectiveLook.ActiveImageUrl : null;
difference.ActiveLeftIconUrl = effectiveLook.ActiveLeftIconUrl != originalLook.ActiveLeftIconUrl ? effectiveLook.ActiveLeftIconUrl : null;
difference.ActiveRightIconUrl = effectiveLook.ActiveRightIconUrl != originalLook.ActiveRightIconUrl ? effectiveLook.ActiveRightIconUrl : null;
difference.CssClass = effectiveLook.CssClass != originalLook.CssClass ? effectiveLook.CssClass : null;
difference.ExpandedCssClass = effectiveLook.ExpandedCssClass != originalLook.ExpandedCssClass ? effectiveLook.ExpandedCssClass : null;
difference.ExpandedImageUrl = effectiveLook.ExpandedImageUrl != originalLook.ExpandedImageUrl ? effectiveLook.ExpandedImageUrl : null;
difference.ExpandedLeftIconUrl = effectiveLook.ExpandedLeftIconUrl != originalLook.ExpandedLeftIconUrl ? effectiveLook.ExpandedLeftIconUrl : null;
difference.ExpandedRightIconUrl = effectiveLook.ExpandedRightIconUrl != originalLook.ExpandedRightIconUrl ? effectiveLook.ExpandedRightIconUrl : null;
difference.HoverCssClass = effectiveLook.HoverCssClass != originalLook.HoverCssClass ? effectiveLook.HoverCssClass : null;
difference.HoverImageUrl = effectiveLook.HoverImageUrl != originalLook.HoverImageUrl ? effectiveLook.HoverImageUrl : null;
difference.HoverLeftIconUrl = effectiveLook.HoverLeftIconUrl != originalLook.HoverLeftIconUrl ? effectiveLook.HoverLeftIconUrl : null;
difference.HoverRightIconUrl = effectiveLook.HoverRightIconUrl != originalLook.HoverRightIconUrl ? effectiveLook.HoverRightIconUrl : null;
difference.ImageHeight = effectiveLook.ImageHeight != originalLook.ImageHeight ? effectiveLook.ImageHeight : Unit.Empty;
difference.ImageUrl = effectiveLook.ImageUrl != originalLook.ImageUrl ? effectiveLook.ImageUrl : null;
difference.ImageWidth = effectiveLook.ImageWidth != originalLook.ImageWidth ? effectiveLook.ImageWidth : Unit.Empty;
difference.LabelPaddingBottom = effectiveLook.LabelPaddingBottom != originalLook.LabelPaddingBottom ? effectiveLook.LabelPaddingBottom : Unit.Empty;
difference.LabelPaddingLeft = effectiveLook.LabelPaddingLeft != originalLook.LabelPaddingLeft ? effectiveLook.LabelPaddingLeft : Unit.Empty;
difference.LabelPaddingRight = effectiveLook.LabelPaddingRight != originalLook.LabelPaddingRight ? effectiveLook.LabelPaddingRight : Unit.Empty;
difference.LabelPaddingTop = effectiveLook.LabelPaddingTop != originalLook.LabelPaddingTop ? effectiveLook.LabelPaddingTop : Unit.Empty;
difference.LeftIconHeight = effectiveLook.LeftIconHeight != originalLook.LeftIconHeight ? effectiveLook.LeftIconHeight : Unit.Empty;
difference.LeftIconUrl = effectiveLook.LeftIconUrl != originalLook.LeftIconUrl ? effectiveLook.LeftIconUrl : null;
difference.LeftIconWidth = effectiveLook.LeftIconWidth != originalLook.LeftIconWidth ? effectiveLook.LeftIconWidth : Unit.Empty;
difference.RightIconHeight = effectiveLook.RightIconHeight != originalLook.RightIconHeight ? effectiveLook.RightIconHeight : Unit.Empty;
difference.RightIconUrl = effectiveLook.RightIconUrl != originalLook.RightIconUrl ? effectiveLook.RightIconUrl : null;
difference.RightIconWidth = effectiveLook.RightIconWidth != originalLook.RightIconWidth ? effectiveLook.RightIconWidth : Unit.Empty;
}
return difference;
}
#endregion
}
#region enums
/// <summary>
/// Slide types
/// </summary>
public enum SlideType
{
/// <summary>
/// No slide
/// </summary>
None,
/// <summary>
/// Exponential speed-up slide
/// </summary>
ExponentialAccelerate,
/// <summary>
/// Exponential slow-down slide
/// </summary>
ExponentialDecelerate,
/// <summary>
/// Linear slide - constant speed
/// </summary>
Linear,
/// <summary>
/// Quadratic speed-up slide
/// </summary>
QuadraticAccelerate,
/// <summary>
/// Quadratic slow-down slide
/// </summary>
QuadraticDecelerate
}
/// <summary>
/// Transition types
/// </summary>
public enum TransitionType
{
/// <summary>
/// No transition
/// </summary>
None, /* no transition */
/// <summary>
/// Custom transition: See TransitionCustomFilter property
/// </summary>
Custom, /* uses string specified in TransitionCustomFilter */
/// <summary>
/// Dissolve
/// </summary>
Dissolve, /* progid:DXImageTransform.Microsoft.RandomDissolve() */
/// <summary>
/// Fade
/// </summary>
Fade, /* progid:DXImageTransform.Microsoft.Fade() */
/// <summary>
/// Iris circle
/// </summary>
IrisCircle, /* progid:DXImageTransform.Microsoft.Iris(irisStyle=CIRCLE) */
/// <summary>
/// Iris circle - inward direction
/// </summary>
IrisCircleIn, /* progid:DXImageTransform.Microsoft.Iris(irisStyle=CIRCLE,motion=in) */
/// <summary>
/// Iris cross
/// </summary>
IrisCross, /* progid:DXImageTransform.Microsoft.Iris(irisStyle=CROSS) */
/// <summary>
/// Iris cross - inward direction
/// </summary>
IrisCrossIn, /* progid:DXImageTransform.Microsoft.Iris(irisStyle=CROSS,motion=in) */
/// <summary>
/// Iris diamond
/// </summary>
IrisDiamond, /* progid:DXImageTransform.Microsoft.Iris(irisStyle=DIAMOND) */
/// <summary>
/// Iris diamond - inward direction
/// </summary>
IrisDiamondIn,/* progid:DXImageTransform.Microsoft.Iris(irisStyle=DIAMOND,motion=in) */
/// <summary>
/// Iris plus
/// </summary>
IrisPlus, /* progid:DXImageTransform.Microsoft.Iris(irisStyle=PLUS) */
/// <summary>
/// Iris plus - inward direction
/// </summary>
IrisPlusIn, /* progid:DXImageTransform.Microsoft.Iris(irisStyle=PLUS,motion=in) */
/// <summary>
/// Iris square
/// </summary>
IrisSquare, /* progid:DXImageTransform.Microsoft.Iris(irisStyle=SQUARE) */
/// <summary>
/// Iris square - inward direction
/// </summary>
IrisSquareIn, /* progid:DXImageTransform.Microsoft.Iris(irisStyle=SQUARE,motion=in) */
/// <summary>
/// Iris star
/// </summary>
IrisStar, /* progid:DXImageTransform.Microsoft.Iris(irisStyle=STAR) */
/// <summary>
/// Iris star - inward direction
/// </summary>
IrisStarIn, /* progid:DXImageTransform.Microsoft.Iris(irisStyle=STAR,motion=in) */
/// <summary>
/// Pixelate
/// </summary>
Pixelate, /* progid:DXImageTransform.Microsoft.Pixelate(MaxSquare=20) */
/// <summary>
/// Wheel with two spokes
/// </summary>
Wheel2, /* progid:DXImageTransform.Microsoft.Wheel(spokes=2) */
/// <summary>
/// Wheel with eight spokes
/// </summary>
Wheel8, /* progid:DXImageTransform.Microsoft.Wheel(spokes=8) */
/// <summary>
/// Wipe downward
/// </summary>
WipeDown, /* progid:DXImageTransform.Microsoft.Wipe(GradientSize=1.0,wipeStyle=1) */
/// <summary>
/// Wipe to the left
/// </summary>
WipeLeft, /* progid:DXImageTransform.Microsoft.Wipe(GradientSize=1.0,wipeStyle=0,motion=reverse) */
/// <summary>
/// Wipe to the right
/// </summary>
WipeRight, /* progid:DXImageTransform.Microsoft.Wipe(GradientSize=1.0,wipeStyle=0) */
/// <summary>
/// Wipe upward
/// </summary>
WipeUp /* progid:DXImageTransform.Microsoft.Wipe(GradientSize=1.0,wipeStyle=1,motion=reverse) */
}
/// <summary>
/// Orientations
/// </summary>
public enum GroupOrientation
{
/// <summary>
/// Orient vertically
/// </summary>
Vertical,
/// <summary>
/// Orient horizontally
/// </summary>
Horizontal
}
/// <summary>
/// Text alignments
/// </summary>
public enum TextAlign
{
/// <summary>
/// Align to the left
/// </summary>
Left,
/// <summary>
/// Align to the right
/// </summary>
Right,
/// <summary>
/// Align to the centre
/// </summary>
Center
}
#endregion
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -