FourthWorld wrote: ↑Sun Feb 06, 2022 10:22 am
OpenXTalkPaul wrote: ↑Mon Jan 24, 2022 10:32 pm
...that properties palette thing (the one that doesn't support widget properties, I mentioned that to you on the LC forum a while back)
Yeah, the reason hasn't changed: widget design needs to become consistent with the property array syntax for other control types.
When widgets become first-class citizens in LC they'll automatically become first-class citizens in my tool and all others that use standard property syntax.
I'm not sure exactly what you mean by "consistent with the property array syntax"? There's an array of key/value properties, and certain properties, like those of the "classic" controls, can be "shadowed" for consistency for basic things (foregroundColor, backgroundColor, etc.) but the whole point is that it's possible to make any sort of control with any sort of properties of any sort of data-type (because you can add editors for new types) that an author can think of.
Now I have seen mention that they were planning to allow widgets to be built with LCS in addition to LCB, but it's not at all clear what that means. I imagine this would work the way DataGrid or using a menu Stack already works, basically a "Widget" as a subStack rendered to as an instance in a viewport displayed within another stack.
I've been looking at this quite a bit lately because I'm currently rebuilding the Tools palette including the Widgets section (which can be modified on the fly) using a modified version of the "IconPicker" widget. You can definitely get a array of properties of all the widgets that are loaded, but any Widget can have any number of its own unique properties, if the widget author makes it so.
[quote}
Look at the document for HIFF spec that I posted...
Read it when it came out. Tried to use it. A lot of us did. Ken Ray and I used to talk about it late into the night before we made our own. I don't know anyone who's successfully used HIFF in a real-world conversion of a commercial work between different xTalks.
[/quote]
I assumed that since there was a comercial product called ConvertIt! which lead to the HIFF spec being created, that someone did actually used it for something (commercial or not). I know I personally had zero interest in running xTalk on Windows 1.x PC or Unix in 1989 (I was busy most wasting my parents money on Art School at that time).
The 'importer' can ignore tags that it doesn't recognize.
Think about that. Take your time...
? I have thought about it, and the people who designed XML did too since that is the mechanism that allows an ML to be eXtensible. If I'm only interested in SVG data from SVGIcon Widgets on the this card of this stack, why would I care about any other properties or any other object type?
I'll give you a real world example: if the importer (such as LCC < v7.0) doesn't have a Card image property, that card property could can be ignored or it could be imported as an image and then placed as a group with an image object and a backgroundBehavior set instead.
Easier to just open the HC stack in LC where that particular change happens automatically.
[/quote]
Uhg... I should've used my <sarcasm> tag, I knew that is exactly what LC did with it in its conversion process, that was what I meant to point out. The process would be similar to that for any other importing function.
I pointed out pre-v7 or less because it's still unclear to me wether or not LC Ltd. recent bug fix fixed the importing of HyperCard stacks
OR did they just make it so that it doesn't crash the engine when you try to.
Now do SuperCard's backsize property,
Not sure what you mean here.
I just looked that keyword up and LCC / OXT engine already does have SuperCard's backSize property.
https://livecode.fandom.com/de/wiki/BackSize
So I imagine that a markup for that would be as a property of a group control tag, something like <group backSize="640,480" ...
or window-specific tool modes,
Not sure what this is, is it a SuperCard window property? Although I do still have a valid license for SuperCard (v4.73), I've barely ever used SC and I've always thought SC's IDE was sort of weird and not at all HyperCard-ish enough. And since I'm on mainly on now and SC is 32bit and uses Carbon still I'm not likely to suddenly start to.
But surely there is Window-type specific tool modes already, you can't use a brush tool on a stack when it's in a window in palette mode or in a modal dialog mode. I'd image you could script a "window-specific tool mode".
or ListMaster...
Not familiar with this either, it sounds like the name of a Fredric Rinaldi Xternal, but I think that was called 'Listoid' (or something like it)
There aren't too many xTalk environments that are still around to convert to or from...
Exactly.
... which is why I'm really NOT looking to make some sort of stack 'converter' right now.
Although, I don't think it would take all that long to get a basic functioning converter to get a basic stack converted into some other xTalk environment like StackSmith, WebCard, or WyldCard, all three of which use JSON as their 'stack' file format.
Obviously until there is a time when there is more available options for xTalk engines, there isn't much reason for having some sort of intermediary format if that is your only use case.
I've automated 'conversions' like this pseudo code:
* Parse HTML doc...
There are many formats for many things in the world. Many are worth converting.
In this discussion of xTalk, I was only talking about xTalk.
Again, in my thinking this would NOT be used for converting from one xTalk IDE to another, at least not exclusively.
I think that's the main issue here, because I'm NOT only talking about xTalk<->xTalk conversion... even with the conversion use-case it could be xTalk Objects to HTML, QML, or maybe even IDML (Adobe InDesign)... but the point is I wasn't even thinking of xTalk<->xTalk conversion as a main use-case for this. The original inspiration was to use as a 'template' markup (for making the ResourceCenter reference stack easily editable and extensible for example) and for use in package manager.
But in fact while working at rebuilding the Tools palette I was thinking it would be so great if there was already such a markup already settled on. I could then feed this markup of the existing Tools palette layout to a markup property of a custom "button grid" widget (perhaps not entirely unlike the IconPicker widget that is already part of the IDE... modification of which is in progress here:
https://github.com/OpenXTalk-org/OpenXTalk-PaletteGrid) and have it more
OR LESS match the existing tools palette but is rendered with Shapes/SVG paths inside a widget. Replacing buttons imageData with SVG paths and instantly have a resolution independent version. The widget would only need to parse the 'button' tags in it's Markup property. Widget could ignore card and group properties entirely in it's parsing as it is only interested in the RunEdit and ClassicControls groups buttons in this case (the Tool's palette "Widgets" group is already uses SVG-Icon widgets by default but I want those to be in a separate tab or even a separate palette altogether.).
Using markup tags in widget's properties was already sort of implemented by Herman Hoch in his 'iGrid' sag Icon Grid widget, he used a << tag >> as a placeholder for an images path directory which is later swapped out by the widget's code.