// *******************************************************
        // Initialise the GUI widgets of this configuration editor
        // *******************************************************
        private void InitialiseGUIWidgets()
        {
            // At program start, the local client settings configuration file is loaded
            currentDireSebConfigFile = SEBClientInfo.SebClientSettingsAppDataDirectory;
            currentFileSebConfigFile = SEBClientInfo.SEB_CLIENT_CONFIG;
            StringBuilder sebClientSettingsAppDataBuilder = new StringBuilder(currentDireSebConfigFile).Append(currentFileSebConfigFile);

            currentPathSebConfigFile = sebClientSettingsAppDataBuilder.ToString();

            openFileDialogSebConfigFile.InitialDirectory = Environment.CurrentDirectory;
            saveFileDialogSebConfigFile.InitialDirectory = Environment.CurrentDirectory;
            //folderBrowserDialogDownloadDirectoryWin.RootFolder = Environment.SpecialFolder.DesktopDirectory;
            //folderBrowserDialogLogDirectoryWin     .RootFolder = Environment.SpecialFolder.MyDocuments;

            // Assign the fixed entries to the ListBoxes and ComboBoxes
            listBoxExitKey1.Items.AddRange(StringFunctionKey);
            listBoxExitKey2.Items.AddRange(StringFunctionKey);
            listBoxExitKey3.Items.AddRange(StringFunctionKey);

            // Assing the list of cryptographic identities/certificates to the ComboBox
            ArrayList certificateNames = new ArrayList();

            certificateReferences = SEBProtectionController.GetCertificatesAndNames(ref certificateNames);
            comboBoxCryptoIdentity.Items.Add("None");
            comboBoxCryptoIdentity.Items.AddRange(certificateNames.ToArray());
            comboBoxChooseIdentityToEmbed.Items.AddRange(certificateNames.ToArray());
            comboBoxChooseIdentityToEmbed.Text = SEBUIStrings.ChooseEmbeddedCert;

            ArrayList certificateSSLNames = new ArrayList();

            certificateSSLReferences = SEBProtectionController.GetSSLCertificatesAndNames(ref certificateSSLNames);
            comboBoxChooseSSLClientCertificate.Items.AddRange(certificateSSLNames.ToArray());
            comboBoxChooseSSLClientCertificate.Text = SEBUIStrings.ChooseEmbeddedCert;


            // At program start, no file has yet been opened, so revert is not possible
            buttonRevertToLastOpened.Enabled = false;

            comboBoxMainBrowserWindowWidth.Items.AddRange(StringWindowWidth);
            comboBoxMainBrowserWindowHeight.Items.AddRange(StringWindowHeight);
            listBoxMainBrowserWindowPositioning.Items.AddRange(StringWindowPositioning);

            comboBoxNewBrowserWindowWidth.Items.AddRange(StringWindowWidth);
            comboBoxNewBrowserWindowHeight.Items.AddRange(StringWindowHeight);
            listBoxNewBrowserWindowPositioning.Items.AddRange(StringWindowPositioning);

            comboBoxTaskBarHeight.Items.AddRange(StringTaskBarHeight);

            listBoxOpenLinksHTML.Items.AddRange(StringPolicyLinkOpening);
            listBoxOpenLinksJava.Items.AddRange(StringPolicyLinkOpening);

            listBoxChooseFileToUploadPolicy.Items.AddRange(StringPolicyFileUpload);
            listBoxSebServicePolicy.Items.AddRange(StringPolicySebService);

            // Initialise the DataGridViews:
            // Set "AllowUserToAddRows" to false, to avoid an initial empty first row
            // Set "RowHeadersVisible"  to false, to avoid an initial empty first column
            // Set "FullRowSelect"      to true , to select whole row when clicking on a cell
            dataGridViewPermittedProcesses.Enabled            = false;
            dataGridViewPermittedProcesses.ReadOnly           = false;
            dataGridViewPermittedProcesses.AllowUserToAddRows = false;
            dataGridViewPermittedProcesses.RowHeadersVisible  = false;
            dataGridViewPermittedProcesses.MultiSelect        = false;
            dataGridViewPermittedProcesses.SelectionMode      = DataGridViewSelectionMode.FullRowSelect;

            dataGridViewPermittedProcessArguments.Enabled            = false;
            dataGridViewPermittedProcessArguments.ReadOnly           = false;
            dataGridViewPermittedProcessArguments.AllowUserToAddRows = false;
            dataGridViewPermittedProcessArguments.RowHeadersVisible  = false;
            dataGridViewPermittedProcessArguments.MultiSelect        = false;
            dataGridViewPermittedProcessArguments.SelectionMode      = DataGridViewSelectionMode.FullRowSelect;

            dataGridViewProhibitedProcesses.Enabled            = false;
            dataGridViewProhibitedProcesses.ReadOnly           = false;
            dataGridViewProhibitedProcesses.AllowUserToAddRows = false;
            dataGridViewProhibitedProcesses.RowHeadersVisible  = false;
            dataGridViewProhibitedProcesses.MultiSelect        = false;
            dataGridViewProhibitedProcesses.SelectionMode      = DataGridViewSelectionMode.FullRowSelect;

            dataGridViewEmbeddedCertificates.Enabled            = false;
            dataGridViewEmbeddedCertificates.ReadOnly           = false;
            dataGridViewEmbeddedCertificates.AllowUserToAddRows = false;
            dataGridViewEmbeddedCertificates.RowHeadersVisible  = false;
            dataGridViewEmbeddedCertificates.MultiSelect        = false;
            dataGridViewEmbeddedCertificates.SelectionMode      = DataGridViewSelectionMode.FullRowSelect;

            dataGridViewProxyProtocols.Enabled            = false;
            dataGridViewProxyProtocols.ReadOnly           = false;
            dataGridViewProxyProtocols.AllowUserToAddRows = false;
            dataGridViewProxyProtocols.RowHeadersVisible  = false;
            dataGridViewProxyProtocols.MultiSelect        = false;
            dataGridViewProxyProtocols.SelectionMode      = DataGridViewSelectionMode.FullRowSelect;


            dataGridViewPermittedProcesses.Columns[IntColumnProcessActive].ValueType     = typeof(Boolean);
            dataGridViewPermittedProcesses.Columns[IntColumnProcessOS].ValueType         = typeof(String);
            dataGridViewPermittedProcesses.Columns[IntColumnProcessExecutable].ValueType = typeof(String);
            dataGridViewPermittedProcesses.Columns[IntColumnProcessTitle].ValueType      = typeof(String);

            dataGridViewPermittedProcessArguments.Columns[IntColumnProcessActive].ValueType   = typeof(Boolean);
            dataGridViewPermittedProcessArguments.Columns[IntColumnProcessArgument].ValueType = typeof(String);

            dataGridViewProhibitedProcesses.Columns[IntColumnProcessActive].ValueType      = typeof(Boolean);
            dataGridViewProhibitedProcesses.Columns[IntColumnProcessOS].ValueType          = typeof(String);
            dataGridViewProhibitedProcesses.Columns[IntColumnProcessExecutable].ValueType  = typeof(String);
            dataGridViewProhibitedProcesses.Columns[IntColumnProcessDescription].ValueType = typeof(String);

            dataGridViewEmbeddedCertificates.Columns[IntColumnCertificateType].ValueType = typeof(String);
            dataGridViewEmbeddedCertificates.Columns[IntColumnCertificateName].ValueType = typeof(String);

            dataGridViewProxyProtocols.Columns[IntColumnProxyProtocolEnable].ValueType = typeof(Boolean);
            dataGridViewProxyProtocols.Columns[IntColumnProxyProtocolType].ValueType   = typeof(String);

            dataGridViewProxyProtocols.Columns[IntColumnProxyProtocolEnable].ReadOnly = false;
            dataGridViewProxyProtocols.Columns[IntColumnProxyProtocolType].ReadOnly   = true;

            // Assign the column names to the DataGridViews

/*
 *          dataGridViewPermittedProcesses.Columns.Add(StringColumnActive    , StringColumnActive);
 *          dataGridViewPermittedProcesses.Columns.Add(StringColumnOS        , StringColumnOS);
 *          dataGridViewPermittedProcesses.Columns.Add(StringColumnExecutable, StringColumnExecutable);
 *          dataGridViewPermittedProcesses.Columns.Add(StringColumnTitle     , StringColumnTitle);
 *
 *          dataGridViewPermittedProcessArguments.Columns.Add(StringColumnActive  , StringColumnActive);
 *          dataGridViewPermittedProcessArguments.Columns.Add(StringColumnArgument, StringColumnArgument);
 *
 *          dataGridViewProhibitedProcesses.Columns.Add(StringColumnActive     , StringColumnActive);
 *          dataGridViewProhibitedProcesses.Columns.Add(StringColumnOS         , StringColumnOS);
 *          dataGridViewProhibitedProcesses.Columns.Add(StringColumnExecutable , StringColumnExecutable);
 *          dataGridViewProhibitedProcesses.Columns.Add(StringColumnDescription, StringColumnDescription);
 *
 *          dataGridViewURLFilterRules.Columns.Add(StringColumnURLFilterRuleShow      , StringColumnURLFilterRuleShow);
 *          dataGridViewURLFilterRules.Columns.Add(StringColumnURLFilterRuleActive    , StringColumnURLFilterRuleActive);
 *          dataGridViewURLFilterRules.Columns.Add(StringColumnURLFilterRuleRegex     , StringColumnURLFilterRuleRegex);
 *          dataGridViewURLFilterRules.Columns.Add(StringColumnURLFilterRuleExpression, StringColumnURLFilterRuleExpression);
 *          dataGridViewURLFilterRules.Columns.Add(StringColumnURLFilterRuleAction    , StringColumnURLFilterRuleAction);
 *
 *          dataGridViewEmbeddedCertificates.Columns.Add(StringColumnCertificateType, StringColumnCertificateType);
 *          dataGridViewEmbeddedCertificates.Columns.Add(StringColumnCertificateName, StringColumnCertificateName);
 *
 *          dataGridViewProxyProtocols.Columns.Add(StringColumnProxyProtocolEnable, StringColumnProxyProtocolEnable);
 *          dataGridViewProxyProtocols.Columns.Add(StringColumnProxyProtocolType  , StringColumnProxyProtocolType);
 *
 *          dataGridViewBypassedProxies.Columns.Add(StringColumnDomainHostPort, StringColumnDomainHostPort);
 */
            groupBoxPermittedProcess.Enabled  = false;
            groupBoxProhibitedProcess.Enabled = false;

            listBoxPermittedProcessOS.Items.AddRange(StringOS);
            listBoxProhibitedProcessOS.Items.AddRange(StringOS);

            // Help data structures for table access to URL Filter Rules
            urlFilterTableRow        = -1;
            urlFilterTableRowIsTitle = false;
            urlFilterTableRuleIndex.Clear();
            urlFilterTableActionIndex.Clear();
            urlFilterTableIsTitleRow.Clear();
            urlFilterTableStartRow.Clear();
            urlFilterTableEndRow.Clear();
            urlFilterTableShowRule.Clear();
            urlFilterTableCellIsDisabled.Clear();

            // Auto-resize the columns and cells
            //dataGridViewPermittedProcesses  .AutoResizeColumns();
            //dataGridViewProhibitedProcesses .AutoResizeColumns();
            //dataGridViewURLFilterRules      .AutoResizeColumns();
            //dataGridViewEmbeddedCertificates.AutoResizeColumns();
            //dataGridViewProxyProtocols      .AutoResizeColumns();
            //dataGridViewBypassedProxies     .AutoResizeColumns();

            //dataGridViewPermittedProcesses  .AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
            //dataGridViewProhibitedProcesses .AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
            //dataGridViewURLFilterRules      .AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
            //dataGridViewEmbeddedCertificates.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
            //dataGridViewProxyProtocols      .AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
            //dataGridViewBypassedProxies     .AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
        }