void ide_buffer_change_monitor_emit_changed (IdeBufferChangeMonitor *self) { g_return_if_fail (IDE_IS_BUFFER_CHANGE_MONITOR (self)); g_signal_emit (self, gSignals [CHANGED], 0); }
static void buffer_changed_after_cb (GbpGitBufferChangeMonitor *self, IdeBuffer *buffer) { g_assert (IDE_IS_BUFFER_CHANGE_MONITOR (self)); g_assert (IDE_IS_BUFFER (buffer)); gbp_git_buffer_change_monitor_queue_update (self, SLOW); }
IdeBufferLineChange ide_buffer_change_monitor_get_change (IdeBufferChangeMonitor *self, guint line) { g_return_val_if_fail (IDE_IS_BUFFER_CHANGE_MONITOR (self), IDE_BUFFER_LINE_CHANGE_NONE); if G_LIKELY (IDE_BUFFER_CHANGE_MONITOR_GET_CLASS (self)->get_change) return IDE_BUFFER_CHANGE_MONITOR_GET_CLASS (self)->get_change (self, line); else return IDE_BUFFER_LINE_CHANGE_NONE;
static void ide_buffer_change_monitor_set_buffer (IdeBufferChangeMonitor *self, IdeBuffer *buffer) { g_return_if_fail (IDE_IS_BUFFER_CHANGE_MONITOR (self)); g_return_if_fail (IDE_IS_BUFFER (buffer)); if (IDE_BUFFER_CHANGE_MONITOR_GET_CLASS (self)->set_buffer) IDE_BUFFER_CHANGE_MONITOR_GET_CLASS (self)->set_buffer (self, buffer); else g_warning ("%s does not implement set_buffer() vfunc", g_type_name (G_TYPE_FROM_INSTANCE (self))); }
IdeBufferLineChange ide_buffer_change_monitor_get_change (IdeBufferChangeMonitor *self, const GtkTextIter *iter) { g_return_val_if_fail (IDE_IS_BUFFER_CHANGE_MONITOR (self), IDE_BUFFER_LINE_CHANGE_NONE); g_return_val_if_fail (iter, IDE_BUFFER_LINE_CHANGE_NONE); if (IDE_BUFFER_CHANGE_MONITOR_GET_CLASS (self)->get_change) return IDE_BUFFER_CHANGE_MONITOR_GET_CLASS (self)->get_change (self, iter); g_warning ("%s does not implement get_change() vfunc", g_type_name (G_TYPE_FROM_INSTANCE (self))); return IDE_BUFFER_LINE_CHANGE_NONE; }
/** * ide_vcs_get_buffer_change_monitor: * * Gets an #IdeBufferChangeMonitor for the buffer provided. If the #IdeVcs implementation does not * support change monitoring, or cannot for the current file, then %NULL is returned. * * Returns: (transfer full) (nullable): An #IdeBufferChangeMonitor or %NULL. */ IdeBufferChangeMonitor * ide_vcs_get_buffer_change_monitor (IdeVcs *self, IdeBuffer *buffer) { IdeBufferChangeMonitor *ret = NULL; g_return_val_if_fail (IDE_IS_VCS (self), NULL); g_return_val_if_fail (IDE_IS_BUFFER (buffer), NULL); if (IDE_VCS_GET_IFACE (self)->get_buffer_change_monitor) ret = IDE_VCS_GET_IFACE (self)->get_buffer_change_monitor (self, buffer); g_return_val_if_fail (!ret || IDE_IS_BUFFER_CHANGE_MONITOR (ret), NULL); return ret; }
static void ide_git_buffer_change_monitor__buffer_changed_after_cb (IdeGitBufferChangeMonitor *self, IdeBuffer *buffer) { g_assert (IDE_IS_BUFFER_CHANGE_MONITOR (self)); g_assert (IDE_IS_BUFFER (buffer)); self->state_dirty = TRUE; if (self->in_calculation) return; if (self->changed_timeout) g_source_remove (self->changed_timeout); self->changed_timeout = g_timeout_add_seconds (1, ide_git_buffer_change_monitor__changed_timeout_cb, self); }