Project

General

Profile

Revision 64

changed layout of debugger view, added some sort of logic for not showing evals on tooltips for keywords,
add debugger restart logic, fixed some icon assignments, fixed off by one line error in breakpoint activation

View differences:

vdfdbg.vw
141 141
Object oVdfdbg is a dbView
142 142

  
143 143
    Set Border_Style to Border_Thick
144
    Set Size to 346 469
144
    Set Size to 346 769
145 145
    Set Location to 3 4
146 146
    Set Maximize_Icon to True
147 147
    
148 148
    Set phoDebuggerHost To Self
149
    Object oDebugSplitterContainer is a cSplitterContainer
150
      Set pbSplitVertical to False
151
      Set piSplitterLocation to 200
152
      Object oEditorSplitter is a cSplitterContainerChild
153
        Object oCodeMax is a cSplatCodeMax
154
          Set Size to 188 459
155
          Set Location to 6 6
156
          Set peAnchors to anAll
149
    Object oVerticalSplitterContainer is a cSplitterContainer
150
      Set pbSplitVertical to True
151
      Set piSplitterLocation to 559
152
      Object oLeftPanelSplitter is a cSplitterContainerChild
153
        Object oDebugSplitterContainer is a cSplitterContainer
154
          Set pbSplitVertical to False
155
          Set piSplitterLocation to 200
156
          Object oTopPanelSplitter is a cSplitterContainerChild
157
            Object oCodeMax is a cSplatCodeMax
158
              Set Size to 188 553
159
              Set Location to 6 6
160
              Set peAnchors to anAll
161
              
162
              Set phoEditor To Self
163
            
164
                Procedure OnCreate
165
                  Variant vImageList
166
                  Boolean bCreated
167
                  Handle  hoLanguage
168
                  
169
                  Forward Send OnCreate
170
                  
171
                  // ToDo: Set the ActiveX properties here...
172
                  Get ComImageList  To vImageList
173
                  //Set ComHImageList 0  // OLE_HANDLE value
174
                  
175
                End_Procedure
176
        
177
              Embed_ActiveX_Resource
178
              6AMAAAgAAgAAAAAACAACAAAAAAAAAQEBAAAAAQEBAQAAAQAAAAAAAAAAAAAAAAHpAwAAAQEBAAEBAAEEAP//////////////////////////////////////////QwBv
179
              AHUAcgBpAGUAcgAgAE4AZQB3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAA/////wAAAAAAAAABAAAACgAAAAEAAf//////
180
              ////AAAAAAABAAAAAQAAAE0uAAB2FwAA.
181
              End_Embed_ActiveX_Resource
182
            
183
            End_Object
184
          End_Object
185
          Object oBottomPanelSplitter Is a cSplitterContainerChild
186
            Object oDebug_TD is a TabDialog
187
              Set Size to 135 553
188
              Set Location to 4 6
189
              Set peAnchors to anAll
157 190
          
158
          Set phoEditor To Self
159
        
160
            Procedure OnCreate
161
              Variant vImageList
162
              Boolean bCreated
163
              Handle  hoLanguage
191
              Object oGlobalVariables_TP is a TabPage
192
                Set Label to "Global Variables"
193
                
194
                Object oGlobalVarContainer is a Container3d
195
                  Set Size to 131 540
196
                  Set Location to 2 2
197
                  Set peAnchors to anAll
198
                  Set Border_Style to Border_StaticEdge
199
                  Set phoGlobalVarHost To Self
200
            
201
                  
202
                  Procedure CreateObjectCallback Handle hoObject
203
                    Handle hoGlobalVar
204
                    
205
                    If (hoObject) Begin
206
                      Get phoGlobalVariables To hoGlobalVar
207
                      If (hoObject=hoGlobalVar) Begin
208
                        Set Size                     Of hoGlobalVar To 118 359
209
                        Set Location                 Of hoGlobalVar To 8 8
210
                        Set peAnchors                Of hoGlobalVar To anAll
211
                      End
212
                    End
213
                  End_Procedure // CreateObjectCallback
214
                End_Object
215
              End_Object
216
          
217
              Object oWatches_TP is a TabPage
218
                Set Label to "Watches"
219
          
220
                Object oWatchesContainer is a Container3d
221
                  Set Size to 131 540
222
                  Set Location to 2 2
223
                  Set peAnchors to anAll
