mirror of
https://github.com/vczh-libraries/Release.git
synced 2026-05-11 06:57:19 +08:00
Update release
This commit is contained in:
+128
-130
@@ -977,118 +977,11 @@ GuiTableComposition
|
||||
return max - right;
|
||||
}
|
||||
|
||||
void GuiTableComposition::UpdateCellBoundsInternal()
|
||||
{
|
||||
rowOffsets.Resize(rows);
|
||||
rowSizes.Resize(rows);
|
||||
columnOffsets.Resize(columns);
|
||||
columnSizes.Resize(columns);
|
||||
{
|
||||
vint rowTotal = (rows - 1)*cellPadding;
|
||||
vint columnTotal = (columns - 1)*cellPadding;
|
||||
vint rowTotalWithPercentage = rowTotal;
|
||||
vint columnTotalWithPercentage = columnTotal;
|
||||
|
||||
UpdateCellBoundsInternal(
|
||||
rowSizes,
|
||||
rowTotal,
|
||||
rowTotalWithPercentage,
|
||||
rowOptions,
|
||||
&GuiTableComposition::rows,
|
||||
&GuiTableComposition::columns,
|
||||
&Y,
|
||||
&RL,
|
||||
&RS,
|
||||
&First,
|
||||
&Second,
|
||||
1
|
||||
);
|
||||
UpdateCellBoundsInternal(
|
||||
columnSizes,
|
||||
columnTotal,
|
||||
columnTotalWithPercentage,
|
||||
columnOptions,
|
||||
&GuiTableComposition::columns,
|
||||
&GuiTableComposition::rows,
|
||||
&X,
|
||||
&CL,
|
||||
&CS,
|
||||
&Second,
|
||||
&First,
|
||||
1
|
||||
);
|
||||
|
||||
Rect area = GetCellArea();
|
||||
UpdateCellBoundsPercentages(rowSizes, rowTotal, area.Height(), rowOptions);
|
||||
UpdateCellBoundsPercentages(columnSizes, columnTotal, area.Width(), columnOptions);
|
||||
rowExtending = UpdateCellBoundsOffsets(rowOffsets, rowSizes, area.Height());
|
||||
columnExtending = UpdateCellBoundsOffsets(columnOffsets, columnSizes, area.Width());
|
||||
|
||||
for (vint i = 0; i < rows; i++)
|
||||
{
|
||||
for (vint j = 0; j < columns; j++)
|
||||
{
|
||||
vint index = GetSiteIndex(rows, columns, i, j);
|
||||
cellBounds[index] = Rect(Point(columnOffsets[j], rowOffsets[i]), Size(columnSizes[j], rowSizes[i]));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GuiTableComposition::UpdateTableContentMinSize()
|
||||
{
|
||||
Array<vint> rowSizes, columnSizes;
|
||||
rowSizes.Resize(rows);
|
||||
columnSizes.Resize(columns);
|
||||
{
|
||||
vint rowTotal = (rows - 1) * cellPadding;
|
||||
vint columnTotal = (columns - 1) * cellPadding;
|
||||
vint rowTotalWithPercentage = rowTotal;
|
||||
vint columnTotalWithPercentage = columnTotal;
|
||||
|
||||
UpdateCellBoundsInternal(
|
||||
rowSizes,
|
||||
rowTotal,
|
||||
rowTotalWithPercentage,
|
||||
rowOptions,
|
||||
&GuiTableComposition::rows,
|
||||
&GuiTableComposition::columns,
|
||||
&Y,
|
||||
&RL,
|
||||
&RS,
|
||||
&First,
|
||||
&Second,
|
||||
2
|
||||
);
|
||||
UpdateCellBoundsInternal(
|
||||
columnSizes,
|
||||
columnTotal,
|
||||
columnTotalWithPercentage,
|
||||
columnOptions,
|
||||
&GuiTableComposition::columns,
|
||||
&GuiTableComposition::rows,
|
||||
&X,
|
||||
&CL,
|
||||
&CS,
|
||||
&Second,
|
||||
&First,
|
||||
2
|
||||
);
|
||||
tableContentMinSize = Size(columnTotalWithPercentage, rowTotalWithPercentage);
|
||||
}
|
||||
if (previousContentMinSize != tableContentMinSize)
|
||||
{
|
||||
previousContentMinSize = tableContentMinSize;
|
||||
UpdateCellBoundsInternal();
|
||||
InvokeOnCompositionStateChanged();
|
||||
}
|
||||
}
|
||||
|
||||
void GuiTableComposition::OnRenderContextChanged()
|
||||
{
|
||||
if(GetRenderTarget())
|
||||
{
|
||||
UpdateTableContentMinSize();
|
||||
UpdateCellBounds();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1143,7 +1036,6 @@ GuiTableComposition
|
||||
}
|
||||
ConfigChanged.Execute(GuiEventArgs(this));
|
||||
UpdateCellBounds();
|
||||
InvokeOnCompositionStateChanged();
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1161,7 +1053,6 @@ GuiTableComposition
|
||||
{
|
||||
rowOptions[_row] = option;
|
||||
UpdateCellBounds();
|
||||
InvokeOnCompositionStateChanged();
|
||||
ConfigChanged.Execute(GuiEventArgs(this));
|
||||
}
|
||||
|
||||
@@ -1174,7 +1065,6 @@ GuiTableComposition
|
||||
{
|
||||
columnOptions[_column] = option;
|
||||
UpdateCellBounds();
|
||||
InvokeOnCompositionStateChanged();
|
||||
ConfigChanged.Execute(GuiEventArgs(this));
|
||||
}
|
||||
|
||||
@@ -1188,7 +1078,6 @@ GuiTableComposition
|
||||
if (value < 0) value = 0;
|
||||
cellPadding = value;
|
||||
UpdateCellBounds();
|
||||
InvokeOnCompositionStateChanged();
|
||||
}
|
||||
|
||||
bool GuiTableComposition::GetBorderVisible()
|
||||
@@ -1202,7 +1091,6 @@ GuiTableComposition
|
||||
{
|
||||
borderVisible = value;
|
||||
UpdateCellBounds();
|
||||
InvokeOnCompositionStateChanged();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1221,8 +1109,62 @@ GuiTableComposition
|
||||
|
||||
void GuiTableComposition::UpdateCellBounds()
|
||||
{
|
||||
UpdateCellBoundsInternal();
|
||||
UpdateTableContentMinSize();
|
||||
rowOffsets.Resize(rows);
|
||||
rowSizes.Resize(rows);
|
||||
columnOffsets.Resize(columns);
|
||||
columnSizes.Resize(columns);
|
||||
|
||||
vint rowTotal = (rows - 1) * cellPadding;
|
||||
vint columnTotal = (columns - 1) * cellPadding;
|
||||
vint rowTotalWithPercentage = rowTotal;
|
||||
vint columnTotalWithPercentage = columnTotal;
|
||||
|
||||
UpdateCellBoundsInternal(
|
||||
rowSizes,
|
||||
rowTotal,
|
||||
rowTotalWithPercentage,
|
||||
rowOptions,
|
||||
&GuiTableComposition::rows,
|
||||
&GuiTableComposition::columns,
|
||||
&Y,
|
||||
&RL,
|
||||
&RS,
|
||||
&First,
|
||||
&Second,
|
||||
1
|
||||
);
|
||||
UpdateCellBoundsInternal(
|
||||
columnSizes,
|
||||
columnTotal,
|
||||
columnTotalWithPercentage,
|
||||
columnOptions,
|
||||
&GuiTableComposition::columns,
|
||||
&GuiTableComposition::rows,
|
||||
&X,
|
||||
&CL,
|
||||
&CS,
|
||||
&Second,
|
||||
&First,
|
||||
1
|
||||
);
|
||||
|
||||
Rect area = GetCellArea();
|
||||
UpdateCellBoundsPercentages(rowSizes, rowTotal, area.Height(), rowOptions);
|
||||
UpdateCellBoundsPercentages(columnSizes, columnTotal, area.Width(), columnOptions);
|
||||
rowExtending = UpdateCellBoundsOffsets(rowOffsets, rowSizes, area.Height());
|
||||
columnExtending = UpdateCellBoundsOffsets(columnOffsets, columnSizes, area.Width());
|
||||
|
||||
for (vint i = 0; i < rows; i++)
|
||||
{
|
||||
for (vint j = 0; j < columns; j++)
|
||||
{
|
||||
vint index = GetSiteIndex(rows, columns, i, j);
|
||||
cellBounds[index] = Rect(Point(columnOffsets[j], rowOffsets[i]), Size(columnSizes[j], rowSizes[i]));
|
||||
}
|
||||
}
|
||||
|
||||
tableContentMinSize = Size(columnTotalWithPercentage, rowTotalWithPercentage);
|
||||
InvokeOnCompositionStateChanged();
|
||||
}
|
||||
|
||||
void GuiTableComposition::ForceCalculateSizeImmediately()
|
||||
@@ -1262,7 +1204,6 @@ GuiTableComposition
|
||||
if (cached != result || cellMinSizeModified)
|
||||
{
|
||||
UpdateCellBounds();
|
||||
InvokeOnCompositionStateChanged();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
@@ -1408,19 +1349,16 @@ GuiCellComposition
|
||||
|
||||
bool GuiCellComposition::SetSite(vint _row, vint _column, vint _rowSpan, vint _columnSpan)
|
||||
{
|
||||
if(SetSiteInternal(_row, _column, _rowSpan, _columnSpan))
|
||||
{
|
||||
if (tableParent)
|
||||
{
|
||||
tableParent->UpdateCellBounds();
|
||||
}
|
||||
InvokeOnCompositionStateChanged();
|
||||
return true;
|
||||
}
|
||||
else
|
||||
if (!SetSiteInternal(_row, _column, _rowSpan, _columnSpan))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (tableParent)
|
||||
{
|
||||
tableParent->UpdateCellBounds();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
Rect GuiCellComposition::GetBounds()
|
||||
@@ -6202,6 +6140,12 @@ GuiFlowComposition
|
||||
if (GetMinSizeLimitation() == GuiGraphicsComposition::LimitToElementAndChildren)
|
||||
{
|
||||
auto clientSize = axis->VirtualSizeToRealSize(Size(0, minHeight));
|
||||
FOREACH(GuiFlowItemComposition*, item, flowItems)
|
||||
{
|
||||
auto itemSize = item->GetPreferredBounds().GetSize();
|
||||
if (clientSize.x < itemSize.x) clientSize.x = itemSize.x;
|
||||
if (clientSize.y < itemSize.y) clientSize.y = itemSize.y;
|
||||
}
|
||||
if (minSize.x < clientSize.x) minSize.x = clientSize.x;
|
||||
if (minSize.y < clientSize.y) minSize.y = clientSize.y;
|
||||
}
|
||||
@@ -21146,9 +21090,9 @@ ListViewColumnItemArranger
|
||||
listView = dynamic_cast<GuiListViewBase*>(value);
|
||||
if (listView)
|
||||
{
|
||||
listView->GetContainerComposition()->AddChild(columnHeaders);
|
||||
listViewItemView = dynamic_cast<IListViewItemView*>(listView->GetItemProvider()->RequestView(IListViewItemView::Identifier));
|
||||
columnItemView = dynamic_cast<IColumnItemView*>(listView->GetItemProvider()->RequestView(IColumnItemView::Identifier));
|
||||
listView->GetContainerComposition()->AddChild(columnHeaders);
|
||||
if (columnItemView)
|
||||
{
|
||||
columnItemView->AttachCallback(columnItemViewCallback.Obj());
|
||||
@@ -29367,9 +29311,9 @@ GuiRibbonGroupMenu
|
||||
return IGuiMenuService::Horizontal;
|
||||
}
|
||||
|
||||
bool IsSubMenuActivatedByMouseDown()override
|
||||
bool IsActiveState()override
|
||||
{
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
public:
|
||||
@@ -29555,6 +29499,45 @@ GuiRibbonGroup
|
||||
return items;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
GuiRibbonIconLabel
|
||||
***********************************************************************/
|
||||
|
||||
void GuiRibbonIconLabel::BeforeControlTemplateUninstalled_()
|
||||
{
|
||||
}
|
||||
|
||||
void GuiRibbonIconLabel::AfterControlTemplateInstalled_(bool initialize)
|
||||
{
|
||||
auto ct = GetControlTemplateObject(true);
|
||||
ct->SetImage(image);
|
||||
}
|
||||
|
||||
GuiRibbonIconLabel::GuiRibbonIconLabel(theme::ThemeName themeName)
|
||||
:GuiControl(themeName)
|
||||
{
|
||||
ImageChanged.SetAssociatedComposition(boundsComposition);
|
||||
}
|
||||
|
||||
GuiRibbonIconLabel::~GuiRibbonIconLabel()
|
||||
{
|
||||
}
|
||||
|
||||
Ptr<GuiImageData> GuiRibbonIconLabel::GetImage()
|
||||
{
|
||||
return image;
|
||||
}
|
||||
|
||||
void GuiRibbonIconLabel::SetImage(Ptr<GuiImageData> value)
|
||||
{
|
||||
if (image != value)
|
||||
{
|
||||
image = value;
|
||||
GetControlTemplateObject(true)->SetImage(image);
|
||||
ImageChanged.Execute(GetNotifyEventArguments());
|
||||
}
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
GuiRibbonButtonsItemCollection
|
||||
***********************************************************************/
|
||||
@@ -29648,6 +29631,10 @@ GuiRibbonButtons
|
||||
case ThemeName::ToolstripSplitButton:
|
||||
type = 2;
|
||||
break;
|
||||
case ThemeName::RibbonSmallIconLabel:
|
||||
case ThemeName::RibbonIconLabel:
|
||||
type = 3;
|
||||
break;
|
||||
}
|
||||
|
||||
if (type != -1)
|
||||
@@ -29662,6 +29649,7 @@ GuiRibbonButtons
|
||||
case 0: themeName = ThemeName::RibbonLargeButton; break;
|
||||
case 1: themeName = ThemeName::RibbonLargeDropdownButton; break;
|
||||
case 2: themeName = ThemeName::RibbonLargeSplitButton; break;
|
||||
case 3: themeName = ThemeName::RibbonSmallIconLabel; break;
|
||||
}
|
||||
}
|
||||
else if (fixed == views[(vint)RibbonButtonSize::Small])
|
||||
@@ -29671,6 +29659,7 @@ GuiRibbonButtons
|
||||
case 0: themeName = ThemeName::RibbonSmallButton; break;
|
||||
case 1: themeName = ThemeName::RibbonSmallDropdownButton; break;
|
||||
case 2: themeName = ThemeName::RibbonSmallSplitButton; break;
|
||||
case 3: themeName = ThemeName::RibbonSmallIconLabel; break;
|
||||
}
|
||||
}
|
||||
else if (fixed == views[(vint)RibbonButtonSize::Icon])
|
||||
@@ -29680,6 +29669,7 @@ GuiRibbonButtons
|
||||
case 0: themeName = ThemeName::ToolstripButton; break;
|
||||
case 1: themeName = ThemeName::ToolstripDropdownButton; break;
|
||||
case 2: themeName = ThemeName::ToolstripSplitButton; break;
|
||||
case 3: themeName = ThemeName::RibbonIconLabel; break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29692,6 +29682,7 @@ GuiRibbonButtons
|
||||
case 0: controlTemplate = ct->GetLargeButtonTemplate(); break;
|
||||
case 1: controlTemplate = ct->GetLargeDropdownButtonTemplate(); break;
|
||||
case 2: controlTemplate = ct->GetLargeSplitButtonTemplate(); break;
|
||||
case 3: controlTemplate = ct->GetSmallIconLabelTemplate(); break;
|
||||
}
|
||||
}
|
||||
else if (fixed == views[(vint)RibbonButtonSize::Small])
|
||||
@@ -29701,6 +29692,7 @@ GuiRibbonButtons
|
||||
case 0: controlTemplate = ct->GetSmallButtonTemplate(); break;
|
||||
case 1: controlTemplate = ct->GetSmallDropdownButtonTemplate(); break;
|
||||
case 2: controlTemplate = ct->GetSmallSplitButtonTemplate(); break;
|
||||
case 3: controlTemplate = ct->GetSmallIconLabelTemplate(); break;
|
||||
}
|
||||
}
|
||||
else if (fixed == views[(vint)RibbonButtonSize::Icon])
|
||||
@@ -29710,6 +29702,7 @@ GuiRibbonButtons
|
||||
case 0: controlTemplate = ct->GetIconButtonTemplate(); break;
|
||||
case 1: controlTemplate = ct->GetIconDropdownButtonTemplate(); break;
|
||||
case 2: controlTemplate = ct->GetIconSplitButtonTemplate(); break;
|
||||
case 3: controlTemplate = ct->GetIconLabelTemplate(); break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -29758,7 +29751,12 @@ GuiRibbonButtons
|
||||
}
|
||||
}
|
||||
|
||||
containerComposition->AddChild(responsiveView);
|
||||
auto sharedSizeRootComposition = new GuiSharedSizeRootComposition();
|
||||
sharedSizeRootComposition->SetAlignmentToParent(Margin(0, 0, 0, 0));
|
||||
sharedSizeRootComposition->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren);
|
||||
sharedSizeRootComposition->AddChild(responsiveView);
|
||||
|
||||
containerComposition->AddChild(sharedSizeRootComposition);
|
||||
}
|
||||
|
||||
GuiRibbonButtons::~GuiRibbonButtons()
|
||||
|
||||
+32
-3
@@ -7876,7 +7876,6 @@ Table Compositions
|
||||
collections::Array<vint> rowSizes;
|
||||
collections::Array<vint> columnSizes;
|
||||
|
||||
Size previousContentMinSize;
|
||||
Size tableContentMinSize;
|
||||
|
||||
vint GetSiteIndex(vint _rows, vint _columns, vint _row, vint _column);
|
||||
@@ -7908,8 +7907,6 @@ Table Compositions
|
||||
vint max
|
||||
);
|
||||
|
||||
void UpdateCellBoundsInternal();
|
||||
void UpdateTableContentMinSize();
|
||||
void OnRenderContextChanged()override;
|
||||
public:
|
||||
GuiTableComposition();
|
||||
@@ -8696,6 +8693,7 @@ namespace vl
|
||||
F(GuiDateComboBoxTemplate, GuiComboBoxTemplate) \
|
||||
F(GuiRibbonTabTemplate, GuiTabTemplate) \
|
||||
F(GuiRibbonGroupTemplate, GuiControlTemplate) \
|
||||
F(GuiRibbonIconLabelTemplate, GuiControlTemplate) \
|
||||
F(GuiRibbonButtonsTemplate, GuiControlTemplate) \
|
||||
F(GuiRibbonToolstripsTemplate, GuiControlTemplate) \
|
||||
F(GuiRibbonToolstripMenuTemplate, GuiMenuTemplate) \
|
||||
@@ -8889,6 +8887,9 @@ Control Template
|
||||
F(GuiRibbonGroupTemplate, TemplateProperty<GuiToolstripButtonTemplate>, LargeDropdownButtonTemplate, {})\
|
||||
F(GuiRibbonGroupTemplate, TemplateProperty<GuiMenuTemplate>, SubMenuTemplate, {})\
|
||||
|
||||
#define GuiRibbonIconLabelTemplate_PROPERTIES(F)\
|
||||
F(GuiRibbonIconLabelTemplate, Ptr<GuiImageData>, Image, {})\
|
||||
|
||||
#define GuiRibbonButtonsTemplate_PROPERTIES(F)\
|
||||
F(GuiRibbonButtonsTemplate, TemplateProperty<GuiToolstripButtonTemplate>, LargeButtonTemplate, {})\
|
||||
F(GuiRibbonButtonsTemplate, TemplateProperty<GuiToolstripButtonTemplate>, LargeDropdownButtonTemplate, {})\
|
||||
@@ -8896,9 +8897,11 @@ Control Template
|
||||
F(GuiRibbonButtonsTemplate, TemplateProperty<GuiToolstripButtonTemplate>, SmallButtonTemplate, {})\
|
||||
F(GuiRibbonButtonsTemplate, TemplateProperty<GuiToolstripButtonTemplate>, SmallDropdownButtonTemplate, {})\
|
||||
F(GuiRibbonButtonsTemplate, TemplateProperty<GuiToolstripButtonTemplate>, SmallSplitButtonTemplate, {})\
|
||||
F(GuiRibbonButtonsTemplate, TemplateProperty<GuiToolstripButtonTemplate>, SmallIconLabelTemplate, {})\
|
||||
F(GuiRibbonButtonsTemplate, TemplateProperty<GuiToolstripButtonTemplate>, IconButtonTemplate, {})\
|
||||
F(GuiRibbonButtonsTemplate, TemplateProperty<GuiToolstripButtonTemplate>, IconDropdownButtonTemplate, {})\
|
||||
F(GuiRibbonButtonsTemplate, TemplateProperty<GuiToolstripButtonTemplate>, IconSplitButtonTemplate, {})\
|
||||
F(GuiRibbonButtonsTemplate, TemplateProperty<GuiToolstripButtonTemplate>, IconLabelTemplate, {})\
|
||||
|
||||
#define GuiRibbonToolstripsTemplate_PROPERTIES(F)\
|
||||
F(GuiRibbonToolstripsTemplate, TemplateProperty<GuiControlTemplate>, ToolbarTemplate, {})\
|
||||
@@ -9178,6 +9181,8 @@ namespace vl
|
||||
F(ControlTemplate, ToolstripSplitter) \
|
||||
F(RibbonTabTemplate, RibbonTab) \
|
||||
F(RibbonGroupTemplate, RibbonGroup) \
|
||||
F(RibbonIconLabelTemplate, RibbonIconLabel) \
|
||||
F(RibbonIconLabelTemplate, RibbonSmallIconLabel) \
|
||||
F(RibbonButtonsTemplate, RibbonButtons) \
|
||||
F(RibbonToolstripsTemplate, RibbonToolstrips) \
|
||||
F(RibbonGalleryTemplate, RibbonGallery) \
|
||||
@@ -18075,6 +18080,30 @@ Ribbon Containers
|
||||
Ribbon Buttons
|
||||
***********************************************************************/
|
||||
|
||||
/// <summary>Auto resizable ribbon icon label.</summary>
|
||||
class GuiRibbonIconLabel : public GuiControl, public Description<GuiRibbonIconLabel>
|
||||
{
|
||||
GUI_SPECIFY_CONTROL_TEMPLATE_TYPE(RibbonIconLabelTemplate, GuiControl)
|
||||
protected:
|
||||
Ptr<GuiImageData> image;
|
||||
|
||||
public:
|
||||
/// <summary>Create a control with a specified default theme.</summary>
|
||||
/// <param name="themeName">The theme name for retriving a default control template.</param>
|
||||
GuiRibbonIconLabel(theme::ThemeName themeName);
|
||||
~GuiRibbonIconLabel();
|
||||
|
||||
/// <summary>Image changed event.</summary>
|
||||
compositions::GuiNotifyEvent ImageChanged;
|
||||
|
||||
/// <summary>Get the image for the menu button.</summary>
|
||||
/// <returns>The image for the menu button.</returns>
|
||||
Ptr<GuiImageData> GetImage();
|
||||
/// <summary>Set the image for the menu button.</summary>
|
||||
/// <param name="value">The image for the menu button.</param>
|
||||
void SetImage(Ptr<GuiImageData> value);
|
||||
};
|
||||
|
||||
/// <summary>Represents the size of a ribbon button in a <see cref="GuiRibbonButtons"/> control.</summary>
|
||||
enum class RibbonButtonSize
|
||||
{
|
||||
|
||||
@@ -12595,6 +12595,7 @@ GuiPredefinedInstanceLoadersPlugin
|
||||
ADD_TEMPLATE_CONTROL ( GuiRibbonTab, RibbonTab );
|
||||
ADD_TEMPLATE_CONTROL ( GuiRibbonTabPage, CustomControl );
|
||||
ADD_TEMPLATE_CONTROL ( GuiRibbonGroup, RibbonGroup );
|
||||
ADD_TEMPLATE_CONTROL ( GuiRibbonIconLabel, RibbonIconLabel );
|
||||
ADD_TEMPLATE_CONTROL ( GuiRibbonToolstrips, RibbonToolstrips );
|
||||
ADD_TEMPLATE_CONTROL ( GuiRibbonGallery, RibbonGallery );
|
||||
ADD_TEMPLATE_CONTROL ( GuiBindableRibbonGalleryList, RibbonGalleryList );
|
||||
@@ -12613,6 +12614,7 @@ GuiPredefinedInstanceLoadersPlugin
|
||||
ADD_VIRTUAL_CONTROL (RibbonLargeButton, GuiToolstripButton, RibbonLargeButton );
|
||||
ADD_VIRTUAL_CONTROL (RibbonLargeDropdownButton, GuiToolstripButton, RibbonLargeDropdownButton );
|
||||
ADD_VIRTUAL_CONTROL (RibbonLargeSplitButton, GuiToolstripButton, RibbonLargeSplitButton );
|
||||
ADD_VIRTUAL_CONTROL (RibbonSmallIconLabel, GuiRibbonIconLabel, RibbonSmallIconLabel );
|
||||
ADD_VIRTUAL_CONTROL (RibbonSplitter, GuiControl, RibbonSplitter );
|
||||
ADD_VIRTUAL_CONTROL (RibbonToolstripHeader, GuiControl, RibbonToolstripHeader );
|
||||
ADD_VIRTUAL_CONTROL (CheckBox, GuiSelectableButton, CheckBox );
|
||||
|
||||
@@ -2447,6 +2447,13 @@ Type Declaration (Class)
|
||||
CLASS_MEMBER_PROPERTY_READONLY_FAST(Items)
|
||||
END_CLASS_MEMBER(GuiRibbonGroup)
|
||||
|
||||
BEGIN_CLASS_MEMBER(GuiRibbonIconLabel)
|
||||
CLASS_MEMBER_BASE(GuiControl)
|
||||
CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE(GuiRibbonIconLabel)
|
||||
|
||||
CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(Image)
|
||||
END_CLASS_MEMBER(GuiRibbonIconLabel)
|
||||
|
||||
BEGIN_CLASS_MEMBER(GuiRibbonButtons)
|
||||
CLASS_MEMBER_BASE(GuiControl)
|
||||
CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_3(GuiRibbonButtons, RibbonButtonSize, maxSize, RibbonButtonSize, minSize)
|
||||
|
||||
@@ -431,6 +431,7 @@ Type List (Controls)
|
||||
F(presentation::controls::GuiRibbonTab)\
|
||||
F(presentation::controls::GuiRibbonTabPage)\
|
||||
F(presentation::controls::GuiRibbonGroup)\
|
||||
F(presentation::controls::GuiRibbonIconLabel)\
|
||||
F(presentation::controls::GuiRibbonButtons)\
|
||||
F(presentation::controls::GuiRibbonToolstrips)\
|
||||
F(presentation::controls::GuiRibbonGallery)\
|
||||
|
||||
@@ -9584,6 +9584,34 @@ GuiGradientBackgroundElementRenderer
|
||||
{
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
GuiSolidLabelElementRenderer
|
||||
***********************************************************************/
|
||||
|
||||
void GuiInnerShadowElementRenderer::InitializeInternal()
|
||||
{
|
||||
}
|
||||
|
||||
void GuiInnerShadowElementRenderer::FinalizeInternal()
|
||||
{
|
||||
}
|
||||
|
||||
void GuiInnerShadowElementRenderer::RenderTargetChangedInternal(IWindowsGDIRenderTarget* oldRenderTarget, IWindowsGDIRenderTarget* newRenderTarget)
|
||||
{
|
||||
}
|
||||
|
||||
GuiInnerShadowElementRenderer::GuiInnerShadowElementRenderer()
|
||||
{
|
||||
}
|
||||
|
||||
void GuiInnerShadowElementRenderer::Render(Rect bounds)
|
||||
{
|
||||
}
|
||||
|
||||
void GuiInnerShadowElementRenderer::OnElementStateChanged()
|
||||
{
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
GuiSolidLabelElementRenderer
|
||||
***********************************************************************/
|
||||
@@ -10661,6 +10689,7 @@ void RendererMainGDI()
|
||||
elements_windows_gdi::Gui3DSplitterElementRenderer::Register();
|
||||
elements_windows_gdi::GuiSolidBackgroundElementRenderer::Register();
|
||||
elements_windows_gdi::GuiGradientBackgroundElementRenderer::Register();
|
||||
elements_windows_gdi::GuiInnerShadowElementRenderer::Register();
|
||||
elements_windows_gdi::GuiSolidLabelElementRenderer::Register();
|
||||
elements_windows_gdi::GuiImageFrameElementRenderer::Register();
|
||||
elements_windows_gdi::GuiPolygonElementRenderer::Register();
|
||||
|
||||
+15
-1
@@ -1764,13 +1764,27 @@ Renderers
|
||||
void OnElementStateChanged()override;
|
||||
};
|
||||
|
||||
class GuiInnerShadowElementRenderer : public Object, public IGuiGraphicsRenderer
|
||||
{
|
||||
DEFINE_GUI_GRAPHICS_RENDERER(GuiInnerShadowElement, GuiInnerShadowElementRenderer, IWindowsGDIRenderTarget)
|
||||
protected:
|
||||
void InitializeInternal();
|
||||
void FinalizeInternal();
|
||||
void RenderTargetChangedInternal(IWindowsGDIRenderTarget* oldRenderTarget, IWindowsGDIRenderTarget* newRenderTarget);
|
||||
public:
|
||||
GuiInnerShadowElementRenderer();
|
||||
|
||||
void Render(Rect bounds)override;
|
||||
void OnElementStateChanged()override;
|
||||
};
|
||||
|
||||
class GuiSolidLabelElementRenderer : public Object, public IGuiGraphicsRenderer
|
||||
{
|
||||
DEFINE_GUI_GRAPHICS_RENDERER(GuiSolidLabelElement, GuiSolidLabelElementRenderer, IWindowsGDIRenderTarget)
|
||||
protected:
|
||||
FontProperties oldFont;
|
||||
Ptr<windows::WinFont> font;
|
||||
vint oldMaxWidth;
|
||||
vint oldMaxWidth;
|
||||
|
||||
void UpdateMinSize();
|
||||
|
||||
|
||||
+9608
-8613
File diff suppressed because one or more lines are too long
+3245
-2863
File diff suppressed because it is too large
Load Diff
@@ -105,6 +105,8 @@ namespace vl
|
||||
IMPL_CPP_TYPE_INFO(darkskin::RibbonGroupMenuTemplateConstructor)
|
||||
IMPL_CPP_TYPE_INFO(darkskin::RibbonGroupTemplate)
|
||||
IMPL_CPP_TYPE_INFO(darkskin::RibbonGroupTemplateConstructor)
|
||||
IMPL_CPP_TYPE_INFO(darkskin::RibbonIconLabelTemplate)
|
||||
IMPL_CPP_TYPE_INFO(darkskin::RibbonIconLabelTemplateConstructor)
|
||||
IMPL_CPP_TYPE_INFO(darkskin::RibbonLargeButtonTemplate)
|
||||
IMPL_CPP_TYPE_INFO(darkskin::RibbonLargeButtonTemplateConstructor)
|
||||
IMPL_CPP_TYPE_INFO(darkskin::RibbonLargeDropdownButtonTemplate)
|
||||
@@ -115,6 +117,8 @@ namespace vl
|
||||
IMPL_CPP_TYPE_INFO(darkskin::RibbonSmallButtonTemplateConstructor)
|
||||
IMPL_CPP_TYPE_INFO(darkskin::RibbonSmallDropdownButtonTemplate)
|
||||
IMPL_CPP_TYPE_INFO(darkskin::RibbonSmallDropdownButtonTemplateConstructor)
|
||||
IMPL_CPP_TYPE_INFO(darkskin::RibbonSmallIconLabelTemplate)
|
||||
IMPL_CPP_TYPE_INFO(darkskin::RibbonSmallIconLabelTemplateConstructor)
|
||||
IMPL_CPP_TYPE_INFO(darkskin::RibbonSmallSplitButtonTemplate)
|
||||
IMPL_CPP_TYPE_INFO(darkskin::RibbonSmallSplitButtonTemplateConstructor)
|
||||
IMPL_CPP_TYPE_INFO(darkskin::RibbonSplitArrowTemplate)
|
||||
@@ -782,6 +786,23 @@ namespace vl
|
||||
CLASS_MEMBER_FIELD(table)
|
||||
END_CLASS_MEMBER(::darkskin::RibbonGroupTemplateConstructor)
|
||||
|
||||
BEGIN_CLASS_MEMBER(::darkskin::RibbonIconLabelTemplate)
|
||||
CLASS_MEMBER_BASE(::vl::presentation::templates::GuiRibbonIconLabelTemplate)
|
||||
CLASS_MEMBER_BASE(::darkskin::RibbonIconLabelTemplateConstructor)
|
||||
CLASS_MEMBER_CONSTRUCTOR(::darkskin::RibbonIconLabelTemplate*(), NO_PARAMETER)
|
||||
END_CLASS_MEMBER(::darkskin::RibbonIconLabelTemplate)
|
||||
|
||||
BEGIN_CLASS_MEMBER(::darkskin::RibbonIconLabelTemplateConstructor)
|
||||
CLASS_MEMBER_BASE(::vl::reflection::DescriptableObject)
|
||||
CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::darkskin::RibbonIconLabelTemplateConstructor>(), NO_PARAMETER)
|
||||
CLASS_MEMBER_METHOD(__vwsn_darkskin_RibbonIconLabelTemplate_Initialize, { L"__vwsn_this_" })
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_0)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_1)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_2)
|
||||
CLASS_MEMBER_FIELD(container)
|
||||
CLASS_MEMBER_FIELD(self)
|
||||
END_CLASS_MEMBER(::darkskin::RibbonIconLabelTemplateConstructor)
|
||||
|
||||
BEGIN_CLASS_MEMBER(::darkskin::RibbonLargeButtonTemplate)
|
||||
CLASS_MEMBER_BASE(::vl::presentation::templates::GuiToolstripButtonTemplate)
|
||||
CLASS_MEMBER_BASE(::darkskin::RibbonLargeButtonTemplateConstructor)
|
||||
@@ -905,6 +926,26 @@ namespace vl
|
||||
CLASS_MEMBER_FIELD(self)
|
||||
END_CLASS_MEMBER(::darkskin::RibbonSmallDropdownButtonTemplateConstructor)
|
||||
|
||||
BEGIN_CLASS_MEMBER(::darkskin::RibbonSmallIconLabelTemplate)
|
||||
CLASS_MEMBER_BASE(::vl::presentation::templates::GuiRibbonIconLabelTemplate)
|
||||
CLASS_MEMBER_BASE(::darkskin::RibbonSmallIconLabelTemplateConstructor)
|
||||
CLASS_MEMBER_CONSTRUCTOR(::darkskin::RibbonSmallIconLabelTemplate*(), NO_PARAMETER)
|
||||
END_CLASS_MEMBER(::darkskin::RibbonSmallIconLabelTemplate)
|
||||
|
||||
BEGIN_CLASS_MEMBER(::darkskin::RibbonSmallIconLabelTemplateConstructor)
|
||||
CLASS_MEMBER_BASE(::vl::reflection::DescriptableObject)
|
||||
CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::darkskin::RibbonSmallIconLabelTemplateConstructor>(), NO_PARAMETER)
|
||||
CLASS_MEMBER_METHOD(__vwsn_darkskin_RibbonSmallIconLabelTemplate_Initialize, { L"__vwsn_this_" })
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_0)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_1)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_2)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_3)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_4)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_5)
|
||||
CLASS_MEMBER_FIELD(container)
|
||||
CLASS_MEMBER_FIELD(self)
|
||||
END_CLASS_MEMBER(::darkskin::RibbonSmallIconLabelTemplateConstructor)
|
||||
|
||||
BEGIN_CLASS_MEMBER(::darkskin::RibbonSmallSplitButtonTemplate)
|
||||
CLASS_MEMBER_BASE(::vl::presentation::templates::GuiToolstripButtonTemplate)
|
||||
CLASS_MEMBER_BASE(::darkskin::RibbonSmallSplitButtonTemplateConstructor)
|
||||
@@ -1533,6 +1574,8 @@ namespace vl
|
||||
ADD_TYPE_INFO(::darkskin::RibbonGroupMenuTemplateConstructor)
|
||||
ADD_TYPE_INFO(::darkskin::RibbonGroupTemplate)
|
||||
ADD_TYPE_INFO(::darkskin::RibbonGroupTemplateConstructor)
|
||||
ADD_TYPE_INFO(::darkskin::RibbonIconLabelTemplate)
|
||||
ADD_TYPE_INFO(::darkskin::RibbonIconLabelTemplateConstructor)
|
||||
ADD_TYPE_INFO(::darkskin::RibbonLargeButtonTemplate)
|
||||
ADD_TYPE_INFO(::darkskin::RibbonLargeButtonTemplateConstructor)
|
||||
ADD_TYPE_INFO(::darkskin::RibbonLargeDropdownButtonTemplate)
|
||||
@@ -1543,6 +1586,8 @@ namespace vl
|
||||
ADD_TYPE_INFO(::darkskin::RibbonSmallButtonTemplateConstructor)
|
||||
ADD_TYPE_INFO(::darkskin::RibbonSmallDropdownButtonTemplate)
|
||||
ADD_TYPE_INFO(::darkskin::RibbonSmallDropdownButtonTemplateConstructor)
|
||||
ADD_TYPE_INFO(::darkskin::RibbonSmallIconLabelTemplate)
|
||||
ADD_TYPE_INFO(::darkskin::RibbonSmallIconLabelTemplateConstructor)
|
||||
ADD_TYPE_INFO(::darkskin::RibbonSmallSplitButtonTemplate)
|
||||
ADD_TYPE_INFO(::darkskin::RibbonSmallSplitButtonTemplateConstructor)
|
||||
ADD_TYPE_INFO(::darkskin::RibbonSplitArrowTemplate)
|
||||
|
||||
@@ -114,6 +114,8 @@ namespace vl
|
||||
DECL_TYPE_INFO(::darkskin::RibbonGroupMenuTemplateConstructor)
|
||||
DECL_TYPE_INFO(::darkskin::RibbonGroupTemplate)
|
||||
DECL_TYPE_INFO(::darkskin::RibbonGroupTemplateConstructor)
|
||||
DECL_TYPE_INFO(::darkskin::RibbonIconLabelTemplate)
|
||||
DECL_TYPE_INFO(::darkskin::RibbonIconLabelTemplateConstructor)
|
||||
DECL_TYPE_INFO(::darkskin::RibbonLargeButtonTemplate)
|
||||
DECL_TYPE_INFO(::darkskin::RibbonLargeButtonTemplateConstructor)
|
||||
DECL_TYPE_INFO(::darkskin::RibbonLargeDropdownButtonTemplate)
|
||||
@@ -124,6 +126,8 @@ namespace vl
|
||||
DECL_TYPE_INFO(::darkskin::RibbonSmallButtonTemplateConstructor)
|
||||
DECL_TYPE_INFO(::darkskin::RibbonSmallDropdownButtonTemplate)
|
||||
DECL_TYPE_INFO(::darkskin::RibbonSmallDropdownButtonTemplateConstructor)
|
||||
DECL_TYPE_INFO(::darkskin::RibbonSmallIconLabelTemplate)
|
||||
DECL_TYPE_INFO(::darkskin::RibbonSmallIconLabelTemplateConstructor)
|
||||
DECL_TYPE_INFO(::darkskin::RibbonSmallSplitButtonTemplate)
|
||||
DECL_TYPE_INFO(::darkskin::RibbonSmallSplitButtonTemplateConstructor)
|
||||
DECL_TYPE_INFO(::darkskin::RibbonSplitArrowTemplate)
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
+54
-3
@@ -217,9 +217,16 @@
|
||||
</att.BeforeHeaders-set>
|
||||
|
||||
<att.AfterHeaders-set>
|
||||
<Button Text=" WHATEVER ">
|
||||
<att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0"/>
|
||||
</Button>
|
||||
<Stack Direction="Horizontal" AlignmentToParent="left:0 top:-1 right:0 bottom:0" MinSizeLimitation="LimitToElementAndChildren">
|
||||
<StackItem InternalMargin="left:0 top:0 right:10 bottom:0">
|
||||
<SolidLabel Font-bind="self.Font" Color="#FFFFFF" Text="Search:" HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
||||
</StackItem>
|
||||
<StackItem>
|
||||
<SinglelineTextBox>
|
||||
<att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:1" PreferredMinSize="x:180"/>
|
||||
</SinglelineTextBox>
|
||||
</StackItem>
|
||||
</Stack>
|
||||
</att.AfterHeaders-set>
|
||||
|
||||
<att.Pages>
|
||||
@@ -301,6 +308,50 @@
|
||||
</att.Items>
|
||||
</RibbonGroup>
|
||||
|
||||
<RibbonGroup Text="Icon Labels">
|
||||
<att.Items>
|
||||
<RibbonButtons MaxSize="Small" MinSize="Icon">
|
||||
<att.Buttons>
|
||||
<RibbonIconLabel Text="Left" Image-uri="res://ToolbarImages/TextAlignLeft">
|
||||
<SinglelineTextBox>
|
||||
<att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0" PreferredMinSize="x:36"/>
|
||||
</SinglelineTextBox>
|
||||
</RibbonIconLabel>
|
||||
<RibbonIconLabel Text="Center" Image-uri="res://ToolbarImages/TextAlignCenter">
|
||||
<SinglelineTextBox>
|
||||
<att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0" PreferredMinSize="x:36"/>
|
||||
</SinglelineTextBox>
|
||||
</RibbonIconLabel>
|
||||
<RibbonIconLabel Text="Right" Image-uri="res://ToolbarImages/TextAlignRight">
|
||||
<SinglelineTextBox>
|
||||
<att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0" PreferredMinSize="x:36"/>
|
||||
</SinglelineTextBox>
|
||||
</RibbonIconLabel>
|
||||
</att.Buttons>
|
||||
</RibbonButtons>
|
||||
<RibbonSplitter/>
|
||||
<RibbonButtons MaxSize="Small" MinSize="Icon">
|
||||
<att.Buttons>
|
||||
<RibbonIconLabel Text="Left" Image-uri="res://ToolbarImages/TextAlignLeft">
|
||||
<SinglelineTextBox>
|
||||
<att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0" PreferredMinSize="x:36"/>
|
||||
</SinglelineTextBox>
|
||||
</RibbonIconLabel>
|
||||
<RibbonIconLabel Text="Center" Image-uri="res://ToolbarImages/TextAlignCenter">
|
||||
<SinglelineTextBox>
|
||||
<att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0" PreferredMinSize="x:36"/>
|
||||
</SinglelineTextBox>
|
||||
</RibbonIconLabel>
|
||||
<RibbonIconLabel Text="Right" Image-uri="res://ToolbarImages/TextAlignRight">
|
||||
<SinglelineTextBox>
|
||||
<att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0" PreferredMinSize="x:36"/>
|
||||
</SinglelineTextBox>
|
||||
</RibbonIconLabel>
|
||||
</att.Buttons>
|
||||
</RibbonButtons>
|
||||
</att.Items>
|
||||
</RibbonGroup>
|
||||
|
||||
<RibbonGroup Text="Style" LargeImage-uri="res://ToolbarImages/EditableLarge">
|
||||
<att.Items>
|
||||
<BindableRibbonGalleryList ref.Name="styleGallery" ItemTemplate="demo:StyleItemTemplate" MinCount="2" MaxCount="5" VisibleItemCount="5" env.ItemType="demo::StyleGroup^">
|
||||
|
||||
+1017
-680
File diff suppressed because it is too large
Load Diff
+247
-188
File diff suppressed because it is too large
Load Diff
@@ -526,8 +526,34 @@ namespace vl
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_61)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_62)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_63)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_64)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_65)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_66)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_67)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_68)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_69)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_7)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_70)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_71)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_72)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_73)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_74)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_75)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_76)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_77)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_78)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_79)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_8)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_80)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_81)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_82)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_83)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_84)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_85)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_86)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_87)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_88)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_89)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_9)
|
||||
CLASS_MEMBER_FIELD(dialogMessage)
|
||||
CLASS_MEMBER_FIELD(self)
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user