Skip to content

Releases: vczh-libraries/Release

GacUI 1.2.10.2

09 Nov 14:31
Compare
Choose a tag to compare

GacUI 1.2.10.2

GacUI / C++ Interoperable Script Engine (Apache License 2.0 with extra conditions)

Website for this project: https://vczh-libraries.github.io/ -> http://www.gaclib.net/

This repository contains the latest release for the GacUI project, including packed library source codes, development tools, demos and documents. Complete source code can be accessed in https://github.com/vczh-libraries .

Version

This version is a sub release towards GacUI 2.0.
Please check out 1.0-rc-3 for GacUI 1.0.

  • Fixed
    • GuiGraphicsComposition::GetGlobalBounds double calculate InternalMargin.
    • INVOKEGET_INTERFACE_PROXY and INVOKEGET_INTERFACE_PROXY_NOPARAMS break build when returning LazyList<T>.
    • button behavior when not IgnoreChildControlMouseEvents.
    • control not losing focus when disabled.
    • progress bar is focusable.
    • GuiListControl incompatible with non-default axis.
    • GuiTextList::SelectionChanged not raised when changing properties of the only selected list::TextItem.
    • GuiVirtualListView in Details view column header height doesn't sync to item arranger in real-time.
    • DataColumn::SetSorter and DataColumn::SetFilter doesn't refresh data grid items.
    • GuiBindableDataGrid not implements stable sorting.
    • GuiBindableDataGrid [UP] and [DOWN] not working properly right after changing selection by calling SelectCell.
    • UnitTestSnapshotViewer always not render the second loaded images.
    • Crash when closing the (even disabled) main window with pending modal windows exist.
  • Added /F:EnabledTestFile to unit test CLI parameters.
  • GuiTreeItemTemplate change base class to GuiListItemTemplate
  • GuiListControl::IItemProvider(Callback)? moved to vl::presentation::controls::list.
  • Make ItemSource class of bindable list controls reflectable.
  • New theme name/virtual control: ToolstripToolBarInMenu, ToolstripSplitterInMenu
  • IGuiMenuService::GetHostThemeName
  • ListViewColumnItemArranger added ColumnButtons and ColumnSplitters properties.
  • GuiMenuButton exposed SubMenuHost property.
  • GuiVirtualDataGrid exposed OpenedEditor property.

GacUI 1.2.10.1

07 Aug 08:41
Compare
Choose a tag to compare

GacUI 1.2.10.1

GacUI / C++ Interoperable Script Engine (Apache License 2.0 with extra conditions)

Website for this project: https://vczh-libraries.github.io/ -> http://www.gaclib.net/

This repository contains the latest release for the GacUI project, including packed library source codes, development tools, demos and documents. Complete source code can be accessed in https://github.com/vczh-libraries .

Version

This version is a sub release towards GacUI 2.0.
Please check out 1.0-rc-3 for GacUI 1.0.

Fixed Bugs:

  • Incorrect configuration in SampleForDoc/GacUI/GacUI.sln with x64.

GacUI 1.2.10.0

21 Jul 05:06
Compare
Choose a tag to compare

GacUI 1.2.10.0

GacUI / C++ Interoperable Script Engine (Apache License 2.0 with extra conditions)

Website for this project: https://vczh-libraries.github.io/ -> http://www.gaclib.net/

This repository contains the latest release for the GacUI project, including packed library source codes, development tools, demos and documents. Complete source code can be accessed in https://github.com/vczh-libraries .

Version

This version is a sub release towards GacUI 2.0.
Please check out 1.0-rc-3 for GacUI 1.0.

Improvements

  • Vlpp
    • vl::char16be_t
    • vl::InjectDateTimeImpl
  • VlppOS
    • Removed SERIALIZE_ENUM, enum will be automatically registered
    • UtfBase64(En|De)coder
  • GacUI
    • NativeImageFrameBase for common implementation of INativeImageFrame
    • bool controllerUnrelatedPlugins and bool controllerRelatedPlugins added to IGuiPlugin
    • GuiCustomControl::SetFocusableComposition
    • GetHostedApplication to access the instance of IGuiHostedApplication in hosted mode
    • Add @cpp:Private for GacGen generated <parameter>ViewModel variable
  • GacUI Unit Test Framework
    • An alpha version of GacUI unit test framework, to render UI in unit test frameworks and save the UI to files. UI file could be git diff or opened by a unit test snapshot viewer. The viewer is implemented in GacUI.UnitTest.UI.cpp and you need to make it an application by yourself at this moment.
    • (Try)?FindObjectByName
    • (Try)?FindControlByText
  • Release
    • vlpp.natvis updated

Fixed Bugs:

  • Restore button not renderered correctly. In both hosted and normal mode
  • Making a composition invisible doesn't refresh the application
  • Selection of a list control is not cleared when objects of selected items are replaced
  • Missing arguments in GUI_VALUE and GUI_RUN macros.
  • ShowMaximized inside WindowOpened doesn't work with hosted mode.