224
                  Set Border_Style to Border_StaticEdge
225
                
226
                  Set phoWatchesHost To Self
227
                  
228
                  Procedure CreateObjectCallback Handle hoObject
229
                    Handle hoWatches
230
                    
231
                    If (hoObject) Begin
232
                      Get phoWatches To hoWatches
233
                      If (hoObject=hoWatches) Begin
234
                        Set Size                     Of hoWatches To 118 361
235
                        Set Location                 Of hoWatches To 9 6
236
                        Set peAnchors                Of hoWatches To anAll
237
                      End
238
                    End
239
                  End_Procedure // CreateObjectCallback
240
                End_Object
241
              End_Object
242
          
243
              Object oTrace_TP is a TabPage
244
                Set Label to "Trace"
245
                
246
                Object oTraceContainer is a Container3d
247
                  Set Size to 131 540
248
                  Set Location to 2 2
249
                  Set peAnchors to anAll
250
                  Set Border_Style to Border_StaticEdge
251
                  Set phoTraceHost To Self
252
                  
253
                  Procedure CreateObjectCallback Handle hoObject
254
                    Handle hoTrace
255
                    
256
                    If (hoObject) Begin
257
                      Get phoTrace To hoTrace
258
                      If (hoObject=hoTrace) Begin
259
                        Set Size                     Of hoTrace To 118 359
260
                        Set Location                 Of hoTrace To 9 6
261
                        Set Label                    Of hoTrace To "Trace"
262
                        Set peAnchors                Of hoTrace To anAll
263
                      End
264
                    End
265
                  End_Procedure // CreateObjectCallback
266
                End_Object
267
              End_Object
268
          
269
              //Object oDACTreelist_TP is a TabPage
270
              //  Set Label to "DACTreeList (not used)"
271
              //  // I do not think we are going to use this one.
272
              //  Object oComCDACTreeListCtl1 is a cComCDACTreeListCtl
273
              //    Set Size to 100 100
274
              //    Set Location to 10 35
275
              //
276
              //      Procedure OnCreate
277
              //          Forward Send OnCreate
278
              //          // ToDo: Set the ActiveX properties here...
279
              //      End_Procedure
280
              //
281
              //  End_Object
282
              //End_Object
283
          
284
              Object oTables_TP is a TabPage
285
                Set Label to "Tables"
286
                
287
                Object oTablesContainer is a Container3d
288
                  Set Size to 131 540
289
                  Set Location to 2 2
290
                  Set peAnchors to anAll
291
                  Set Border_Style to Border_StaticEdge
292
                  Set phoTablesHost To Self
293
            
294
                  
295
                  Procedure CreateObjectCallback Handle hoObject
296
                    Handle hoTables
297
                    
298
                    If (hoObject) Begin
299
                      Get phoTablesWindow To hoTables
300
                      If (hoObject=hoTables) Begin
301
                        Set Size                     Of hoTables To 118 363
302
                        Set Location                 Of hoTables To 7 6
303
                        Set peAnchors                Of hoTables To anAll
304
                      End
305
                    End
306
                  End_Procedure // CreateObjectCallback
307
                End_Object
308
              End_Object
309
              Object oBreakpoints_TP is a TabPage
310
                Set Label to "Breakpoints"
311
                Object oBreakPointsContainer is a Container3d
312
                  Set Size to 131 540
313
                  Set Location to 2 2
314
                  Set peAnchors to anAll
315
                  Set Border_Style to Border_StaticEdge
316
            
317
                  Object oBreakpointsGrid is a cCJGrid
318
                    Set Size to 112 382
319
                    Set Location to 6 10
320
                    Set peAnchors to anAll
321
                    Set pbReadOnly to True
322
                    Set phoBreakpointsGrid To Self
164 323
              
165
              Forward Send OnCreate
324
                    Object oBPContextMenu Is a cBreakPointsGridContextMenu
325
                    End_Object
326
                    
327
                    Set phoContextMenu To oBPContextMenu
328
                    // Need to move to subclass for this technique, maybe later.
329
                    //Function CreateContextMenu Returns Handle
330
                    //  Handle hoMenu
331
                    //
332
                    //  Get Create (RefClass(cBreakPointsGridContextMenu)) To hoMenu
333
                    //  If (hoMenu) Begin
334
                    //    Set Name Of hoMenu To "oBPContextMenu"
335
                    //  End
336
                    //  Function_Return hoMenu
