ardour
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
Gtkmm2ext::Keyboard Class Referenceabstract

#include <keyboard.h>

Inheritance diagram for Gtkmm2ext::Keyboard:
PBD::Stateful ArdourKeyboard

Classes

struct  AccelKeyLess
 

Public Types

typedef std::vector< uint32_t > State
 
typedef uint32_t ModifierMask
 

Public Member Functions

 Keyboard ()
 
 ~Keyboard ()
 
XMLNodeget_state (void)
 
int set_state (const XMLNode &, int version)
 
virtual void setup_keybindings ()=0
 
bool key_is_down (uint32_t keyval)
 
bool leave_window (GdkEventCrossing *ev, Gtk::Window *)
 
bool enter_window (GdkEventCrossing *ev, Gtk::Window *)
 
bool focus_in_window (GdkEventFocus *ev, Gtk::Window *)
 
bool focus_out_window (GdkEventFocus *ev, Gtk::Window *)
 
int reset_bindings ()
 

Static Public Member Functions

static const char * primary_modifier_name ()
 
static const char * secondary_modifier_name ()
 
static const char * tertiary_modifier_name ()
 
static const char * level4_modifier_name ()
 
static const char * copy_modifier_name ()
 
static const char * rangeselect_modifier_name ()
 
static void set_primary_modifier (uint32_t newval)
 
static void set_secondary_modifier (uint32_t newval)
 
static void set_tertiary_modifier (uint32_t newval)
 
static void set_level4_modifier (uint32_t newval)
 
static void set_copy_modifier (uint32_t newval)
 
static void set_range_select_modifier (uint32_t newval)
 
static bool no_modifier_keys_pressed (GdkEventButton *ev)
 
static bool no_modifier_keys_pressed (GdkEventKey *ev)
 
static bool modifier_state_contains (guint state, ModifierMask)
 
static bool modifier_state_equals (guint state, ModifierMask)
 
static bool no_modifiers_active (guint state)
 
static void set_snap_modifier (guint)
 
static ModifierMask snap_modifier ()
 
static guint edit_button ()
 
static void set_edit_button (guint)
 
static guint edit_modifier ()
 
static void set_edit_modifier (guint)
 
static guint delete_button ()
 
static void set_delete_button (guint)
 
static guint delete_modifier ()
 
static void set_delete_modifier (guint)
 
static guint insert_note_button ()
 
static void set_insert_note_button (guint)
 
static guint insert_note_modifier ()
 
static void set_insert_note_modifier (guint)
 
static bool is_edit_event (GdkEventButton *)
 
static bool is_delete_event (GdkEventButton *)
 
static bool is_insert_note_event (GdkEventButton *)
 
static bool is_context_menu_event (GdkEventButton *)
 
static bool is_button2_event (GdkEventButton *)
 
static Keyboardthe_keyboard ()
 
static bool some_magic_widget_has_focus ()
 
static void magic_widget_grab_focus ()
 
static void magic_widget_drop_focus ()
 
static Gtk::Window * get_current_window ()
 
static void close_current_dialog ()
 
static void keybindings_changed ()
 
static void save_keybindings ()
 
static bool load_keybindings (std::string path)
 
static void set_can_save_keybindings (bool yn)
 
static std::string current_binding_name ()
 

Public Attributes

sigc::signal0< void > ZoomVerticalModifierReleased
 

Static Public Attributes

static uint32_t PrimaryModifier = GDK_CONTROL_MASK
 
static uint32_t SecondaryModifier = GDK_MOD1_MASK
 
static uint32_t TertiaryModifier = GDK_SHIFT_MASK
 
static uint32_t Level4Modifier = GDK_MOD4_MASK
 
static uint32_t CopyModifier = GDK_CONTROL_MASK
 
static uint32_t RangeSelectModifier = GDK_SHIFT_MASK
 
static uint32_t GainFineScaleModifier = Keyboard::PrimaryModifier
 
static uint32_t GainExtraFineScaleModifier = Keyboard::SecondaryModifier
 
static uint32_t ScrollZoomVerticalModifier = Keyboard::SecondaryModifier
 
static uint32_t ScrollZoomHorizontalModifier = Keyboard::PrimaryModifier
 
static uint32_t ScrollHorizontalModifier = Keyboard::TertiaryModifier
 
static GdkModifierType RelevantModifierKeyMask
 
static std::map< std::string,
std::string > 
binding_files
 

Protected Types

typedef std::pair< std::string,
std::string > 
two_strings
 

Protected Member Functions

gint snooper (GtkWidget *, GdkEventKey *)
 

Static Protected Member Functions

static gint _snooper (GtkWidget *, GdkEventKey *, gpointer)
 
static void set_modifier (uint32_t newval, uint32_t &variable)
 

Protected Attributes

guint snooper_id
 
State state
 

Static Protected Attributes

static Keyboard_the_keyboard = 0
 
static guint edit_but = 3
 
static guint edit_mod = GDK_CONTROL_MASK
 
static guint delete_but = 3
 
static guint delete_mod = GDK_SHIFT_MASK
 
static guint insert_note_but = 1
 
static guint insert_note_mod = GDK_CONTROL_MASK
 
static guint snap_mod = GDK_MOD3_MASK
 
static guint button2_modifiers = 0
 
static Gtk::Window * current_window = 0
 
static std::string user_keybindings_path
 
static bool can_save_keybindings = false
 
static bool bindings_changed_after_save_became_legal = false
 
static std::string _current_binding_name
 
static std::map< Gtk::AccelKey,
two_strings, AccelKeyLess
release_keys
 
static bool _some_magic_widget_has_focus = false
 

Additional Inherited Members

- Private Member Functions inherited from PBD::Stateful
 Stateful ()
 
virtual ~Stateful ()
 
virtual bool apply_changes (PropertyBase const &)
 
PropertyChange apply_changes (PropertyList const &)
 
const OwnedPropertyListproperties () const
 
void add_property (PropertyBase &s)
 
void add_extra_xml (XMLNode &)
 
XMLNodeextra_xml (const std::string &str, bool add_if_missing=false)
 
void save_extra_xml (const XMLNode &)
 
const PBD::IDid () const
 
bool set_id (const XMLNode &)
 
void set_id (const std::string &)
 
void reset_id ()
 
void clear_changes ()
 
virtual void clear_owned_changes ()
 
PropertyListget_changes_as_properties (Command *) const
 
virtual void rdiff (std::vector< Command * > &) const
 
bool changed () const
 
virtual PropertyListproperty_factory (const XMLNode &) const
 
virtual void suspend_property_changes ()
 
virtual void resume_property_changes ()
 
bool property_changes_suspended () const
 
void add_instant_xml (XMLNode &, const std::string &directory_path)
 
XMLNodeinstant_xml (const std::string &str, const std::string &directory_path)
 
void add_properties (XMLNode &)
 
PropertyChange set_values (XMLNode const &)
 
virtual void post_set (const PropertyChange &)
 
virtual void send_change (const PropertyChange &)
 
virtual void mid_thaw (const PropertyChange &)
 
- Private Attributes inherited from PBD::Stateful
PBD::Signal1< void, const
PropertyChange & > 
PropertyChanged
 
XMLNode_extra_xml
 
XMLNode_instant_xml
 
PBD::PropertyChange _pending_changed
 
Glib::Threads::Mutex _lock
 
std::string _xml_node_name
 name of node to use for this object in XML More...
 
OwnedPropertyList_properties
 
- Static Private Attributes inherited from PBD::Stateful
static int current_state_version = 0
 
static int loading_state_version = 0
 

Detailed Description

Definition at line 41 of file keyboard.h.

Member Typedef Documentation

Definition at line 53 of file keyboard.h.

typedef std::vector<uint32_t> Gtkmm2ext::Keyboard::State

Definition at line 52 of file keyboard.h.

typedef std::pair<std::string,std::string> Gtkmm2ext::Keyboard::two_strings
protected

Definition at line 196 of file keyboard.h.

Constructor & Destructor Documentation

Keyboard::Keyboard ( )

Definition at line 140 of file keyboard.cc.

Keyboard::~Keyboard ( )

Definition at line 161 of file keyboard.cc.

Member Function Documentation

gint Keyboard::_snooper ( GtkWidget *  widget,
GdkEventKey *  event,
gpointer  data 
)
staticprotected

Definition at line 227 of file keyboard.cc.

void Keyboard::close_current_dialog ( )
static

Definition at line 339 of file keyboard.cc.

const char * Keyboard::copy_modifier_name ( )
static

Definition at line 94 of file keyboard.cc.

static std::string Gtkmm2ext::Keyboard::current_binding_name ( )
inlinestatic

Definition at line 159 of file keyboard.h.

static guint Gtkmm2ext::Keyboard::delete_button ( )
inlinestatic

Definition at line 130 of file keyboard.h.

static guint Gtkmm2ext::Keyboard::delete_modifier ( )
inlinestatic

Definition at line 132 of file keyboard.h.

static guint Gtkmm2ext::Keyboard::edit_button ( )
inlinestatic

Definition at line 125 of file keyboard.h.

static guint Gtkmm2ext::Keyboard::edit_modifier ( )
inlinestatic

Definition at line 127 of file keyboard.h.

bool Keyboard::enter_window ( GdkEventCrossing *  ev,
Gtk::Window *  win 
)

Definition at line 354 of file keyboard.cc.

bool Keyboard::focus_in_window ( GdkEventFocus *  ev,
Gtk::Window *  win 
)

Definition at line 388 of file keyboard.cc.

bool Keyboard::focus_out_window ( GdkEventFocus *  ev,
Gtk::Window *  win 
)

Definition at line 396 of file keyboard.cc.

static Gtk::Window* Gtkmm2ext::Keyboard::get_current_window ( )
inlinestatic

Definition at line 151 of file keyboard.h.

XMLNode & Keyboard::get_state ( void  )
virtual

Implements PBD::Stateful.

Definition at line 167 of file keyboard.cc.

static guint Gtkmm2ext::Keyboard::insert_note_button ( )
inlinestatic

Definition at line 135 of file keyboard.h.

static guint Gtkmm2ext::Keyboard::insert_note_modifier ( )
inlinestatic

Definition at line 137 of file keyboard.h.

bool Keyboard::is_button2_event ( GdkEventButton *  ev)
static

Definition at line 486 of file keyboard.cc.

bool Keyboard::is_context_menu_event ( GdkEventButton *  ev)
static

Definition at line 506 of file keyboard.cc.

bool Keyboard::is_delete_event ( GdkEventButton *  ev)
static

Definition at line 498 of file keyboard.cc.

bool Keyboard::is_edit_event ( GdkEventButton *  ev)
static

Definition at line 470 of file keyboard.cc.

bool Keyboard::is_insert_note_event ( GdkEventButton *  ev)
static

Definition at line 478 of file keyboard.cc.

bool Keyboard::key_is_down ( uint32_t  keyval)

Definition at line 348 of file keyboard.cc.

void Keyboard::keybindings_changed ( )
static

Definition at line 532 of file keyboard.cc.

bool Keyboard::leave_window ( GdkEventCrossing *  ev,
Gtk::Window *   
)

Definition at line 362 of file keyboard.cc.

const char * Keyboard::level4_modifier_name ( )
static

Definition at line 93 of file keyboard.cc.

bool Keyboard::load_keybindings ( std::string  path)
static

Definition at line 556 of file keyboard.cc.

void Keyboard::magic_widget_drop_focus ( )
static

Definition at line 129 of file keyboard.cc.

void Keyboard::magic_widget_grab_focus ( )
static

Definition at line 123 of file keyboard.cc.

bool Keyboard::modifier_state_contains ( guint  state,
ModifierMask  mask 
)
static

Definition at line 520 of file keyboard.cc.

bool Keyboard::modifier_state_equals ( guint  state,
ModifierMask  mask 
)
static

Definition at line 526 of file keyboard.cc.

static bool Gtkmm2ext::Keyboard::no_modifier_keys_pressed ( GdkEventButton *  ev)
inlinestatic

Definition at line 99 of file keyboard.h.

static bool Gtkmm2ext::Keyboard::no_modifier_keys_pressed ( GdkEventKey *  ev)
inlinestatic

Definition at line 103 of file keyboard.h.

bool Keyboard::no_modifiers_active ( guint  state)
static

Definition at line 514 of file keyboard.cc.

const char * Keyboard::primary_modifier_name ( )
static

Definition at line 90 of file keyboard.cc.

const char * Keyboard::rangeselect_modifier_name ( )
static

Definition at line 95 of file keyboard.cc.

int Keyboard::reset_bindings ( )

Definition at line 617 of file keyboard.cc.

void Keyboard::save_keybindings ( )
static

Definition at line 548 of file keyboard.cc.

const char * Keyboard::secondary_modifier_name ( )
static

Definition at line 91 of file keyboard.cc.

void Keyboard::set_can_save_keybindings ( bool  yn)
static

Definition at line 542 of file keyboard.cc.

static void Gtkmm2ext::Keyboard::set_copy_modifier ( uint32_t  newval)
inlinestatic

Definition at line 88 of file keyboard.h.

void Keyboard::set_delete_button ( guint  but)
static

Definition at line 425 of file keyboard.cc.

void Keyboard::set_delete_modifier ( guint  mod)
static

Definition at line 431 of file keyboard.cc.

void Keyboard::set_edit_button ( guint  but)
static

Definition at line 411 of file keyboard.cc.

void Keyboard::set_edit_modifier ( guint  mod)
static

Definition at line 417 of file keyboard.cc.

void Keyboard::set_insert_note_button ( guint  but)
static

Definition at line 439 of file keyboard.cc.

void Keyboard::set_insert_note_modifier ( guint  mod)
static

Definition at line 445 of file keyboard.cc.

static void Gtkmm2ext::Keyboard::set_level4_modifier ( uint32_t  newval)
inlinestatic

Definition at line 85 of file keyboard.h.

void Keyboard::set_modifier ( uint32_t  newval,
uint32_t &  variable 
)
staticprotected

Definition at line 454 of file keyboard.cc.

static void Gtkmm2ext::Keyboard::set_primary_modifier ( uint32_t  newval)
inlinestatic

Definition at line 76 of file keyboard.h.

static void Gtkmm2ext::Keyboard::set_range_select_modifier ( uint32_t  newval)
inlinestatic

Definition at line 91 of file keyboard.h.

static void Gtkmm2ext::Keyboard::set_secondary_modifier ( uint32_t  newval)
inlinestatic

Definition at line 79 of file keyboard.h.

void Keyboard::set_snap_modifier ( guint  mod)
static

Definition at line 462 of file keyboard.cc.

int Keyboard::set_state ( const XMLNode node,
int  version 
)
virtual

Implements PBD::Stateful.

Definition at line 191 of file keyboard.cc.

static void Gtkmm2ext::Keyboard::set_tertiary_modifier ( uint32_t  newval)
inlinestatic

Definition at line 82 of file keyboard.h.

virtual void Gtkmm2ext::Keyboard::setup_keybindings ( )
pure virtual

Implemented in ArdourKeyboard.

static ModifierMask Gtkmm2ext::Keyboard::snap_modifier ( )
inlinestatic
Returns
Modifier mask to temporarily toggle grid setting; with this modifier
  • magnetic or normal grid should become no grid and
  • no grid should become normal grid

Definition at line 123 of file keyboard.h.

gint Keyboard::snooper ( GtkWidget *  widget,
GdkEventKey *  event 
)
protected

Definition at line 233 of file keyboard.cc.

bool Keyboard::some_magic_widget_has_focus ( )
static

Definition at line 135 of file keyboard.cc.

const char * Keyboard::tertiary_modifier_name ( )
static

Definition at line 92 of file keyboard.cc.

static Keyboard& Gtkmm2ext::Keyboard::the_keyboard ( )
inlinestatic

