[gnome-builder] terminal: add helper to get runtime



commit a331a3923c51e9c839fec77fa723993baf83dd03
Author: Christian Hergert <chergert redhat com>
Date:   Wed May 1 17:48:44 2019 -0700

    terminal: add helper to get runtime

 src/libide/terminal/ide-terminal-popover.c | 26 ++++++++++++++++++++++++++
 src/libide/terminal/ide-terminal-popover.h | 13 ++++++++++++-
 2 files changed, 38 insertions(+), 1 deletion(-)
---
diff --git a/src/libide/terminal/ide-terminal-popover.c b/src/libide/terminal/ide-terminal-popover.c
index 885edac38..70cc95545 100644
--- a/src/libide/terminal/ide-terminal-popover.c
+++ b/src/libide/terminal/ide-terminal-popover.c
@@ -211,3 +211,29 @@ ide_terminal_popover_new (void)
 {
   return g_object_new (IDE_TYPE_TERMINAL_POPOVER, NULL);
 }
+
+/**
+ * ide_terminal_popover_get_runtime:
+ * @self: a #IdeTerminalPopover
+ *
+ *
+ *
+ * Returns: (transfer none): an #IdeRuntime or %NULL
+ *
+ * Since: 3.32
+ */
+IdeRuntime *
+ide_terminal_popover_get_runtime (IdeTerminalPopover *self)
+{
+  IdeRuntimeManager *runtime_manager;
+  IdeContext *context;
+
+  g_return_val_if_fail (IDE_IS_TERMINAL_POPOVER (self), NULL);
+
+  if (self->selected != NULL &&
+      (context = ide_widget_get_context (GTK_WIDGET (self))) &&
+      (runtime_manager = ide_runtime_manager_from_context (context)))
+    return ide_runtime_manager_get_runtime (runtime_manager, self->selected);
+
+  return NULL;
+}
diff --git a/src/libide/terminal/ide-terminal-popover.h b/src/libide/terminal/ide-terminal-popover.h
index 168c84282..0d6a46105 100644
--- a/src/libide/terminal/ide-terminal-popover.h
+++ b/src/libide/terminal/ide-terminal-popover.h
@@ -20,14 +20,25 @@
 
 #pragma once
 
+#if !defined (IDE_TERMINAL_INSIDE) && !defined (IDE_TERMINAL_COMPILATION)
+# error "Only <libide-terminal.h> can be included directly."
+#endif
+
 #include <gtk/gtk.h>
 
+#include <libide-core.h>
+#include <libide-foundry.h>
+
 G_BEGIN_DECLS
 
 #define IDE_TYPE_TERMINAL_POPOVER (ide_terminal_popover_get_type())
 
+IDE_AVAILABLE_IN_3_34
 G_DECLARE_FINAL_TYPE (IdeTerminalPopover, ide_terminal_popover, IDE, TERMINAL_POPOVER, GtkPopover)
 
-GtkWidget *ide_terminal_popover_new (void);
+IDE_AVAILABLE_IN_3_34
+GtkWidget  *ide_terminal_popover_new         (void);
+IDE_AVAILABLE_IN_3_34
+IdeRuntime *ide_terminal_popover_get_runtime (IdeTerminalPopover *self);
 
 G_END_DECLS


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]