mirror of
https://github.com/vczh-libraries/Release.git
synced 2026-05-19 02:25:04 +08:00
Update release
This commit is contained in:
+316
-15
File diff suppressed because it is too large
Load Diff
+103
-9
@@ -10528,6 +10528,10 @@ List Control
|
||||
/// <returns>Returns true if this operation succeeded.</returns>
|
||||
/// <param name="itemIndex">The item index of the item to be made visible.</param>
|
||||
virtual bool EnsureItemVisible(vint itemIndex)=0;
|
||||
/// <summary>Get the adopted size for the view bounds.</summary>
|
||||
/// <returns>The adopted size, making the vids bounds just enough to display several items.</returns>
|
||||
/// <param name="expectedSize">The expected size, to provide a guidance.</param>
|
||||
virtual Size GetAdoptedSize(Size expectedSize)=0;
|
||||
};
|
||||
|
||||
protected:
|
||||
@@ -10629,6 +10633,8 @@ List Control
|
||||
compositions::GuiNotifyEvent ArrangerChanged;
|
||||
/// <summary>Coordinate transformer changed event.</summary>
|
||||
compositions::GuiNotifyEvent AxisChanged;
|
||||
/// <summary>Adopted size invalidated.</summary>
|
||||
compositions::GuiNotifyEvent AdoptedSizeInvalidated;
|
||||
|
||||
/// <summary>Item left mouse button down event.</summary>
|
||||
compositions::GuiItemMouseEvent ItemLeftButtonDown;
|
||||
@@ -10683,6 +10689,10 @@ List Control
|
||||
/// <returns>Returns true if this operation succeeded.</returns>
|
||||
/// <param name="itemIndex">The item index of the item to be made visible.</param>
|
||||
virtual bool EnsureItemVisible(vint itemIndex);
|
||||
/// <summary>Get the adopted size for the list control.</summary>
|
||||
/// <returns>The adopted size, making the list control just enough to display several items.</returns>
|
||||
/// <param name="expectedSize">The expected size, to provide a guidance.</param>
|
||||
virtual Size GetAdoptedSize(Size expectedSize);
|
||||
};
|
||||
|
||||
/***********************************************************************
|
||||
@@ -10793,6 +10803,9 @@ Predefined ItemArranger
|
||||
vint startIndex;
|
||||
StyleList visibleStyles;
|
||||
|
||||
void InvalidateAdoptedSize();
|
||||
vint CalculateAdoptedSize(vint expectedSize, vint count, vint itemSize);
|
||||
|
||||
virtual void ClearStyles();
|
||||
virtual void OnStylesCleared()=0;
|
||||
virtual Size OnCalculateTotalSize()=0;
|
||||
@@ -10834,6 +10847,7 @@ Predefined ItemArranger
|
||||
|
||||
vint FindItem(vint itemIndex, compositions::KeyDirection key)override;
|
||||
bool EnsureItemVisible(vint itemIndex)override;
|
||||
Size GetAdoptedSize(Size expectedSize)override;
|
||||
};
|
||||
|
||||
/// <summary>Fixed size multiple columns item arranger. This arranger adjust all items in multiple lines with the same size. The width is the maximum width of all minimum widths of displayed items. The same to height.</summary>
|
||||
@@ -10855,6 +10869,7 @@ Predefined ItemArranger
|
||||
|
||||
vint FindItem(vint itemIndex, compositions::KeyDirection key)override;
|
||||
bool EnsureItemVisible(vint itemIndex)override;
|
||||
Size GetAdoptedSize(Size expectedSize)override;
|
||||
};
|
||||
|
||||
/// <summary>Fixed size multiple columns item arranger. This arranger adjust all items in multiple columns with the same height. The height is the maximum width of all minimum height of displayed items. Each item will displayed using its minimum width.</summary>
|
||||
@@ -10876,6 +10891,7 @@ Predefined ItemArranger
|
||||
|
||||
vint FindItem(vint itemIndex, compositions::KeyDirection key)override;
|
||||
bool EnsureItemVisible(vint itemIndex)override;
|
||||
Size GetAdoptedSize(Size expectedSize)override;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -13195,11 +13211,46 @@ ComboBox with GuiListControl
|
||||
/// <summary>Combo box list control. This control is a combo box with a list control in its popup.</summary>
|
||||
class GuiComboBoxListControl : public GuiComboBoxBase, public Description<GuiComboBoxListControl>
|
||||
{
|
||||
public:
|
||||
/// <summary>Style controller interface for <see cref="GuiComboBoxListControl"/>.</summary>
|
||||
class IStyleController : public virtual GuiComboBoxBase::IStyleController, public Description<IStyleController>
|
||||
{
|
||||
public:
|
||||
/// <summary>Indicate that if the combo box need to display text.</summary>
|
||||
/// <param name="value">Set to true to display text.</param>
|
||||
virtual void SetTextVisible(bool value) = 0;
|
||||
};
|
||||
|
||||
/// <summary>Item style provider for a <see cref="GuiComboBoxListControl"/>.</summary>
|
||||
class IItemStyleProvider : public virtual IDescriptable, public Description<IItemStyleProvider>
|
||||
{
|
||||
public:
|
||||
/// <summary>Called when an item style provider in installed to a <see cref="GuiListControl"/>.</summary>
|
||||
/// <param name="value">The list control.</param>
|
||||
virtual void AttachComboBox(GuiComboBoxListControl* value)=0;
|
||||
/// <summary>Called when an item style provider in uninstalled from a <see cref="GuiListControl"/>.</summary>
|
||||
virtual void DetachComboBox()=0;
|
||||
/// <summary>Create an item style controller from an item.</summary>
|
||||
/// <returns>The created item style controller.</returns>
|
||||
/// <param name="item">The item.</param>
|
||||
virtual GuiControl::IStyleController* CreateItemStyle(description::Value item)=0;
|
||||
};
|
||||
|
||||
protected:
|
||||
IStyleController* styleController;
|
||||
GuiSelectableListControl* containedListControl;
|
||||
GuiListControl::IItemPrimaryTextView* primaryTextView;
|
||||
GuiListControl::IItemBindingView* itemBindingView;
|
||||
Ptr<IItemStyleProvider> itemStyleProvider;
|
||||
Ptr<GuiControl::IStyleController> itemStyleController;
|
||||
|
||||
void RemoveStyleController();
|
||||
void InstallStyleController(vint itemIndex);
|
||||
virtual void DisplaySelectedContent(vint itemIndex);
|
||||
void OnTextChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments);
|
||||
void OnFontChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments);
|
||||
void OnVisuallyEnabledChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments);
|
||||
void OnListControlAdoptedSizeInvalidated(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments);
|
||||
void OnListControlSelectionChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments);
|
||||
public:
|
||||
/// <summary>Create a control with a specified style controller and a list control that will be put in the popup control to show all items.</summary>
|
||||
@@ -13207,21 +13258,33 @@ ComboBox with GuiListControl
|
||||
/// <param name="_containedListControl">The list controller.</param>
|
||||
GuiComboBoxListControl(IStyleController* _styleController, GuiSelectableListControl* _containedListControl);
|
||||
~GuiComboBoxListControl();
|
||||
|
||||
|
||||
/// <summary>Style provider changed event.</summary>
|
||||
compositions::GuiNotifyEvent StyleProviderChanged;
|
||||
/// <summary>Selected index changed event.</summary>
|
||||
compositions::GuiNotifyEvent SelectedIndexChanged;
|
||||
|
||||
void SetFont(const FontProperties& value)override;
|
||||
/// <summary>Get the list control.</summary>
|
||||
/// <returns>The list control.</returns>
|
||||
GuiSelectableListControl* GetContainedListControl();
|
||||
|
||||
/// <summary>Get the item style provider.</summary>
|
||||
/// <returns>The item style provider.</returns>
|
||||
IItemStyleProvider* GetStyleProvider();
|
||||
/// <summary>Set the item style provider</summary>
|
||||
/// <returns>The old item style provider</returns>
|
||||
/// <param name="value">The new item style provider</param>
|
||||
Ptr<IItemStyleProvider> SetStyleProvider(Ptr<IItemStyleProvider> value);
|
||||
|
||||
/// <summary>Get the selected index.</summary>
|
||||
/// <returns>The selected index.</returns>
|
||||
vint GetSelectedIndex();
|
||||
/// <summary>Set the selected index.</summary>
|
||||
/// <param name="value">The selected index.</param>
|
||||
void SetSelectedIndex(vint value);
|
||||
|
||||
/// <summary>Get the selected item.</summary>
|
||||
description::Value GetSelectedItem();
|
||||
/// <summary>Get the item provider in the list control.</summary>
|
||||
/// <returns>The item provider in the list control.</returns>
|
||||
GuiListControl::IItemProvider* GetItemProvider();
|
||||
@@ -17368,7 +17431,7 @@ namespace vl
|
||||
virtual controls::GuiTab::IStyleController* CreateTabStyle()=0;
|
||||
/// <summary>Create a style for combo box.</summary>
|
||||
/// <returns>The created style.</returns>
|
||||
virtual controls::GuiComboBoxBase::IStyleController* CreateComboBoxStyle()=0;
|
||||
virtual controls::GuiComboBoxListControl::IStyleController* CreateComboBoxStyle()=0;
|
||||
/// <summary>Create a style for multiline text box.</summary>
|
||||
/// <returns>The created style.</returns>
|
||||
virtual controls::GuiScrollView::IStyleProvider* CreateMultilineTextBoxStyle()=0;
|
||||
@@ -17667,7 +17730,7 @@ Theme
|
||||
controls::GuiScrollContainer::IStyleProvider* CreateScrollContainerStyle()override;
|
||||
controls::GuiControl::IStyleController* CreateGroupBoxStyle()override;
|
||||
controls::GuiTab::IStyleController* CreateTabStyle()override;
|
||||
controls::GuiComboBoxBase::IStyleController* CreateComboBoxStyle()override;
|
||||
controls::GuiComboBoxListControl::IStyleController* CreateComboBoxStyle()override;
|
||||
controls::GuiScrollView::IStyleProvider* CreateMultilineTextBoxStyle()override;
|
||||
controls::GuiSinglelineTextBox::IStyleProvider* CreateTextBoxStyle()override;
|
||||
elements::text::ColorEntry GetDefaultTextBoxColorEntry()override;
|
||||
@@ -17755,7 +17818,7 @@ Theme
|
||||
controls::GuiScrollContainer::IStyleProvider* CreateScrollContainerStyle()override;
|
||||
controls::GuiControl::IStyleController* CreateGroupBoxStyle()override;
|
||||
controls::GuiTab::IStyleController* CreateTabStyle()override;
|
||||
controls::GuiComboBoxBase::IStyleController* CreateComboBoxStyle()override;
|
||||
controls::GuiComboBoxListControl::IStyleController* CreateComboBoxStyle()override;
|
||||
controls::GuiScrollView::IStyleProvider* CreateMultilineTextBoxStyle()override;
|
||||
controls::GuiSinglelineTextBox::IStyleProvider* CreateTextBoxStyle()override;
|
||||
elements::text::ColorEntry GetDefaultTextBoxColorEntry()override;
|
||||
@@ -18033,6 +18096,7 @@ Control Template
|
||||
|
||||
#define GuiComboBoxTemplate_PROPERTIES(F)\
|
||||
F(GuiComboBoxTemplate, controls::GuiComboBoxBase::ICommandExecutor*, Commands)\
|
||||
F(GuiComboBoxTemplate, bool, TextVisible)\
|
||||
|
||||
GuiComboBoxTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_DECL)
|
||||
};
|
||||
@@ -18281,7 +18345,7 @@ Control Template
|
||||
GuiControlTemplate* controlTemplate;
|
||||
|
||||
public:
|
||||
GuiControlTemplate_StyleProvider(Ptr<GuiTemplate::IFactory> factory);
|
||||
GuiControlTemplate_StyleProvider(Ptr<GuiTemplate::IFactory> factory, description::Value viewModel = description::Value());
|
||||
~GuiControlTemplate_StyleProvider();
|
||||
|
||||
compositions::GuiBoundsComposition* GetBoundsComposition()override;
|
||||
@@ -18452,7 +18516,7 @@ Control Template
|
||||
|
||||
class GuiComboBoxTemplate_StyleProvider
|
||||
: public GuiToolstripButtonTemplate_StyleProvider
|
||||
, public virtual controls::GuiComboBoxBase::IStyleController
|
||||
, public virtual controls::GuiComboBoxListControl::IStyleController
|
||||
, public Description<GuiComboBoxTemplate_StyleProvider>
|
||||
{
|
||||
protected:
|
||||
@@ -18464,6 +18528,7 @@ Control Template
|
||||
|
||||
void SetCommandExecutor(controls::GuiComboBoxBase::ICommandExecutor* value)override;
|
||||
void OnItemSelected()override;
|
||||
void SetTextVisible(bool value)override;
|
||||
};
|
||||
|
||||
class GuiTextListTemplate_StyleProvider;
|
||||
@@ -18701,6 +18766,27 @@ Control Template
|
||||
compositions::IGuiAltAction* GetTabAltAction(vint index)override;
|
||||
};
|
||||
|
||||
/***********************************************************************
|
||||
Item Template (GuiControlTemplate)
|
||||
***********************************************************************/
|
||||
|
||||
class GuiControlTemplate_ItemStyleProvider
|
||||
: public Object
|
||||
, public virtual controls::GuiComboBoxListControl::IItemStyleProvider
|
||||
, public Description<GuiControlTemplate_ItemStyleProvider>
|
||||
{
|
||||
protected:
|
||||
Ptr<GuiTemplate::IFactory> factory;
|
||||
|
||||
public:
|
||||
GuiControlTemplate_ItemStyleProvider(Ptr<GuiTemplate::IFactory> _factory);
|
||||
~GuiControlTemplate_ItemStyleProvider();
|
||||
|
||||
void AttachComboBox(controls::GuiComboBoxListControl* value)override;
|
||||
void DetachComboBox()override;
|
||||
controls::GuiControl::IStyleController* CreateItemStyle(description::Value item)override;
|
||||
};
|
||||
|
||||
/***********************************************************************
|
||||
Item Template (GuiListItemTemplate)
|
||||
***********************************************************************/
|
||||
@@ -22190,7 +22276,7 @@ ComboBox
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable:4250)
|
||||
/// <summary>Drop down combo box style (Windows 7).</summary>
|
||||
class Win7DropDownComboBoxStyle : public Win7ButtonStyle, public virtual controls::GuiComboBoxBase::IStyleController, public Description<Win7DropDownComboBoxStyle>
|
||||
class Win7DropDownComboBoxStyle : public Win7ButtonStyle, public virtual controls::GuiComboBoxListControl::IStyleController, public Description<Win7DropDownComboBoxStyle>
|
||||
{
|
||||
protected:
|
||||
controls::GuiComboBoxBase::ICommandExecutor* commandExecutor;
|
||||
@@ -22198,6 +22284,8 @@ ComboBox
|
||||
compositions::GuiCellComposition* textComposition;
|
||||
compositions::GuiCellComposition* dropDownComposition;
|
||||
elements::GuiPolygonElement* dropDownElement;
|
||||
WString text;
|
||||
bool textVisible;
|
||||
|
||||
void TransferInternal(controls::GuiButton::ControlState value, bool enabled, bool selected)override;
|
||||
void AfterApplyColors(const Win7ButtonColors& colors)override;
|
||||
@@ -22216,6 +22304,8 @@ ComboBox
|
||||
void SetShortcutText(const WString& value)override;
|
||||
void SetCommandExecutor(controls::GuiComboBoxBase::ICommandExecutor* value)override;
|
||||
void OnItemSelected()override;
|
||||
void SetText(const WString& value)override;
|
||||
void SetTextVisible(bool value)override;
|
||||
};
|
||||
#pragma warning(pop)
|
||||
|
||||
@@ -22543,7 +22633,7 @@ ComboBox
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable:4250)
|
||||
/// <summary>Drop down combo box style (Windows 8).</summary>
|
||||
class Win8DropDownComboBoxStyle : public Win8ButtonStyle, public virtual controls::GuiComboBoxBase::IStyleController, public Description<Win8DropDownComboBoxStyle>
|
||||
class Win8DropDownComboBoxStyle : public Win8ButtonStyle, public virtual controls::GuiComboBoxListControl::IStyleController, public Description<Win8DropDownComboBoxStyle>
|
||||
{
|
||||
protected:
|
||||
controls::GuiComboBoxBase::ICommandExecutor* commandExecutor;
|
||||
@@ -22551,6 +22641,8 @@ ComboBox
|
||||
compositions::GuiCellComposition* textComposition;
|
||||
compositions::GuiCellComposition* dropDownComposition;
|
||||
elements::GuiPolygonElement* dropDownElement;
|
||||
WString text;
|
||||
bool textVisible;
|
||||
|
||||
void TransferInternal(controls::GuiButton::ControlState value, bool enabled, bool selected)override;
|
||||
void AfterApplyColors(const Win8ButtonColors& colors)override;
|
||||
@@ -22569,6 +22661,8 @@ ComboBox
|
||||
void SetShortcutText(const WString& value)override;
|
||||
void SetCommandExecutor(controls::GuiComboBoxBase::ICommandExecutor* value)override;
|
||||
void OnItemSelected()override;
|
||||
void SetText(const WString& value)override;
|
||||
void SetTextVisible(bool value)override;
|
||||
};
|
||||
#pragma warning(pop)
|
||||
|
||||
|
||||
+83
-49
@@ -3902,6 +3902,83 @@ GuiVirtualTreeViewInstanceLoader
|
||||
}
|
||||
};
|
||||
|
||||
/***********************************************************************
|
||||
GuiComboBoxInstanceLoader
|
||||
***********************************************************************/
|
||||
|
||||
#define BASE_TYPE GuiTemplateControlInstanceLoader<GuiComboBoxListControl, GuiComboBoxTemplate_StyleProvider, GuiComboBoxTemplate>
|
||||
class GuiComboBoxInstanceLoader : public BASE_TYPE
|
||||
{
|
||||
protected:
|
||||
GlobalStringKey _ListControl;
|
||||
|
||||
void AddAdditionalArguments(const TypeInfo& typeInfo, GlobalStringKey variableName, ArgumentMap& arguments, collections::List<WString>& errors, Ptr<WfNewClassExpression> createControl)override
|
||||
{
|
||||
vint indexListControl = arguments.Keys().IndexOf(_ListControl);
|
||||
if (indexListControl != -1)
|
||||
{
|
||||
createControl->arguments.Add(arguments.GetByIndex(indexListControl)[0].expression);
|
||||
}
|
||||
}
|
||||
public:
|
||||
GuiComboBoxInstanceLoader()
|
||||
:BASE_TYPE(L"presentation::controls::GuiComboBox", L"CreateComboBoxStyle")
|
||||
{
|
||||
_ListControl = GlobalStringKey::Get(L"ListControl");
|
||||
}
|
||||
|
||||
void GetConstructorParameters(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
|
||||
{
|
||||
if (typeInfo.typeName == GetTypeName())
|
||||
{
|
||||
propertyNames.Add(_ListControl);
|
||||
propertyNames.Add(GlobalStringKey::_ItemTemplate);
|
||||
}
|
||||
BASE_TYPE::GetConstructorParameters(typeInfo, propertyNames);
|
||||
}
|
||||
|
||||
Ptr<GuiInstancePropertyInfo> GetPropertyType(const PropertyInfo& propertyInfo)override
|
||||
{
|
||||
if (propertyInfo.propertyName == _ListControl)
|
||||
{
|
||||
auto info = GuiInstancePropertyInfo::Assign(description::GetTypeDescriptor<GuiSelectableListControl>());
|
||||
info->scope = GuiInstancePropertyInfo::Constructor;
|
||||
info->required = true;
|
||||
return info;
|
||||
}
|
||||
else if (propertyInfo.propertyName == GlobalStringKey::_ItemTemplate)
|
||||
{
|
||||
auto info = GuiInstancePropertyInfo::Assign(description::GetTypeDescriptor<WString>());
|
||||
return info;
|
||||
}
|
||||
return BASE_TYPE::GetPropertyType(propertyInfo);
|
||||
}
|
||||
|
||||
Ptr<workflow::WfStatement> AssignParameters(const TypeInfo& typeInfo, GlobalStringKey variableName, ArgumentMap& arguments, collections::List<WString>& errors)override
|
||||
{
|
||||
auto block = MakePtr<WfBlockStatement>();
|
||||
|
||||
FOREACH_INDEXER(GlobalStringKey, prop, index, arguments.Keys())
|
||||
{
|
||||
const auto& values = arguments.GetByIndex(index);
|
||||
if (prop == GlobalStringKey::_ItemTemplate)
|
||||
{
|
||||
if (auto stat = CreateSetControlTemplateStyle<GuiControlTemplate_ItemStyleProvider, GuiControlTemplate>(variableName, arguments.GetByIndex(index)[0].expression, typeInfo, L"StyleProvider", errors))
|
||||
{
|
||||
block->statements.Add(stat);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (block->statements.Count() > 0)
|
||||
{
|
||||
return block;
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
};
|
||||
#undef BASE_TYPE
|
||||
|
||||
/***********************************************************************
|
||||
GuiListViewInstanceLoader
|
||||
***********************************************************************/
|
||||
@@ -4313,6 +4390,7 @@ GuiBindableTextListInstanceLoader
|
||||
auto info = GuiInstancePropertyInfo::Assign(description::GetTypeDescriptor<IValueEnumerable>());
|
||||
info->scope = GuiInstancePropertyInfo::Constructor;
|
||||
info->required = true;
|
||||
info->bindable = true;
|
||||
return info;
|
||||
}
|
||||
return BASE_TYPE::GetPropertyType(propertyInfo);
|
||||
@@ -4780,6 +4858,11 @@ Initialization
|
||||
|
||||
void LoadListControls(IGuiInstanceLoaderManager* manager)
|
||||
{
|
||||
manager->CreateVirtualType(
|
||||
GlobalStringKey::Get(description::TypeInfo<GuiComboBoxListControl>::TypeName),
|
||||
new GuiComboBoxInstanceLoader
|
||||
);
|
||||
|
||||
manager->SetLoader(new GuiSelectableListControlInstanceLoader);
|
||||
manager->SetLoader(new GuiVirtualTreeViewInstanceLoader);
|
||||
|
||||
@@ -4956,54 +5039,6 @@ GuiControlInstanceLoader
|
||||
}
|
||||
};
|
||||
|
||||
/***********************************************************************
|
||||
GuiComboBoxInstanceLoader
|
||||
***********************************************************************/
|
||||
|
||||
#define BASE_TYPE GuiTemplateControlInstanceLoader<GuiComboBoxListControl, GuiComboBoxTemplate_StyleProvider, GuiComboBoxTemplate>
|
||||
class GuiComboBoxInstanceLoader : public BASE_TYPE
|
||||
{
|
||||
protected:
|
||||
GlobalStringKey _ListControl;
|
||||
|
||||
void AddAdditionalArguments(const TypeInfo& typeInfo, GlobalStringKey variableName, ArgumentMap& arguments, collections::List<WString>& errors, Ptr<WfNewClassExpression> createControl)override
|
||||
{
|
||||
vint indexListControl = arguments.Keys().IndexOf(_ListControl);
|
||||
if (indexListControl != -1)
|
||||
{
|
||||
createControl->arguments.Add(arguments.GetByIndex(indexListControl)[0].expression);
|
||||
}
|
||||
}
|
||||
public:
|
||||
GuiComboBoxInstanceLoader()
|
||||
:BASE_TYPE(L"presentation::controls::GuiComboBox", L"CreateComboBoxStyle")
|
||||
{
|
||||
_ListControl = GlobalStringKey::Get(L"ListControl");
|
||||
}
|
||||
|
||||
void GetConstructorParameters(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
|
||||
{
|
||||
if (typeInfo.typeName == GetTypeName())
|
||||
{
|
||||
propertyNames.Add(_ListControl);
|
||||
}
|
||||
BASE_TYPE::GetConstructorParameters(typeInfo, propertyNames);
|
||||
}
|
||||
|
||||
Ptr<GuiInstancePropertyInfo> GetPropertyType(const PropertyInfo& propertyInfo)override
|
||||
{
|
||||
if (propertyInfo.propertyName == _ListControl)
|
||||
{
|
||||
auto info = GuiInstancePropertyInfo::Assign(description::GetTypeDescriptor<GuiSelectableListControl>());
|
||||
info->scope = GuiInstancePropertyInfo::Constructor;
|
||||
info->required = true;
|
||||
return info;
|
||||
}
|
||||
return BASE_TYPE::GetPropertyType(propertyInfo);
|
||||
}
|
||||
};
|
||||
#undef BASE_TYPE
|
||||
|
||||
#endif
|
||||
|
||||
/***********************************************************************
|
||||
@@ -5122,7 +5157,6 @@ GuiPredefinedInstanceLoadersPlugin
|
||||
)
|
||||
|
||||
manager->SetLoader(new GuiControlInstanceLoader);
|
||||
ADD_VIRTUAL_TYPE_LOADER(GuiComboBoxListControl, GuiComboBoxInstanceLoader);
|
||||
|
||||
ADD_TEMPLATE_CONTROL ( GuiCustomControl, CreateCustomControlStyle, GuiControlTemplate );
|
||||
ADD_TEMPLATE_CONTROL ( GuiLabel, CreateLabelStyle, GuiLabelTemplate );
|
||||
|
||||
@@ -1886,6 +1886,7 @@ Type Declaration
|
||||
CLASS_MEMBER_BASE(GuiScrollView)
|
||||
CLASS_MEMBER_CONSTRUCTOR(GuiListControl*(GuiListControl::IStyleProvider* _ GuiListControl::IItemProvider* _ bool), {L"styleProvider" _ L"itemProvider" _ L"acceptFocus"})
|
||||
|
||||
CLASS_MEMBER_GUIEVENT(AdoptedSizeInvalidated)
|
||||
CLASS_MEMBER_GUIEVENT(ItemLeftButtonDown)
|
||||
CLASS_MEMBER_GUIEVENT(ItemLeftButtonUp)
|
||||
CLASS_MEMBER_GUIEVENT(ItemLeftButtonDoubleClick)
|
||||
@@ -1905,6 +1906,7 @@ Type Declaration
|
||||
CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(Axis)
|
||||
|
||||
CLASS_MEMBER_METHOD(EnsureItemVisible, {L"itemIndex"})
|
||||
CLASS_MEMBER_METHOD(GetAdoptedSize, {L"expectedSize"})
|
||||
END_CLASS_MEMBER(GuiListControl)
|
||||
|
||||
BEGIN_INTERFACE_MEMBER(GuiListControl::IItemProviderCallback)
|
||||
@@ -1989,6 +1991,7 @@ Type Declaration
|
||||
CLASS_MEMBER_METHOD(OnViewChanged, {L"bounds"})
|
||||
CLASS_MEMBER_METHOD(FindItem, {L"itemIndex" _ L"key"})
|
||||
CLASS_MEMBER_METHOD(EnsureItemVisible, {L"itemIndex"})
|
||||
CLASS_MEMBER_METHOD(GetAdoptedSize, {L"expectedSize"})
|
||||
END_INTERFACE_MEMBER(GuiListControl::IItemArranger)
|
||||
|
||||
BEGIN_CLASS_MEMBER(GuiSelectableListControl)
|
||||
@@ -2582,10 +2585,24 @@ Type Declaration
|
||||
|
||||
CLASS_MEMBER_PROPERTY_FAST(Font)
|
||||
CLASS_MEMBER_PROPERTY_READONLY_FAST(ContainedListControl)
|
||||
CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(StyleProvider)
|
||||
CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(SelectedIndex)
|
||||
CLASS_MEMBER_PROPERTY_EVENT_READONLY_FAST(SelectedItem, SelectedIndexChanged)
|
||||
CLASS_MEMBER_PROPERTY_READONLY_FAST(ItemProvider)
|
||||
END_CLASS_MEMBER(GuiComboBoxListControl)
|
||||
|
||||
BEGIN_INTERFACE_MEMBER(GuiComboBoxListControl::IStyleController)
|
||||
CLASS_MEMBER_BASE(GuiComboBoxBase::IStyleController)
|
||||
|
||||
CLASS_MEMBER_METHOD(SetTextVisible, {L"value"})
|
||||
END_INTERFACE_MEMBER(GuiComboBoxListControl::IStyleController)
|
||||
|
||||
BEGIN_INTERFACE_MEMBER(GuiComboBoxListControl::IItemStyleProvider)
|
||||
CLASS_MEMBER_METHOD(AttachComboBox, {L"value"})
|
||||
CLASS_MEMBER_METHOD(DetachComboBox, NO_PARAMETER)
|
||||
CLASS_MEMBER_METHOD(CreateItemStyle, {L"item"})
|
||||
END_INTERFACE_MEMBER(GuiComboBoxListControl::IItemStyleProvider)
|
||||
|
||||
BEGIN_CLASS_MEMBER(GuiToolstripCommand)
|
||||
CLASS_MEMBER_BASE(GuiComponent)
|
||||
CLASS_MEMBER_CONSTRUCTOR(GuiToolstripCommand*(), NO_PARAMETER)
|
||||
@@ -4024,7 +4041,7 @@ Type Declaration
|
||||
|
||||
BEGIN_CLASS_MEMBER(GuiComboBoxTemplate_StyleProvider)
|
||||
CLASS_MEMBER_BASE(GuiToolstripButtonTemplate_StyleProvider)
|
||||
CLASS_MEMBER_BASE(GuiComboBoxBase::IStyleController)
|
||||
CLASS_MEMBER_BASE(GuiComboBoxListControl::IStyleController)
|
||||
|
||||
CLASS_MEMBER_CONSTRUCTOR(GuiComboBoxTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
|
||||
END_CLASS_MEMBER(GuiComboBoxTemplate_StyleProvider)
|
||||
@@ -4086,6 +4103,12 @@ Type Declaration
|
||||
CLASS_MEMBER_CONSTRUCTOR(GuiTabTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
|
||||
END_CLASS_MEMBER(GuiTabTemplate_StyleProvider)
|
||||
|
||||
BEGIN_CLASS_MEMBER(GuiControlTemplate_ItemStyleProvider)
|
||||
CLASS_MEMBER_BASE(GuiComboBoxListControl::IItemStyleProvider)
|
||||
|
||||
CLASS_MEMBER_CONSTRUCTOR(Ptr<GuiControlTemplate_ItemStyleProvider>(Ptr<GuiTemplate::IFactory>), { L"factory" })
|
||||
END_CLASS_MEMBER(GuiControlTemplate_ItemStyleProvider)
|
||||
|
||||
BEGIN_CLASS_MEMBER(GuiListItemTemplate_ItemStyleController)
|
||||
CLASS_MEMBER_BASE(GuiListControl::IItemStyleController)
|
||||
|
||||
|
||||
@@ -596,6 +596,8 @@ Type List
|
||||
F(presentation::controls::GuiComboBoxBase::ICommandExecutor)\
|
||||
F(presentation::controls::GuiComboBoxBase::IStyleController)\
|
||||
F(presentation::controls::GuiComboBoxListControl)\
|
||||
F(presentation::controls::GuiComboBoxListControl::IStyleController)\
|
||||
F(presentation::controls::GuiComboBoxListControl::IItemStyleProvider)\
|
||||
F(presentation::controls::GuiToolstripCommand)\
|
||||
F(presentation::controls::GuiToolstripMenu)\
|
||||
F(presentation::controls::GuiToolstripMenuBar)\
|
||||
@@ -1086,6 +1088,11 @@ Interface Proxy
|
||||
{
|
||||
INVOKEGET_INTERFACE_PROXY(EnsureItemVisible, itemIndex);
|
||||
}
|
||||
|
||||
presentation::Size GetAdoptedSize(presentation::Size expectedSize)override
|
||||
{
|
||||
INVOKEGET_INTERFACE_PROXY(GetAdoptedSize, expectedSize);
|
||||
}
|
||||
END_INTERFACE_PROXY(presentation::controls::GuiListControl::IItemArranger)
|
||||
|
||||
BEGIN_INTERFACE_PROXY_SHAREDPTR(presentation::controls::GuiSelectableListControl::IItemStyleProvider,
|
||||
@@ -1583,6 +1590,34 @@ Interface Proxy
|
||||
}
|
||||
END_INTERFACE_PROXY(presentation::controls::GuiComboBoxBase::IStyleController)
|
||||
|
||||
BEGIN_INTERFACE_PROXY_RAWPTR(presentation::controls::GuiComboBoxListControl::IStyleController,
|
||||
presentation::controls::GuiComboBoxBase::IStyleController
|
||||
)
|
||||
|
||||
void SetTextVisible(bool value)override
|
||||
{
|
||||
INVOKE_INTERFACE_PROXY(SetTextVisible, value);
|
||||
}
|
||||
END_INTERFACE_PROXY(presentation::controls::GuiComboBoxListControl::IStyleController)
|
||||
|
||||
BEGIN_INTERFACE_PROXY_SHAREDPTR(presentation::controls::GuiComboBoxListControl::IItemStyleProvider)
|
||||
|
||||
void AttachComboBox(presentation::controls::GuiComboBoxListControl* value)override
|
||||
{
|
||||
INVOKE_INTERFACE_PROXY(AttachComboBox, value);
|
||||
}
|
||||
|
||||
void DetachComboBox()override
|
||||
{
|
||||
INVOKE_INTERFACE_PROXY_NOPARAMS(DetachComboBox);
|
||||
}
|
||||
|
||||
presentation::controls::GuiControl::IStyleController* CreateItemStyle(description::Value item)override
|
||||
{
|
||||
INVOKEGET_INTERFACE_PROXY(CreateItemStyle, item);
|
||||
}
|
||||
END_INTERFACE_PROXY(presentation::controls::GuiComboBoxListControl::IItemStyleProvider)
|
||||
|
||||
BEGIN_INTERFACE_PROXY_RAWPTR(presentation::controls::GuiSinglelineTextBox::IStyleProvider,
|
||||
presentation::controls::GuiControl::IStyleProvider
|
||||
)
|
||||
@@ -2037,6 +2072,7 @@ Type List
|
||||
F(presentation::templates::GuiListViewTemplate_StyleProvider)\
|
||||
F(presentation::templates::GuiTreeViewTemplate_StyleProvider)\
|
||||
F(presentation::templates::GuiTabTemplate_StyleProvider)\
|
||||
F(presentation::templates::GuiControlTemplate_ItemStyleProvider)\
|
||||
F(presentation::templates::GuiListItemTemplate_ItemStyleController)\
|
||||
F(presentation::templates::GuiListItemTemplate_ItemStyleProvider)\
|
||||
F(presentation::templates::GuiTreeItemTemplate_ItemStyleProvider)\
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user