Ok, i managed to create DataSource and created tons of custom actions associated with my addon. My addon has it's main interface in docker. There are many controls triggering different actions in this docker. Many of this actions has equivalent method in datasource and equivalent action in AppUi.xaml. Those actions can have hotkeys assigned via Corel customization.
Now i wan't to display assigned hotkeys on Docker controls, so the users can have smooth experiance and learn hotkeys from interacting with docker.
Is there any way to get information from CorelDraw api? Maybe accessing some program buitin datasource or so? I know other way - get active workspace file from User/AppData/Roming/Corel folder, unpack XML with active workspace, parse and get assigned hotkeys from there. But maybe there is a better way?
hi guy, i have makes this research in my free time a sometimes, in my case i wish crawler the native icons and captions, i try find this resources in a com object provided by the CustomizationDS, but i dont have sucess, have a addon the open workspaces files and xml files to a treeview visualization. good luck for you, and if you can shares yours discoveries.
DrawUI Explorer - Installer DrawUI Explorer CorelDraw Addon (bonus630.com.br)
Source bonus630/DrawUIExplorer-CorelDraw-Addon: Explores xml ui config, with search functions and xslt test, can run in standalone mode, explore too workspaces (github.com)
Customization DataSource - Code snippets feedback - Developer Area - CorelDRAW Community
There is interesting discovery about getting guid to string mapping.
Relative to program install dir there is some files
\Draw\UiConfig\DrawUi.xml - contains definition of CorelDraw interface - each item has guid
\programs64\strings.map.xml - maps DrawUi.xml guids to some other guids
\Languages\EN\Data\strings.xml - contains other guid from string map and human readable strings associated with them
also there is
C:\Users\ [User] \appdata\Roaming\Corel\CorelDRAW Graphics Suite [ Version ] \Draw\Workspace\_default.cdws
It's current settings of workspace. The file it self is a zip archive.
Inside there is \content\workspace.xml file. You can get all hotkeys associations from there.
Look for keySequence nodes. Note - CorelDraw must be closed. You must set at last one custom keyboard shortcut.
All CorelDraw icons and cursors located in
program64\CrlGenericUI.dll
as binary resources.
Started a project to write missing part of documentation for CorelDraw api and plugin development
https://github.com/Georgy-Garnov/CorelApiMissedDoc
There is a list of all datasources and their methods allready.
Hey, i write a docker to coreldraw X8 to show how use my DrawUI Explorer assembly to deserialize the Drawui.xml file.
the project bonus630/ControlsShorcutsCDRAddon: Test Project (github.com)
the core of this addon ControlsShorcutsCDRAddon/DockerUIViewModel.cs at master · bonus630/ControlsShorcutsCDRAddon (github.com)
Excelent!