337
                    //End_Function
338
            
339
                    Object oEnabledColumn is a cCJGridColumn
340
                      Set piWidth to 57
341
                      Set psCaption to "Active"
342
                      Set pbCheckbox to True
343
                      Set pbResizable to False
344
                    End_Object
345
            
346
                    Object oLineColumn is a cCJGridColumn
347
                      Set piWidth to 85
348
                      Set psCaption to "Line"
349
                      Set peDataType to Mask_Numeric_Window
350
                      Set pbResizable to False
351
                    End_Object
352
            
353
                    Object oFileNameColumn is a cCJGridColumn
354
                      Set piWidth to 351
355
                      Set psCaption to "File"
356
                    End_Object
357
                    
358
                    //
359
                    // Procedure ComSetCaretPos Integer llLine Integer llCol
360
                    //
361
                    // Procedure ComSelectLine Integer llLine Boolean llMakeVisible
362
                    
363
                    Procedure LoadData
364
                      Handle  hoDataSource
365
                      Handle  hoDebug
366
                      Boolean bFound
367
                      Boolean bIsCreated
368
                      Integer iBreak
369
                      Integer iCount
370
                      Integer iRows
371
                      Integer iActive
372
                      Integer iLine
373
                      Integer iFile
374
                      tDataSourceRow[] TheData
375
                      tBreakPoints[] BP
376
                      
377
                      Get phoDataSource to hoDataSource
378
                      Get phoDebugger   to hoDebug
379
                      
380
                      // Get the datasource indexes of the various columns
381
                      Get piColumnId of oEnabledColumn  to iActive
382
                      Get piColumnId of oLineColumn     to iLine
383
                      Get piColumnId of oFileNameColumn to iFile
166 384
              
167
              // ToDo: Set the ActiveX properties here...
168
              Get ComImageList  To vImageList
169
              //Set ComHImageList 0  // OLE_HANDLE value
385
                      // Load all data into the datasource array
386
                      If (hoDebug) Begin
387
                        Get pBreakPoints of hoDebug To BP
388
                      End
389
                      Move (SizeOfArray(BP)) To iCount
390
                      For iBreak from 0 To (iCount-1)
391
                        // BP[iBreak].bHasCondition
392
                        // BP[iBreak].sExpression
393
                        
394
                        //If (BP[iBreak].bEnabled) Move "Y" To TheData[iRows].sValue[iActive]
395
                        //Else Move "N" To TheData[iRows].sValue[iActive]
396
                        Move BP[iBreak].bEnabled  To TheData[iRows].sValue[iActive]
397
                        Move BP[iBreak].iLine     To TheData[iRows].sValue[iLine]
398
                        Move BP[iBreak].sFileName To TheData[iRows].sValue[iFile]
399
                        Increment iRows
400
                      Loop
401
                      
402
                      Get IsComObjectCreated To bIsCreated
403
                      If (bIsCreated) Begin
404
                        // Initialize Grid with new data
405
                        Send InitializeData TheData
406
                        Send MovetoFirstRow
407
                      End
408
                    End_Procedure
409
                    
410
                  End_Object
411
      
412
                  Object oButton3 is a Button
413
                    Set Size to 14 61
414
                    Set Location to 57 410
415
                    Set Label to "add breakpoint"
416
                    Set peAnchors to anTopRight
417
                    
418
                    Procedure OnClick
419
                      Integer iLine
420
                      String  sFileName
421
                      Boolean bSuccess
422
                      Handle  hoDebugger
423
                      Handle  hoEditor
424
                      
425
                      Get phoDebugger to hoDebugger
426
                      Get phoEditor   to hoEditor
427
                      If (hoDebugger<>0 and hoEditor<>0) Begin
428
                        
429
                        Get psFileName    of hoEditor to sFileName
430
                        Get piCurrentLine of hoEditor to iLine
431
                        If (sFileName<>"" and iLine<>0) Begin
432
                          Get SetBreakPoint of hoDebugger sFileName (&iLine) to bSuccess
433
                          Send info_box ("Set breakpoint at line"*trim(iLine)*"success="*trim(bSuccess))
434
                          //Send ComSetMarginImages iLine 1
435
                        End
436
                      End
437
              // in codemax
438
              //    // turns on/off margin images for a specific line
439
              //    Procedure ComSetMarginImages Integer llLine UChar llImages
440
              //
