eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'Tools::CodeNavigationService':

Home

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

Class: CodeNavigationService (in Tools)


Inheritance:

   Object
   |
   +--Tools::CodeViewService
      |
      +--Tools::CodeNavigationService

Package:
stx:libtool
Category:
Interface-CodeView
Version:
rev: 1.57 date: 2018/09/21 13:11:24
user: sr
file: Tools__CodeNavigationService.st directory: libtool
module: stx stc-classLibrary: libtool

Class protocol:

accessing
o  label
Answers a short label - for UI

o  requiredServices
(comment from inherited method)
Returns a list of services required for myself to work
correctly. A list should contain class names of the services
(as not all services may be loaded in)

accessing - defaults
o  defaultAssignmentEmphasis
must only define a background - otherwise, syntax highlight fg is lost

o  defaultSelectorEmphasis
must only define a background - otherwise, syntax highlight fg is lost

o  defaultVariableEmphasis
must only define a background - otherwise, syntax highlight fg is lost

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


Instance protocol:

change & update
o  update: aspect with: param from: sender
no longer highlight - the info is wrong anyway !

code services
o  browseClass: class

o  browser

event handling
o  button1Press

o  button1PressForMessageNode: node

o  button1PressForSelector: selector
impls size = 1 ifTrue:[^codeView browseMethod: impls anyOne].

o  button1PressForVariableNode: node

o  button2Press

o  button2PressForSelector: selector
senders size = 1 ifTrue:[ codeView browseMethod: senders anyOne. ^ self].

o  buttonMotion: button x: x y: y in: view
Handles an event in given view (a subview of codeView).
If the method returns true, the event will not be processed
by the view.

o  buttonPress: button x: x y: y in: view
Handles an event in given view (a subview of codeView).
If the method returns true, the event will not be processed
by the view.

o  buttonRelease: button x: x y: y in: view
Handles an event in given view (a subview of codeView).
If the method returns true, the event will not be processed
by the view.

o  findNextVariableFromCursor

o  findPreviousVariableFromCursor

o  isQuickMenuModifierPressed

o  isQuickMenuModifierReleased

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

o  linesModifiedFrom: start to: end

initialization
o  initialize
the following must only define a background - otherwise, syntax highlight fg is lost

misc
o  highlightClassVariable: name
interface from browser (when a class var is selected)

o  highlightInstanceVariable: name
interface from browser (when an inst var is selected)

o  highlightVariable: name isClassVariable: isClassVariable
interface from browser (when an inst or class var is selected)

private
o  elementAtCharacterPosition: pos

o  elementAtCursor
- 1

o  elementAtLine: line col: colArg
if beyond end of line, do not advance into next line

o  elementAtX: x y: y

o  highlighEmphasisFor: element

o  highlightClear

o  highlightClear: redraw

o  highlightElement: element
walk through the chain of elements and highlight each
Notice, that the chain links elements for the same-variable
(and lists for same-named-but-in-different-scope variables have
already been separated)

o  highlightElementAtCursor

o  highlightElementAtLine: line col: col

o  highlightElementAtX: x y: y

o  highlightElementOrNil: e
cg: only if selected !

o  highlightLine: lineNo fromLine: startLine col: endLine toLine: startCol col: endCol
JV: CG commented following and added the commtent code below.

o  highlightVariable: element

o  highlightVariableAtCursor

o  highlightVariableAtX: x y: y

o  highlightWithoutClearFrom: start to: end
Remove underlined emphasis

o  highlightWithoutClearFromLine: startLine col: startCol toLine: endLine col: endCol

redrawing
o  redrawLines



ST/X 7.2.0.0; WebServer 1.670 at bd0aa1f87cdd.unknown:8081; Fri, 14 May 2021 16:46:56 GMT