void NumericalEntry::on_activate() { if (get_editable()) { update(); } Gtk::Entry::on_activate(); }
bool NumericalEntry::on_focus_out_event (GdkEventFocus *event) { if (get_editable()) { update(); } return Gtk::Entry::on_focus_out_event(event); }
bool NoteEditor::key_pressed (GdkEventKey * ev) { bool ret_value = false; if(!get_editable()) { return ret_value; } switch (ev->keyval) { case GDK_KEY_KP_Enter: case GDK_KEY_Return: // Allow opening notes with Ctrl + Enter if (ev->state != Gdk::CONTROL_MASK) { if (ev->state & Gdk::SHIFT_MASK) { ret_value = NoteBuffer::Ptr::cast_static(get_buffer())->add_new_line (true); } else { ret_value = NoteBuffer::Ptr::cast_static(get_buffer())->add_new_line (false); } scroll_to (get_buffer()->get_insert()); } break; case GDK_KEY_Tab: ret_value = NoteBuffer::Ptr::cast_static(get_buffer())->add_tab (); scroll_to (get_buffer()->get_insert()); break; case GDK_KEY_ISO_Left_Tab: ret_value = NoteBuffer::Ptr::cast_static(get_buffer())->remove_tab (); scroll_to (get_buffer()->get_insert()); break; case GDK_KEY_Delete: if (Gdk::SHIFT_MASK != (ev->state & Gdk::SHIFT_MASK)) { ret_value = NoteBuffer::Ptr::cast_static(get_buffer())->delete_key_handler(); scroll_to (get_buffer()->get_insert()); } break; case GDK_KEY_BackSpace: ret_value = NoteBuffer::Ptr::cast_static(get_buffer())->backspace_key_handler(); break; case GDK_KEY_Left: case GDK_KEY_Right: case GDK_KEY_Up: case GDK_KEY_Down: case GDK_KEY_End: ret_value = false; break; default: NoteBuffer::Ptr::cast_static(get_buffer())->check_selection(); break; } return ret_value; }