Skip to content

Releases: vczh-libraries/Release

GacUI 1.0.5.0

05 Nov 01:36
Compare
Choose a tag to compare

GacUI 1.0.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.

Breaking Changes

  • vl::ParsingException is deleted and replaced by to vl::regex_internal::RegexException.

New Features

  • VlppRegex
    • Regex, RegexLexer, RegexLexerWalker, RegexLexerColorizer supports all UTF encoding.
      • Accept regular expressions in WString, U8String, U16String, U32String.
      • Parse text input in WString, U8String, U16String, U32String.

GacUI 1.0.4.0

31 Oct 13:22
Compare
Choose a tag to compare

GacUI 1.0.4.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.

Breaking Changes

  • VlppReflection
    • Reflection accepts Ptr<IValueReadonlyList> instead of Ptr<IValueList> for accepting function call arguments.
    • UnboxParameter<T> returns Unboxed<T> instead of filling the second argument.
    • Boxing a collection and then unboxing it in the same type will return the same reference in Unboxed<T>
  • Workflow
    • If a interface method returns a collection reference, and this interface is implemented in Workflow
      • When the returned Ptr<IValueX> object is being unboxed, and it is not able to return the reference object behind this Ptr<IValueX>, it throws an exception. If not, the function will dispose the collection and then return its reference, which is not good.
      • Workflow created collection instance is in this case.
      • Unboxing to a difference collection type is also in this case, e.g. Array<vint> -> Ptr<IValueReadonlyList> -> SortedList<vint>.

New Features

  • Workflow
    • Passing arguments to a C++ function accepting some collection references will no longer generate a lambda expression that will be immediately called.

GacUI 1.0.3.0

29 Oct 11:48
Compare
Choose a tag to compare

GacUI 1.0.3.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.

Breaking Changes

  • Requires 64-bits tool set to build GacUI on Windows.

New Features

  • Linq supports generic lambda.
  • Calling BoxParameter multiple time to the same collection object (regardless of its C++ type when calling) returns the same Ptr<IValueXXX> pointer.
    • LazyList<T> is not a collection object, boxing it creates new IValueEnumerable instance for each time.
    • No need to specify template argument for BoxParameter.
  • Added IValueArray.
  • Workflow constructor expression {a b c} now responses to function parameter type as an argument.

GacUI 1.0.2.0

27 Oct 08:36
Compare
Choose a tag to compare

GacUI 1.0.2.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.

Breaking Changes

  • FOREACH and FOREACH_INDEXED macros are removed.
    • FOREACH(TYPE, VAR, COLLECTION) is replaced by for (auto VAR : COLLECTION).
    • FOREACH_INDEXED(TYPE, VAR, INDEX, COLLECTION) is replaced by for (auto [VAR, INDEX] : indexed(COLLECTION)).
  • NotCopyable class is removed.
    • NOT_COPYABLE(TYPE) macro is created instead to service the same purpose but in different way.
  • ObjectBox<T> class is removed.
  • MoveValue<T> and ForwardValue<T> functions are removed, please use std::move and std::forward.
  • All type traits are removed, please use C++ standard ones.

GacUI 1.0.1.0

24 Oct 00:30
Compare
Choose a tag to compare

GacUI 1.0.1.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.

New Features

  • Add U8String for char8_t.
  • Add U16String for char16_t.
  • Add U32String for char32_t.
  • Add string conversion functions between all 5 kinds of strings.
  • Move some ObjectString<T> constructors to static functions: TakeOver, FromChar, CopyFrom, Unmanaged, UnsafeCastFrom.
  • Add Utf32Encoder and Utf32Decoder. Utf-32 doesn't have BOM so it is not supported in BomEncoder and BomDecoder.

Gaclib 1.0 Release Candidate 3

24 Oct 00:35
Compare
Choose a tag to compare

Gaclib 1.0 Release Candidate 3

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 .

Fixed Bugs

  • Update a few tutorial source code to unblock gGac.

New Tutorials

  • GacUI_ControlTemplate
    • WindowSkin: Change window frame feature in runtime.

Gaclib 1.0 Release Candidate 2

18 Oct 22:14
Compare
Choose a tag to compare

Gaclib 1.0 Release Candidate 2

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 .

Fixed

  • Remove warnings for clang++
  • Remove compile errors for g++

New Tutorials

  • GacUI_Controls
    • Win11ToolstripMenu: Creating a menu with small buttons in the first line.

Gaclib 1.0 Release Candidate 1

14 Oct 11:22
Compare
Choose a tag to compare

Gaclib 1.0 Release Candidate 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 .

Fixed Bugs

  • GuiDocumentViewer automatically scrolls to the editing caret.
  • When a document editor control is too large, the lower part of the area cannot be used to operate the last line of text.
  • The ribbon gallery dropdown menu cannot be properly resized by dragging the resize bar.
  • The ribbon gallery dropdown menu is closed expectedly after being resized by dragging the resize bar.
  • In Windows, the window icon in the task bar is not changed to the default HICON when the Icon property of the window is set to null.
  • In Windows, resizing a window in 125% DPI, which is restricted by controls instead of PreferredMinSize, has glitches.
  • In Windows Direct2D renderer, the last line of pixels of a document is not rendered.
  • In Windows Direct2D renderer in 125% DPI, the selected document blue background is not smoothly rendered.
  • Dangling pointers for class names created using Workflow appear in GacGen.exe in some very rear situations.

Updated Tutorials

  • DocumentEditor prompts a message box if the application is closed with unsaved document (for private format only)
  • DocumentEditorRibbon assign ALT sequences for ribbon controls

Gaclib 0.14.0.0

09 Oct 21:08
Compare
Choose a tag to compare

Gaclib 0.14.0.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 .

Updates

  • Add VCZH_DEBUG_METAONLY_REFLECTION mode on reflection related code.
    • GenerateMetaonlyTypes function to dump all type information.
    • LoadMetaonlyTypes to reload all type information, but they cannot perform runtime invoking.
    • In this mode, TypeInfo<T> must be properly created, but type loaders should be eliminated.
      • Comparing to VCZH_DEBUG_NO_REFLECTION, which also eliminates TypeInfo<T>.
  • GacGen32.exe and GacGen64.exe reduces 35MB in total.
    • Needs Reflection32.bin and Reflection64.bin, already created in the release.
    • The dependency to GacUIWindows.cpp is removed.

Gaclib 0.13.3.0

26 Jul 05:19
Compare
Choose a tag to compare

Gaclib 0.13.3.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 .

Updates

  • Remove INativeWindow::SetWindowMode, now the window mode is required from INativeController::CreateNativeWindow.
    • A window mode cannot be changed after an INativeWindow is created. GuiControlHost::SetNativeWindow will check if the window mode in GuiControlHost and INativeWindow is the same.

Fixed bugs:

  • VisuallyEnabled is not properly updated in GuiBindableDataGrid's visualizers and editors.
  • DateTime doesn't properly obtain current millisecond component.
  • GuiDatePicker doesn't initialize date before locale in its constructor.