bloxstrap/Bloxstrap/Resources/CustomBootstrapperSchema.json
Matt 9d356b0b71
Some checks are pending
CI (Debug) / build (push) Waiting to run
CI (Release) / build (push) Waiting to run
CI (Release) / release (push) Blocked by required conditions
CI (Release) / release-test (push) Blocked by required conditions
Custom bootstrapper themes (#4380)
* add custom bootstrappers

* add avalonedit to licenses page

* add gif support

* add stretch & stretchdirection to images

* dont create a bitmapimage for gifs

* remove maxheight and maxwidth sets

* remove comment

* add isenabled

* add more textblock properties

* add markdowntextblocks

* update how transform elements are stored

* overhaul textbox content

* dont set fontsize if not set

* fix warnings

* add foreground property to control

* add background property to textblock

* count descendants and increase element cap

* add auto complete

* dont display completion window if there is no data

* sort schema elements and types

* make ! close the completion window

* add end tag auto complete

* fix pos being wrong

* dont treat comments as elements

* add imagebrushes

* follow same conventions as brushes

* fix exception messages

* fix them again

* update schema

* fix crash

* now it works

* wrong attribute name

* add solidcolorbrush

* move converters into a separate file

* add lineargradientbrushes

* unify handlers

* update schema

* add fake BloxstrapCustomBootstrapper

* stop adding an extra end character

* add property element auto-complete

* add title attribute to custombloxstrapbootstrapper

* add shapes

* add string translation support

* use default wpf size instead of 100x100

* update min height of window

* fix verticalalignment not working

* uncap height and width

* add effects

* move transformation handler inside frameworkelement

* fix title bar effect & transformation removal

* add more frameworkelement properties

* add layout transform

* add font properties to control

* improve window border stuff

* make sure file contents are in CRLF

* add cornerradius to progress bar

* add progressring

* Update wpfui

* update schema

* update function names

* add children check to content

* make sure only one content is defined

* add fontfamily

* update schema

* only allow file uris for images

* disable backdrop

* move text setter to textblock handler from base

* split up creator into multiple files

* turn version into a constant

* add grids

* cleanup converters

* add IgnoreTitleBarInset

* add Version to schema

* reveal custom bootstrapper stuff on selection

* increase listbox height

* only set statustext binding in textblock

* update ui

* rename ZIndex to Panel.ZIndex

* add stackpanel

* add border

* fix being unable to apply transforms on grids

* rearrange and add new editor button

* use snackbars for saving

* add close confirmation message

* use viewmodel variable

* remove pointless onpropertychanged call

* add version string format

* start editor window in the centre

* update licenses page

also resized the about window so everything could fit nicely

* fix border not inheriting frameworkelement

* add WindowCornerPreference

* add the import dialog

* add an export theme button

* update version number

* localise CustomDialog exceptions

* localise custom theme editor

* localise custom theme add dialog

* localise frontend

* localise appearance menu page

* change customtheme error strings namespace

* change icons on appearance page

* update button margin on appearance page
2025-03-11 19:18:54 +00:00

521 lines
9.4 KiB
JSON

{
"Elements": {
"FrameworkElement": {
"IsCreatable": false,
"Attributes": {
"Name": "string",
"Visibility": "Visibility",
"IsEnabled": "bool",
"Margin": "Thickness",
"Height": "double",
"Width": "double",
"HorizontalAlignment": "HorizontalAlignment",
"VerticalAlignment": "VerticalAlignment",
"RenderTransform": "Transform",
"LayoutTransform": "Transform",
"Opacity": "double",
"OpacityMask": "Brush",
"RenderTransformOrigin": "Point",
"Panel.ZIndex": "int",
"Grid.Row": "int",
"Grid.RowSpan": "int",
"Grid.Column": "int",
"Grid.ColumnSpan": "int"
}
},
"Control": {
"SuperClass": "FrameworkElement",
"IsCreatable": false,
"Attributes": {
"Padding": "Thickness",
"BorderThickness": "Thickness",
"Foreground": "Brush",
"Background": "Brush",
"BorderBrush": "Brush",
"FontSize": "double",
"FontWeight": "FontWeight",
"FontStyle": "FontStyle",
"FontFamily": "FontFamily"
}
},
"BloxstrapCustomBootstrapper": {
"SuperClass": "Control",
"IsCreatable": true,
"Attributes": {
"Version": "int",
"Theme": "Theme",
"Title": "string",
"IgnoreTitleBarInset": "bool",
"WindowCornerPreference": "WindowCornerPreference"
}
},
"TitleBar": {
"SuperClass": "Control",
"IsCreatable": true,
"Attributes": {
"ShowMinimize": "bool",
"ShowClose": "bool",
"Title": "string"
}
},
"Button": {
"SuperClass": "Control",
"IsCreatable": true,
"Attributes": {
"Content": "object"
}
},
"RangeBase": {
"SuperClass": "Control",
"IsCreatable": false,
"Attributes": {
"Value": "double",
"Maximum": "double"
}
},
"ProgressBar": {
"SuperClass": "RangeBase",
"IsCreatable": true,
"Attributes": {
"IsIndeterminate": "bool",
"CornerRadius": "CornerRadius",
"IndicatorCornerRadius": "CornerRadius"
}
},
"ProgressRing": {
"SuperClass": "RangeBase",
"IsCreatable": true,
"Attributes": {
"IsIndeterminate": "bool"
}
},
"TextBlock": {
"SuperClass": "FrameworkElement",
"IsCreatable": true,
"Attributes": {
"Text": "string",
"Foreground": "Brush",
"Background": "Brush",
"FontSize": "double",
"FontWeight": "FontWeight",
"FontStyle": "FontStyle",
"FontFamily": "FontFamily",
"LineHeight": "double",
"LineStackingStrategy": "LineStackingStrategy",
"TextAlignment": "TextAlignment",
"TextTrimming": "TextTrimming",
"TextWrapping": "TextWrapping",
"TextDecorations": "TextDecorations",
"IsHyphenationEnabled": "bool",
"BaselineOffset": "double",
"Padding": "Thickness"
}
},
"MarkdownTextBlock": {
"SuperClass": "TextBlock",
"IsCreatable": true,
"Attributes": {}
},
"Image": {
"SuperClass": "FrameworkElement",
"IsCreatable": true,
"Attributes": {
"Stretch": "Stretch",
"StretchDirection": "StretchDirection",
"Source": "ImageSource",
"IsAnimated": "bool"
}
},
"Grid": {
"SuperClass": "FrameworkElement",
"IsCreatable": true,
"Attributes": {
"RowDefinitions": "object",
"ColumnDefinitions": "object"
}
},
"StackPanel": {
"SuperClass": "FrameworkElement",
"IsCreatable": true,
"Attributes": {
"Orientation": "Orientation"
}
},
"Border": {
"SuperClass": "FrameworkElement",
"IsCreatable": true,
"Attributes": {
"Background": "Brush",
"BorderBrush": "Brush",
"BorderThickness": "Thickness",
"Padding": "Thickness",
"CornerRadius": "CornerRadius"
}
},
"RowDefinition": {
"IsCreatable": true,
"Attributes": {
"Height": "GridLength",
"MinHeight": "double",
"MaxHeight": "double"
}
},
"ColumnDefinition": {
"IsCreatable": true,
"Attributes": {
"Width": "GridLength",
"MinWidth": "double",
"MaxWidth": "double"
}
},
"ScaleTransform": {
"IsCreatable": true,
"Attributes": {
"ScaleX": "double",
"ScaleY": "double",
"CenterX": "double",
"CenterY": "double"
}
},
"SkewTransform": {
"IsCreatable": true,
"Attributes": {
"AngleX": "double",
"AngleY": "double",
"CenterX": "double",
"CenterY": "double"
}
},
"RotateTransform": {
"IsCreatable": true,
"Attributes": {
"Angle": "double",
"CenterX": "double",
"CenterY": "double"
}
},
"TranslateTransform": {
"IsCreatable": true,
"Attributes": {
"X": "double",
"Y": "double"
}
},
"Brush": {
"IsCreatable": false,
"Attributes": {
"Opacity": "double"
}
},
"SolidColorBrush": {
"SuperClass": "Brush",
"IsCreatable": true,
"Attributes": {
"Color": "Color"
}
},
"ImageBrush": {
"SuperClass": "Brush",
"IsCreatable": true,
"Attributes": {
"AlignmentX": "AlignmentX",
"AlignmentY": "AlignmentY",
"Stretch": "Stretch",
"TileMode": "TileMode",
"ViewboxUnits": "BrushMappingMode",
"ViewportUnits": "BrushMappingMode",
"Viewbox": "Rect",
"Viewport": "Rect",
"ImageSource": "ImageSource"
}
},
"LinearGradientBrush": {
"SuperClass": "Brush",
"IsCreatable": true,
"Attributes": {
"StartPoint": "Point",
"EndPoint": "Point",
"ColorInterpolationMode": "ColorInterpolationMode",
"MappingMode": "BrushMappingMode",
"SpreadMethod": "GradientSpreadMethod"
}
},
"GradientStop": {
"IsCreatable": true,
"Attributes": {
"Color": "Color",
"Offset": "double"
}
},
"Shape": {
"SuperClass": "FrameworkElement",
"IsCreatable": false,
"Attributes": {
"Fill": "Brush",
"Stroke": "Brush",
"Stretch": "Stretch",
"StrokeDashCap": "PenLineCap",
"StrokeDashOffset": "double",
"StrokeEndLineCap": "PenLineCap",
"StrokeLineJoin": "PenLineJoin",
"StrokeMiterLimit": "double",
"StrokeStartLineCap": "PenLineCap",
"StrokeThickness": "double"
}
},
"Ellipse": {
"SuperClass": "Shape",
"IsCreatable": true,
"Attributes": {}
},
"Line": {
"SuperClass": "Shape",
"IsCreatable": true,
"Attributes": {
"X1": "double",
"X2": "double",
"Y1": "double",
"Y2": "double"
}
},
"Rectangle": {
"SuperClass": "Shape",
"IsCreatable": true,
"Attributes": {
"RadiusX": "double",
"RadiusY": "double"
}
},
"BlurEffect": {
"IsCreatable": true,
"Attributes": {
"KernelType": "KernelType",
"Radius": "double",
"RenderingBias": "RenderingBias"
}
},
"DropShadowEffect": {
"IsCreatable": true,
"Attributes": {
"BlurRadius": "double",
"Direction": "double",
"Opacity": "double",
"ShadowDepth": "double",
"RenderingBias": "RenderingBias",
"Color": "Color"
}
}
},
"Types": {
"string": {},
"bool": {
"Values": [
"True",
"False"
]
},
"int": {},
"double": {},
"object": { "CanHaveElement": true },
"Thickness": {},
"Rect": {},
"Point": {},
"CornerRadius": {},
"Brush": { "CanHaveElement": true },
"Color": {},
"ImageSource": {},
"Transform": { "CanHaveElement": true },
"FontFamily": {},
"GridLength": {},
"Visibility": {
"Values": [
"Visible",
"Hidden",
"Collapsed"
]
},
"HorizontalAlignment": {
"Values": [
"Left",
"Center",
"Right",
"Stretch"
]
},
"VerticalAlignment": {
"Values": [
"Top",
"Center",
"Bottom",
"Stretch"
]
},
"Theme": {
"Values": [
"Default",
"Dark",
"Light"
]
},
"FontWeight": {
"Values": [
"Thin",
"ExtraLight",
"UltraLight",
"Medium",
"Normal",
"Regular",
"DemiBold",
"SemiBold",
"Bold",
"ExtraBold",
"UltraBold",
"Black",
"Heavy",
"ExtraBlack",
"ExtraHeavy"
]
},
"FontStyle": {
"Values": [
"Normal",
"Italic",
"Oblique"
]
},
"LineStackingStrategy": {
"Values": [
"BlockLineHeight",
"MaxHeight"
]
},
"TextAlignment": {
"Values": [
"Left",
"Right",
"Center",
"Justify"
]
},
"TextTrimming": {
"Values": [
"None",
"CharacterEllipsis",
"WordEllipsis"
]
},
"TextWrapping": {
"Values": [
"WrapWithOverflow",
"NoWrap",
"Wrap"
]
},
"TextDecorations": {
"Values": [
"Baseline",
"OverLine",
"Strikethrough",
"Underline"
]
},
"Stretch": {
"Values": [
"None",
"Fill",
"Uniform",
"UniformToFill"
]
},
"StretchDirection": {
"Values": [
"UpOnly",
"DownOnly",
"Both"
]
},
"AlignmentX": {
"Values": [
"Left",
"Center",
"Right"
]
},
"AlignmentY": {
"Values": [
"Top",
"Center",
"Bottom"
]
},
"TileMode": {
"Values": [
"None",
"FlipX",
"FlipY",
"FlipXY",
"Tile"
]
},
"BrushMappingMode": {
"Values": [
"Absolute",
"RelativeToBoundingBox"
]
},
"ColorInterpolationMode": {
"Values": [
"ScRgbLinearInterpolation",
"SRgbLinearInterpolation"
]
},
"GradientSpreadMethod": {
"Values": [
"Pad",
"Reflect",
"Repeat"
]
},
"PenLineCap": {
"Values": [
"Flat",
"Square",
"Round",
"Triangle"
]
},
"PenLineJoin": {
"Values": [
"Miter",
"Bevel",
"Round"
]
},
"KernelType": {
"Values": [
"Gaussian",
"Box"
]
},
"RenderingBias": {
"Values": [
"Performance",
"Quality"
]
},
"Orientation": {
"Values": [
"Horizontal",
"Vertical"
]
},
"WindowCornerPreference": {
"Values": [
"Default",
"DoNotRound",
"Round",
"RoundSmall"
]
}
}
}