GacUI 1.2.9.1

20 Feb 08:06
Compare
Choose a tag to compare

GacUI 1.2.9.1

GacUI / C++ Interoperable Script Engine (Apache License 2.0 with extra conditions)

Website for this project: https://vczh-libraries.github.io/ -> http://www.gaclib.net/

This repository contains the latest release for the GacUI project, including packed library source codes, development tools, demos and documents. Complete source code can be accessed in https://github.com/vczh-libraries .

Version

This version is a sub release towards GacUI 2.0.
Please check out 1.0-rc-3 for GacUI 1.0.

Fixed bugs in 1.2.9.0:

  • Tutorials can't start.

GacUI 1.2.9.0

16 Feb 22:03
Compare
Choose a tag to compare

GacUI 1.2.9.0

GacUI / C++ Interoperable Script Engine (Apache License 2.0 with extra conditions)

Website for this project: https://vczh-libraries.github.io/ -> http://www.gaclib.net/

This repository contains the latest release for the GacUI project, including packed library source codes, development tools, demos and documents. Complete source code can be accessed in https://github.com/vczh-libraries .

Version

This version is a sub release towards GacUI 2.0.
Please check out 1.0-rc-3 for GacUI 1.0.

Features:

  • Vlpp
    • vl::Variant, but without smart type conversion and comparison.
    • vl::Overloading.
  • GacUI
    • Incomplete implementation of remote protocol.
    • Added macro GUI_DEFINE_KEYBOARD_CODE_ADDITIONAL for suggested key names.
    • Added GuiGraphicsComposition::GetRelatedHitTestResult.

Breaking Changes:

  • GacUI
    • Removed DEFINE_GUI_GRAPHICS_ELEMENT(TYPE, NAME)
      • private: friend class GuiElementBase<TYPE>;
      • private: static constexpr const wchar_t* ElementTypeName = NAME;
    • Removed DEFINE_CACHED_RESOURCE_ALLOCATOR(TKEY, TVALUE)
      • New base class: GuiCachedResourceAllocatorBase<Self, TKEY, TVALUE>
    • Removed DEFINE_GUI_GRAPHICS_RENDERER(TELEMENT, TRENDERER, TTARGET)
      • New base class: GuiElementRendererBase<TELEMENT, TRENDERER, TTARGET>
      • private: friend class GuiElementRendererBase<TELEMENT, TRENDERER, TTARGET>;
    • Renamed: GuiGraphicsComposition::FindComposition -> FindVisibleComposition
    • IGuiGraphicsRenderTarget and GuiGraphicsRenderTarget associates a generator to a clipper.

GacUI 1.2.8.1

07 Jan 05:48
Compare
Choose a tag to compare

GacUI 1.2.8.1

GacUI / C++ Interoperable Script Engine (Apache License 2.0 with extra conditions)

Website for this project: http://www.gaclib.net/

This repository contains the latest release for the GacUI project, including packed library source codes, development tools, demos and documents. Complete source code can be accessed in https://github.com/vczh-libraries .

Version

This version is a sub release towards GacUI 2.0.
Please check out 1.0-rc-3 for GacUI 1.0.

Fixed Bugs:

  • GacUI
    • Adding item to item source of <BindableDataGrid> doesn't trigger refresh as expected.
    • NOTE: For all list controls, adding item could cause flashing during rendering for about 1 flame. To workaround this issue, call GuiControlHost::ForceCalculateSizeImmediately after finishing editing all items in a rendering cycle, in either C++ or Workflow. A control host is a top level window like window or menu. You could also call the same function in ContainerComposition of any list controls, but this function is only available to C++.

GacUI 1.2.8.0

06 Jan 13:35
Compare
Choose a tag to compare

GacUI 1.2.8.0

GacUI / C++ Interoperable Script Engine (Apache License 2.0 with extra conditions)

Website for this project: http://www.gaclib.net/

This repository contains the latest release for the GacUI project, including packed library source codes, development tools, demos and documents. Complete source code can be accessed in https://github.com/vczh-libraries .

Version

This version is a sub release towards GacUI 2.0.
Please check out 1.0-rc-3 for GacUI 1.0.

Tutorials:

  • Updated GacUI_Layout/Flow: New alignment: Right.

Fixed Bugs:

  • GacUI
    • Give the handler of a scroll bar a minimum size, so it doesn't disappear when a list control has too many list items.

Update:

  • VlppParser2
    • Improve the grammar so that it could parse an input as complex as C++20.
    • GlrParserGen allows multiple AST and Syntax files.
      • New @public keyword on Ast, only @public types are available in other AST files, but all types are available for syntax.
      • New @public keyword on Syntax, only @public rules are available in other Syntax files.
  • GacUI
    • New compositions
      • <RepeatFreeHeightItem>
      • <RepeatFixedHeightItem>
      • <RepeatFixedHeightMultiColumnItem>
      • <RepeatFixedSizeMultiColumnItem>
    • Rewrite implementations of GuiListControl::IItemArranger based on new compositions listed above.
    • New methods on list controls to refresh content of consecutive items in-place, without having to recreating item template objects.
    • New control template entry: RibbonGroupMenu.
  • Release
    • Makefiles available for tools.

