SU17: combobox htmldialog bug

ruby
api
ui::htmldialog

#1

I noticed a small bug regarding the new htmldialog and a combobox in Win7X64 & SketchUp 2017

Using the code below - see pics:

  1. after launching the code the html dialog opens.
  2. if you move the html dialog and open the combobox at the new position - the combobox will show its content at the previous position. Opening it again will use the proper position.

If someone knows a workaround (until this is fixed) that would be very nice…

wd = UI::HtmlDialog.new(
{
	:dialog_title => "ComboBug",
	:style => UI::HtmlDialog::STYLE_DIALOG
})
wd.show
html = '<!DOCTYPE html><html><head></head><body><select><option>one</option><option>two</option></select></body></html>'
wd.set_html(html)

#2

that is odd, and possibly due to chromiums support for win 7 and win 8…

does it happen with all three constants [:STYLE_WINDOW, :STYLE_DIALOG, :STYLE_UTILITY]

does it happen if you explicitly set it’s position?

wd.set_html(html)
wd.center
wd.show

I normaly use .set_html before .show but both work as expected on my mac…

their was a report of another oddity…

do Tooltips work for you? e.g.

wd = UI::HtmlDialog.new(
{
	:dialog_title => "ComboBug",
	:style => UI::HtmlDialog::STYLE_DIALOG
})
html = '<!DOCTYPE html><html><head></head><body><select title="select tooltip"><option>one</option><option>two</option></select></body></html>'
wd.set_html(html)
wd.show

john


#3

Hi John, thanks for taking the time to test this. In short: it all fails using your code as well.

All three constants have the same problem.
Setting the position before wd.show is the same problem.
I don’t see any tooltips.


#4

you could test one of my plugins, it has a few select inputs, but they are inside wrappers…

it may make a difference…

there should also be tooltips on the Help buttons and pages…

jcb_sine_circle.rbz (3.0 MB)


#5

The only workaround I could imagine, is to reload the page, or hide then re-show the window.

That would entail detecting when the window moves. And there is no such event callback for the window.

The only thing would be to detect an onMouseOut event for the <body> element and save the window’s current position, then also a onMouseIn event for the <body> element, to check if the position changed.

In the onMouseOut event handler, you would need to call a method that stores the current window position, using a platform specific system call. (Jim Foltz has posted examples using the GetWindowRect() function over at SCF.)

In the onMouseIn event handler, you would need to call that method again, and compare the position to that which was previously stored. If the position changed, then reload the webpage, or hide then re-show the dialog window. (Whichever works better.)


#6

@john_drivenupthewall I tested your plugin: same result and no tooltips on the ‘?’ buttons.
@DanRathbun Thanks for the suggestion: I will have a look at the implications. Rather hoping the upcoming Maintenance could fix this and the slow opening issue of the new htmldialogs as well.


#7

when it’s in it’s ‘separated state’, what happens if you ‘Right Click’ >> ‘Inspect Element’…

like this…

john


#8

That looks very useful! what is it? or better yet…how can I enable it in SketchUp ?


#9

I believe it’s part of v17 M1 for windows…

if it’s not on by default, then maybe @tt_su or @ChrisFullmer can enlighten us…

john


#10

Tooltips are not working for me either. I have img tags with title attributes and they do not show up as tooltips.


#11

Jim, are you on win7 or win8 by any chance…


#12

Windows 10.


#13

does the original issue also happen?


#14

Yes.


#15

what version of CEF does windows use?

wd = UI::HtmlDialog.new(
{
	:dialog_title => "ChromeEmbeddedFramework",
	:style => UI::HtmlDialog::STYLE_DIALOG
})
wd.set_url('chrome://flags/')
wd.show

#16

On my win10X64 machine its: 3.2743.1422.g976502e

On my win7X64 machine its the same:3.2743.1422.g976502e


#17

seems to be the same on my mac 3.2743.1422.g976502e

is the command line entry also the same?

Command Line --no-sandbox --product-version=Chrome/52.0.2743.24

john


#18


#19

That’s an odd one. I have filed it as SU-35701.

The missing tooltips are also an issue - already logged in our systems.

The Developer Tools? Yes, we will be posting that soon - most likely github. Keep an eye out on our account.


#20

No, I was referring to the CEF DevTools that enable the use of Web Inspector on the HtmlDialogs…

The release notes for M1 state
(Win) Added Chromium Developer Tools.

which should mean the ‘Right Click’ >> ‘Inspect Element’, should function as it does in my gif…

is that the case on Win or are additional steps needed?

john