Menu
Simba Technologies
Simba Technologies

SimbaEngine X SDK 10.1.3
Developing Drivers for Data Stores Without SQL

SimbaEngine X SDK Documentation > Core Features > Creating and Using Dialogs

Creating and Using Dialogs

The SimbaEngine X SDK includes functionality to help you implement dialogs. You can use these dialogs to retrieve user input such as connection settings or configuration information.

Dialogs in Windows

The Quickstart sample driver for Windows platforms includes a sample implementation of a user dialog. For information on the Quickstart sample driver, see Build a C++ ODBC Driver in 5 Days at http://www.simba.com/resources/sdk/documentation/.

This section shows you how to use the PromptDialog method of your CustomerDSIIConnection class to display a dialog box that prompts the user for settings for this connection. For more information on the connection process, see Handling Connections.

The CustomerDSIIConnection::PromptDialog method has the following signature:

virtual bool PromptDialog(

Simba::DSI::DSIConnSettingResponseMap& in_connResponseMap,

Simba::DSI::DSIConnSettingRequestMap& io_connectionSettings,

HWND in_parentWindow,

Simba::DSI::PromptType in_promptType

);

This method has the following parameters:

  • in_connResponseMap

    The connection response map updated to reflect the user's input.

  • io_connectionSettings

    The connection settings map updated with settings that are still needed and were not supplied. The connection settings from io_connectionSettings are presented as key-value string pairs. The input connection settings map is the initial state of the dialog box. The input connection settings map will be modified to reflect the user's input to the dialog box.

  • in_parentWindow

    Handle to the parent window to which this dialog belongs.

  • in_promptType

    Indicates what type of connection settings to request either both required and optional settings or just required settings.The return value for this method indicates if the user completed the process by clicking OK on the dialog box (return true), or if the user aborts the process by clicking CANCEL on the dialog box (return false).

Linux/Unix/macOS

Dialogs are also possible on Linux/Unix/macOS platforms, although the Quickstart sample driver for those platforms does not include a sample implementation.

The PromptDialog function is the same as for Windows. However, the meaning of the in_parentWindow argument is undefined. Different applications may potentially pass in different types of window handles. Therefore, in_parentWindow can only be used if your driver can make assumptions about running within a specific window system or API toolkit. Otherwise, the window you create will need to be parentless.

 

Related Links

Handling Connections