rexx-things/modules/windows/oodialog/propertysheet.tabControls/UserTabDemo.rex
2025-03-12 20:50:48 +00:00

667 lines
40 KiB
Rexx
Executable File

/*----------------------------------------------------------------------------*/
/* */
/* Copyright (c) 2012-2014 Rexx Language Association. All rights reserved. */
/* */
/* This program and the accompanying materials are made available under */
/* the terms of the Common Public License v1.0 which accompanies this */
/* distribution. A copy is also available at the following address: */
/* https://www.oorexx.org/license.html */
/* */
/* Redistribution and use in source and binary forms, with or */
/* without modification, are permitted provided that the following */
/* conditions are met: */
/* */
/* Redistributions of source code must retain the above copyright */
/* notice, this list of conditions and the following disclaimer. */
/* Redistributions in binary form must reproduce the above copyright */
/* notice, this list of conditions and the following disclaimer in */
/* the documentation and/or other materials provided with the distribution. */
/* */
/* Neither the name of Rexx Language Association nor the names */
/* of its contributors may be used to endorse or promote products */
/* derived from this software without specific prior written permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */
/* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */
/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED */
/* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY */
/* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS */
/* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
/* */
/*----------------------------------------------------------------------------*/
/**
* UserTabDemo.rex
*/
sd = locate()
.application~useGlobalConstDir('O', sd'rc\UserTabDemo.h')
.application~autoDetection(.false)
.application~defaultFont('Tahoma', 10)
.constDir[IDC_TAB_MAIN] = 500
dlg = .UserTabDialog~new
dlg~execute
::requires 'ooDialog.cls'
::class 'UserTabDialog' public subclass UserDialog
::method init
expose pages descriptions
self~init:super
descriptions = self~getDescriptions
title = "Acme Health Clinic Patient Intake Form Version 1.00.0"
opts = 'MINIMIZEBOX MAXIMIZEBOX'
if self~createCenter(500, 265, title, opts) then self~initCode = 0
else self~initCode = 1
pages = .array~new(4)
return self~initCode
::method defineDialog
self~createPushButton(IDOK, 380, 240, 50, 15, "DEFAULT", 'O&k')
self~createPushButton(IDCANCEL, 440, 240, 50, 15, , '&Cancel')
self~createTab(IDC_TAB_MAIN, 10, 10, 480, 220, 'FIXED FOCUSDOWN')
self~connectTabEvent(IDC_TAB_MAIN, SELCHANGE, onSelChange)
::method initDialog unguarded
expose tab patientDlg contactsDlg insuranceDlg historyDlg dlgRect displayRect isPositioned
self~connectKeyPress(Cancel, .VK~F3, "NONE" )
self~connectKeyPress(Cancel, .VK~F3, "SHIFT")
tab = self~newTab(IDC_TAB_MAIN)
tabs = .array~of("Patient", "Contacts", "Insurance", "History")
do t over tabs
tab~insert( , t)
end
tab~setSize(160,28)
dlgRect = self~calcPageSize
displayRect = self~getDisplayRect
isPositioned = .array~of(.false, .false, .false, .false)
self~activatePatient
::method calcPageSize private
expose tab
r = tab~windowRect
tab~calcDisplayRect(r)
-- r is now the bounding rectangle of the display area of the tab control.
-- We want to convert this to a point size rectangle, in dialog units. The
-- different page dialogs will use this rectangle to set their initial size.
r~right = r~right - r~left
r~bottom = r~bottom - r~top
self~pixel2dlgUnit(r)
return r
::method getDisplayRect private
expose tab
r = tab~windowRect;
tab~calcDisplayRect(r);
s = .Size~new(r~right - r~left, r~bottom - r~top)
p = .Point~new(r~left, r~top)
self~screen2client(p)
return .Rect~new(p~x, p~y, s~width, s~height)
::method onSelChange unguarded
expose tab patientDlg contactsDlg insuranceDlg historyDlg displayRect
tabName = tab~selected
select
when tabName == "Patient" then self~select(1)
when tabName == "Contacts" then self~select(2)
when tabName == "Insurance" then self~select(3)
when tabName == "History" then self~select(4)
otherwise nop
end
::method select private unguarded
expose tab patientDlg contactsDlg insuranceDlg historyDlg displayRect isPositioned dlgShowing
use arg page
select
when page == 1 then do
dlgShowing~hideFast
patientDlg~showFast
dlgShowing = patientDlg
dlgShowing~update
end
when page == 2 then do
if \ contactsDlg~isA(.PlainBaseDialog) then do
self~activateContacts
return
end
dlgShowing~hideFast
if \ isPositioned[page] then do
contactsDlg~setWindowPos(tab~hwnd, displayRect, "SHOWWINDOW NOREDRAW NOOWNERZORDER")
isPositioned[page] = .true
end
else do
contactsDlg~showFast
end
dlgShowing = contactsDlg
dlgShowing~update
end
when page == 3 then do
if \ insuranceDlg~isA(.PlainBaseDialog) then do
self~activateInsurance
return
end
dlgShowing~hideFast
if \ isPositioned[page] then do
insuranceDlg~setWindowPos(tab~hwnd, displayRect, "SHOWWINDOW NOREDRAW NOOWNERZORDER")
isPositioned[page] = .true
end
else do
insuranceDlg~showFast
end
dlgShowing = insuranceDlg
dlgShowing~update
end
when page == 4 then do
if \ historyDlg~isA(.PlainBaseDialog) then do
self~activateHistory
return
end
dlgShowing~hideFast
if \ isPositioned[page] then do
historyDlg~setWindowPos(tab~hwnd, displayRect, "SHOWWINDOW NOREDRAW NOOWNERZORDER")
isPositioned[page] = .true
end
else do
historyDlg~showFast
end
dlgShowing = historyDlg
dlgShowing~update
end
otherwise nop
end
-- End select
return 0
::method initialShowDlg unguarded
expose patientDlg tab displayRect isPositioned dlgShowing
patientDlg~setWindowPos(tab~hwnd, displayRect, "SHOWWINDOW NOOWNERZORDER")
isPositioned[1] = .true
dlgShowing = patientDlg
::method activatePatient private unguarded
expose patientDlg dlgRect pages
patientDlg = .PatientDlg~new(dlgRect, self)
patientDlg~execute
pages[1] = patientdlg
-- .01 seconds == 10000 microseconds
.Alarm~new(.TimeSpan~fromMicroseconds(20000), .message~new(self, "initialShowDlg"))
::method activateContacts private unguarded
expose contactsDlg dlgRect pages
reply
contactsDlg = .ContactsDlg~new(dlgRect, self)
contactsDlg~execute
pages[2] = contactsDlg
self~postOnSelChange(10)
::method activateInsurance private unguarded
expose insuranceDlg dlgRect pages
reply
insuranceDlg = .InsuranceDlg~new(dlgRect, self)
insuranceDlg~execute
pages[3] = insuranceDlg
self~postOnSelChange(10)
::method activateHistory private unguarded
expose historyDlg dlgRect pages descriptions
reply
historyDlg = .HistoryDlg~new(dlgRect, self, descriptions)
historyDlg~execute
pages[4] = historyDlg
self~postOnSelChange(10)
::method postOnSelChange private unguarded
use strict arg microseconds
.Alarm~new(.TimeSpan~fromMicroseconds(microseconds), .message~new(self, "onSelChange"))
::method ok unguarded
expose pages
do page over pages
if page \== .nil then page~endExecution(.true)
end
return self~ok:super
/** cancel()
*
* A problem can happen if the user hits cancel immediately after selecting the
* History tab. The initDialog() method may be still executing and a syntax
* condition can be raised if the underlying Windows dialog is ended. To
* prevent this we check for that condition and sleep a little bit if it
* happens.
*/
::method cancel unguarded
expose pages
do page over pages
if page \== .nil then do
if page~isA(.HistoryDlg), \ page~initDialogDone then do while \ page~initDialogDone
j = SysSleep(.5)
end
page~endExecution(.false)
end
end
return self~cancel:super
::method getDescriptions private
d = .array~new
d[ 1] = 'Hearing loss / ringing in ears'
d[ 2] = 'Heart diease / circulatory proplems'
d[ 3] = 'Liver cancer / lung cancer'
d[ 4] = 'Breast cancer / uterine cancer'
d[ 5] = 'Jaundice, hepatitis'
d[ 6] = 'Kidney stones / kidney failure'
d[ 7] = 'High blood pressure / high chorlosterol'
d[ 8] = 'Gall bladder trouble (gallstones)'
d[ 9] = 'Anemia/blood disorder'
d[10] = 'Sugar or albumin in urine'
d[11] = 'Frequent or severe headache'
d[12] = 'Periods of unconsciousness'
d[13] = 'Chronic or frequent colds'
d[14] = 'Loss of memory or amnesia'
d[15] = 'Depression or excessive worry'
d[16] = 'Car, train, sea or air sickness'
return d
::class 'PatientDlg' subclass UserControlDialog
::method init
use arg r, parent
self~init:super( , , parent)
self~create(r~left, r~top, r~right, r~bottom)
::method defineDialog
self~createGroupBox( IDC_STATIC, 5, 5, 244, 65, , "Patient" )
self~createStaticText( IDC_STATIC, 14, 16, 95, 8, LEFT , "Name (Last, First, Middle):" )
self~createEdit( IDC_EDIT_NAME, 14, 26, 110, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 136, 16, 105, 8, LEFT , "Also known as / Maiden name:" )
self~createEdit( IDC_EDIT_AKA, 136, 26, 105, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 14, 43, 48, 8, LEFT , "Date of birth:" )
self~createEdit( IDC_EDIT_DOB1, 14, 53, 17, 12, AUTOSCROLLH NUMBER )
self~createStaticText( IDC_STATIC, 33, 55, 8, 8, CENTER , "/" )
self~createEdit( IDC_EDIT_DOB2, 44, 53, 17, 12, AUTOSCROLLH NUMBER )
self~createStaticText( IDC_STATIC, 64, 55, 8, 8, CENTER , "/" )
self~createEdit( IDC_EDIT_DOB3, 74, 53, 17, 12, AUTOSCROLLH NUMBER )
self~createStaticText( IDC_STATIC, 102, 43, 22, 8, LEFT , "Age:" )
self~createEdit( IDC_EDIT_AGE, 102, 53, 22, 12, AUTOSCROLLH NUMBER )
self~createStaticText( IDC_STATIC, 136, 43, 86, 8, LEFT , "Social Security Number:" )
self~createEdit( IDC_EDIT_SSN1, 136, 53, 19, 12, AUTOSCROLLH NUMBER )
self~createStaticText( IDC_STATIC, 195, 54, 8, 8, CENTER , "-" )
self~createEdit( IDC_EDIT_SSN2, 172, 53, 19, 12, AUTOSCROLLH NUMBER )
self~createStaticText( IDC_STATIC, 159, 54, 8, 8, CENTER , "-" )
self~createEdit( IDC_EDIT_SSN3, 209, 53, 31, 12, AUTOSCROLLH NUMBER )
self~createGroupBox( IDC_STATIC, 258, 6, 35, 37, , "Sex" )
self~createRadioButton( IDC_RB_M, 269, 16, 15, 8, GROUP TAB , "M" )
self~createRadioButton( IDC_RB_F, 269, 30, 15, 8, , "F" )
self~createGroupBox( IDC_STATIC, 311, 6, 159, 37, , "Language" )
self~createRadioButton( IDC_RB_CHINESE, 322, 16, 39, 8, GROUP TAB , "Chinese" )
self~createRadioButton( IDC_RB_ENGLISH, 322, 30, 39, 8, , "English" )
self~createRadioButton( IDC_RB_FRENCH, 374, 16, 39, 8, , "French" )
self~createRadioButton( IDC_RB_GERMAN, 374, 30, 39, 8, , "German" )
self~createRadioButton( IDC_RB_SPANISH, 422, 16, 39, 8, , "Spanish" )
self~createRadioButton( IDC_RB_OTHER, 422, 30, 39, 8, , "Other" )
self~createStaticText( IDC_STATIC, 258, 54, 30, 8, LEFT , "Religon:" )
self~createEdit( IDC_EDIT_RELIGON, 289, 53, 72, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 373, 54, 30, 8, LEFT , "Church:" )
self~createEdit( IDC_EDIT_CHURCH, 405, 53, 61, 12, AUTOSCROLLH )
self~createGroupBox( IDC_STATIC, 5, 75, 184, 37, , "Race" )
self~createRadioButton( IDC_RB_AFRICAN_AMERICAN, 14, 84, 68, 8, GROUP TAB , "African American" )
self~createRadioButton( IDC_RB_NATIVE_AMERICAN, 14, 98, 68, 8, , "Native American" )
self~createRadioButton( IDC_RB_ASIAN, 91, 84, 39, 8, , "Asian" )
self~createRadioButton( IDC_RB_CAUCASIAN, 91, 98, 47, 8, , "Caucasian" )
self~createRadioButton( IDC_RB_HISPANIC, 146, 84, 39, 8, , "Hispanic" )
self~createRadioButton( IDC_RB_OTHER_RACE, 146, 98, 39, 8, , "Other" )
self~createGroupBox( IDC_STATIC, 204, 75, 265, 37, , "Marital Status" )
self~createRadioButton( IDC_RB_MARRIED, 214, 84, 41, 8, GROUP TAB , "Married" )
self~createRadioButton( IDC_RB_SINGLE, 214, 98, 41, 8, , "Single" )
self~createRadioButton( IDC_RB_NEVER_MARRIED, 269, 84, 65, 8, , "Never Married" )
self~createRadioButton( IDC_RB_LEGALLY_SEPARATED, 269, 98, 73, 8, , "Legally Separated" )
self~createRadioButton( IDC_RB_LIFEPARTNER, 351, 83, 53, 8, , "Life Partner" )
self~createRadioButton( IDC_RB_DIVORCED, 415, 83, 48, 8, , "Divorced" )
self~createRadioButton( IDC_RB_WIDOWED, 351, 98, 54, 8, , "Widowed" )
self~createRadioButton( IDC_RB_OTHER_MARITAL, 415, 98, 39, 8, , "Other" )
self~createGroupBox( IDC_STATIC, 5, 119, 144, 77, , "Address" )
self~createStaticText( IDC_STATIC, 12, 132, 24, 8, RIGHT , "Street:" )
self~createEdit( IDC_EDIT_PATIENT_ADDRESS, 38, 130, 107, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 12, 148, 24, 8, RIGHT , "City:" )
self~createEdit( IDC_EDIT_PATIENT_CITY, 38, 146, 63, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 105, 148, 24, 8, RIGHT , "State:" )
self~createEdit( IDC_EDIT_PATIENT_STATE, 131, 146, 13, 12, AUTOSCROLLH UPPERCASE )
self~createStaticText( IDC_STATIC, 12, 164, 24, 8, RIGHT , "Zip:" )
self~createEdit( IDC_EDIT_PATIENT_ZIP, 38, 162, 26, 12, AUTOSCROLLH NUMBER )
self~createStaticText( IDC_STATIC, 77, 164, 24, 8, RIGHT , "Email:" )
self~createEdit( IDC_EDIT_EMAIL, 103, 162, 42, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 12, 180, 24, 8, RIGHT , "Phone:" )
self~createEdit( IDC_EDIT_PATIENT_PHONE, 38, 178, 35, 12, AUTOSCROLLH NUMBER )
self~createStaticText( IDC_STATIC, 77, 180, 24, 8, RIGHT , "Cell:" )
self~createEdit( IDC_EDIT_PATIENT_CELL, 103, 178, 42, 12, AUTOSCROLLH NUMBER )
self~createGroupBox( IDC_STATIC, 165, 119, 208, 77, , "Employment" )
self~createStaticText( IDC_STATIC, 168, 132, 34, 8, RIGHT , "Employer:" )
self~createEdit( IDC_EDIT_EMPLOYER, 206, 130, 100, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 168, 147, 34, 8, RIGHT , "Street:" )
self~createEdit( IDC_EDIT_EMPLOYER_STREET, 206, 145, 100, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 168, 163, 34, 8, RIGHT , "City:" )
self~createEdit( IDC_EDIT_EMPLOYER_CITY, 206, 161, 60, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 269, 163, 21, 8, RIGHT , "State:" )
self~createEdit( IDC_EDIT_EMPLOYER_STATE, 293, 161, 13, 12, AUTOSCROLLH UPPER )
self~createStaticText( IDC_STATIC, 168, 180, 34, 8, RIGHT , "Zip:" )
self~createEdit( IDC_EDIT_EMPLOYER_ZIP, 206, 178, 26, 12, AUTOSCROLLH NUMBER )
self~createStaticText( IDC_STATIC, 307, 133, 24, 8, RIGHT , "Phone:" )
self~createEdit( IDC_EDIT_EMPLOYER_PHONE, 333, 131, 35, 12, AUTOSCROLLH NUMBER )
self~createStaticText( IDC_STATIC, 307, 147, 24, 8, RIGHT , "Ext:" )
self~createEdit( IDC_EDIT_EMPLOYER_EXT, 333, 145, 35, 12, AUTOSCROLLH NUMBER )
self~createStaticText( IDC_STATIC, 238, 180, 43, 8, RIGHT , "Occupation:" )
self~createEdit( IDC_EDIT_OCCUPATION, 283, 178, 84, 12, AUTOSCROLLH )
self~createGroupBox( IDC_STATIC, 385, 119, 85, 77, , "Primary Care" )
self~createStaticText( IDC_STATIC, 395, 132, 66, 8, LEFT , "Primary Physician:" )
self~createEdit( IDC_EDIT_PHYSICIAN, 395, 145, 71, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 388, 163, 66, 8, RIGHT , "Phone - Extension:" )
self~createEdit( IDC_EDIT_PHYSICIAN_PHONE, 395, 178, 71, 12, AUTOSCROLLH NUMBER )
::class 'ContactsDlg' subclass UserControlDialog
::method init
use arg r, parent
self~init:super( , , parent)
self~create(r~left, r~top, r~right, r~bottom)
::method defineDialog
self~createGroupBox( IDC_STATIC, 5, 5, 244, 192, , "Guarantor" )
self~createStaticText( IDC_STATIC, 14, 16, 95, 8, LEFT , "Guarantor Name: " )
self~createEdit( IDC_EDIT_NAME_G, 14, 26, 110, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 136, 16, 105, 8, LEFT , "Relationship to patient:" )
self~createEdit( IDC_EDIT_RELATION_G, 136, 26, 105, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 14, 43, 48, 8, LEFT , "Date of birth:" )
self~createEdit( IDC_EDIT_DOB1_G, 14, 53, 17, 12, AUTOSCROLLH NUMBER )
self~createStaticText( IDC_STATIC, 33, 55, 8, 8, CENTER , "/" )
self~createEdit( IDC_EDIT_DOB2_G, 44, 53, 17, 12, AUTOSCROLLH NUMBER )
self~createStaticText( IDC_STATIC, 64, 55, 8, 8, CENTER , "/" )
self~createEdit( IDC_EDIT_DOB3_G, 74, 53, 17, 12, AUTOSCROLLH NUMBER )
self~createStaticText( IDC_STATIC, 102, 43, 22, 8, LEFT , "Age:" )
self~createEdit( IDC_EDIT_AGE_G, 102, 53, 22, 12, AUTOSCROLLH NUMBER )
self~createStaticText( IDC_STATIC, 136, 43, 86, 8, LEFT , "Social Security Number:" )
self~createEdit( IDC_EDIT_SSN1_G, 136, 53, 19, 12, AUTOSCROLLH NUMBER )
self~createStaticText( IDC_STATIC, 195, 54, 8, 8, CENTER , "-" )
self~createEdit( IDC_EDIT_SSN2_G, 172, 53, 19, 12, AUTOSCROLLH NUMBER )
self~createStaticText( IDC_STATIC, 159, 54, 8, 8, CENTER , "-" )
self~createEdit( IDC_EDIT_SSN3_G, 209, 53, 31, 12, AUTOSCROLLH NUMBER )
self~createGroupBox( IDC_STATIC, 6, 76, 35, 45, , "Sex" )
self~createRadioButton( IDC_RB_M_G, 17, 87, 15, 8, GROUP TAB , "M" )
self~createRadioButton( IDC_RB_F_G, 17, 103, 15, 8, , "F" )
self~createGroupBox( IDC_STATIC, 44, 76, 198, 45, , "Guarantor Employment" )
self~createStaticText( IDC_STATIC, 47, 89, 41, 8, RIGHT , "Employer:" )
self~createEdit( IDC_EDIT_EMPLOYER_G, 91, 87, 100, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 47, 105, 41, 8, RIGHT , "Occupation:" )
self~createEdit( IDC_EDIT_OCCUPATION_G, 91, 103, 100, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 202, 90, 24, 8, RIGHT , "Phone:" )
self~createEdit( IDC_EDIT_EMPLOYER_PHONE_G, 202, 103, 35, 12, AUTOSCROLLH NUMBER )
self~createGroupBox( IDC_STATIC, 44, 127, 198, 70, , "Guarantor Address" )
self~createStaticText( IDC_STATIC, 64, 140, 24, 8, RIGHT , "Street:" )
self~createEdit( IDC_EDIT_ADDRESS_G, 91, 138, 143, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 64, 156, 24, 8, RIGHT , "City:" )
self~createEdit( IDC_EDIT_CITY_G, 90, 154, 59, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 152, 156, 20, 8, RIGHT , "State:" )
self~createEdit( IDC_EDIT_STATE_G, 175, 154, 13, 12, AUTOSCROLLH UPPER )
self~createStaticText( IDC_STATIC, 189, 156, 15, 8, RIGHT , "Zip:" )
self~createEdit( IDC_EDIT_ZIP_G, 207, 154, 26, 12, AUTOSCROLLH NUMBER )
self~createStaticText( IDC_STATIC, 64, 172, 24, 8, RIGHT , "Phone:" )
self~createEdit( IDC_EDIT_PHONE_G, 90, 170, 51, 12, AUTOSCROLLH NUMBER )
self~createStaticText( IDC_STATIC, 148, 172, 24, 8, RIGHT , "Cell:" )
self~createEdit( IDC_EDIT_CELL_G, 175, 170, 58, 12, AUTOSCROLLH NUMBER )
self~createGroupBox( IDC_STATIC, 265, 5, 205, 91, , "Emergency Contact" )
self~createStaticText( IDC_STATIC, 274, 16, 77, 8, LEFT , "Name: " )
self~createEdit( IDC_EDIT_NAME_EC, 274, 26, 110, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 274, 43, 77, 8, LEFT , "Relationship to patient:" )
self~createEdit( IDC_EDIT_RELATION_EC, 274, 53, 110, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 274, 69, 41, 8, LEFT , "Employer:" )
self~createEdit( IDC_EDIT_EMPLOYER_EC, 274, 78, 110, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 391, 16, 66, 8, LEFT , "Phone:" )
self~createEdit( IDC_EDIT_PHONE_EC, 391, 26, 71, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 391, 43, 66, 8, LEFT , "Cell Phone:" )
self~createEdit( IDC_EDIT_CELL_EC, 391, 53, 71, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 391, 69, 66, 8, RIGHT , "Employment Phone:" )
self~createEdit( IDC_EDIT_EMPLOYER_PHONE_EC, 391, 78, 71, 12, AUTOSCROLLH NUMBER )
self~createGroupBox( IDC_STATIC, 265, 106, 205, 91, , "Next of Kin" )
self~createStaticText( IDC_STATIC, 274, 117, 77, 8, LEFT , "Name: " )
self~createEdit( IDC_EDIT_NAME_NOK, 274, 127, 110, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 274, 144, 77, 8, LEFT , "Relationship to patient:" )
self~createEdit( IDC_EDIT_RELATION_NOK, 274, 154, 110, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 274, 170, 41, 8, LEFT , "Employer:" )
self~createEdit( IDC_EDIT_EMPLOYER_NOK, 274, 179, 110, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 391, 117, 66, 8, LEFT , "Phone:" )
self~createEdit( IDC_EDIT_PHONE_NOK, 391, 127, 71, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 391, 144, 66, 8, LEFT , "Cell Phone:" )
self~createEdit( IDC_EDIT_CELL_NOK, 391, 154, 71, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 391, 170, 66, 8, RIGHT , "Employment Phone:" )
self~createEdit( IDC_EDIT_EMPLOYER_PHONE_NOK, 391, 179, 71, 12, AUTOSCROLLH NUMBER )
::class 'InsuranceDlg' subclass UserControlDialog
::method init
use arg r, parent
self~init:super( , , parent)
self~create(r~left, r~top, r~right, r~bottom)
::method defineDialog
self~createGroupBox( IDC_STATIC, 5, 5, 225, 192, , "Primary Insurance" )
self~createStaticText( IDC_STATIC, 28, 16, 95, 8, LEFT , "Insurance Company Name: " )
self~createEdit( IDC_EDIT_NAME_PI, 28, 26, 110, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 152, 16, 65, 8, LEFT , "Group" )
self~createEdit( IDC_EDIT_GROUP_PI, 152, 26, 65, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 28, 43, 48, 8, LEFT , "Effectiv Date:" )
self~createEdit( IDC_EDIT_DATE1_PI, 28, 53, 17, 12, AUTOSCROLLH NUMBER )
self~createStaticText( IDC_STATIC, 47, 55, 8, 8, CENTER , "/" )
self~createEdit( IDC_EDIT_DATE2_PI, 58, 53, 17, 12, AUTOSCROLLH NUMBER )
self~createStaticText( IDC_STATIC, 78, 55, 8, 8, CENTER , "/" )
self~createEdit( IDC_EDIT_DATE3_PI, 88, 53, 17, 12, AUTOSCROLLH NUMBER )
self~createStaticText( IDC_STATIC, 124, 43, 65, 8, LEFT , "Certificate Number:" )
self~createEdit( IDC_EDIT_CERTIFICATE_PI, 124, 53, 93, 12, AUTOSCROLLH NUMBER )
self~createGroupBox( IDC_STATIC, 20, 138, 198, 58, , "Subscriber" )
self~createStaticText( IDC_STATIC, 23, 150, 41, 8, RIGHT , "Name:" )
self~createEdit( IDC_EDIT_SUBSCRIBER_PI, 67, 148, 144, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 23, 166, 41, 8, RIGHT , "Employer:" )
self~createEdit( IDC_EDIT_EMPLOYER_PI, 67, 164, 144, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 23, 184, 78, 8, RIGHT , "Relationship to patient:" )
self~createEdit( IDC_EDIT_RELATION_PI, 104, 182, 107, 12, AUTOSCROLLH NUMBER )
self~createGroupBox( IDC_STATIC, 19, 69, 198, 62, , "Insurance Company Address" )
self~createStaticText( IDC_STATIC, 28, 82, 35, 8, RIGHT , "Street:" )
self~createEdit( IDC_EDIT_ADDRESS_PI, 66, 80, 143, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 28, 98, 35, 8, RIGHT , "City:" )
self~createEdit( IDC_EDIT_CITY_PI, 65, 96, 59, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 127, 98, 20, 8, RIGHT , "State:" )
self~createEdit( IDC_EDIT_STATE_PI, 150, 96, 13, 12, AUTOSCROLLH UPPER )
self~createStaticText( IDC_STATIC, 164, 98, 15, 8, RIGHT , "Zip:" )
self~createEdit( IDC_EDIT_ZIP_PI, 182, 96, 26, 12, AUTOSCROLLH NUMBER )
self~createStaticText( IDC_STATIC, 28, 114, 35, 8, RIGHT , "Phone 1:" )
self~createEdit( IDC_EDIT_PHONE1_PI, 65, 112, 51, 12, AUTOSCROLLH NUMBER )
self~createStaticText( IDC_STATIC, 116, 114, 31, 8, RIGHT , "Phone 2:" )
self~createEdit( IDC_EDIT_PHONE2_PI, 150, 112, 58, 12, AUTOSCROLLH NUMBER )
self~createGroupBox( IDC_STATIC, 245, 5, 225, 192, , "Secondary Insurance" )
self~createStaticText( IDC_STATIC, 268, 16, 95, 8, LEFT , "Insurance Company Name: " )
self~createEdit( IDC_EDIT_NAME_SI, 268, 26, 110, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 392, 16, 65, 8, LEFT , "Group" )
self~createEdit( IDC_EDIT_GROUP_SI, 392, 26, 65, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 268, 43, 48, 8, LEFT , "Effectiv Date:" )
self~createEdit( IDC_EDIT_DATE1_SI, 268, 53, 17, 12, AUTOSCROLLH NUMBER )
self~createStaticText( IDC_STATIC, 287, 53, 8, 8, CENTER , "/" )
self~createEdit( IDC_EDIT_DATE2_SI, 298, 53, 17, 12, AUTOSCROLLH NUMBER )
self~createStaticText( IDC_STATIC, 318, 53, 8, 8, CENTER , "/" )
self~createEdit( IDC_EDIT_DATE3_SI, 328, 53, 17, 12, AUTOSCROLLH NUMBER )
self~createStaticText( IDC_STATIC, 364, 43, 65, 8, LEFT , "Certificate Number:" )
self~createEdit( IDC_EDIT_CERTIFICATE_SI, 364, 53, 93, 12, AUTOSCROLLH NUMBER )
self~createGroupBox( IDC_STATIC, 259, 138, 198, 58, , "Subscriber" )
self~createStaticText( IDC_STATIC, 263, 150, 41, 8, RIGHT, "Name:" )
self~createEdit( IDC_EDIT_SUBSCRIBER_SI, 307, 148, 144, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 263, 166, 41, 8, RIGHT , "Employer:" )
self~createEdit( IDC_EDIT_EMPLOYER_SI, 307, 164, 144, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 263, 184, 78, 8, RIGHT , "Relationship to patient:" )
self~createEdit( IDC_EDIT_RELATION_SI, 343, 182, 107, 12, AUTOSCROLLH NUMBER )
self~createGroupBox( IDC_STATIC, 259, 69, 198, 62, , "Insurance Company Address" )
self~createStaticText( IDC_STATIC, 268, 80, 35, 8, RIGHT , "Street:" )
self~createEdit( IDC_EDIT_ADDRESS_SI, 306, 80, 143, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 268, 96, 35, 8, RIGHT , "City:" )
self~createEdit( IDC_EDIT_CITY_SI, 305, 96, 59, 12, AUTOSCROLLH )
self~createStaticText( IDC_STATIC, 367, 96, 20, 8, RIGHT , "State:" )
self~createEdit( IDC_EDIT_STATE_SI, 390, 96, 13, 12, AUTOSCROLLH UPPER )
self~createStaticText( IDC_STATIC, 404, 96, 15, 8, RIGHT , "Zip:" )
self~createEdit( IDC_EDIT_ZIP_SI, 422, 96, 26, 12, AUTOSCROLLH NUMBER )
self~createStaticText( IDC_STATIC, 268, 112, 35, 8, RIGHT , "Phone 1:" )
self~createEdit( IDC_EDIT_PHONE1_SI, 305, 112, 51, 12, AUTOSCROLLH NUMBER )
self~createStaticText( IDC_STATIC, 356, 112, 31, 8, RIGHT , "Phone 2:" )
self~createEdit( IDC_EDIT_PHONE2_SI, 390, 112, 58, 12, AUTOSCROLLH NUMBER )
::class 'HistoryDlg' subclass UserControlDialog
::attribute initDialogDone unguarded
::method init
expose descriptions
use arg r, parent, descriptions
self~init:super( , , parent)
self~initDialogDone = .false
self~create(r~left, r~top, r~right, r~bottom)
::method defineDialog
gbText = "Indicate if you or anyone in your family has (or has had) any of these conditions:"
st1Txt = "Yourself"
st2Txt = "Family Member"
self~createGroupBox( IDC_STATIC , 5, 5, 465, 192, , gbText)
self~createStaticText( IDC_STATIC , 6, 17, 229, 10, CENTER , st1Txt)
self~createListView( IDC_LV_SELF , 5, 30, 229, 167, TAB ALIGNLEFT SINGLESEL REPORT )
self~createStaticText( IDC_STATIC , 241, 17, 229, 10, CENTER , st2Txt)
self~createListView( IDC_LV_FAMILY, 241, 30, 229, 167, TAB ALIGNLEFT SINGLESEL REPORT )
::method initDialog unguarded
expose lvSelf lvFamily descriptions
lvSelf = self~newListView(IDC_LV_SELF)
lvSelf~addExtendedStyle('CHECKBOXES')
s = lvSelf~getRealSize
s~width -= (.SM~cxVscroll * 2)
lvSelf~insertColumnPx(0, "Description", s~width)
do d over descriptions
lvSelf~addRow( , , d)
end
lvFamily = self~newListView(IDC_LV_FAMILY)
lvFamily~addExtendedStyle('CHECKBOXES')
s = lvFamily~getRealSize
s~width -= (.SM~cxVscroll * 2)
lvFamily~insertColumnPx(0, "Description", s~width)
do d over descriptions
lvFamily~addRow( , , d)
end
self~initDialogDone = .true