Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
21316ac
working on the alternate format to be able to handle the straight jso…
danielcoons Aug 13, 2026
f28811a
added serialization to go from existing objects to json - added `save…
danielcoons Aug 18, 2026
e9a9af9
had to fix the `save` action to remove line feeds from description! i…
danielcoons Aug 18, 2026
63ea167
replaced the diagram disable structure that was stopping the panel cl…
danielcoons Aug 18, 2026
4c5461c
Merge branch '#33-feature-remove-the-need-for-the-user-to-convert-fro…
danielcoons Aug 19, 2026
9c5f0fa
updated the load configuration for the editor to make sure a backup i…
danielcoons Aug 19, 2026
054d305
Merge branch '#38-bug-default-file' into develop
danielcoons Aug 19, 2026
5ca7770
OOHHHHHHHHKKKKKKKKKKKKKKKK so i might have decided to reorg the folde…
danielcoons Aug 20, 2026
dca9d97
updated documentation
danielcoons Aug 20, 2026
abb9c9a
Address Issue #39 - error was caused by the initial value i had set o…
danielcoons Aug 20, 2026
e17812c
minor update to defaults on this
danielcoons Aug 20, 2026
3564498
making some updates to make sure vip build working after file structu…
danielcoons Aug 20, 2026
2c36125
checked for default being xml to switch to conversion button and lega…
danielcoons Aug 20, 2026
6f20daa
updated example and example bin3 file
danielcoons Aug 20, 2026
994c4d4
cleanup the sandbox folder
danielcoons Aug 20, 2026
aaa36a3
updated paths in readme to images
danielcoons Aug 20, 2026
fb9d799
sandbox project and extra file and removal of unneeded files
danielcoons Aug 20, 2026
243a68b
remove these files
danielcoons Aug 20, 2026
917a587
updated gitignore
danielcoons Aug 20, 2026
771e1aa
updated changelog and inclusion of lvversion metadata file
danielcoons Aug 20, 2026
e695a59
updated vipb build for the pacakge
danielcoons Aug 20, 2026
25a12ca
Merge branch 'release/v3.2.0' into develop
danielcoons Aug 20, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,7 @@
*.aliases
*.lvlps
.cache/
*.UserState

# Location of the vip builds
/dist
19 changes: 19 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]
- Dynamically hook into an icon library???
- Need to test if new method of direct json parsing makes PPL compatiblity easier to satisfy [#31](https://github.com/danielcoons/tsc-material-theme/issues/31)
- I believe updated method will not have the issues that the XML tools did
- Update documentation for use of the tool!
- See if it is possible to run any algorithms when components of the material file are missing or undefined

## [3.2.0] - 2026.08.20
### Added
- Implementation of direct json theme structure necessitated addition of a `save` action in the `Material Theme Editor UI` that will create a Material-compatible json output

### Changed
- Folder structure updated to follow a modern, github dev proccess setup
- Addressing of [#33](https://github.com/danielcoons/tsc-material-theme/issues/33) in place
- No longer a need to convert json theme to local XML
- Use direct exports of json file from Material Builder tools
- Added parsing for `AI Created` material json files - seemed to not have full, compatible json styles, but no official schema exists. Parsed making assumptions on how structure was generated using multiple `AI Tools` - Gemini and Chat GPT both used to generate a `Material Theme json File`

### Fixed
- On a clean install, the `example folder` json file will be automatically added in UI tools [#38](https://github.com/danielcoons/tsc-material-theme/issues/38)
- Save immediately in Button Editor was throwing an error for `Current Version` because of how the FP was initialized [#39](https://github.com/danielcoons/tsc-material-theme/issues/39)

## [3.1.1] - 2026.08.12
### Fixed
Expand Down
Binary file removed Example/tsc-material.bin3
Binary file not shown.
Binary file removed Material Theme/Apply TSC Pop Up.vi
Binary file not shown.
Binary file removed Material Theme/Apply UI Theme.vi
Binary file not shown.
Binary file removed Material Theme/Get Palettes.vi
Binary file not shown.
Binary file removed Material Theme/Get Theme Data.vi
Binary file not shown.
Binary file removed Material Theme/Load Material Theme.vi
Binary file not shown.
Binary file removed Material Theme/Material.Convert to LabVIEW.vi
Binary file not shown.
Binary file removed Material Theme/Replace Scheme Color.vi
Binary file not shown.
Binary file removed Material Theme/convert string to hex.vi
Binary file not shown.
Binary file removed Material-Palette/Material.Build Palette Array.vi
Binary file not shown.
Binary file removed Material-Palette/View-Palette.vi
Binary file not shown.
Binary file removed Material-Scheme/Material.Build Scheme Array.vi
Binary file not shown.
Binary file removed Material-Scheme/Save Ctl Image to File.vi
Binary file not shown.
Binary file removed Material-Scheme/Scheme.Update Image (Multiple).vi
Binary file not shown.
Binary file removed Material-Scheme/Scheme.Update Image.vi
Binary file not shown.
Binary file removed Material-Scheme/View-Scheme.vi
Binary file not shown.
Binary file removed Material-Scheme/View-User Colors.vi
Binary file not shown.
Binary file removed Material-Scheme/data member access/Get error.vi
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed Material-Scheme/data member access/Get onError.vi
Binary file not shown.
Binary file not shown.
Binary file removed Material-Scheme/data member access/Get onPrimary.vi
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed Material-Scheme/data member access/Get onSurface.vi
Binary file not shown.
Binary file not shown.
Binary file removed Material-Scheme/data member access/Get onTertiary.vi
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed Material-Scheme/data member access/Get outline.vi
Binary file not shown.
Binary file not shown.
Binary file removed Material-Scheme/data member access/Get primary.vi
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed Material-Scheme/data member access/Get scrim.vi
Binary file not shown.
Binary file removed Material-Scheme/data member access/Get secondary.vi
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed Material-Scheme/data member access/Get shadow.vi
Binary file not shown.
Binary file not shown.
Binary file removed Material-Scheme/data member access/Get tertiary.vi
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed Material-Scheme/data member access/Set background.vi
Binary file not shown.
Binary file removed Material-Scheme/data member access/Set error.vi
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed Material-Scheme/data member access/Set onError.vi
Binary file not shown.
Binary file not shown.
Binary file removed Material-Scheme/data member access/Set onPrimary.vi
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed Material-Scheme/data member access/Set onSurface.vi
Binary file not shown.
Binary file not shown.
Binary file removed Material-Scheme/data member access/Set onTertiary.vi
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed Material-Scheme/data member access/Set outline.vi
Binary file not shown.
Binary file not shown.
Binary file removed Material-Scheme/data member access/Set primary.vi
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed Material-Scheme/data member access/Set scrim.vi
Binary file not shown.
Binary file removed Material-Scheme/data member access/Set secondary.vi
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed Material-Scheme/data member access/Set shadow.vi
Binary file not shown.
Binary file removed Material-Scheme/data member access/Set surface.vi
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed Material-Scheme/data member access/Set surfaceDim.vi
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed Material-Scheme/data member access/Set tertiary.vi
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed Material-Scheme/data member access/get surface.vi
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed Material-Scheme/data member access/get surfaceDim.vi
Binary file not shown.
Binary file not shown.
Binary file removed Material-Scheme/private/Blend Colors.vi
Binary file not shown.
Binary file removed Material-Scheme/private/Color Grabber.vi
Binary file not shown.
Binary file removed Material-Scheme/private/Convert PNG color.vi
Binary file not shown.
Binary file removed Material-Scheme/private/Create CSS Variables.vi
Binary file not shown.
Binary file removed Material-Scheme/private/DigitalGraph - Colors.vi
Binary file not shown.
Binary file removed Material-Scheme/private/Find TSC tEXt Chunk.vi
Binary file not shown.
Binary file removed Material-Scheme/private/Insert TSC tEXt Chunk.vi
Binary file not shown.
Binary file removed Material-Scheme/private/Label and Caption Color.vi
Binary file not shown.
Binary file removed Material-Scheme/private/Mask to Alpha.vi
Binary file not shown.
Binary file removed Material-Scheme/private/PNG Write with Alpha.vi
Binary file not shown.
Binary file removed Material-Scheme/private/Replace Image.vi
Binary file not shown.
Binary file removed Material-Scheme/private/Tab Control - Colors.vi
Binary file not shown.
Binary file removed Material-Scheme/private/WaveformChart - Colors.vi
Binary file not shown.
Binary file removed Material-Scheme/private/WaveformGraph - Colors.vi
Binary file not shown.
Binary file removed Material-Scheme/private/XYGraph - Colors.vi
Binary file not shown.
Binary file removed Material-Scheme/private/buttons/elevated buttons.vi
Binary file not shown.
Binary file not shown.
Binary file removed Material-Scheme/private/buttons/filled buttons.vi
Binary file not shown.
Binary file not shown.
Binary file removed Material-Scheme/private/buttons/tonal buttons.vi
Binary file not shown.
Binary file not shown.
Binary file removed Material-Scheme/subVIs/Boolean Update - Colors.vi
Binary file not shown.
Binary file removed Material-Scheme/subVIs/Boolean Update.vi
Binary file not shown.
Binary file removed Material-Scheme/subVIs/Controls Loop.vi
Binary file not shown.
Binary file removed Material-Scheme/subVIs/Decorations Loop.vi
Binary file not shown.
Binary file removed Material-Scheme/subVIs/Panel Loop.vi
Binary file not shown.
Binary file removed Material-Scheme/subVIs/outline buttons.vi
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
28 changes: 14 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ Create Theme JSON: <https://material-foundation.github.io/material-theme-builder
## 🛠️ Toolkit Description
The TSC Material Tookit implements the theory and application of color schemes to LabVIEW front panels. Installing the **VIP** file will add **FOUR** menu items to the LabVIEW Tools bar:

[Tools->TSC->Material Theme Editor...](#material-theme-editor)
[Tools->TSC->Edit a Button--Material...](##button-editor-ui)
[Tools->TSC->Edit VI Theme...](#edit-vi-theme)
Can also be invoked by Quick Drop Shortcut! `Ctrl+C` by default
[Tools->TSC->Edit a Button--Material...](##button-editor-ui)
[Tools->TSC->Material Theme Editor...](#material-theme-editor)
[Tools->TSC->View VI's Color Palette](#color-palette-ui)

## Edit VI Theme
Expand All @@ -25,7 +25,7 @@ Select the coloring rules for:
- Boolean Type (if applicable)
- Tab Color (if applicable)
#### 💾 Save the VI to keep metadata of Theme File and Theme Mode!
<img src="./assets/images/edit-vi-theme.png" alt = "Edit VI Theme" />
<img src="./docs/assets/images/edit-vi-theme.png" alt = "Edit VI Theme" />

## Button Editor UI
Launch the Button Editor UI to create new buttons following the theme rules easily and quickly. Choose a theme file (`.xml`) and then make choices for the theme type, the color level, the button family, and the button type to see a preview of all changes made. Colors for the six Boolean Actions (`False, True, Click when False, Click when True, Hover when False, and Hover when True`) will load directly from the Material rules, but can be edited. Change other aspects for the Boolean as desired and save when ready.
Expand All @@ -34,7 +34,7 @@ Launch the Button Editor UI to create new buttons following the theme rules easi

When a mutliple-image type is chosen, there will be paths to load in choices for all `FOUR` button images (`False, True, Click when False, and Click when True`).

<img src="./assets/images/Button Editor UI.png" alt = "Button Editor UI" />
<img src="./docs/assets/images/Button Editor UI.png" alt = "Button Editor UI" />

#### 💡 The *Glyphs* tab allows user to define an image library to easily drag and drop glyphs to buttons!
#### 📚 Reference https://github.com/danielcoons/material-icons-toolkit as a place to get easy access to the Archive of PNG images of the Google Material Library!
Expand All @@ -50,7 +50,7 @@ Save the theme for use in LabVIEW with the **disk** FAB or using `Ctrl+S`. For t

Click on the **color palette** button to see the list of colors for this theme in the new interface which allows for import into LabVIEW's `User Colors` see [here](#color-palette-ui) for more details!

<img src="./assets/images/ui--material theme editor.png" alt = "Material Theme Editor UI" />
<img src="./docs/assets/images/ui--material theme editor.png" alt = "Material Theme Editor UI" />

## Color Palette UI
The color palette UI gives easy access to all color rules/levels in the theme file and theme mode that are saved with a VI or selected the Material Theme Editor interface.
Expand All @@ -63,21 +63,21 @@ Additionally, developers can use this window to:
- Easily access to the colors for copy and paste (when Stopping the VI using the button)
- See the HEX codes for all colors in the theme
- Restore the LabVIEW defaults if no longer wanting the colors to be applied from the theme
<img src="./assets/images/ui--color palette.png" alt = "Color Palette UI" />
<img src="./docs/assets/images/ui--color palette.png" alt = "Color Palette UI" />

When colors are exported to the `User Colors`, they can be accessed directly in the color picker tools with the `Tools Palette`
<img src="./assets/images/tool selection--colors.png" alt = "Color Selection" />
<img src="./docs/assets/images/tool selection--colors.png" alt = "Color Selection" />

## Apply Theme to LabVIEW Code Dynamically
There are two main VIs used to apply the LabVIEW theme to a given VI

### Load Material Theme.vi
<img src="./assets/images/VI--load material theme.png" alt = "Load Material Theme.vi" />
<img src="./docs/assets/images/VI--load material theme.png" alt = "Load Material Theme.vi" />

Provide an input path to the **file path** (.xml extension)

### Apply UI Theme.vi
<img src="./assets/images/VI--apply ui theme.png" alt = "Apply UI Theme.vi" />
<img src="./docs/assets/images/VI--apply ui theme.png" alt = "Apply UI Theme.vi" />

Provide a reference to the VI to update theme colors
Choose the Theme Level selection
Expand All @@ -91,22 +91,22 @@ Using the automatic coloring involves setting the color rules to a control, indi
#### 💡 **Note:** Save the VI after setting any of these options

### Control Color Rule:
<img src="./assets/images/right-click--color rule.png" alt = "Control Color Rule" />
<img src="./docs/assets/images/right-click--color rule.png" alt = "Control Color Rule" />


### Button Description of Type:
Defines the `Boolean Type Level` (which is how coloring decisions are made)

<img src="./assets/images/right-click--boolean level.png" alt = "Boolean Types" />
<img src="./docs/assets/images/right-click--boolean level.png" alt = "Boolean Types" />

### Tab Control Rules:

<img src="./assets/images/right-click--tab control.png" alt = "Tab Control Colors" />
<img src="./docs/assets/images/right-click--tab control.png" alt = "Tab Control Colors" />

### Decoration Rules:

<img src="./assets/images/right-click--decoration.png" alt = "Decoration Colors" />
<img src="./docs/assets/images/right-click--decoration.png" alt = "Decoration Colors" />

### Front Panel Rules:

<img src="./assets/images/right-click--panel.png" alt = "Front Panel Colors" />
<img src="./docs/assets/images/right-click--panel.png" alt = "Front Panel Colors" />
14 changes: 0 additions & 14 deletions TSC Material Theme.lvlib

This file was deleted.

Binary file removed _Material Theme SubVIs/Color to HSL.vi
Binary file not shown.
Binary file removed _Material Theme SubVIs/Color to Luminance.vi
Binary file not shown.
Binary file removed _Material Theme SubVIs/Contrast Ratio Checker.vi
Binary file not shown.
Binary file removed _Material Theme SubVIs/HSL to Color.vi
Binary file not shown.
Binary file removed _Material Theme SubVIs/Read Image on Button.vi
Binary file not shown.
Binary file not shown.
Binary file removed _Material Theme SubVIs/Select and Translate Tag.vi
Binary file not shown.
Binary file removed _Material Theme SubVIs/TEMP--Read Image on Button.vi
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed _Material Theme SubVIs/material json palette.ctl
Binary file not shown.
Binary file removed _Material Theme SubVIs/material json scheme.ctl
Binary file not shown.
Binary file removed _Material Theme SubVIs/material theme.ctl
Binary file not shown.
Binary file not shown.
Binary file removed _Material Theme SubVIs/scheme--enum.ctl
Binary file not shown.
Binary file removed _Material Theme SubVIs/tsc--Color Picker.vi
Binary file not shown.
Binary file not shown.
Binary file removed _Material Theme SubVIs/tsc--Hex to Color.vi
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Binary file removed _documentation/Images/broadcast.png
Diff not rendered.
Diff not rendered.
Diff not rendered.
Loading
Loading