本文整理汇总了C#中PageDefinition类的典型用法代码示例。如果您正苦于以下问题:C# PageDefinition类的具体用法?C# PageDefinition怎么用?C# PageDefinition使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
PageDefinition类属于命名空间,在下文中一共展示了PageDefinition类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。
示例1: AddContentAreaProperty
public static void AddContentAreaProperty(PageType pageType, string name, string description)
{
Predicate<PageDefinition> match = null;
if (pageType.Definitions.Find(def => def.Name == name) == null)
{
match = delegate(PageDefinition def)
{
return def.Name == name;
};
if (pageType.Definitions.Find(match) == null)
{
var item = new PageDefinition();
item.PageTypeID = pageType.ID;
item.Name = name;
item.EditCaption = name;
item.HelpText = description;
item.DefaultValueType = DefaultValueType.None;
item.DefaultValue = "";
item.Type = PageTypeManager.ContentAreaPropertyType;
item.ID = 0;
item.Searchable = true;
item.Tab = PageTypeManager.LoadExtensionTab();
item.DisplayEditUI = false;
item.LanguageSpecific = false;
item.LongStringSettings = 0;
item.Save();
item.ClearCache();
pageType.Definitions.Add(item);
PageDefinitionType.ClearCache();
}
}
}
开发者ID:jarlef,项目名称:ComposerBuilder,代码行数:33,代码来源:PageTypeHelper.cs
示例2: AddContentAreaProperty
public static void AddContentAreaProperty(PageType pageType, string name, string description)
{
Predicate<PageDefinition> match = null;
if (pageType.Definitions.Find(def => def.Name == name) == null)
{
match = delegate(PageDefinition def)
{
return def.Name == name;
};
if (pageType.Definitions.Find(match) == null)
{
var item = new PageDefinition
{
PageTypeID = pageType.ID,
Name = name,
EditCaption = name,
HelpText = string.IsNullOrEmpty(description) ? string.Empty : description,
DefaultValueType = DefaultValueType.None,
DefaultValue = "",
Type = PageTypeManager.ContentAreaPropertyType,
ID = 0,
Searchable = true,
Tab = PageTypeManager.LoadExtensionTab(),
DisplayEditUI = false,
LanguageSpecific = false,
LongStringSettings = 0
};
item.Save();
item.ClearCache();
pageType.Definitions.Add(item);
PageDefinitionType.ClearCache();
}
}
}
开发者ID:nordseth,项目名称:ComposerBuilder,代码行数:35,代码来源:PageTypeHelper.cs
示例3: AddExtensionPageProperty
public static void AddExtensionPageProperty(PageType pageType)
{
if (pageType.Definitions.Find(def => def.Name == "ExtensionPageProperty") == null)
{
if (pageType.Definitions.Find(def => def.Name == "ExtensionPageProperty") == null)
{
var item = new PageDefinition();
item.PageTypeID = pageType.ID;
item.Name = "ExtensionPageProperty";
item.EditCaption = "ExtensionPageProperty";
item.HelpText = "Specialized For Extension Added By Extension (Do not remove)";
item.DefaultValueType = DefaultValueType.None;
item.DefaultValue = "";
item.Type = PageTypeManager.ExtensionPageDefinitionType;
item.ID = 0;
item.Searchable = true;
item.Tab = PageTypeManager.LoadExtensionTab();
item.DisplayEditUI = true;
item.LanguageSpecific = true;
item.LongStringSettings = 0;
item.Save();
item.ClearCache();
pageType.Definitions.Add(item);
}
}
PageDefinitionType.ClearCache();
}
开发者ID:nordseth,项目名称:ComposerBuilder,代码行数:28,代码来源:PageTypeHelper.cs
示例4: Configure
public void Configure(ConfigNode node)
{
ConfigNode[] pages = node.GetNodes("PAGE_DEFINITION");
if (pages != null && pages.Length > 0)
{
definitions = new PageDefinition[pages.Length];
for (int i = 0; i < pages.Length; ++i)
{
string variableName = pages[i].GetValue("variableName");
string range = pages[i].GetValue("range");
string page = pages[i].GetValue("page");
if (string.IsNullOrEmpty(variableName) || string.IsNullOrEmpty(range) || string.IsNullOrEmpty(page))
{
JUtil.LogErrorMessage(this, "Incorrect page definition for page {0}", i);
definitions = null;
if (string.IsNullOrEmpty(definitionIn))
{
// Make sure we aren't crashing later.
definitionIn = definitionOut;
}
return;
}
definitions[i] = new PageDefinition(variableName, range, page);
}
}
}
开发者ID:ndevenish,项目名称:RasterPropMonitor,代码行数:28,代码来源:JSIVariablePageTextSwitcher.cs
示例5: HandleDefaultValues
private void HandleDefaultValues(PageDefinition pageDefinition)
{
if (pageDefinition.DefaultValue != null && pageDefinition.DefaultValue == string.Empty)
pageDefinition.DefaultValue = null;
if (pageDefinition.DefaultValue != null)
{
object value;
try
{
value = PropertyData.CreatePropertyDataObject(pageDefinition.Type.DataType).ParseToObject(pageDefinition.DefaultValue).Value;
}
catch
{
value = null;
}
if (value == null)
{
pageDefinition.DefaultValue = null;
}
}
if (pageDefinition.DefaultValue == null && pageDefinition.DefaultValueType == DefaultValueType.Value && pageDefinition.Type.DataType != PropertyDataType.Boolean)
pageDefinition.DefaultValueType = DefaultValueType.None;
}
开发者ID:croweman,项目名称:Page-Type-Builder,代码行数:27,代码来源:PageDefinitionUpdater.cs
示例6: UpdatePropertySettings
protected internal virtual void UpdatePropertySettings(PageTypeDefinition pageTypeDefinition, PageTypePropertyDefinition propertyDefinition, PageDefinition pageDefinition)
{
PropertySettingsContainer container = GetPropertySettingsContainer(pageDefinition);
UpdatePageDefinitionsGlobalPropertySettings(propertyDefinition, pageTypeDefinition, container);
UpdatePageDefinitionsLocalPropertySettings(propertyDefinition, pageTypeDefinition, container);
}
开发者ID:stefanforsberg,项目名称:Page-Type-Builder,代码行数:7,代码来源:PageDefinitionSpecificPropertySettingsUpdater.cs
示例7: SerializeValues
protected internal virtual string SerializeValues(PageDefinition pageDefinition)
{
StringBuilder builder = new StringBuilder();
builder.Append(pageDefinition.EditCaption);
builder.Append("|");
builder.Append(pageDefinition.HelpText);
builder.Append("|");
builder.Append(pageDefinition.Required);
builder.Append("|");
builder.Append(pageDefinition.Searchable);
builder.Append("|");
builder.Append(pageDefinition.DefaultValue);
builder.Append("|");
builder.Append(pageDefinition.DefaultValueType);
builder.Append("|");
builder.Append(pageDefinition.LanguageSpecific);
builder.Append("|");
builder.Append(pageDefinition.DisplayEditUI);
builder.Append("|");
builder.Append(pageDefinition.FieldOrder);
builder.Append("|");
builder.Append(pageDefinition.LongStringSettings);
builder.Append("|");
builder.Append(pageDefinition.Tab.ID);
builder.Append("|");
return builder.ToString();
}
开发者ID:osdezwart,项目名称:Page-Type-Builder,代码行数:29,代码来源:PageTypePropertyUpdater.cs
示例8: MapRecordsToExposedObjects
private IEnumerable<PageDefinition> MapRecordsToExposedObjects(IEnumerable<PageDefinition> internalRecords)
{
return internalRecords.Select(pd =>
{
var exposedPageDefinition = new PageDefinition();
Mapper.Map(pd, exposedPageDefinition);
return exposedPageDefinition;
});
}
开发者ID:stefanforsberg,项目名称:Page-Type-Builder,代码行数:9,代码来源:InMemoryPageDefinitionRepository.cs
示例9: UpdatePageDefinition
protected internal virtual void UpdatePageDefinition(PageDefinition pageDefinition, PageTypePropertyDefinition pageTypePropertyDefinition)
{
string oldValues = SerializeValues(pageDefinition);
UpdatePageDefinitionValues(pageDefinition, pageTypePropertyDefinition);
if(SerializeValues(pageDefinition) != oldValues)
PageDefinitionFactory.Save(pageDefinition);
}
开发者ID:osdezwart,项目名称:Page-Type-Builder,代码行数:9,代码来源:PageTypePropertyUpdater.cs
示例10: GivenPropertyDefinitionWithNoHelpText_UpdatePageDefinition_SetsHelpTextToEmptyString
public void GivenPropertyDefinitionWithNoHelpText_UpdatePageDefinition_SetsHelpTextToEmptyString()
{
var pageDefinitionUpdater = GetPageDefinitionUpdater();
PageDefinition pageDefinitionToUpdate = new PageDefinition();
PageTypePropertyDefinition propertyDefinition = CreatePageTypePropertyDefinition();
pageDefinitionUpdater.UpdateExistingPageDefinition(pageDefinitionToUpdate, propertyDefinition);
Assert.Equal<string>(string.Empty, pageDefinitionToUpdate.HelpText);
}
开发者ID:stefanforsberg,项目名称:Page-Type-Builder,代码行数:10,代码来源:UpdatePageDefinitionTests.cs
示例11: PageDefinition
public void GivenPageDefinitionWithSpecifiedLongStringSetting_UpdatePageDefinition_ReturnsDifferentStringThanWhenCalledWithPageDefinitionWithNoLongStringSettings()
{
PageTypePropertyUpdater pageTypePropertyUpdater = PageTypePropertyUpdaterFactory.Create();
PageDefinition pageDefinition = new PageDefinition();
string valuesWithOutClearAllLongStringSettings = pageTypePropertyUpdater.SerializeValues(pageDefinition);
pageDefinition.LongStringSettings = EditorToolOption.Bold;
string returnedValue = pageTypePropertyUpdater.SerializeValues(pageDefinition);
Assert.NotEqual<string>(valuesWithOutClearAllLongStringSettings, returnedValue);
}
开发者ID:eriknordin,项目名称:Page-Type-Builder,代码行数:11,代码来源:SerializeValuesTests.cs
示例12: GivenPropertyDefinition_UpdatePageDefinition_CallsUpdatePageDefinitionValues
public void GivenPropertyDefinition_UpdatePageDefinition_CallsUpdatePageDefinitionValues()
{
PageTypePropertyUpdater pageTypePropertyUpdater =
CreatePageTypePropertyUpdaterWithFakePageDefinitionFactoryAndFakeUpdatePageDefinitionValuesMethod();
PageDefinition pageDefinitionToUpdate = new PageDefinition();
PageTypePropertyDefinition propertyDefinition = CreatePageTypePropertyDefinition();
pageTypePropertyUpdater.UpdatePageDefinition(pageDefinitionToUpdate, propertyDefinition);
pageTypePropertyUpdater.AssertWasCalled(
utility => utility.UpdatePageDefinitionValues(pageDefinitionToUpdate, propertyDefinition));
}
开发者ID:andreasnico,项目名称:Page-Type-Builder,代码行数:12,代码来源:UpdatePageDefinitionTests.cs
示例13: CreateNewPageDefinition
public virtual void CreateNewPageDefinition(PageTypePropertyDefinition propertyDefinition)
{
PageDefinition pageDefinition = new PageDefinition();
pageDefinition.PageTypeID = propertyDefinition.PageType.ID;
pageDefinition.Name = propertyDefinition.Name;
pageDefinition.EditCaption = propertyDefinition.GetEditCaptionOrName();
SetPageDefinitionType(pageDefinition, propertyDefinition);
UpdatePageDefinitionValues(pageDefinition, propertyDefinition);
pageDefinitionRepository.Save(pageDefinition);
}
开发者ID:stefanforsberg,项目名称:Page-Type-Builder,代码行数:12,代码来源:PageDefinitionUpdater.cs
示例14: CreateNewPageDefinition
protected internal virtual PageDefinition CreateNewPageDefinition(PageTypePropertyDefinition propertyDefinition)
{
PageDefinition pageDefinition = new PageDefinition();
pageDefinition.PageTypeID = propertyDefinition.PageType.ID;
pageDefinition.Name = propertyDefinition.Name;
pageDefinition.EditCaption = propertyDefinition.GetEditCaptionOrName();
SetPageDefinitionType(pageDefinition, propertyDefinition);
PageDefinitionFactory.Save(pageDefinition);
return pageDefinition;
}
开发者ID:osdezwart,项目名称:Page-Type-Builder,代码行数:12,代码来源:PageTypePropertyUpdater.cs
示例15: GivenPropertyDefinitionWithNewEditCaption_UpdatePageDefinitionValues_UpdatedPageDefinitionEditCaption
public void GivenPropertyDefinitionWithNewEditCaption_UpdatePageDefinitionValues_UpdatedPageDefinitionEditCaption()
{
var pageDefinitionUpdater = GetPageDefinitionUpdater();
PageDefinition pageDefinitionToUpdate = new PageDefinition();
pageDefinitionToUpdate.EditCaption = TestValueUtility.CreateRandomString();
string newEditCaption = TestValueUtility.CreateRandomString();
PageTypePropertyDefinition propertyDefinition = CreatePageTypePropertyDefinition();
propertyDefinition.PageTypePropertyAttribute.EditCaption = newEditCaption;
pageDefinitionUpdater.UpdateExistingPageDefinition(pageDefinitionToUpdate, propertyDefinition);
Assert.Equal<string>(newEditCaption, pageDefinitionToUpdate.EditCaption);
}
开发者ID:stefanforsberg,项目名称:Page-Type-Builder,代码行数:13,代码来源:UpdatePageDefinitionTests.cs
示例16: CreatePageTypePropertyUpdaterWithFakeUpdatePageDefinitionTabMethod
public void GivenPropertyDefinitionWithNoEditCaptionAndNameOtherThanPageDefinitionEditCaption_UpdatedPageDefinitionEditCaption()
{
PageTypePropertyUpdater pageTypePropertyUpdater = CreatePageTypePropertyUpdaterWithFakeUpdatePageDefinitionTabMethod();
PageDefinition pageDefinitionToUpdate = new PageDefinition();
pageDefinitionToUpdate.EditCaption = TestValueUtility.CreateRandomString();
string newEditCaption = TestValueUtility.CreateRandomString();
PageTypePropertyDefinition propertyDefinition = CreatePageTypePropertyDefinition();
propertyDefinition.Name = newEditCaption;
pageTypePropertyUpdater.UpdatePageDefinitionValues(pageDefinitionToUpdate, propertyDefinition);
Assert.Equal<string>(newEditCaption, pageDefinitionToUpdate.EditCaption);
}
开发者ID:andreasnico,项目名称:Page-Type-Builder,代码行数:13,代码来源:UpdatePageDefinitionTests.cs
示例17: UpdateExistingPageDefinition
public virtual void UpdateExistingPageDefinition(PageDefinition pageDefinition, PageTypePropertyDefinition pageTypePropertyDefinition)
{
string oldValues = SerializeValues(pageDefinition);
UpdatePageDefinitionValues(pageDefinition, pageTypePropertyDefinition);
string updatedValues = SerializeValues(pageDefinition);
if (updatedValues != oldValues)
{
log.Debug(string.Format("Updating PageDefintion, old values: {0}, new values: {1}.", oldValues, updatedValues));
pageDefinitionRepository.Save(pageDefinition);
}
}
开发者ID:stefanforsberg,项目名称:Page-Type-Builder,代码行数:13,代码来源:PageDefinitionUpdater.cs
示例18: UpdatePropertySettings
protected internal virtual void UpdatePropertySettings(PageTypeDefinition pageTypeDefinition, PageTypePropertyDefinition propertyDefinition, PageDefinition pageDefinition)
{
PropertySettingsContainer container = GetPropertySettingsContainer(pageDefinition);
object[] attributes = GetPropertyAttributes(propertyDefinition, pageTypeDefinition);
var useGlobalSettingsAttribute = attributes.OfType<UseGlobalSettingsAttribute>().FirstOrDefault();
if(useGlobalSettingsAttribute != null)
{
//TODO: Should validate not null and valid type at startup
var globalSettingsUpdater = globalPropertySettingsLocator.GetGlobalPropertySettingsUpdaters().Where(u => u.WrappedInstanceType == useGlobalSettingsAttribute.Type).First();
var wrapper =_propertySettingsRepository.GetGlobals(globalSettingsUpdater.SettingsType)
.Where(w => globalSettingsUpdater.Match(w))
.First();
container.Settings[globalSettingsUpdater.SettingsType.FullName] = wrapper;
//TODO: Add spec validating that exception is thrown with the below uncommented (An item with the same key has already been added.)
//container.Settings.Add(globalSettingsUpdater.SettingsType.FullName, wrapper);
_propertySettingsRepository.Save(container);
}
List<PropertySettingsUpdater> settingsUpdaters = GetPropertySettingsUpdaters(pageTypeDefinition, propertyDefinition, pageDefinition);
settingsUpdaters.ForEach(updater =>
{
var wrapper = container.GetSetting(updater.SettingsType);
if (wrapper == null)
{
wrapper = new PropertySettingsWrapper();
container.Settings[updater.SettingsType.FullName] = wrapper;
//TODO: Add spec validating that exception is thrown with the below uncommented (An item with the same key has already been added.)
//container.Settings.Add(updater.SettingsType.FullName, wrapper);
}
bool settingsAlreadyExists = true;
if (wrapper.PropertySettings == null)
{
wrapper.PropertySettings = ((IPropertySettings)Activator.CreateInstance(updater.SettingsType)).GetDefaultValues();
settingsAlreadyExists = false;
}
if (settingsAlreadyExists && !updater.OverWriteExisting)
return;
int hashBeforeUpdate = updater.GetSettingsHashCode(wrapper.PropertySettings);
updater.UpdateSettings(wrapper.PropertySettings);
int hashAfterUpdate = updater.GetSettingsHashCode(wrapper.PropertySettings);
if (hashBeforeUpdate != hashAfterUpdate || !settingsAlreadyExists)
{
_propertySettingsRepository.Save(container);
}
});
}
开发者ID:andreasnico,项目名称:Page-Type-Builder,代码行数:50,代码来源:PageTypePropertyUpdater.cs
示例19: NativePageType
public void GivenPageTypeWithPropertyAndCorrespondingPropertyDefition_GetExistingPropertyDefinition_ReturnsPageDefinition()
{
PageTypePropertyUpdater utility = PageTypePropertyUpdaterFactory.Create();
IPageType pageType = new NativePageType();
string name = TestValueUtility.CreateRandomString();
Type type = typeof(string);
PageTypePropertyAttribute attribute = new PageTypePropertyAttribute();
PageTypePropertyDefinition pageTypePropertyDefinition = new PageTypePropertyDefinition(name, type, pageType, attribute);
PageDefinition pageDefinition = new PageDefinition();
pageDefinition.Name = name;
pageType.Definitions.Add(pageDefinition);
PageDefinition returnedPageDefinition = utility.GetExistingPageDefinition(pageType, pageTypePropertyDefinition);
Assert.Equal<PageDefinition>(pageDefinition, returnedPageDefinition);
}
开发者ID:andreasnico,项目名称:Page-Type-Builder,代码行数:16,代码来源:GetExistingPageDefitionTests.cs
示例20: UpdatePropertySettings
protected internal virtual void UpdatePropertySettings(PageTypeDefinition pageTypeDefinition, PageTypePropertyDefinition propertyDefinition, PageDefinition pageDefinition)
{
var prop =
pageTypeDefinition.Type.GetProperties().Where(p => p.Name == propertyDefinition.Name).FirstOrDefault
();
var attributes = prop.GetCustomAttributes(typeof(PropertySettingsAttribute), true);
foreach (var attribute in attributes)
{
PropertySettingsContainer container;
if (pageDefinition.SettingsID == Guid.Empty)
{
pageDefinition.SettingsID = Guid.NewGuid();
PageDefinitionFactory.Save(pageDefinition);
container = new PropertySettingsContainer(pageDefinition.SettingsID);
}
else
{
if (!_propertySettingsRepository.TryGetContainer(pageDefinition.SettingsID, out container))
{
container = new PropertySettingsContainer(pageDefinition.SettingsID);
}
}
var settingsAttribute = (PropertySettingsAttribute) attribute;
var wrapper = container.GetSetting(settingsAttribute.SettingType);
if (wrapper == null)
{
wrapper = new PropertySettingsWrapper();
container.Settings.Add(settingsAttribute.SettingType.FullName, wrapper);
}
bool settingsAlreadyExists = true;
if (wrapper.PropertySettings == null)
{
wrapper.PropertySettings = (IPropertySettings) Activator.CreateInstance(settingsAttribute.SettingType);
settingsAlreadyExists = false;
}
if(settingsAlreadyExists && !settingsAttribute.OverWriteExistingSettings)
return;
if(settingsAttribute.UpdateSettings(wrapper.PropertySettings) || !settingsAlreadyExists)
_propertySettingsRepository.Save(container);
}
}
开发者ID:eriknordin,项目名称:Page-Type-Builder,代码行数:46,代码来源:PageTypePropertyUpdater.cs
注:本文中的PageDefinition类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论