Class: EditorView

Inherits:
Shirka::View show all
Defined in:
lib/troshka/editor/qtextedit_view.rb,
lib/troshka/editor/qscintilla_view.rb

Instance Attribute Summary

Attributes inherited from Shirka::View

#controller, #data, #label

Instance Method Summary collapse

Methods inherited from Shirka::View

#init, #initialize, #on_component_added, #on_view_added, #on_view_adding, #style, #widget

Methods included from Shirka::Eventalk

#add_watcher, #fire, #forward, #watch, #watchers

Constructor Details

This class inherits a constructor from Shirka::View

Instance Method Details

#autocompletion_item_selected(line, cursor) ⇒ Object



42
43
44
45
# File 'lib/troshka/editor/qscintilla_view.rb', line 42

def autocompletion_item_selected(line, cursor)
  widget.replace_line line
  widget.move_cursor(column: cursor)
end

#autocompletion_list_requested(list, selection) ⇒ Object

build



36
37
38
39
40
# File 'lib/troshka/editor/qscintilla_view.rb', line 36

def autocompletion_list_requested(list, selection)
  widget.move_cursor(column: selection.first)
  widget.show_user_list 1, list
  widget.move_cursor(column: selection[1])
end

#build(widget) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
# File 'lib/troshka/editor/qtextedit_view.rb', line 6

def build(widget)
  v = self
  
  widget.define_singleton_method :keyPressEvent do |evt|
    if evt.key==Qt::Key_Return && evt.modifiers==Qt::Control_Modifier
      v.controller.code_entering toPlainText
    else
      super evt
    end
  end #kewyPressEvent
end

#on_code_evaluated(e) ⇒ Object



18
19
20
# File 'lib/troshka/editor/qtextedit_view.rb', line 18

def on_code_evaluated(e)
  widget.setPlainText ""
end

#replace_code(code) ⇒ Object



22
23
24
25
26
# File 'lib/troshka/editor/qtextedit_view.rb', line 22

def replace_code(code)
  widget.setPlainText code
  widget.moveCursor Qt::TextCursor::End
  widget.setFocus
end

#widget_classObject



2
3
4
# File 'lib/troshka/editor/qtextedit_view.rb', line 2

def widget_class
  Qt::TextEdit
end