Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WebForms / System / Web / UI / Design / TemplateEditingService.cs / 1 / TemplateEditingService.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.Design { using System; using System.ComponentModel; using System.ComponentModel.Design; using System.Design; using System.Diagnostics; using System.Web.UI; using System.Web.UI.WebControls; ////// [System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand, Flags=System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode)] [Obsolete("Use of this type is not recommended because template editing is handled in ControlDesigner. To support template editing expose template data in the TemplateGroups property and call SetViewFlags(ViewFlags.TemplateEditing, true). http://go.microsoft.com/fwlink/?linkid=14202")] public sealed class TemplateEditingService : ITemplateEditingService, IDisposable { private IDesignerHost designerHost; /// public TemplateEditingService(IDesignerHost designerHost) { if (designerHost == null) { throw new ArgumentNullException("designerHost"); } this.designerHost = designerHost; } /// public bool SupportsNestedTemplateEditing { get { return false; } } /// public ITemplateEditingFrame CreateFrame(TemplatedControlDesigner designer, string frameName, string[] templateNames) { return CreateFrame(designer, frameName, templateNames, null, null); } /// public ITemplateEditingFrame CreateFrame(TemplatedControlDesigner designer, string frameName, string[] templateNames, Style controlStyle, Style[] templateStyles) { if (designer == null) { throw new ArgumentNullException("designer"); } if ((frameName == null) || (frameName.Length == 0)) { throw new ArgumentNullException("frameName"); } if ((templateNames == null) || (templateNames.Length == 0)) { throw new ArgumentException("templateNames"); } if ((templateStyles != null) && (templateStyles.Length != templateNames.Length)) { throw new ArgumentException("templateStyles"); } frameName = CreateFrameName(frameName); return new TemplateEditingFrame(designer, frameName, templateNames, controlStyle, templateStyles); } private string CreateFrameName(string frameName) { Debug.Assert((frameName != null) && (frameName.Length != 0)); // Strips out the ampersand typically used for menu mnemonics int index = frameName.IndexOf('&'); if (index < 0) { return frameName; } else if (index == 0) { return frameName.Substring(index + 1); } else { return frameName.Substring(0, index) + frameName.Substring(index + 1); } } /// public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } /// ~TemplateEditingService() { Dispose(false); } private void Dispose(bool disposing) { if (disposing) { designerHost = null; } } /// public string GetContainingTemplateName(Control control) { string containingTemplateName = String.Empty; HtmlControlDesigner designer = (HtmlControlDesigner)designerHost.GetDesigner(control); if (designer != null) { IHtmlControlDesignerBehavior behavior = designer.BehaviorInternal; NativeMethods.IHTMLElement htmlElement = (NativeMethods.IHTMLElement)behavior.DesignTimeElement; if (htmlElement != null) { object[] varTemplateName = new Object[1]; NativeMethods.IHTMLElement htmlelemParentNext; NativeMethods.IHTMLElement htmlelemParentCur = htmlElement.GetParentElement(); while (htmlelemParentCur != null) { htmlelemParentCur.GetAttribute("templatename", /*lFlags*/ 0, varTemplateName); if (varTemplateName[0] != null && varTemplateName[0].GetType() == typeof(string)) { containingTemplateName = varTemplateName[0].ToString(); break; } htmlelemParentNext = htmlelemParentCur.GetParentElement(); htmlelemParentCur = htmlelemParentNext; } } } return containingTemplateName; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SoapIgnoreAttribute.cs
- MimeTypeMapper.cs
- HttpStaticObjectsCollectionWrapper.cs
- mda.cs
- RichTextBox.cs
- TcpPortSharing.cs
- TreeViewCancelEvent.cs
- OleDbWrapper.cs
- unsafenativemethodstextservices.cs
- DataList.cs
- DataAdapter.cs
- StrokeRenderer.cs
- ReaderContextStackData.cs
- CompiledRegexRunner.cs
- DecoderBestFitFallback.cs
- Mappings.cs
- MessageQueueKey.cs
- base64Transforms.cs
- SmiEventSink.cs
- VirtualizedCellInfoCollection.cs
- PageThemeBuildProvider.cs
- DataGridAddNewRow.cs
- TextProviderWrapper.cs
- ColorConverter.cs
- PropertyTab.cs
- DefaultTextStore.cs
- Mapping.cs
- Lazy.cs
- QueryExtender.cs
- IPAddress.cs
- Models.cs
- CompositeActivityMarkupSerializer.cs
- StoreItemCollection.Loader.cs
- TokenizerHelper.cs
- SymbolMethod.cs
- UIElement.cs
- XmlHierarchyData.cs
- FormParameter.cs
- VariableQuery.cs
- IItemContainerGenerator.cs
- SmtpDigestAuthenticationModule.cs
- PathHelper.cs
- VectorAnimationUsingKeyFrames.cs
- ListViewItem.cs
- DefaultPropertyAttribute.cs
- PeerResolverElement.cs
- XmlTextAttribute.cs
- ScaleTransform3D.cs
- HotCommands.cs
- WebPartConnectionsEventArgs.cs
- PageBorderless.cs
- TransformerConfigurationWizardBase.cs
- DatePickerTextBox.cs
- AnonymousIdentificationSection.cs
- WindowsListViewItemCheckBox.cs
- GenericEnumConverter.cs
- PeerNearMe.cs
- DataGridViewRowContextMenuStripNeededEventArgs.cs
- ConfigXmlAttribute.cs
- _ListenerRequestStream.cs
- ClientBuildManagerCallback.cs
- DescendentsWalker.cs
- WebConfigurationManager.cs
- DecodeHelper.cs
- GenericFlowSwitchHelper.cs
- DataGridViewCellEventArgs.cs
- PageRanges.cs
- RenamedEventArgs.cs
- CatalogZone.cs
- TableItemPatternIdentifiers.cs
- RouteTable.cs
- SqlWorkflowInstanceStoreLock.cs
- ThemeableAttribute.cs
- FormatConvertedBitmap.cs
- Graphics.cs
- InternalPermissions.cs
- FileDataSourceCache.cs
- TypeHelper.cs
- elementinformation.cs
- DataDesignUtil.cs
- CompositeCollection.cs
- ToolStripPanelRow.cs
- DbConnectionStringCommon.cs
- ResourcesBuildProvider.cs
- CachedFontFace.cs
- EncodingNLS.cs
- ContractNamespaceAttribute.cs
- ColorConvertedBitmap.cs
- XNameTypeConverter.cs
- cookiecontainer.cs
- CompositeFontFamily.cs
- CalculatedColumn.cs
- FactoryId.cs
- SimpleTypeResolver.cs
- MemberRelationshipService.cs
- DiagnosticTrace.cs
- ObjectSecurity.cs
- ResourceSet.cs
- GeneralTransform3DGroup.cs
- path.cs