diff --git a/Import/GacUI.cpp b/Import/GacUI.cpp index 4d95e9de..d3dadbcf 100644 --- a/Import/GacUI.cpp +++ b/Import/GacUI.cpp @@ -2295,13 +2295,26 @@ GuiScrollView void GuiScrollView::CalculateView() { auto ct = TypedControlTemplateObject(true); + auto hScroll = ct->GetHorizontalScroll(); + auto vScroll = ct->GetVerticalScroll(); + if (!supressScrolling) { Size fullSize = QueryFullSize(); while (true) { - bool flagA = AdjustView(fullSize); - bool flagB = AdjustView(fullSize); + bool flagA = false; + bool flagB = false; + + flagA = AdjustView(fullSize); + bool bothInvisible = (hScroll ? !hScroll->GetVisible() : true) && (vScroll ? !vScroll->GetVisible() : true); + + if (!bothInvisible) + { + flagB = AdjustView(fullSize); + bothInvisible = (hScroll ? !hScroll->GetVisible() : true) && (vScroll ? !vScroll->GetVisible() : true); + } + supressScrolling = true; CallUpdateView(); supressScrolling = false; @@ -2311,18 +2324,18 @@ GuiScrollView { vint smallMove = GetSmallMove(); Size bigMove = GetBigMove(); - if (auto scroll = ct->GetHorizontalScroll()) + if (hScroll) { - scroll->SetSmallMove(smallMove); - scroll->SetBigMove(bigMove.x); + hScroll->SetSmallMove(smallMove); + hScroll->SetBigMove(bigMove.x); } - if (auto scroll = ct->GetVerticalScroll()) + if (vScroll) { - scroll->SetSmallMove(smallMove); - scroll->SetBigMove(bigMove.y); + vScroll->SetSmallMove(smallMove); + vScroll->SetBigMove(bigMove.y); } - if (!flagA && !flagB) + if (bothInvisible || !flagA && !flagB) { break; } diff --git a/SampleForDoc/GacUI/UIRes/32bits/control_ribbon_gallery.bin b/SampleForDoc/GacUI/UIRes/32bits/control_ribbon_gallery.bin index da9ad496..3e7526d2 100644 Binary files a/SampleForDoc/GacUI/UIRes/32bits/control_ribbon_gallery.bin and b/SampleForDoc/GacUI/UIRes/32bits/control_ribbon_gallery.bin differ diff --git a/SampleForDoc/GacUI/UIRes/64bits/control_ribbon_gallery.bin b/SampleForDoc/GacUI/UIRes/64bits/control_ribbon_gallery.bin index d8c936c7..4507ddc4 100644 Binary files a/SampleForDoc/GacUI/UIRes/64bits/control_ribbon_gallery.bin and b/SampleForDoc/GacUI/UIRes/64bits/control_ribbon_gallery.bin differ diff --git a/SampleForDoc/GacUI/XmlRes/control_ribbon_gallery/Resource.xml b/SampleForDoc/GacUI/XmlRes/control_ribbon_gallery/Resource.xml index 254af6e0..06c7c2f2 100644 --- a/SampleForDoc/GacUI/XmlRes/control_ribbon_gallery/Resource.xml +++ b/SampleForDoc/GacUI/XmlRes/control_ribbon_gallery/Resource.xml @@ -90,6 +90,16 @@ } var colorGroups : observe ColorGroup^[] = CreateGroups(); + + func PrintLog(name:string, index: int): void + { + var pos = colorList.IndexToGalleryPos(index); + var item = self.colorGroups[pos.group].Items[pos.item]; + var log = $"$(name): $(item.IconColor)\r\n"; + textLog.Select({row:textLog.RowCount column:0}, {row:textLog.RowCount column:0}); + textLog.SelectionText = log; + textLog.Select({row:textLog.RowCount column:0}, {row:textLog.RowCount column:0}); + } ]]> @@ -101,8 +111,9 @@ - +
+ composeType:MinSize composeType:MinSize composeType:Percentage percentage:1.0 @@ -119,7 +130,7 @@ - + self.colorGroups Name Items @@ -142,6 +153,22 @@ + + + + @@ -150,6 +177,16 @@ + + + + + + + + +