GacUI 1.2.7.0

09 Jul 06:49
Compare
Choose a tag to compare

GacUI 1.2.7.0

GacUI / C++ Interoperable Script Engine (Apache License 2.0 with extra conditions)

Website for this project: http://www.gaclib.net/

This repository contains the latest release for the GacUI project, including packed library source codes, development tools, demos and documents. Complete source code can be accessed in https://github.com/vczh-libraries .

Version

This version is a sub release towards GacUI 2.0.
Please check out 1.0-rc-3 for GacUI 1.0.

Tutorials:

  • Created UI_Controls/Dialogs: Demo system dialogs.
  • Created GacUI_Controls/GlobalHotKey: Demo global hotkey.
  • Updated GacUI_Controls/LocalizedStrings: Demo adding new languages outside of <LocalizedStrings/>.

Fixed Bugs:

  • VlppReflection
    • Fix issue of DateTime parsing

Breaking Chages:

  • GacUI
    • Size and location of compositions are no longer calculated as required, you can only accessed Cached* properties for results from the last layout, which triggered Cached*Changed events when being updated. GacUI will trigger layout at appropriate timing. DO NOT program relying on the timing since it could be changed in future optimizations.
    • GuiGraphicsComposition
      • Remove
        • Margin property
        • IsTrivialComposition
        • ClientArea property
        • MinPreferredClientSize property
        • PreferredBounds property
        • PreviousCalculatedBounds property
        • Bounds property
      • Add
        • CachedMinSize property
        • CachedMinClientSize property
        • CachedBounds property
        • CachedClientArea property
    • GuiBoundsComposition
      • Bounds -> ExpectedBounds
      • AlignmentToParent property will no longer consider parent's InternalMargin property in layout.
    • GuiTableComposition
      • Remove
        • GetCellArea
        • UpdateCellBounds
      • When MinSizeLimitation property is not LimitToElementAndChildren, sizes of cells will not be considered in its minimum size.
    • Remove GuiGraphicsSite, merge into GuiGraphicsComposition.
    • FlowAlignment::Right.
    • GuiRepeatCompositionBase
      • Add Context property.

GacUI 1.2.6.0

26 Apr 12:02
Compare
Choose a tag to compare

GacUI 1.2.6.0

GacUI / C++ Interoperable Script Engine (Apache License 2.0 with extra conditions)

Website for this project: http://www.gaclib.net/

This repository contains the latest release for the GacUI project, including packed library source codes, development tools, demos and documents. Complete source code can be accessed in https://github.com/vczh-libraries .

Version

This version is a sub release towards GacUI 2.0.
Please check out 1.0-rc-3 for GacUI 1.0.

Tutorials:

  • Created UI_Controls/Dialogs: Demo system dialogs.
  • Created GacUI_Controls/GlobalHotKey: Demo global hotkey.
  • Updated GacUI_Controls/LocalizedStrings: Demo adding new languages outside of <LocalizedStrings/>.

Update:

  • Workflow
    • Added static{} statement for module initialization.
    • Disallow struct X to have X? field.
  • GacUI
    • Support [LEFT] and [RIGHT] keyboard navigation for tree view controls.
    • Remove SysKeyDown and SysKeyUp, all events go to KeyDown and KeyUp.
    • ThemeName::SystemFrameWindow and ThemeName::CustomFrameWindow.
    • <ToolstripCommand Shortcut="global:Ctrl+C"/>.
  • GacGen
    • <LocalizedStringsInjection/>.
    • DarkSkin types are included as predefined types.

GacUI 1.2.5.0

11 Apr 06:10
Compare
Choose a tag to compare

GacUI 1.2.5.0

GacUI / C++ Interoperable Script Engine (Apache License 2.0 with extra conditions)

Website for this project: http://www.gaclib.net/

This repository contains the latest release for the GacUI project, including packed library source codes, development tools, demos and documents. Complete source code can be accessed in https://github.com/vczh-libraries .

Version

This version is a sub release towards GacUI 2.0.
Please check out 1.0-rc-3 for GacUI 1.0.

Tutorials:

  • Created ColorPicker2: Demo <ComboButton/>.
  • Updated WindowSkin: Add an "Open New Window" button that recursively creates sub windows.

Fixed Bugs:

  • GuiSharedSizeRootComposition makes rendering non-stopped.
  • Hosted mode dialog service: message box is not shown at the center.

Adapting C++20

  • Use std::string_ordering and operator<=> everywhere.
  • Added LazyList<T>::OrderBySelf and LazyList<T>::OrderByKey.
  • Refactor Tuple, Pair, Nullable.
  • Remove Lazy.