Releases: vczh-libraries/Release
GacUI 1.0.5.0
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 tovl::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
.
- Accept regular expressions in
GacUI 1.0.4.0
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 ofPtr<IValueList>
for accepting function call arguments. UnboxParameter<T>
returnsUnboxed<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>
- Reflection accepts
- 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 thisPtr<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>
.
- When the returned
- If a interface method returns a collection reference, and this interface is implemented in Workflow
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
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 samePtr<IValueXXX>
pointer.LazyList<T>
is not a collection object, boxing it creates newIValueEnumerable
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
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
andFOREACH_INDEXED
macros are removed.FOREACH(TYPE, VAR, COLLECTION)
is replaced byfor (auto VAR : COLLECTION)
.FOREACH_INDEXED(TYPE, VAR, INDEX, COLLECTION)
is replaced byfor (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>
andForwardValue<T>
functions are removed, please usestd::move
andstd::forward
.- All type traits are removed, please use C++ standard ones.
GacUI 1.0.1.0
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
forchar8_t
. - Add
U16String
forchar16_t
. - Add
U32String
forchar32_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
andUtf32Decoder
. Utf-32 doesn't have BOM so it is not supported inBomEncoder
andBomDecoder
.
Gaclib 1.0 Release Candidate 3
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
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
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
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 eliminatesTypeInfo<T>
.
- Comparing to
GacGen32.exe
andGacGen64.exe
reduces 35MB in total.- Needs
Reflection32.bin
andReflection64.bin
, already created in the release. - The dependency to
GacUIWindows.cpp
is removed.
- Needs
Gaclib 0.13.3.0
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 fromINativeController::CreateNativeWindow
.- A window mode cannot be changed after an
INativeWindow
is created.GuiControlHost::SetNativeWindow
will check if the window mode inGuiControlHost
andINativeWindow
is the same.
- A window mode cannot be changed after an
Fixed bugs:
VisuallyEnabled
is not properly updated inGuiBindableDataGrid
's visualizers and editors.DateTime
doesn't properly obtain current millisecond component.GuiDatePicker
doesn't initialize date before locale in its constructor.