Difference between revisions of "VS:vsoInsertWidget"

From Vectorworks Developer
Jump to: navigation, search
m (1 revision)
(Updated Widget List)
Line 9: Line 9:
 
WidgetTypes:
 
WidgetTypes:
 
<code lang="pas">
 
<code lang="pas">
kFieldLongInt     = 1;
+
kFieldLongInt     = 1;
kFieldBoolean     = 2;
+
kFieldBoolean     = 2;
kFieldReal       = 3;
+
kFieldReal       = 3;
kFieldText       = 4;
+
kFieldText       = 4;
kFieldCalculation = 5;
+
kFieldCalculation = 5;
kFieldHandle     = 6;
+
kFieldHandle     = 6;
kFieldCoordDisp   = 7; {dimension}
+
kFieldCoordDisp   = 7; {dimension}
kFieldPopUp       = 8;
+
kFieldPopUp       = 8;
kFieldRadio       = 9;
+
kFieldRadio       = 9;
kFieldCoordLocX   = 10;
+
kFieldCoordLocX   = 10;
kFieldCoordLocY   = 11;
+
kFieldCoordLocY   = 11;
 
+
kWidgetButton     = 12;
kWidgetButton     = 12;
+
kWidgetStaticText = 13;
kWidgetStaticText = 13;
+
kFieldStaticText = 14;
kFieldStaticText = 14;
+
        kWidgetDimStdPopUp = 16;
 +
kWidgetPrecisionPopUp = 17;
 +
kWidgetClassesPopup = 18;
 +
kWidgetLayersPopup = 19;
 +
kWidgetAngleDisp = 20;
 +
kWidgetAreaDisp = 21;
 +
kWidgetVolumeDisp = 22;
 +
kWidgetSeparator = 100;
 +
kWidgetSubSelection = 101;
 +
kWidgetBoundPopup = 102;
 +
kWidgetBoundOffset = 103;
 
</code>
 
</code>
  
Line 99: Line 109:
 
-----------------------------------------------------------------------------------------------------------
 
-----------------------------------------------------------------------------------------------------------
 
<sample>
 
<sample>
 +
==== VectorScript ====
 
<code lang="pas">
 
<code lang="pas">
 
<pre>kOnInitPropertiesEventID:  
 
<pre>kOnInitPropertiesEventID:  
Line 109: Line 120:
 
   resultStatus := vsoInsertWidget(5,kWidgetButton, 5,'Update Text', 0);
 
   resultStatus := vsoInsertWidget(5,kWidgetButton, 5,'Update Text', 0);
 
END;</pre></code>
 
END;</pre></code>
 +
==== Python ====
 +
<code lang="py">
  
 +
</code>
 
</sample>
 
</sample>
  

Revision as of 10:24, 22 October 2013

.VectorScript|VectorScript ..VS:Function Reference|Function Reference ..VS:Function_Reference_Appendix|Appendix

Description

Adds a parameter to the OI palette.

WidgetTypes:

	kFieldLongInt     	= 1;
	kFieldBoolean     	= 2;
	kFieldReal        	= 3;
	kFieldText       	= 4;
	kFieldCalculation 	= 5;
	kFieldHandle      	= 6;
	kFieldCoordDisp   	= 7; {dimension}
	kFieldPopUp       	= 8;
	kFieldRadio       	= 9;
	kFieldCoordLocX   	= 10;	
	kFieldCoordLocY   	= 11;
	kWidgetButton     	= 12;
	kWidgetStaticText 	= 13;
	kFieldStaticText  	= 14;
        kWidgetDimStdPopUp	= 16;
	kWidgetPrecisionPopUp	= 17;
	kWidgetClassesPopup	= 18;
	kWidgetLayersPopup	= 19;
	kWidgetAngleDisp	= 20;
	kWidgetAreaDisp		= 21;
	kWidgetVolumeDisp	= 22;
	kWidgetSeparator	= 100;
	kWidgetSubSelection	= 101;
	kWidgetBoundPopup	= 102;
	kWidgetBoundOffset	= 103;

See the <a href=http://www.vectorlab.info/index.php?title=Events>VectorLab article</a> on object events.

FUNCTION vsoInsertWidget(
paramID  :LONGINT;
widgetType  :LONGINT;
mappingID  :LONGINT;
text  :STRING;
data  :LONGINT) :BOOLEAN;
def vs.vsoInsertWidget(paramID, widgetType, mappingID, text, data):
    return BOOLEAN

Parameters

paramID LONGINT
widgetType LONGINT
mappingID LONGINT
text STRING
data LONGINT

Remarks

This function inserts a widget into the OIP. It allows the user to define the location of where this widget will be in the OIP widget list.

paramID: The ID and location of where this widget will be displayed in the OIP. widgettype: Type of widget to create. mappingID: ordinal value of object parameter that corresponds to this widget. text: the label to be displayed on OIP for this widget. data: not implemented yet.

At least in 2008, there might be a bug in this call. The "mappingID" argument doesn't seem to be registering the index of the widget properly, and as a result, if the widget is a button, you won't get the proper index in the button click event. If somebody fully investigates this, and determines that it's a bug, he/she should enter a bug report.

vsoAppendWidget still works OK.

It looks like the problem occurs if you don't declare kObjXPropHasUIOverride (kObjXPropHasUIOverride is FALSE or not declared):

result := SetObjPropVS(kObjXPropHasUIOverride, TRUE);

Example

VectorScript

<pre>kOnInitPropertiesEventID: 
BEGIN
   resultStatus := SetObjPropVS(kObjectHasUIOverrideID, TRUE);
   resultStatus := vsoInsertParamWidget(1,1, 'Unused number', 0);
   resultStatus := vsoInsertParamWidget(2,2, 'Static Text Widget', 0);
   resultStatus := vsoInsertParamWidget(3,3, 'Enter junk here', 0);
   resultStatus := vsoInsertParamWidget(4,4, 'Previous static text', 0);
   resultStatus := vsoInsertWidget(5,kWidgetButton, 5,'Update Text', 0);
END;</pre>

Python


Version

Availability: from All Versions

This is drop-in function.

Personal tools
NamespacesFFFF

Variants
Actions
Advanced Search
See Also
Navigation
Toolbox