Super Text Box
Posted: Mon Nov 19, 2012 11:12 pm
Hi All,
Here's my first complete all singing and dancing Ruby project - an advanced text box...
Features...
- Input data as a 'green' string, string array or Ruby array
- Scroll bar for navigating lots of data (Permanent, Auto-hide & Off modes)
- Any number of columns with custom headings (Headings can be hidden)
- Column width can be adjusted by dragging the vertical dividers
- Click on column headings to sort the data - numbers are parsed out of strings for proper ordering
- Select single items, CTRL-click to select/deselect multiple items, SHIFT-click to select a range
- Any combination of input column fields can be sent to the output - including extra 'hidden' columns that are not displayed.
- When using Ruby Arrays as inputs, you can freely mix data types, and even tag individual rows with a text colour.
- Selections can be stored by the preset manager.
- Module properties for GUI customising, and turning off unwanted features - you could make it purely a display box if you wanted to.
- User guide built into the properties panel (purged on export to save file size)
- Screen redraws limited to prevent GUI CPU hogging.
The schematic file contains examples of the various inputs formats etc. It has been fairly well tested, but I'm calling it a Beta just for now - so please report any bugs you find, or any ideas for improvement.
Couple of things to watch out for...
- When using Ruby arrays, there are some data types that cannot be converted to text. They are allowed in 'hidden' columns, though.
- Some built in Ruby classes cannot be saved within a schematic (e.g. brushes). If these are present in the input or output arrays, there will be an error at startup. Nothing I can do about this - the dev's will need to write the correct methods into the Ruby API classes.
- Take care if using the preset manager. It can only store the indexes of the selected rows, so it only makes sense to use this if the displayed data always stays in the same order (turn the sorting features off in the properties panel)
Hopefully coming soon....
A dedicated single column version - this will save CPU load from the array and hash lookups needed to support multiple columns.
MIDI monitor - what I really built this for, but I have a few 'special' features in mind that I'm still working on....
File Browser - possibly?! I never liked having to use the horrible Windows one, and it still only lets you select a file but not folders.
It's free for all to use any way you like. If you make use of it, I'd love to see what you've done - and my name in your credits is always appreciated.
Enjoy.
Trog.
Here's my first complete all singing and dancing Ruby project - an advanced text box...
Features...
- Input data as a 'green' string, string array or Ruby array
- Scroll bar for navigating lots of data (Permanent, Auto-hide & Off modes)
- Any number of columns with custom headings (Headings can be hidden)
- Column width can be adjusted by dragging the vertical dividers
- Click on column headings to sort the data - numbers are parsed out of strings for proper ordering
- Select single items, CTRL-click to select/deselect multiple items, SHIFT-click to select a range
- Any combination of input column fields can be sent to the output - including extra 'hidden' columns that are not displayed.
- When using Ruby Arrays as inputs, you can freely mix data types, and even tag individual rows with a text colour.
- Selections can be stored by the preset manager.
- Module properties for GUI customising, and turning off unwanted features - you could make it purely a display box if you wanted to.
- User guide built into the properties panel (purged on export to save file size)
- Screen redraws limited to prevent GUI CPU hogging.
The schematic file contains examples of the various inputs formats etc. It has been fairly well tested, but I'm calling it a Beta just for now - so please report any bugs you find, or any ideas for improvement.
Couple of things to watch out for...
- When using Ruby arrays, there are some data types that cannot be converted to text. They are allowed in 'hidden' columns, though.
- Some built in Ruby classes cannot be saved within a schematic (e.g. brushes). If these are present in the input or output arrays, there will be an error at startup. Nothing I can do about this - the dev's will need to write the correct methods into the Ruby API classes.
- Take care if using the preset manager. It can only store the indexes of the selected rows, so it only makes sense to use this if the displayed data always stays in the same order (turn the sorting features off in the properties panel)
Hopefully coming soon....
A dedicated single column version - this will save CPU load from the array and hash lookups needed to support multiple columns.
MIDI monitor - what I really built this for, but I have a few 'special' features in mind that I'm still working on....
File Browser - possibly?! I never liked having to use the horrible Windows one, and it still only lets you select a file but not folders.
It's free for all to use any way you like. If you make use of it, I'd love to see what you've done - and my name in your credits is always appreciated.
Enjoy.
Trog.