441
              //    // sets the line margin images
442
              //    Procedure Set ComHImageList OLE_HANDLE value
443
              //
444
              //    // sets the line margin images
445
              //    Function ComHImageList Returns OLE_HANDLE
446
              //    // Returns the first line number with the specified margin images
447
              //    Function ComFindLineMatchingMarginImages Integer llStartLine UChar llImages Returns Integer
448
              // in debugger
449
              //    // Sets the specified breakpoint
450
              //    Function ComSetBreakPoint String llfile UInteger ByRef llline Returns Boolean
451
                    End_Procedure
452
                    
453
                  End_Object
454
                End_Object
455
                
456
                Procedure DisplayTabDetails
457
                  Send LoadData of oBreakpointsGrid
458
                End_Procedure
459
              End_Object // TP
460
          
170 461
              
171
            End_Procedure
172
    
173
          Embed_ActiveX_Resource
174
          6AMAAAgAAgAAAAAACAACAAAAAAAAAQEBAAAAAQEBAQAAAQAAAAAAAAAAAAAAAAHpAwAAAQEBAAEBAAEEAP//////////////////////////////////////////QwBv
175
          AHUAcgBpAGUAcgAgAE4AZQB3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAA/////wAAAAAAAAABAAAACgAAAAEAAf//////
176
          ////AAAAAAABAAAAAQAAAE0uAAB2FwAA.
177
          End_Embed_ActiveX_Resource
178
        
179
        End_Object
180
        
181
        
462
              Function Tab_Change Integer iToTab Integer ePointerMode Returns Integer
463
                Handle  hoToTab
464
                Integer iCurrentTab
465
                Integer iRetVal
466
                
467
                Get Current_Tab To iCurrentTab
468
                Forward Get Tab_Change iToTab ePointerMode To iRetVal
469
                If (iCurrentTab<>-1 and iRetval=0) Begin
470
                  Get Tab_Page_Id iToTab To hoToTab
471
                  If (hoToTab=oBreakPoints_TP) Begin
472
                    Send DisplayTabDetails of hoToTab
473
                  End
474
                End
475
                Function_Return iRetVal
476
              End_Function
477
              
478
            End_Object  // oDebug_TD
479
          
480
          End_Object // oDebugPanelSplitter
481
        End_Object // oSplitterContainer
182 482
      End_Object
183
      Object oDebugPanelsSplitter is a cSplitterContainerChild
184
        Object oDebug_TD is a TabDialog
185
          Set Size to 135 381
186
          Set Location to 4 6
187
          Set peAnchors to anAll
188
      
189
          Object oCallStack_TP is a TabPage
190
            Set Label to "Call Stack"
191
            
483
      Object oRightPanelSplitter Is a cSplitterContainerChild
484
        Object oStackSplitterContainer is a cSplitterContainer
485
          Set pbSplitVertical to False
486
          Set piSplitterLocation to 140
487
          Object oStackTopPanelSplitter is a cSplitterContainerChild
488
          
192 489
            Object oCallStackContainer is a Container3d
193
              Set Size to 131 377
490
              Set Size to 131 370
194 491
              Set Location to 2 2
195 492
              Set peAnchors to anAll
196 493
              Set Border_Style to Border_StaticEdge
......
204 501
                  Get phoCallStack To hoCallStack
205 502
                  If (hoObject=hoCallStack) Begin
206 503
                    Set Size                     Of hoCallStack To 118 361
207
                    Set Location                 Of hoCallStack To 9 5
504
                    Set Location                 Of hoCallStack To 11 5
208 505
                    Set Label_Justification_Mode Of hoCallStack To JMode_Top
209 506
                    Set Label_Col_Offset         Of hoCallStack To 0
210 507
                    Set Label                    Of hoCallStack To "Call Stack"
......
219 516
                If (hoObject) Begin
220 517
                  Get phoCallStack To hoCallStack
221 518
                  If (hoObject=hoCallStack) Begin
222
                    Set ComObjectColumnWidth     Of hoCallStack To 200
223
                    Set ComMessageColumnWidth    Of hoCallStack To 400
519
                    Set ComObjectColumnWidth     Of hoCallStack To 90
520
                    Set ComMessageColumnWidth    Of hoCallStack To 265
224 521
                  End
225 522
                End
226 523
              End_Procedure
......
231 528
              //  If hWindow Move (InvalidateRect(hWindow,0,True)) To hVoid
