Jump to content

Stefan Bender

  • Posts

  • Joined

  • Last visited

Everything posted by Stefan Bender

  1. Dear developers, in a QTO function (EQTOFunction::ObjectData, VWWSFunctionCall_EventSink::MyFunction(const SDispatchContext& context, VWVariant& outResult) our plug-in returns a VWVariant of type eVWVariantType_Bool (i.e., outResult = VWVariant((bool)(true/false)); But in the worksheet cell, no boolean value (localized true/false string) is displayed but only the number (1 for true, 0 for false). Imho this is a bug. A number should onmly be displayed if VWVariant is one of the numbers type. If VWVariant is of type bool, the cell should treat it as bool and display it as such. Do I need to submit a bug or is this WAD? If WAD, how else can I make sure that the actual bool value is displayed instead of a number?
  2. I don't think this is expected behavior. You might wish to submit a bug.
  3. Try reading object variable ovIsSectionViewport (use ISDK::GetObjectVariable()). There's a list of all available object variables in ObjectVariables.h.
  4. Dear developers, we are adding some qto functions ('ObjectData') to a few of our PIOs. These plug-ins are meant to be used in different countries so they should be easily localizeable. Some of these QTO functions are a little complex and require more than one parameter. Some of these parameters must be strings from a given list, like parts of the plug-in or words like "interior" or "exterior". Let's say a function allows three additional parameters ObjectData('keyword',<param1>,<param2>,<param3>) and the string in the Opt Desc.vwstrings file would be "ObjectData-keyword" = "Objektdaten('keyword';<param1>;<param2>;<param3>)"; A sample would be: "ObjectData-doorhandletype" = "Objektdaten('DoorHandleType';<InteriorOrExterior>;<NoOfLeaf>)"; How can we make sure that users may use a localized version of 'DoorHandleType' or 'Interior/Exterior' when calling this? And how can we make sure that they see these localized names in the function description? And how can we define a list of valid localized options for <param1> and <param2>, in case of the sample the localized versions of "Interior" and "Exterior"? In theory, it is possible to support localized options, but all potential solutions would require more string files and a manual synchronization between these string files and the strings in Opt Desc.vwstrings and Opt Desc DB.vwstrings. It is very likely that localizers will fail to do this correctly and thus the localized versions of the PIO will fail or display an incorrect description. So my question is if there is a proposed workflow for such a synchronization, maybe some additional strings in OptDesc.vwstrings or something? I think there should be some sort of universal and localized name for function options and also for each parameter. The localized names should be stored in a localizeable string file and be used by VW when displaying the function descriptions. Or does this sort of workflow already exist? Thanks for any help, Stefan Bender
  5. Hi Maarten, thanks a lot for your reply, but OnDefaultButtonEvent doesn't do anything when I call it there.
  6. Dear developers, There are requests to quit a VWDialog during an ADD_LB_DIRECT_EDIT() event (i.e., when direct editing a list browser cell). The main idea is that if the user selects a custom SResource control (i.e. button button "New" or "Edit..." instead of selecting a resource) in a direct editable resource browser cell of a listbrowser, the dialog should close down and the user enters symbol edit mode. We could do this in "normal" dialog events by setting the item to 0, but how is this possible in a direct edit event? Or is there another way to force a dialog to quit? I tried CloseDialog(true), but no effect. Thanks for any help, Stefan Bender
  7. Hi there, what is the recommended way for a PIO to offer information about the materials of certain components (window frame, glass, shutter...) to the data tag of to worksheet functions? I'm thiunking of a solution that does not require Psets or record fields with names of materials. Are there any special qto functions or interfaces for that? Is there a PIO that is actually doing this? Thanks for any help, Stefan Bender
  8. Hi there, Iis there a way to disable a cell of a listbrowser so it doesn't receive events AND to make this disabled state clear to the user (grey background...)? I will need a general solution for all types of LB cells, not some do-it-yourself solution using a custom grey image or the like. Thanks for any help, Stefan Bender
  9. Dear developers, does anybody have an idea how I can center an image in a list browser cell? I tried VWListBrowserItem vwi = lb->GetItem(ind_line, ind_column); vwi.SetItemTextJustification(kItemTextJustificationCenter); but no effect. I couldn't find any other functions. Thanks for any help, Stefan Bender
  10. Dear developers, how can I create a generic solid that has the shape of a sphere? I tried CreateSphere and then ConvertToGenericSolid, but the conversion failed. Surprisingly, even manually (using menu command "Modify->Convert->Convert to generic solids") the action failed with an error message saying that this object type can't be converted. So what else can I do? A sphere isn't such an exotic object type so there really should be a way to to that. Thanks for any ideas, Stefan Bender
  11. Thanks Joshua, I had already thought about something like that, but I'm not sure if the pointer and the data remain valid if the user switches to another document during the session. So I would prefer something that returns the "current" color table of the active document.
  12. We frequently need to access the document color table. Atm we do VCOMPtr<VectorWorks::IDocumentColorTable> doccol( VectorWorks::IID_DocumentColorTable ); But that seems to be time-consuming so it would be great to get a handle/pointer to the current document's color table without having to create a new VCOM ptr each time. Is this possible? Thanks for any ideas, Stefan Bender
  13. Not yet, but there are plans to implement this in a future version.
  14. Yes, an empty image is provided. And it does work if you change it manually.
  15. Dear developers, does anybody have an idea how to change the value of an enhanced pull-down menu in a VWDialog? I tried both GS_SelectChoice and VWPullDownMenuCtrl->SelectIndex, but neither worked. If I click on the menu, I can see that the correct item is selected (checkmark), but in the "closed" version of the pull-down menu the (redlined) area remains empty. A VIP user has submitted a bug because of this. Is there another function that makes the Enhanced pull-down menu draw itself correctly in closed state? Or maybe there is an "update/redraw" function for all controls that does the job? Thanks a lot for any help!
  16. Maybe you need a 28.0.1 SDK. Some things might have changed internally.
  17. Dear developers, is there a way to hide a line, but still display its line end markers? We have a new wish for the stairs to do exactly that. The only idea I have is to draw a very very short line, but that's not a clean solution. Does anybody have an idea? Thanks!
  18. Maybe you can try virtual short VCOM_CALLTYPE ISDK::DoMenuName(const TXString& name, short chunkIndex) = 0; You need to know the universal name of the menu comand. I don't exactly know where you can find it, but maybe somewhere in Vectorworks.vwr.
  19. In theory, it is possible and I think there are working tools doing this, but I wouldn't recommend it unless you're absolutely sure what you're doing. Potential problems are among others infinite recursion and undo.
  20. In GetStatus(), you may wish to return different status values depending on the current tool mode (how many points are required to be drawn?) and maybe on other things (2D/3D mode?). And of course, in HandleComplete you should check the current mode and do the appropriate stuff.
  21. Hi all, how can we find out the current data mappings for a PIO or other record format? Are there SDK functions or VCOM interfaces for that? Thanks for any help, Stefan Bender
  22. 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.
  23. 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
  24. 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.
  25. 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.
  • Create New...