WebDialog palette replacement?

Since the move to Web 2.0, the palette window seems to have gone; I’m seeing that only now.
Several users have asked for it to come back and the answer was to wait because Web 2.0 was brand new and additions would come. Other answers were involving Javascript or other languages.

Now that Web 2.0 is no longer “new” and not wanting to learn another language (one point of Xojo being it replaces mixing languages, usually), I’m wondering whether there’s a replacement.
I need to show a picture (preview) of a selected item. A movable view is the best choice.

I hope Xojo can bring them back.

Found this, but I have no idea how (or if possible) to make it work in Xojo:

Maybe @Anthony_G_Cyphers has something in Graffitisuite

2 Likes

GraffitiAlert for Xojo Web has multiple types of dialogs available, with far too many features to list here.

3 Likes

They look awesome, indeed.
Sadly, the price is way too much for me (each year, I even hesitate to renew my Xojo licence, because I’m a hobbyist and don’t get much money (not only from programming); so you can guess, 300$, even lasting for one year, is expensive for just my need of the Xojo web palette replacement (don’t get me wrong, if I had that money, I’d happily use this suite and make greater apps; I just can’t)).

So I’ll take it as there’s no free palette for Xojo at this time; I’ll take the challenge of displaying my preview otherwise.

Thank you.

And, the way to open popup window (passing a boolean to the Show method) has also ceased to exist.

I’m disappointed. My app has a listbox and selecting a row should show a picture next to it (wherever that is). The picture isn’t small, so putting an ImageWell on the window is barely a solution (as each picture have different sizes and, with no selected item, there’s no picture at all, so there are a lot of blank space with this design).
What would be a good way to solve this? (cheap or free, preferably)

I replaced all the WebDialogs in WebConainer and managed them with jsPanel. Much faster and with more functionality.

Actually, what you can do is to use WebContainer.

You can put controls in it just the same way as palette, and use some styling to make it look like a window. For instance:

Sub Opening() Handles Opening
  Me.style.BackgroundColor = &c80FFFF00
  Me.style.BorderColor = &c00000000
  Me.style.BorderThickness = 1
End Sub

Just add a button in the corner to close.

Thanks.
The only reason I need a palette is to display a moveable picture floating on the page; the appearance of the window/frame is not important.
When Web2.0. was launched, mouse events were removed, so I can’t code the moveable behaviour in code; would some calls allow a WebContainer to have a title bar (or be otherwise user-moveable)?

If others need it too I can try to extract a part of my WebSDKUIControl from jsPanel. But I can’t promise to keep the code

1 Like

Thanks. I’m not wanting you to do complex work for that, you know; I’d just like to have a simple call to make a WebContainer (or WebDialog) moveable.

Keep the code where?

I’ll see what I can do without taking too long. I meant updating the class for function requests, fixing any errors, etc…

2 Likes

Ah, no problem for that.
Thanks.

Adding a window bar is probably as simple as using a WebCanvas.

Making the container movable would indeed require MouseDown, MouseUp and some way to get the coordinates of the mouse cursor. All that is available with JavaScript, but will require sending back the events to the Xojo program. It is possible with the WebSDK. But this is getting beyond the scope of this post.

I posted everything here.

1 Like

Thank you very much! I now can go further.

Currently, I’m facing with a problem, though: when changing the height with the code below, the titlebar can go above the page (since the window stays centred) and becomes inaccessible.
I’ve checked the Top property of all related objects (the AttyWebJSPanel and the WebContainer, also combining with their Page and Parent properties); they all return 0, so I cannot store and put the palette back.
How would one find and set the actual top/left properties without these ones?

Here’s my code:

'p is.a picture
'PreviewContainer is the AttyWebJSPanel object
'refTestExample is the AttyWebContainer object
dim wt As Integer=PreviewContainer.Top //Current top position (but returns always 0)
refTestExample.IV1.Picture=p 'Put picture in WebImageViewer
'Adjust size:
PreviewContainer.Height=p.Height
PreviewContainer.Width=p.Width
PreviewContainer.DoResize
PreviewContainer.Top=wt 'Doesn't work yet, obviously

May I just ask you whether I’ve done something wrong?

Thanks again.

I get the problem now, ingora the msg from before. I try to solve and update :wink:

2 Likes

We are getting an update! Sweet!!

I think I’ve solved the problem. Keep in mind though that repositioning only works with some layout types not all. The layouts on the right, I didn’t integrate them because when I wrote the class I didn’t need them.

Great, thank you!
Is the link to download the same as the last time?

Here posted the new link: