Class: Context::Gtk::Key

Inherits:
Key show all
Defined in:
lib/Context/Gtk/Key.rb

Instance Attribute Summary

Attributes inherited from Key

#character, #modifier

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Key

#eql?, #hash, #initialize, null, #null?

Constructor Details

This class inherits a constructor from Context::Key

Class Method Details

.createFromGtkEvent(event) ⇒ Object



36
37
38
39
40
41
42
43
44
45
# File 'lib/Context/Gtk/Key.rb', line 36

def Key::createFromGtkEvent(event)
  modifier = getModifierFromEvent(event)
  character = getCharacterFromEvent(event)
  if((modifier != Context::Key::Modifier::ERROR) && 
             (!character.nil?))
    Key.new(modifier, character)
  else
    Key.null
  end
end

.getCharacterFromEvent(event) ⇒ Object



28
29
30
# File 'lib/Context/Gtk/Key.rb', line 28

def Key::getCharacterFromEvent(event)
          Gdk::Keyval::to_name(event.keyval)
end

.getModifierFromEvent(event) ⇒ Object



8
9
10
11
12
13
14
15
16
17
# File 'lib/Context/Gtk/Key.rb', line 8

def Key::getModifierFromEvent(event)
  case event.state
              when 0
                  Context::Key::Modifier::NONE
    when Gdk::Window::CONTROL_MASK
      Context::Key::Modifier::CONTROL
    else
      Context::Key::Modifier::ERROR
  end
end

Instance Method Details

#createGtkEventObject



47
48
49
50
51
52
# File 'lib/Context/Gtk/Key.rb', line 47

def createGtkEvent
  event = Gdk::EventKey.new(Gdk::Event::KEY_PRESS)
  event.set_state(getGtkState)
  event.set_keyval(getGtkKeyval)
  event
end

#getGtkKeyvalObject



32
33
34
# File 'lib/Context/Gtk/Key.rb', line 32

def getGtkKeyval
          Gdk::Keyval::from_name(@character)
end

#getGtkStateObject



19
20
21
22
23
24
25
26
# File 'lib/Context/Gtk/Key.rb', line 19

def getGtkState
  case @modifier
    when Context::Key::Modifier::CONTROL
      Gdk::Window::CONTROL_MASK
    else
        0
  end
end