VMS UIL Compiler V2.0-000 21-JUL-1991 15:58:06.85 Page 1 Module: LOAN_DISPLAY Version: V1.0 1 (0) ! 2 (0) ! LOAN_DISPLAY.UIL User Interface for the LOAN program 3 (0) ! 4 (0) ! The initial height and width of the ADB are set in the LOAN.DAT resource file. 5 (0) ! 6 (0) ! 7 (0) module loan_display 8 (0) version = 'V1.0' 9 (0) names = case_insensitive 10 (0) objects = { 11 (0) Label = gadget; 12 (0) Push_Button = gadget; 13 (0) } 14 (0) 15 (0) include file 'DwtAppl.uil'; 1 (1) !+++ 2 (1) ! COPYRIGHT (c) 1988 BY 3 (1) ! DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS. 4 (1) ! ALL RIGHTS RESERVED. 5 (1) ! 6 (1) ! THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED 7 (1) ! ONLY IN ACCORDANCE OF THE TERMS OF SUCH LICENSE AND WITH THE 8 (1) ! INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER 9 (1) ! COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY 10 (1) ! OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY 11 (1) ! TRANSFERRED. 12 (1) ! 13 (1) ! THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE 14 (1) ! AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT 15 (1) ! CORPORATION. 16 (1) ! 17 (1) ! DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS 18 (1) ! SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL. 19 (1) !--- 20 (1) 21 (1) !+++ 22 (1) ! This file contains value definitions which can be used as 23 (1) ! the values of some arguments of some types of widgets. 24 (1) !--- 25 (1) 26 (1) 27 (1) !+++ 28 (1) ! alignments 29 (1) !--- 30 (1) 31 (1) value DwtAlignmentCenter : 1; 32 (1) value DwtAlignmentBeginning : 2; 33 (1) value DwtAlignmentEnd : 3; 34 (1) 35 (1) !+++ 36 (1) ! label type 37 (1) !--- 38 (1) 39 (1) value DwtPixmap : 1; 40 (1) value DwtCString : 2; 41 (1) 42 (1) !+++ VMS UIL Compiler V2.0-000 21-JUL-1991 15:58:06.85 Page 2 Module: LOAN_DISPLAY Version: V1.0 43 (1) ! togglebutton shapes 44 (1) !--- 45 (1) 46 (1) value DwtRectangular : 1; 47 (1) value DwtOval : 2; 48 (1) 49 (1) !+++ 50 (1) ! orientations 51 (1) !--- 52 (1) 53 (1) value DwtOrientationVertical : 1; 54 (1) value DwtOrientationHorizontal : 2; 55 (1) 56 (1) !+++ 57 (1) ! resize modes 58 (1) !--- 59 (1) 60 (1) value DwtResizeFixed : 0; 61 (1) value DwtResizeGrowOnly : 1; 62 (1) value DwtResizeShrinkWrap : 2; 63 (1) 64 (1) !+++ 65 (1) ! dialog styles 66 (1) !--- 67 (1) 68 (1) value DwtModal : 1; 69 (1) value DwtModeless : 2; 70 (1) value DwtWorkarea : 3; 71 (1) 72 (1) !+++ 73 (1) ! menu styles 74 (1) !--- 75 (1) 76 (1) value DwtMenuBarType : 0; 77 (1) value DwtMenuWorkArea : 1; 78 (1) value DwtMenuPulldown : 2; 79 (1) value DwtMenuPopup : 3; 80 (1) value DwtMenuOption : 5; 81 (1) 82 (1) !+++ 83 (1) ! menu packing styles 84 (1) !--- 85 (1) 86 (1) value DwtMenuPackingTight : 0; 87 (1) value DwtMenuPackingColumn : 1; 88 (1) value DwtMenuPackingNone : 2; 89 (1) 90 (1) !+++ 91 (1) ! caution box 92 (1) !--- 93 (1) 94 (1) value DwtYesButton : 0; 95 (1) value DwtNoButton : 1; 96 (1) value DwtCancelButton : 2; 97 (1) 98 (1) !+++ 99 (1) ! font unit positioning VMS UIL Compiler V2.0-000 21-JUL-1991 15:58:06.85 Page 3 Module: LOAN_DISPLAY Version: V1.0 100 (1) !--- 101 (1) 102 (1) value DwtFontUnits : 0; 103 (1) value DwtPixelUnits : 1; 104 (1) 105 (1) !+++ 106 (1) ! attached dialog box 107 (1) !--- 108 (1) 109 (1) value DwtAttachNone : 0; 110 (1) value DwtAttachAdb : 1; 111 (1) value DwtAttachWidget : 2; 112 (1) value DwtAttachPosition : 3; 113 (1) value DwtAttachSelf : 4; 114 (1) value DwtAttachOppWidget : 5; 115 (1) value DwtAttachOppAdb : 6; 116 (1) 16 (0) 17 (0) value 18 (0) k_interval_weekly: 0; 19 (0) k_interval_fortnightly: 1; 20 (0) k_interval_monthly: 2; 21 (0) k_interval_bimonthly: 3; 22 (0) k_interval_quarterly: 4; 23 (0) k_interval_6monthly: 5; 24 (0) k_interval_yearly: 6; 25 (0) 26 (0) k_field_principal: 0; 27 (0) k_field_rate: 1; 28 (0) k_field_payment: 2; 29 (0) 30 (0) title_y_offset: 0; 31 (0) input_y_offset: 10; 32 (0) hist_y_offset: 20; 33 (0) 34 (0) list_box_font: font ('-Adobe-Courier-Bold-R-Normal--*-120-*-*-M-*-ISO8859-1'); 35 (0) 36 (0) procedure 37 (0) create_data_field (integer); 38 (0) create_list_box (); 39 (0) set_interval (integer); 40 (0) text_value_changed (integer); 41 (0) calculate_button_pressed (); 42 (0) quit (); 43 (0) 44 (0) object 45 (0) main: Attached_Dialog_Box { 46 (0) controls { 47 (0) Label title; 48 (0) Label loan_label; Simple_Text loan_field; 49 (0) Label rate_label; Simple_text rate_field; Label rate_label_2; 50 (0) Option_Menu repayment_interval; 51 (0) Label qty_label; Simple_Text qty_field; 52 (0) Label rep_hist_title; 53 (0) List_Box repayment_history; 54 (0) Push_Button Calculate_button; 55 (0) Push_Button Quit_Button; VMS UIL Compiler V2.0-000 21-JUL-1991 15:58:06.85 Page 4 Module: LOAN_DISPLAY Version: V1.0 56 (0) }; 57 (0) }; 58 (0) 59 (0) title: Label { 60 (0) arguments { 61 (0) adb_left_attachment = DwtAttachAdb; 62 (0) adb_right_attachment = DwtAttachAdb; 63 (0) label_label = compound_string ('Home Mortgage Repayments Predictor'); 64 (0) }; 65 (0) }; 66 (0) 67 (0) loan_field: Simple_Text { 68 (0) arguments { 69 (0) adb_top_attachment = DwtAttachWidget; 70 (0) adb_top_widget = Label title; 71 (0) adb_top_offset = 16; 72 (0) adb_left_attachment = DwtAttachPosition; 73 (0) adb_left_position = 50; 74 (0) rows = 1; 75 (0) cols = 10; 76 (0) max_length = 10; 77 (0) resize_height = False; 78 (0) resize_width = False; 79 (0) }; 80 (0) callbacks { 81 (0) create = procedure create_data_field (k_field_principal); 82 (0) ! value_changed = procedure text_value_changed (k_field_principal); 83 (0) }; 84 (0) }; 85 (0) 86 (0) rate_field: Simple_Text { 87 (0) arguments { 88 (0) adb_top_attachment = DwtAttachWidget; 89 (0) adb_top_widget = Simple_Text loan_field; 90 (0) adb_top_offset = input_y_offset; 91 (0) adb_left_attachment = DwtAttachOppWidget; 92 (0) adb_left_widget = Simple_Text loan_field; 93 (0) adb_left_offset = 0; 94 (0) rows = 1; 95 (0) cols = 5; 96 (0) max_length = 5; 97 (0) resize_height = False; 98 (0) resize_width = False; 99 (0) }; 100 (0) callbacks { 101 (0) create = procedure create_data_field (k_field_rate); 102 (0) ! value_changed = procedure text_value_changed (k_field_rate); 103 (0) }; 104 (0) }; 105 (0) 106 (0) qty_field: Simple_Text { 107 (0) arguments { 108 (0) adb_top_attachment = DwtAttachWidget; 109 (0) adb_top_widget = Simple_Text rate_field; 110 (0) adb_top_offset = input_y_offset; 111 (0) adb_left_attachment = DwtAttachOppWidget; 112 (0) adb_left_widget = Simple_Text loan_field; VMS UIL Compiler V2.0-000 21-JUL-1991 15:58:06.85 Page 5 Module: LOAN_DISPLAY Version: V1.0 113 (0) adb_left_offset = 0; 114 (0) rows = 1; 115 (0) cols = 10; 116 (0) max_length = 10; 117 (0) resize_height = False; 118 (0) resize_width = False; 119 (0) }; 120 (0) callbacks { 121 (0) create = procedure create_data_field (k_field_payment); 122 (0) ! value_changed = procedure text_value_changed (k_field_payment); 123 (0) }; 124 (0) }; 125 (0) 126 (0) loan_label: Label { 127 (0) arguments { 128 (0) adb_top_attachment = DwtAttachOppWidget; 129 (0) adb_top_widget = Simple_Text loan_field; 130 (0) adb_top_offset = 2; 131 (0) adb_right_attachment = DwtAttachWidget; 132 (0) adb_right_widget = Simple_Text loan_field; 133 (0) adb_right_offset = 0; 134 (0) label_label = compound_string ('Loan (Principal) $'); 135 (0) }; 136 (0) }; 137 (0) 138 (0) rate_label: Label { 139 (0) arguments { 140 (0) adb_top_attachment = DwtAttachOppWidget; 141 (0) adb_top_widget = Simple_Text rate_field; 142 (0) adb_top_offset = 2; 143 (0) adb_right_attachment = DwtAttachWidget; 144 (0) adb_right_widget = Simple_Text rate_field; 145 (0) adb_right_offset = 0; 146 (0) label_label = compound_string ('Interest Rate'); 147 (0) }; 148 (0) }; 149 (0) 150 (0) rate_label_2: Label { 151 (0) arguments { 152 (0) adb_top_attachment = DwtAttachOppWidget; 153 (0) adb_top_widget = Label rate_label; 154 (0) adb_top_offset = 0; 155 (0) adb_left_attachment = DwtAttachWidget; 156 (0) adb_left_widget = Simple_Text rate_field; 157 (0) adb_left_offset = 0; 158 (0) label_label = compound_string ('% per annum'); 159 (0) }; 160 (0) }; 161 (0) 162 (0) qty_label: Label { 163 (0) arguments { 164 (0) adb_top_attachment = DwtAttachOppWidget; 165 (0) adb_top_widget = Simple_Text qty_field; 166 (0) adb_top_offset = 2; 167 (0) adb_right_attachment = DwtAttachWidget; 168 (0) adb_right_widget = Simple_Text qty_field; 169 (0) adb_right_offset = 0; VMS UIL Compiler V2.0-000 21-JUL-1991 15:58:06.85 Page 6 Module: LOAN_DISPLAY Version: V1.0 170 (0) label_label = compound_string ('Repayment per interval $'); 171 (0) }; 172 (0) }; 173 (0) 174 (0) repayment_interval: 175 (0) Option_Menu { 176 (0) arguments { 177 (0) adb_top_attachment = DwtAttachWidget; 178 (0) adb_top_widget = Simple_Text qty_field; 179 (0) adb_top_offset = input_y_offset; 180 (0) adb_left_attachment = DwtAttachOppWidget; 181 (0) adb_left_widget = Label qty_label; 182 (0) adb_left_offset = 0; 183 (0) label_label = compound_string ('Repayment Interval'); 184 (0) menu_history = Push_Button interval_monthly; 185 (0) }; 186 (0) controls { Pulldown_Menu interval_menu; }; 187 (0) }; 188 (0) 189 (0) Rep_Hist_Title: 190 (0) Label { 191 (0) arguments { 192 (0) adb_top_attachment = DwtAttachWidget; 193 (0) adb_top_widget = Option_Menu repayment_interval; 194 (0) adb_top_offset = hist_y_offset; 195 (0) adb_left_attachment = DwtAttachPosition; 196 (0) adb_left_position = 15; 197 (0) label_label = compound_string(" Interval Amount Total ",separate=true) & 198 (0) compound_string(" Number Outstanding Repaid "); 199 (0) border_width = 2; 200 (0) }; 201 (0) }; 202 (0) 203 (0) Repayment_History: 204 (0) List_Box { 205 (0) arguments { 206 (0) adb_top_attachment = DwtAttachWidget; 207 (0) adb_top_widget = Label rep_hist_title; 208 (0) adb_top_offset = -2; 209 (0) adb_left_attachment = DwtAttachOppWidget; 210 (0) adb_left_widget = Label rep_hist_title; 211 (0) adb_left_offset = 0; 212 (0) adb_right_attachment = DwtAttachOppWidget; 213 (0) adb_right_widget = Label rep_hist_title; 214 (0) adb_right_offset = 0; 215 (0) border_width = 2; 216 (0) visible_items_count = 5; 217 (0) font_argument = font_table(list_box_font); 218 (0) }; 219 (0) callbacks { create = procedure create_list_box (); }; 220 (0) }; 221 (0) 222 (0) Calculate_Button: 223 (0) Push_Button Widget { 224 (0) arguments { 225 (0) adb_top_attachment = DwtAttachWidget; 226 (0) adb_top_widget = List_Box Repayment_History; VMS UIL Compiler V2.0-000 21-JUL-1991 15:58:06.85 Page 7 Module: LOAN_DISPLAY Version: V1.0 227 (0) adb_top_offset = 30; 228 (0) adb_left_attachment = DwtAttachPosition; 229 (0) adb_left_position = 10; 230 (0) label_label = "Calculate"; 231 (0) border_highlight = True; 232 (0) }; 233 (0) callbacks { activate = procedure calculate_button_pressed (); }; 234 (0) }; 235 (0) 236 (0) Quit_Button: Push_Button { 237 (0) arguments { 238 (0) adb_top_attachment = DwtAttachOppWidget; 239 (0) adb_top_widget = Push_Button Calculate_Button; 240 (0) adb_top_offset = 0; 241 (0) adb_right_attachment = DwtAttachPosition; 242 (0) adb_right_position = 90; 243 (0) label_label = "Quit"; 244 (0) }; 245 (0) callbacks { activate = procedure Quit (); }; 246 (0) }; 247 (0) 248 (0) interval_menu: 249 (0) Pulldown_Menu { 250 (0) controls { 251 (0) Push_Button interval_weekly; 252 (0) Push_Button interval_fortnightly; 253 (0) Push_Button interval_monthly; 254 (0) Push_Button interval_bimonthly; 255 (0) Push_Button interval_quarterly; 256 (0) Push_Button interval_6monthly; 257 (0) Push_Button interval_yearly; 258 (0) }; 259 (0) }; 260 (0) 261 (0) interval_weekly: 262 (0) Push_Button { 263 (0) arguments { 264 (0) label_label = compound_string('Every Week'); 265 (0) }; 266 (0) callbacks { 267 (0) activate = procedure set_interval (k_interval_weekly); 268 (0) }; 269 (0) }; 270 (0) 271 (0) interval_fortnightly: 272 (0) Push_Button { 273 (0) arguments { 274 (0) label_label = compound_string('Every Fortnight'); 275 (0) }; 276 (0) callbacks { 277 (0) activate = procedure set_interval (k_interval_fortnightly); 278 (0) }; 279 (0) }; 280 (0) 281 (0) interval_monthly: 282 (0) Push_Button { 283 (0) arguments { VMS UIL Compiler V2.0-000 21-JUL-1991 15:58:06.85 Page 8 Module: LOAN_DISPLAY Version: V1.0 284 (0) label_label = compound_string('Every Month'); 285 (0) }; 286 (0) callbacks { 287 (0) activate = procedure set_interval (k_interval_monthly); 288 (0) }; 289 (0) }; 290 (0) 291 (0) interval_bimonthly: 292 (0) Push_Button { 293 (0) arguments { 294 (0) label_label = compound_string('Every Two Months'); 295 (0) }; 296 (0) callbacks { 297 (0) activate = procedure set_interval (k_interval_bimonthly); 298 (0) }; 299 (0) }; 300 (0) 301 (0) interval_quarterly: 302 (0) Push_Button { 303 (0) arguments { 304 (0) label_label = compound_string('Every Quarter'); 305 (0) }; 306 (0) callbacks { 307 (0) activate = procedure set_interval (k_interval_quarterly); 308 (0) }; 309 (0) }; 310 (0) 311 (0) interval_6monthly: 312 (0) Push_Button { 313 (0) arguments { 314 (0) label_label = compound_string('Every 6 Months'); 315 (0) }; 316 (0) callbacks { 317 (0) activate = procedure set_interval (k_interval_6monthly); 318 (0) }; 319 (0) }; 320 (0) 321 (0) interval_yearly: 322 (0) Push_Button { 323 (0) arguments { 324 (0) label_label = compound_string('Every Year'); 325 (0) }; 326 (0) callbacks { 327 (0) activate = procedure set_interval (k_interval_yearly); 328 (0) }; 329 (0) }; 330 (0) 331 (0) end module; File (0) $USERS:[JEREMY.LOAN]LOAN_DISPLAY.UIL;71 File (1) SYS$COMMON:[DECW$INCLUDE]DWTAPPL.UIL;1