.NET engine application development
They have written a lot of the base class information. Seems like this session is focusing on how to build engine pieces so they also work in ArcMap as well. They say these samples are in the SDK.
They have a hookHelper class to allow for the use of the command or tool between engine and desktop.
Use the hookHelper to get to objects you are interested in. For desktop a command hook object is a MxDocument but for Engine it would be a Toolbar. By using the hooking help this can be avoided.
HookHelp also has a IHookactions – to perform common actions on simple geomtries, flash, zoom, pan…
They are the toolbar items that expand to a group of icons
Start by creating a menu
She adds some command and then a menu to her menu. then adds that menu to the toolbar control. Now she is going to do it on a pop-up (which I think is a pallete). This seems a bit more invovled.
Created a toolbar menu – added an item to it, declared it on the toolbar, and then popup the menu when the user right clicks.
Extensions: can share data between software components – really appropriate for larger systems. State of command is controlled by the state of the extensions. Edit application as an exmaple. I don’t really get all that is going on
Now some about how to save out the state of the application.
There is a customizedialog class. You can add your toolbar control into customize mode. Take a customize dialog object and startDialog it to show up for the user to edit the toolbar that is in your engine application. To save changes…..You can save it out to a text file and then load it from a text file
Tips and tricks:
Mapcontrol and pagelayout control synchronization – there is stuff in the SDK. In engine mapcontrol and pagelayout control don’t know about each other.
There is another document for a workaround for controls displaying issues in 96 vs. 120 dpi. On a laptop that might have 120 DPI layout might get funky.
Quick demo of OpenGL
On to Singletons but passed on demos and it was going to show even more sharing data between other pieces of the code
But overall it was a good session – makes me understand that I need to spend some more time digging into the .NET
As a general note – these sessions are too long. I think 45 minutes would have been better.