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
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