'===========================================================================
' Subject: Form Designer Options              Date: 06-18-01 (07:00)       
'  Author: Jordi Ramos                        Code: RapidQ                 
'  Origin: correodejordi@wanadoo.es         Packet: RAPIDQ.ABC
'===========================================================================
'$Include "RapidQ.inc"
Declare Sub cmdBrowser_Click (Sender as QBUTTON)
Declare Sub chkOptHardTabs_Click (Sender AS QRADIOBUTTON) 
Declare Sub chkOptSoftTabs_Click (Sender AS QRADIOBUTTON) 
Declare Sub cmOptionsOk_Click (Sender as QBUTTON)
Declare Sub cmOptionsCancel_Click (Sender as QBUTTON)
Declare Function  BrowseForFolder(hwndOwner As Long, sPrompt As String) As String

CREATE frmOptions AS QFORM
    ICOHandle = MenuDesigner_ico
    Caption = "MenuDesigner Options"
    Width = 450
    Height = 350
    DelBorderIcons = biMinimize 
    DelBorderIcons = biMaximize
    BorderStyle = bsSingle 
    Center
    CREATE GroupBox1 AS QGROUPBOX
        Caption = "Designer"
        Left = 10
        Top = 9
        Width = 321
        Height = 185
'        TabOrder = 0
        CREATE Label1 AS QLABEL
            Caption = "Work Folder: "
            Left = 25
            Top = 25
            Width = 64
        END CREATE
        CREATE txtWorkFolder AS QEDIT
            Text = ""
            Left = 25
            Top = 41
            Width = 225
'            TabOrder = 1
        END CREATE
        CREATE cmdBrowser AS QBUTTON
            Caption = "..."
            Left = 256
            Top = 42
            Width = 35
            Height = 20
'            TabOrder = 2
            onClick = cmdBrowser_Click
        END CREATE
        CREATE GroupBox2 AS QGROUPBOX
            Caption = "Menu Item Defaults"
            Left = 25
            Top = 77
            Width = 145
            Height = 89
            TabOrder = 0
            CREATE chkOptChecked AS QCHECKBOX
                Caption = "Checked"
                Left = 20
                Top = 20
'                TabOrder = 1
            END CREATE
            CREATE chkOptEnabled AS QCHECKBOX
                Caption = "Enabled"
                Left = 20
                Top = 40
'                TabOrder = 2
            END CREATE
            CREATE chkOptVisible AS QCHECKBOX
                Caption = "Visible"
                Left = 20
                Top = 60
'                TabOrder = 3
            END CREATE
        END CREATE
        CREATE Label3 AS QLABEL
            Caption = "Language:"
            Left = 198
            Top = 77
            Width = 56
            Transparent = 1
        END CREATE
        CREATE cmbOptLanguage AS QCOMBOBOX
            Text = "English"
            Left = 200
            Top = 100
            Width = 105
'            TabOrder = 4
        END CREATE
    END CREATE
    CREATE GroupBox3 AS QGROUPBOX
        Caption = "Code Genarador"
        Left = 8
        Top = 202
        Width = 321
        Height = 110
'        TabOrder = 2
        CREATE GroupBox4 AS QGROUPBOX
            Caption = ""
            Left = 25
            Top = 15
            Width = 140
            Height = 80
            TabOrder = 2
            CREATE chkOptPreDeclares AS QRADIOBUTTON
                Caption = "PreDeclares"
                Left = 5
                Top = 15
                Width = 89
                'enabled = False
'                TabOrder = 0
            END CREATE
            CREATE chkOptDeclares AS QRADIOBUTTON
                Caption = "Uncoment Declares"
                Left = 5
                Top = 35
                Width = 121
                'enabled = False
'                TabOrder = 1
            END CREATE
            CREATE chkOptOnlyMenu AS QRADIOBUTTON
                Caption = "Only Code for menu"
                Left = 5
                Top = 55
                'enabled = False
'                TabOrder = 2
            END CREATE
        END CREATE
        CREATE GroupBox5 AS QGROUPBOX
            Caption = ""
            Left = 180
            Top = 15
            Width = 120
            Height = 80
            TabOrder = 2
            CREATE chkOptHardTabs AS QRADIOBUTTON
                Caption = "Hard Tabs"
                Left = 5
                Top = 15
                Width = 81
                onclick = chkOptHardTabs_Click
'                TabOrder = 3
            END CREATE
            CREATE chkOptSoftTabs AS QRADIOBUTTON
                Caption = "Soft Tabs"
                Left = 5
                Top = 35
                Width = 73
                onclick = chkOptSoftTabs_Click
'                TabOrder = 4
            END CREATE
            CREATE Label2 AS QLABEL
                Caption = "Spaces:"
                Left = 30
                Top = 55
                Width = 40
                Transparent = 1
            END CREATE
            CREATE txtOptSpaces AS QEDIT
                Text = "3"
                Left = 75
                Top = 53
                Width = 25
                enabled = False
                MaxLength = 1
'                TabOrder = 5
            END CREATE
        END CREATE
    END CREATE
    CREATE cmdOptionsOK AS QBUTTON
        Caption = "&OK"
        Left = 352
        Top = 250
        Kind = bkOK
'        TabOrder = 3
        onclick = cmOptionsOk_Click
    END CREATE
    CREATE cmdOpttionsCancel AS QBUTTON
        Caption = "Cancel"
        Left = 352
        Top = 285
        Kind = bkCancel
'        TabOrder = 4
        onclick = cmOptionsCancel_Click
    END CREATE
END CREATE

Sub cmdBrowser_Click (Sender as QBUTTON)
   Dim strResFolder As String
    Dim hWnd as Long
    hWnd = frmOptions.handle
    strResFolder = BrowseForFolder(hwnd, "Please select a folder.")

    If strResFolder <> "" Then
       txtWorkFolder.text = strResFolder
    End If

End Sub

Sub chkOptHardTabs_Click (Sender AS QRADIOBUTTON) 
    if chkOptHardTabs.Checked then txtOptSpaces.enabled = False
End Sub

Sub chkOptSoftTabs_Click (Sender AS QRADIOBUTTON) 
    if chkOptSoftTabs.Checked then txtOptSpaces.enabled = True
End Sub

Sub cmOptionsOk_Click (Sender as QBUTTON)
   SetDefaults
   frmOptions.close
End Sub

Sub cmOptionsCancel_Click (Sender as QBUTTON)
   GetDefaults
   frmOptions.close
End Sub

Function BrowseForFolder(hwndOwner As Long, sPrompt As String) As String
    'declare variables to be used
     Dim iNull As Integer
     Dim lpIDList As Long
     Dim lResult As Long
     Dim sPath As String
'     Dim udtBI As BrowseInfo

    'initialise variables
     With udtBI
        .hwndOwner = hwndOwner
        .lpszTitle = lstrcat(sPrompt, "")
        .ulFlags = BIF_RETURNONLYFSDIRS or BIF_DONTGOBELOWDOMAIN
     End With

    'Call the browse for folder API
     lpIDList = SHBrowseForFolder(udtBI)
     
    'get the resulting string path
     If lpIDList Then
        sPath = String$(260, 0)
        lResult = SHGetPathFromIDList(lpIDList, sPath)
        Call CoTaskMemFree(lpIDList)
        iNull = InStr(sPath, chr$(0))
        If iNull Then sPath = Left$(sPath, iNull - 1)
     End If

    'If cancel was pressed, sPath = ""
     BrowseForFolder = sPath
End Function


'Form.ShowModal
