eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'Tools::BreakpointService':

Home

Documentation
www.exept.de
Everywhere
for:
[back]

Class: BreakpointService (in Tools)


Inheritance:

   Object
   |
   +--Tools::CodeViewService
      |
      +--Tools::BreakpointService

Package:
stx:libtool
Category:
Interface-CodeView
Version:
rev: 1.75 date: 2018/01/16 21:14:24
user: cg
file: Tools__BreakpointService.st directory: libtool
module: stx stc-classLibrary: libtool

Class protocol:

accessing
o  label
Answers a short label - for UI

testing
o  isUsefulFor: aCodeView
this filters useful services.
Redefined to return true for myself - not for subclasses


Instance protocol:

accessing
o  breakpointAtLine: line
return the breakpoint at line (may be disabled) or nil, if there is none

o  breakpoints
Fixup breakpoint positions

o  removeAllBreakpoints

o  setOrToggleBreakpointAtLine: line
if true, setting a single breakpoint in a method will create

change & update
o  update: aspect with: param from: sender
ATTENTION: I thought that fetching the methodHolder once in initialize would

o  updateBreakPointsFor: aMethod
Transcript show:'update breakpoints for method: '; showCR:aMethod.

o  updateCurrentMethod
codeView methodHolder class == BlockValue ifTrue:[self breakPoint:#cg].

event handling
o  buttonMultiPress: button x: x y: y in: view
(comment from inherited method)
Handles an event in given view (a subview of codeView).
If the method returns true, it has eaten the event and it will not be processed
by the view.

o  buttonPress: button x: x y: y in: view
now disabled: need a double click (like in other editors);
also this allows toggling breakpoints even if there are ther service-annotations

o  keyPress: key x: x y: y in: view
Handles an event in given view (a subview of codeView).
If the method returns true, it has eaten the event and it will not be processed
by the view.

o  linesDeletedFrom: start to: end

o  linesInsertedFrom: start to: end

help
o  helpTextAtLine: ignoredLineNr

initialization
o  fetchMethodHolder
redefinable in subclasses, which do not have a codeView2/methodHolder

o  initialize
(comment from inherited method)
Invoked when a new instance is created.

private
o  fixupBreakpointPositions

o  moveBreakpointsAfterLine: line by: delta
Note that position will be fixed up in BreakpointService>>breakpoints

o  recompile
recompile the current method for changed breakpoints

queries
o  canCreateOrToggleBreakpointAtLine: lineOrNilForAnywhere
is it possible to place a breakpoint here and now?

o  hasBreakpoints

redrawing
o  drawLine: lineNo in: view atX: x y: yBaseline width: w height: hFont ascent: aFont from: startCol to: endColOrNil with: fg and: bg
Called by both gutterView and textView (well, not yet) to
allow services to draw custom things on text view.
Ask JV what the args means if unsure (I'm lazy to document
them, now it is just an experiment...)

registering
o  registerIn: aCodeView

testing
o  isBreakpointService



ST/X 7.1.0.0; WebServer 1.663 at exept.de:8081; Thu, 21 Mar 2019 00:10:10 GMT