232 529
              //End_Procedure // RepaintTabPage
233 530
            End_Object
234
            
235 531
          End_Object
236
      
237
          Object oWatches_TP is a TabPage
238
            Set Label to "Watches"
239
      
240
            Object oWatchesContainer is a Container3d
241
              Set Size to 131 377
242
              Set Location to 2 2
243
              Set peAnchors to anAll
244
              Set Border_Style to Border_StaticEdge
532
          Object oStackBottomPanelSplitter Is a cSplitterContainerChild
245 533
            
246
              Set phoWatchesHost To Self
247
              
248
              Procedure CreateObjectCallback Handle hoObject
249
                Handle hoWatches
250
                
251
                If (hoObject) Begin
252
                  Get phoWatches To hoWatches
253
                  If (hoObject=hoWatches) Begin
254
                    Set Size                     Of hoWatches To 118 361
255
                    Set Location                 Of hoWatches To 9 6
256
                    Set peAnchors                Of hoWatches To anAll
257
                  End
258
                End
259
              End_Procedure // CreateObjectCallback
260
            End_Object
261
          End_Object
262
      
263
          Object oTrace_TP is a TabPage
264
            Set Label to "Trace"
265
            
266
            Object oTraceContainer is a Container3d
267
              Set Size to 131 377
534
            Object oLocalVarContainer is a Container3d
535
              Set Size to 200 370
268 536
              Set Location to 2 2
269 537
              Set peAnchors to anAll
270
              Set Border_Style to Border_StaticEdge
271
              Set phoTraceHost To Self
538
              Set Border_Style To Border_StaticEdge
272 539
              
273
              Procedure CreateObjectCallback Handle hoObject
274
                Handle hoTrace
275
                
276
                If (hoObject) Begin
277
                  Get phoTrace To hoTrace
278
                  If (hoObject=hoTrace) Begin
279
                    Set Size                     Of hoTrace To 118 359
280
                    Set Location                 Of hoTrace To 9 6
281
                    Set Label                    Of hoTrace To "Trace"
282
                    Set peAnchors                Of hoTrace To anAll
283
                  End
284
                End
285
              End_Procedure // CreateObjectCallback
286
            End_Object
287
          End_Object
288
      
289
          //Object oDACTreelist_TP is a TabPage
290
          //  Set Label to "DACTreeList (not used)"
291
          //  // I do not think we are going to use this one.
292
          //  Object oComCDACTreeListCtl1 is a cComCDACTreeListCtl
293
          //    Set Size to 100 100
294
          //    Set Location to 10 35
295
          //
296
          //      Procedure OnCreate
297
          //          Forward Send OnCreate
298
          //          // ToDo: Set the ActiveX properties here...
299
          //      End_Procedure
300
          //
301
          //  End_Object
302
          //End_Object
303
      
304
          Object oGlobalVariables_TP is a TabPage
305
            Set Label to "Global Variables"
306
            
307
            Object oGlobalVarContainer is a Container3d
308
              Set Size to 131 377
309
              Set Location to 2 2
310
              Set peAnchors to anAll
311
              Set Border_Style to Border_StaticEdge
312
              Set phoGlobalVarHost To Self
313
        
314
              
315
              Procedure CreateObjectCallback Handle hoObject
316
                Handle hoGlobalVar
317
                
318
                If (hoObject) Begin
319
                  Get phoGlobalVariables To hoGlobalVar
320
                  If (hoObject=hoGlobalVar) Begin
321
                    Set Size                     Of hoGlobalVar To 118 359
322
                    Set Location                 Of hoGlobalVar To 8 8
323
                    Set peAnchors                Of hoGlobalVar To anAll
324
                  End
325
                End
326
              End_Procedure // CreateObjectCallback
327
            End_Object
328
          End_Object
329
      
330
          Object oLocalVariables_TP is a TabPage
331
            Set Label to "Local Variables"
332
      
333
            
334
            Object oLocalVarContainer is a Container3d
335
              Set Size to 131 377
336
              Set Location to 2 2
337
              Set peAnchors to anAll
338
              Set Border_Style to Border_StaticEdge
339 540
              Set phoLocalVarHost To Self
340
        
341 541
              
342 542
              Procedure CreateObjectCallback Handle hoObject
343 543
                Handle hoLocalVar
......
345 545
                If (hoObject) Begin