Definition at line 146 of file keyboard.h.

Member Data Documentation

string Keyboard::_current_binding_name
staticprotected

Definition at line 194 of file keyboard.h.

bool Keyboard::_some_magic_widget_has_focus = false
staticprotected

Definition at line 205 of file keyboard.h.

Keyboard * Keyboard::_the_keyboard = 0
staticprotected

Definition at line 177 of file keyboard.h.

map< string, string > Keyboard::binding_files
static

Definition at line 160 of file keyboard.h.

bool Keyboard::bindings_changed_after_save_became_legal = false
staticprotected

Definition at line 193 of file keyboard.h.

guint Keyboard::button2_modifiers = 0
staticprotected

Definition at line 189 of file keyboard.h.

bool Keyboard::can_save_keybindings = false
staticprotected

Definition at line 192 of file keyboard.h.

guint Keyboard::CopyModifier = GDK_CONTROL_MASK
static

Definition at line 59 of file keyboard.h.

Gtk::Window * Keyboard::current_window = 0
staticprotected

Definition at line 190 of file keyboard.h.

guint Keyboard::delete_but = 3
staticprotected

Definition at line 184 of file keyboard.h.

guint Keyboard::delete_mod = GDK_SHIFT_MASK
staticprotected

Definition at line 185 of file keyboard.h.

guint Keyboard::edit_but = 3
staticprotected

Definition at line 182 of file keyboard.h.

guint Keyboard::edit_mod = GDK_CONTROL_MASK
staticprotected

Definition at line 183 of file keyboard.h.

guint Keyboard::GainExtraFineScaleModifier = Keyboard::SecondaryModifier
static

Definition at line 62 of file keyboard.h.

guint Keyboard::GainFineScaleModifier = Keyboard::PrimaryModifier
static

Definition at line 61 of file keyboard.h.

guint Keyboard::insert_note_but = 1
staticprotected

Definition at line 186 of file keyboard.h.

guint Keyboard::insert_note_mod = GDK_CONTROL_MASK
staticprotected

Definition at line 187 of file keyboard.h.

guint Keyboard::Level4Modifier = GDK_MOD4_MASK
static

Definition at line 58 of file keyboard.h.

guint Keyboard::PrimaryModifier = GDK_CONTROL_MASK
static

Definition at line 55 of file keyboard.h.

guint Keyboard::RangeSelectModifier = GDK_SHIFT_MASK
static

Definition at line 60 of file keyboard.h.

map< AccelKey, pair< string, string >, Keyboard::AccelKeyLess > Keyboard::release_keys
staticprotected

Definition at line 198 of file keyboard.h.

GdkModifierType Keyboard::RelevantModifierKeyMask
static

Definition at line 97 of file keyboard.h.

guint Keyboard::ScrollHorizontalModifier = Keyboard::TertiaryModifier
static

Definition at line 67 of file keyboard.h.

guint Keyboard::ScrollZoomHorizontalModifier = Keyboard::PrimaryModifier
static

Definition at line 66 of file keyboard.h.

guint Keyboard::ScrollZoomVerticalModifier = Keyboard::SecondaryModifier
static

Definition at line 65 of file keyboard.h.

guint Keyboard::SecondaryModifier = GDK_MOD1_MASK
static

Definition at line 56 of file keyboard.h.

guint Keyboard::snap_mod = GDK_MOD3_MASK
staticprotected

Definition at line 188 of file keyboard.h.

guint Gtkmm2ext::Keyboard::snooper_id
protected

Definition at line 179 of file keyboard.h.

State Gtkmm2ext::Keyboard::state
protected

Definition at line 180 of file keyboard.h.

guint Keyboard::TertiaryModifier = GDK_SHIFT_MASK
static

Definition at line 57 of file keyboard.h.

std::string Keyboard::user_keybindings_path
staticprotected

Definition at line 191 of file keyboard.h.

sigc::signal0<void> Gtkmm2ext::Keyboard::ZoomVerticalModifierReleased

Definition at line 174 of file keyboard.h.


The documentation for this class was generated from the following files: