Application Startup
Of models and Plugins
Smallworld Explorer
Transient Highlight
Map Rendering
Disable While Hidden
Custom Interaction mode (dragging cables)
Animation in the map
Transform Plugin
Including Additional Geometry
Look at the method transform_manager.check_source_geometries() to include additional geometries in the transform.
Blocking Prompter
The blocking_prompter exemplar allows you to display a GUI and wait for a response within the thread. It's great for one time question/answers. There are several built in varieties of prompt that allow you to do simple yes/no, options, or string test. You can add your own, just look at how the init code works and add your own gui components.
There are times when a blocking prompter does not work correctly. Mostly because it is run in a separate thread and some threading priorities may interfere. I'm not sure exactly when this happens, but basically the blocking prompter is locked and you can't do anything. Here is some code that gets around this issue. Thanks to Andy Meyers @ Sho-Me Power for allowing it to be posted… Concept from someone at GE…
SW5 NOTE: This is replaced with sw_message_dialog. A change similar to this may not work. Other situations using this approach seemed to cause a "thread hijack" error.
Application
Always Maximizing When Upon Start?
The very first time you start an application as a new User/ACE, the application seems to start maximized. If you don't resize and quit the first time, that setting appears to stay. To reset this, resize the application and run
swaf!.sys!perform(:|save_application_settings()|), where swaf! is the handle to the application. This seems to fix it.