346 546
                  Get phoLocalVariables To hoLocalVar
347 547
                  If (hoObject=hoLocalVar) Begin
348
                    Set Size                     Of hoLocalVar To 118 359
349
                    Set Location                 Of hoLocalVar To 8 8
548
                    Set Size                     Of hoLocalVar To 188 359
549
                    Set Location                 Of hoLocalVar To 11 5
550
                    Set Label_Justification_Mode Of hoLocalVar To JMode_Top
551
                    Set Label_Col_Offset         Of hoLocalVar To 0
552
                    Set Label                    Of hoLocalVar To "Local Variables"
350 553
                    Set peAnchors                Of hoLocalVar To anAll
351 554
                  End
352 555
                End
353 556
              End_Procedure // CreateObjectCallback
354 557
            End_Object
355 558
          End_Object
356
      
357
          Object oTables_TP is a TabPage
358
            Set Label to "Tables"
359
            
360
            Object oTablesContainer is a Container3d
361
              Set Size to 131 377
362
              Set Location to 2 2
363
              Set peAnchors to anAll
364
              Set Border_Style to Border_StaticEdge
365
              Set phoTablesHost To Self
366
        
367
              
368
              Procedure CreateObjectCallback Handle hoObject
369
                Handle hoTables
370
                
371
                If (hoObject) Begin
372
                  Get phoTablesWindow To hoTables
373
                  If (hoObject=hoTables) Begin
374
                    Set Size                     Of hoTables To 118 363
375
                    Set Location                 Of hoTables To 7 6
376
                    Set peAnchors                Of hoTables To anAll
377
                  End
378
                End
379
              End_Procedure // CreateObjectCallback
380
            End_Object
381
          End_Object
382
          Object oBreakpoints_TP is a TabPage
383
            Set Label to "Breakpoints"
384
            Object oBreakPointsContainer is a Container3d
385
              Set Size to 131 377
386
              Set Location to 2 2
387
              Set peAnchors to anAll
388
              Set Border_Style to Border_StaticEdge
389
        
390
              Object oBreakpointsGrid is a cCJGrid
391
                Set Size to 112 282
392
                Set Location to 6 10
393
                Set peAnchors to anAll
394
                Set pbReadOnly to True
395
                Set phoBreakpointsGrid To Self
396
          
397
                Object oBPContextMenu Is a cBreakPointsGridContextMenu
398
                End_Object
399
                
400
                Set phoContextMenu To oBPContextMenu
401
                // Need to move to subclass for this technique, maybe later.
402
                //Function CreateContextMenu Returns Handle
403
                //  Handle hoMenu
404
                //
405
                //  Get Create (RefClass(cBreakPointsGridContextMenu)) To hoMenu
406
                //  If (hoMenu) Begin
407
                //    Set Name Of hoMenu To "oBPContextMenu"
408
                //  End
409
                //  Function_Return hoMenu
410
                //End_Function
411
        
412
                Object oEnabledColumn is a cCJGridColumn
413
                  Set piWidth to 57
414
                  Set psCaption to "Active"
415
                  Set pbCheckbox to True
416
                  Set pbResizable to False
417
                End_Object
418
        
419
                Object oLineColumn is a cCJGridColumn
420
                  Set piWidth to 85
421
                  Set psCaption to "Line"
422
                  Set peDataType to Mask_Numeric_Window
423
                  Set pbResizable to False
424
                End_Object
425
        
426
                Object oFileNameColumn is a cCJGridColumn
427
                  Set piWidth to 351
428
                  Set psCaption to "File"
429
                End_Object
430
                
431
                //
432
                // Procedure ComSetCaretPos Integer llLine Integer llCol
433
                //
434
                // Procedure ComSelectLine Integer llLine Boolean llMakeVisible
435
                
436
                Procedure LoadData
437
                  Handle  hoDataSource
438
                  Handle  hoDebug
439
                  Boolean bFound
440
                  Boolean bIsCreated
441
                  Integer iBreak
442
                  Integer iCount
443
                  Integer iRows
444
                  Integer iActive
445
                  Integer iLine
446
                  Integer iFile
447
                  tDataSourceRow[] TheData
448
                  tBreakPoints[] BP
449
                  
450
                  Get phoDataSource to hoDataSource
451
                  Get phoDebugger   to hoDebug
452
                  
453
                  // Get the datasource indexes of the various columns
