One of our clients built custom menus in V8i and I have already imported them into a custom tab in CONNECT. I would like to have these items as contextual menus though. I cannot find a tool, or method, that will allow me to do this. Any recommendations?
Mike Madrid said:I would like to have these items as contextual menus though.
in my opinion to answer your question important information are missing:
To provide a screen capture what do you mean or how the target situation should look like would help.
Mike Madrid said:I cannot find a tool, or method, that will allow me to do this.
Without knowing whether you want to customize ribbon, V8i tasks, mouse menus or popups it's not possible to provide exact answer, because these GUI parts can be customized using different tools.
But basic tool at background are Named Expressions, used by MicroStation to e.g. define what items will be displayed in right mouse button menu (RBM) depending on what element in what model is selected.
When ribbon is customized, second core tool (feature) is Synt Item Event that defines trigger when Named Expression is evaluated, which allow to e.g. show/hide ribbon components when selection set is changed. It allows enhance ribbon in a way how table tools work: When table element is selected, new tabs are displayed.
You should be aware that ribbon customization tools accessible from GUI are not bad, but still limited and not all features are available. There is another option - write special XML file to define ribbon customization - but it's quite hard-core solution with limited documentation (it's part of MicroStation SDK).
Labyrinth Technology | dev.notes() | cad.point
The menus were created in V8i (SS4) and do not use tools/tool boxes.
I am looking to import/convert them to Context Menus in CONNECT (R12):
I think it's not possible to convert menu customization to mouse context menu customization. They are two different GUI objects, so even in V8i it's not possible to drag menu customization to context menu customization.
I guess it would be possible to export the customization to XML and to move nodes to from menu to context menu and import it back again, but it's not safe, XML format is not documented and I am pretty sure manual XML modification is not supported by Bentley. But probably still better than to recreate the whole customization from scratch.
My question is whether you want to have so long mouse menu? Maybe to modify ribbon and popup to incorporate former V8i menus is better?
I have the tabs already created in the CONNECT ribbon. I just thought it would nice for the users to have the context menus. I thought of exporting the XML and modifying it, but that would take too much effort.
Mike Madrid said:I just thought it would nice for the users to have the context menus.
I agree such idea is good, but my experience is that to customize context menu properly to keep productivity and UX (user experience) is a bit more complicated that to define simple menu. The mouse menu has to be kept short, which requires massive adaptation of Named Expressions. MicroStation V8i context menu is good example: Its definition in dgnlib is really complex and long, but the most of items is controled by show/hide expressions to ensure only "contextually valid" will be displayed.
Mike Madrid said:I thought of exporting the XML and modifying it, but that would take too much effort.
Unfortunately it's true.
Mike Madrid said:to have the context menus
I think it makes sense to split customization between "classic" context menu available at right mouse button and new pop-up (displayed using space bar).