Stefan Bender
-
Posts
137 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Articles
Marionette
Store
Posts posted by Stefan Bender
-
-
Dear developers,
in one of our PIOs I will need to disable/dim several pull-down menu entries in an OIP widget. The widget is created automatically (it represents a kFieldPopUp field of the PIO record). I don't want to disable the entire widget, just some of the pull-down menu entries depending on the PIO's setings. Does anybody have an idea?
Thanks for any help.
Stefan Bender
-
Did you try all render modes? OpenGL isn't available anymore in VW 2022 and at least one of the render mode constants is not working at all. IIrc there's a thread about it somewhere.
-
Handles are dangerous if you give away control to other parts of the software that could delete them. Maybe you could store the UUID of the objects instead of the handles and call virtual MCObjectHandle VCOM_CALLTYPE GetObjectByUuid(const TXString& uuid) = 0; if you need to access the object later.
-
IIuc the website shows an old version of Dialog Builder. The new version contains these four tools only afaik. You can change the type of a dialog item in OIP.
- 1
-
The third option will be to write your own Vectorscript. That would be just the first part of the file created by dialog builder excluding the XML stuff after the Vectorscript routines.
- 1
-
Dear developers,
what exactly do the return values of these functions mean and what is the difference?
- GetWallInsertLocationOffset returns (*((ParametricHandle) hObject))->wallInsertLocationOffset
- GetObjectWallInsertLocationOffset returns symBreakType.locationOffset of the wall break the PIO is inserted intoAre these values in sync? If not, then which one means what and which one has the priority?
We will need to know that if we are supposed to support the new wall closure features in our PIOs.
Thanks for any help,
Stefan Bender
-
I think quicktime support was removed from the SDK some versions ago.
-
Hi Steve, here's the plug-in built with 27.0.1, CL 617382.
-
Dear developers,
I have a PIO instance that has object style A. The symbol definition A as well as the style PIO (first member object of symbol A) are in class B. The object style's class is by style (gSDK->SetClassByStyle(obj, true)), but the PIO instance does not have class B but class "None" and the class pull-down menu in the OIP is dimmed.
Even worse: I can't even assign the correct class to the PIO instance as ISDK->SetObjectClass(B) blocks the assignment. In function SetObjectClassWithOptionalNotification it is checked if the class is by style and if it is, the function quits so I'm stuck.
So this looks like an obvious bug in VW to me. Or is there a workaround or proposed workflow for changing the class of a styled PIO instance?
Btw, I can't find a function that gets or sets the class of an object style. Which class is relevant, the class of the symbol definition of the class of its PIO subobject?
Thanks,
Stefan Bender
-
Yes, if the cursor hovers over a wall, the window data are recalculated based on that wall's thickness and cavities and the preview is replaced using the CallDefaultTool mechanism.
-
According to the movie, it was reported for VW 2021, SP 2. Don't know if it existed before. I'm just going through some old bugs trying to evaluate them.
-
-
Dear developers,
depending on the activated snapping modes, VW displays horizontal or vertical guidelines starting at the cursor position along with the preview of the window while our window tool is in insert mode.
However, as soon as the cursor is over a wall, these guidelines disappear.We noticed that VW window still does show a guideline along the wall when the cursor is over a wall so we would like to have the same behavior.
How can we make the cursor display these guidelines, too? Is it some special flag or call we need to make somewhere? Or do the guidelines disappear as side effect of some SDK call?
Thanks for any help,
Stefan Bender
-
Dear developers,
We have these constants in MIniCadCallBacks.h
st short renderWireFrame = 0;
const short renderQuick = 1;
const short renderSolid = 2;
const short renderShadedSolid = 3;
const short renderShadedNoLines = 4;
const short renderFinalShaded = 5;
const short renderFinalHiddenLine = 6;
const short renderDashedHiddenLine = 7;
const short render2DSection = 8;
const short render3DSection = 9;
const short renderOpenGL = 11;
const short renderFastRenderWorks = 12;
const short renderFastShadowRenderWorks = 13;
const short renderFinalRenderWorks = 14;
const short renderCustomRenderWorks = 15;
const short renderOutputVRML = 16;
const short renderArtisticRenderWorks = 17;
const short renderSketch = 18;and according to UI we have these actual render modes:
"1" = "Wireframe";
"2" = "Sketch";
"3" = "Shaded";
"4" = "Fast Renderworks";
"5" = "Final Quality Renderworks";
"6" = "Custom Renderworks";
"7" = "Artistic Renderworks";
"8" = "Hidden Line";
"9" = "Dashed Hidden line";
"10" = "Unshaded Polygon";
"11" = "Shaded Polygon";
"12" = "Shaded Polygon No Lines";
"13" = "Final Shaded Polygon";
So I wonder- What is "shaded"? renderShadedSolid or renderShadedSolidNoLines?
- Which render mode constants represent "Unshaded Polygon", "Shaded Polygon" or "Shaded Polygon No Lines"?
- Does render mode renderOpenGL still exist and is it working?
- It seems that renderShadedNoLines does not work in symbol display controls anymore. Our previews become empty if we select this mode. Is this a known bug?Thanks for any help,
Stefan Bender
-
This not something the stair itself can control. It is up to the various duplication routines to prevent the creation of these sort of zombie objects. If you can reproduce the creation of these zombies, feel free to submit a bug report.
-
These "duplicates" are probably duplicates of proxy objects of the stair. A proxy object is some sort of slave object of a stair on another layer. This proxy object is created if option "Include top graphic on upper floor" is checked in pane "2D Graphics". If such a proxy object is duplicated by some means (which should actually be prevented by Vectorworks), the duplicate is some sort of orphan and might show unexpected behavior.
- 1
-
Thanks Joshua! However, for import purposes, we will need to accept more strings as the people providing the text files may not be familiar with Vectorworks.
-
Dear developers,
is there an official SDK way to get the strings for the Boolean values "True" and "False"? They might be needed for tables or for displaying them in other contexts. What is the VW rule for these strings? Are they localized, uppercase, lowercase? I think it would be helpful to have some sort of consistent behavior and /or an SDK call to get the strings. I'm asking because I just got a bug report that is related to this (a plug-in of ours is trying to import values from a text file into a VW record field and it turned out that we had not specified how boolean values need to be spelled so the plug-in identifies the strings as "true" or "false").
Thanks,
-
>>>I believe the column has to be kListBrowserControlNumber.
Thanks, that sounds interesting. I see no reason for this condition and no mention of this anywhere, but I will have a try. Too bad that this list does not have a column where we display numbers in all lines.
-
Thanks, but..
I've seen other dialogs that seem to work where drag and drop is also enabled before the LB is actually filled with data.
I tried what you proposed, but no effect. @Vlad Do you or the engineers in charge of listbrowsers have an idea what is wrong with EnableListBrowserDragAndDrop()? Drag and Drop support is considered to be an important feature in one of our new dialogs. Thanks!
-
Dear developers,
I'm trying to support drag and drop in a listbrowser control.
After creating the columns in the dialog's setup handler, I call
Boolean det_ddc = gSDK->SetListBrowserDragAndDropColumn( m_d, item, ind_column);
Boolean enab_dd = gSDK->EnableListBrowserDragAndDrop( m_d, item, true);Item and column exist, either function return true for success so everything should be fine.
Unfortunately, when I'm hovering over the column, the cursor does not become the drag and drop cursor and so I can't drag and drop anything.
Has anybody an idea which undocumented things I need to do (or must not do) beside calling these functions?
Which undocumented side effects of other SDK functions might have caused drag and drop to become disabled? There is no SDK function or member function of VWListBrowserControl to find out if drag and drop mode is actually switched on...
Thanks for any help,
Stefan Bender
-
You could add popup choices in the initialization of your global parameter by supplying some SParametricParamChc:
#define k_chc_def_tuerform 128
#define k_chc_def_anzeigeart_komplett 129
static SParametricParamChc gArrChoices[] = {
{ k_chc_def_tuerform, "Eckig", {kTuerformChoices, "1"} },
{ k_chc_def_tuerform, "Rund", {kTuerformChoices, "2"} },
//------
{ k_chc_def_anzeigeart_komplett, k_un_door_choice_anzeigeart_draufsicht, {kWindowDoorStringViewsComplex, "1"} },
{ k_chc_def_anzeigeart_komplett, k_un_door_choice_anzeigeart_komplett_hybrid, {kWindowDoorStringViewsComplex, "2"} },
{ k_chc_def_anzeigeart_komplett, k_un_door_choice_anzeigeart_ansicht, {kWindowDoorStringViewsComplex, "3"} },
{ k_chc_def_anzeigeart_komplett, k_un_door_choice_anzeigeart_schnitt, {kWindowDoorStringViewsComplex, "4"} },
// TERMINATE
{ NULL, "", {0,0} }
};
static SParametricParamDef gArrParameters[] = {{ k_un_door_cw_tuerform, {kTuerLocalizedParameterStrings, garr_names_of_parameters[T9_DB_TUERFORM]}, "Eckig", "Eckig", kFieldPopUp, k_chc_def_tuerform },
{ k_un_door_cw_anzeigeart_komplett, {kTuerLocalizedParameterStrings, garr_names_of_parameters[T9_DB_ANZEIGEART_KOMPLETT]}, "Draufsicht", "Draufsicht", kFieldPopUp, k_chc_def_anzeigeart_komplett },
// TERMINATE
{ "", {0,0}, "", "", EFieldStyle(0), 0 }
};
-
It seems that VWListBrowserItem::SetItemInteractionType() has the side effect of deleting the contents of a cell. This is quite unexpected as it only should change some internal flags. Submitted as VB-176506.
-
Dear developers,
I'm trying to implement a listbrowser that supports Direct Editing.
However, I can't get the "check state" cells working correctly.
When building the list, I call
Boolean set_ok = gSDK->SetListBrowserItemCheckState(dialog, item, line, column, (myBooleanVariable) ? CGSMultiStateValueChange::eStateValueOn : CGSMultiStateValueChange::eStateValueOff);
with myBooleanVariable == true and set_ok also returns true,
but the cell remains empty.
I had also supposed that you have to provide the cell value in the LB's DirectEditHandler, but the direct edit handler is never called unless I click on the list. Could this be the problem?
I also tried RefreshListBrowser, but no effect.Cell interaction type is kListBrowserItemInteractionEditCheckState of course, direct editing is enabled for both LB and cell.
ListBrowserControlType is kListBrowserControlNone, ListBrowserItemDisplayType is kListBrowserDisplayTextOnly
Does anybody have an idea what could be wrong? To me this looks like a bug.Thanks for any help,
Stefan Bender
How to disable pull-down menu entries in OIP widgets?
in SDK
Posted
Thanks for the replies! But recreating the entire widget does not seem to be a reasonable solution. There really needs to be an SDK call or member function of the widget for that.