454
                  Get piColumnId of oEnabledColumn  to iActive
455
                  Get piColumnId of oLineColumn     to iLine
456
                  Get piColumnId of oFileNameColumn to iFile
457
          
458
                  // Load all data into the datasource array
459
                  If (hoDebug) Begin
460
                    Get pBreakPoints of hoDebug To BP
461
                  End
462
                  Move (SizeOfArray(BP)) To iCount
463
                  For iBreak from 0 To (iCount-1)
464
                    // BP[iBreak].bHasCondition
465
                    // BP[iBreak].sExpression
466
                    
467
                    //If (BP[iBreak].bEnabled) Move "Y" To TheData[iRows].sValue[iActive]
468
                    //Else Move "N" To TheData[iRows].sValue[iActive]
469
                    Move BP[iBreak].bEnabled  To TheData[iRows].sValue[iActive]
470
                    Move BP[iBreak].iLine     To TheData[iRows].sValue[iLine]
471
                    Move BP[iBreak].sFileName To TheData[iRows].sValue[iFile]
472
                    Increment iRows
473
                  Loop
474
                  
475
                  Get IsComObjectCreated To bIsCreated
476
                  If (bIsCreated) Begin
477
                    // Initialize Grid with new data
478
                    Send InitializeData TheData
479
                    Send MovetoFirstRow
480
                  End
481
                End_Procedure
482
                
483
              End_Object
484
  
485
              Object oButton3 is a Button
486
                Set Size to 14 61
487
                Set Location to 57 310
488
                Set Label to "add breakpoint"
489
                Set peAnchors to anTopRight
490
                
491
                Procedure OnClick
492
                  Integer iLine
493
                  String  sFileName
494
                  Boolean bSuccess
495
                  Handle  hoDebugger
496
                  Handle  hoEditor
497
                  
498
                  Get phoDebugger to hoDebugger
499
                  Get phoEditor   to hoEditor
500
                  If (hoDebugger<>0 and hoEditor<>0) Begin
501
                    
502
                    Get psFileName    of hoEditor to sFileName
503
                    Get piCurrentLine of hoEditor to iLine
504
                    If (sFileName<>"" and iLine<>0) Begin
505
                      Get SetBreakPoint of hoDebugger sFileName (&iLine) to bSuccess
506
                      Send info_box ("Set breakpoint at line"*trim(iLine)*"success="*trim(bSuccess))
507
                      //Send ComSetMarginImages iLine 1
508
                    End
509
                  End
510
          // in codemax
511
          //    // turns on/off margin images for a specific line
512
          //    Procedure ComSetMarginImages Integer llLine UChar llImages
513
          //
514
          //    // sets the line margin images
515
          //    Procedure Set ComHImageList OLE_HANDLE value
516
          //
517
          //    // sets the line margin images
518
          //    Function ComHImageList Returns OLE_HANDLE
519
          //    // Returns the first line number with the specified margin images
520
          //    Function ComFindLineMatchingMarginImages Integer llStartLine UChar llImages Returns Integer
521
          // in debugger
522
          //    // Sets the specified breakpoint
523
          //    Function ComSetBreakPoint String llfile UInteger ByRef llline Returns Boolean
524
                End_Procedure
525
                
526
              End_Object
527
            End_Object
528
            
529
            Procedure DisplayTabDetails
530
              Send LoadData of oBreakpointsGrid
531
            End_Procedure
532
          End_Object // TP
533
      
534
          
535
          Function Tab_Change Integer iToTab Integer ePointerMode Returns Integer
536
            Handle  hoToTab
537
            Integer iCurrentTab
538
            Integer iRetVal
539
            
540
            Get Current_Tab To iCurrentTab
541
            Forward Get Tab_Change iToTab ePointerMode To iRetVal
542
            If (iCurrentTab<>-1 and iRetval=0) Begin
543
              Get Tab_Page_Id iToTab To hoToTab
544
              If (hoToTab=oBreakPoints_TP) Begin
545
                Send DisplayTabDetails of hoToTab
546
              End
547
            End
548
            Function_Return iRetVal
549
          End_Function
550
          
551
        End_Object  // oDebug_TD
552
      
553
      End_Object // oDebugPanelSplitter
554
    End_Object // oSplitterContainer
559
        End_Object
560
      End_Object
561
    End_Object
555 562

  
556 563

  
557 564

  

Also available in: Unified diff