View Issue Details

IDProjectCategoryView StatusLast Update
0004834NoesisGUIStudiopublic2026-03-03 23:51
Reporterjsantos Assigned Todfranjic  
PrioritynormalSeverityminor 
Status resolvedResolutionfixed 
Product VersionStudio_Beta 
Target VersionStudio_Beta 
Summary0004834: Get rid of harcoded category in the metadata
Description

Having to manually add categories in the reflection metadata for certain classes is a minor issue for client code. We should be able to detect this automatically, without requiring users to include it in their metadata, by, for example, identifying base classes.

The list of categories and classes I have detected is as follows:

W:\Noesis\NoesisSDK\Native\Src\Packages\Drawing\Types\Include\NsDrawing\Color.h(123):        NsMeta<Category>("Brushes");
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\ImageBrush.cpp(158):    NsMeta<Category>("Brushes"); 
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\LinearGradientBrush.cpp(133):    NsMeta<Category>("Brushes");
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\RadialGradientBrush.cpp(166):    NsMeta<Category>("Brushes"); 
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\VisualBrush.cpp(177):    NsMeta<Category>("Brushes");
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\SolidColorBrush.cpp(165):    NsMeta<Category>("Brushes"); 

W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\AlternationConverter.cpp(80):    NsMeta<Category>("Converters");
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\BooleanToVisibilityConverter.cpp(64):    NsMeta<Category>("Converters");

W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\ArcSegment.cpp(155):    NsMeta<Category>("Geometries");
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\BezierSegment.cpp(123):    NsMeta<Category>("Geometries");
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\CombinedGeometry.cpp(359):    NsMeta<Category>("Geometries");
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\EllipseGeometry.cpp(225):    NsMeta<Category>("Geometries");
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\LineSegment.cpp(90):    NsMeta<Category>("Geometries");
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\LineGeometry.cpp(197):    NsMeta<Category>("Geometries");
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\PathFigure.cpp(243):    NsMeta<Category>("Geometries");
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\PathGeometry.cpp(304):    NsMeta<Category>("Geometries");
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\PolyBezierSegment.cpp(143):    NsMeta<Category>("Geometries");
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\PolyLineSegment.cpp(128):    NsMeta<Category>("Geometries");
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\PolyQuadraticBezierSegment.cpp(140):    NsMeta<Category>("Geometries");
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\QuadraticBezierSegment.cpp(107):    NsMeta<Category>("Geometries");
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\RectangleGeometry.cpp(262):    NsMeta<Category>("Geometries");
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\GeometryGroup.cpp(385):    NsMeta<Category>("Geometries");
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\StreamGeometry.cpp(252):    NsMeta<Category>("Geometries");

W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\BitmapImage.cpp(269):    NsMeta<Category>("Bitmaps");
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\CroppedBitmap.cpp(219):    NsMeta<Category>("Bitmaps");
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\ImageSource.cpp(58):    NsMeta<Category>("Bitmaps");

W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\BlurEffect.cpp(94):    NsMeta<Category>("Effects");
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\DropShadowEffect.cpp(192):    NsMeta<Category>("Effects");

W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\CompositeTransform.cpp(161):    NsMeta<Category>("Transforms");
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\CompositeTransform3D.cpp(198):    NsMeta<Category>("Transforms");
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\MatrixTransform.cpp(91):    NsMeta<Category>("Transforms");
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\MatrixTransform3D.cpp(73):    NsMeta<Category>("Transforms");
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\RotateTransform.cpp(107):    NsMeta<Category>("Transforms");
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\ScaleTransform.cpp(120):    NsMeta<Category>("Transforms");
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\SkewTransform.cpp(120):    NsMeta<Category>("Transforms");
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\TransformGroup.cpp(280):    NsMeta<Category>("Transforms");
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\TranslateTransform.cpp(96):    NsMeta<Category>("Transforms");

W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\ControlTemplate.cpp(112):    NsMeta<Category>("Controls");
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\DataTemplate.cpp(97):    NsMeta<Category>("Controls");
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\HierarchicalDataTemplate.cpp(110):    NsMeta<Category>("Controls");
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\ItemsPanelTemplate.cpp(35):    NsMeta<Category>("Controls");
W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\Style.cpp(429):    NsMeta<Category>("Controls");

W:\Noesis\NoesisSDK\Native\Src\Packages\Gui\Core\Src\MultiBinding.cpp(221):    NsMeta<Category>("MarkupExtension");
W:\Noesis\NoesisSDK\Native\Src\Packages\App\ApplicationLauncher\Src\LocExtension.cpp(156):    NsMeta<Category>("MarkupExtension");
PlatformAny

Relationships

related to 0004820 resolvedsfernandez Text binding options get duplicated 

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2026-02-24 20:11 jsantos New Issue
2026-02-24 20:14 jsantos Description Updated
2026-02-24 20:15 jsantos Description Updated
2026-02-25 13:33 jsantos Assigned To => dfranjic
2026-02-25 13:33 jsantos Status new => assigned
2026-02-25 13:52 jsantos Relationship added related to 0004820
2026-02-25 14:03 jsantos Product Version => Studio_Beta
2026-02-25 14:03 jsantos Target Version => Studio_Beta
2026-03-03 23:51 dfranjic Status assigned => resolved
2026-03-03 23:51 dfranjic Resolution open => fixed