.
I guess the only thing to do is move it off screen.
WebDialog.set_position(3000,3000)
..or whatever X,Y works for you
.
I guess the only thing to do is move it off screen.
WebDialog.set_position(3000,3000)
..or whatever X,Y works for you
Face.mesh
http://code.google.com/intl/nb/apis/sketchup/docs/ourdoc/face.html#mesh
@unknownuser said:
Valid flags are:
[condensed: 0, 1, 2, 4 ]
Add these numbers together to combine flags. A value of
**5**
will include all flags, for example.
I seem to get 7 (as shown in the example,) when I add all the flags.
@thomthom said:
Sketchup.read_default
http://code.google.com/apis/sketchup/docs/ourdoc/sketchup.html#read_defaultTrue if successful, false if unsuccessful.
Surely it would return the value being accessed?
Verified!
Sketchup.read_default('Preferences','SnapAngle') returns 15.0
[My current setting; which happens in this case to be class Float.]
The API doc is vague about the default argument. The definition should read (as things work now):
"(optional) A value to return, if the variable is not found or empty."
[The way it is written, I read it as being a value to write into the registry.]
The lack of error checking in this method, can easily create false Resistry Keys.
Example: if you misspell the key (section on the Mac,)... ie:
[note misspelled 'Preferences']:
Sketchup.read_default('Prefer a
nces','SnapAngle')
... the method creates a new 'Preferances' key, with nothing under this new WORTHLESS key. (No Valuename, no value.) The method then just returns nil
. [On Win32, we must manually use the Registry Editor to get rid of this junk!]
If the key is correct, but the Valuename is wrong (or does not exist,) the method just returns nil
, [again,] or the default ReturnValue.
If the the Key is correct, AND the Valuname is correct, but the Value is empty, the method returns nil
, [once again,] or the default ReturnValue.
So we have 3 situations in which the method can return nil, and no way thru the SU API to tell what the situation is. [yes we can use one of the full ruby Win32 Registry modules, and I may begin doing this.]
A fourth situation, is if the value is an empty string, (ie '' or "" are stored in the registry value the method just returns the empty string (and NOT nil
.) The return class of the method is string in this case.
This can happen if you use Sketchup.write_default( key, valuename, ""), but its not necessary as each value in the registry has a type, and strings don't need delimiters.
We should use instead Sketchup.write_default( key, valuename, nil) to clear a string value in the registry.
I would propose a change to this method...
(1 as is.) IF everything exists, it works OK, and the value is returned.
(2 as is.) If (the Key exists, AND the Valuename exists,) AND the value is empty, then the method should return NIL without a default Return Value (3rd parameter,) OR the 3rd parameter if given.
(3) If the EITHER the Key OR the Valuename do NOT exist, then the method should raise an exception similar to a hash index error, viz:
Error in myprog.rb:22:in `Sketchup.read_default': key not found (IndexError) ...
Then (reference methods for Hash class):
CREATEseveral new boolean methods similar to Hash.has_key?, Hash.has_value? and Hash.empty? so the programmer can decide in their RESCUE block what action to perform;
I'd envision these boolean methods to be named similar to:
Sketchup.default_empty?
Sketchup.default_has_key? (perhaps with a Mac alias .default_has_section? for plist files)
Sketchup.default_has_valuename? (perhaps a Mac alias .default_has_variable? for plist files)
.
Thoughts?
CSS Attribute overflow:
@unknownuser said:
With Internet Explorer 6 and later, when you use the !DOCTYPE declaration to specify standards-compliant mode, this property (overflow ) applies to the html object.
1. MSDN Library / CSS Reference: overflow Attribute | overflow Property
NewOne, and all ... I found this article on virtuosimedia very informative
Ultimate IE6 Cheatsheet: How To Fix 25+ Internet Explorer 6 Bugs
.. in addition the author recommends always using !DOCTYPE, and makes a good case.
.. other good tips, ie: the CSS Reset Rule.
have a read y'all !
@unknownuser said:
Martin wrote(in tutorial
"You get scrollbars on a PC whether you want them or not."
Not actually true. It depends on whether you need to specify a HTML version and standards-compliant mode in the webpage. This is done with a <!DOCTYPE> tag on the first line. You can leave it out, but then you would need to know what the 2 browsers (MSIE & Safari) will default to.
Note the following from MSDN (on the body tag.)
@unknownuser said:
As of Microsoft Internet Explorer 6, when you use the !DOCTYPE declaration to specify standards-compliant mode, the body object can obtain its size from its content, or you can set its size explicitly—like a div object, for example. In standards-compliant mode, the html element represents the entire surface onto which a document's contents can be rendered. When the !DOCTYPE declaration does not specify standards-compliant mode, and with earler versions of Internet Explorer, the body object represents the entire surface onto which a document's contents can be rendered. The size of the body object cannot be changed and is equal to the size of the window. Margins you set on this object are rendered inside the border and scrollbars of the object.
So... IF you do NOT want scroll bars, and want the WebDialog to look like a real dialogbox, you need to decide where (which tag, ie: HTML or BODY,) to place a SCROLL="no" attribute.
@unknownuser said:
With Microsoft Internet Explorer 6 and later, when you use the <!DOCTYPE> declaration to specify standards-compliant mode, this attribute (scroll=) applies to the HTML element. When standards-compliant mode is not specified, as with earlier versions of Windows Internet Explorer, this attribute applies to the BODY element, not the HTML element.
I've pulled my hair out in the past, trying to find a perfect combination of compliant modes (just take a look at the table on the <!DOCTYPE> page and you will want to slap whomever it was that designed such a crazy 'switch'.)
Anyway we are talking about simple dialogs, the best system may be to leave off the <!DOCTYPE> tag and put SCROLL="no" in both the HTML and BODY tags, letting the browser(s) ignore the one in the wrong place. I will tell you that in STRICT mode, an attribute in the wrong tag causes problems.
I'd rather just go with wxRuby dialogs after all the problems I've had with html / hta dialog applets.
(btw, HTA dialogs won't work with SUruby, MSIE takes over and opens the file in a second window disconnected from the window that SU opens. Nothing appears in the SU dialog, and the HTA window can't recognize the "skp:" callback. It opens yet a third window with the 'Unable to locate skp:callbackname@ website' message, or such like.) Really wish HTAs would work because I can trap ESC and ENTER keys in HTA but not in HTML (security for preventing browser hijacking.)
.