[gnome-builder/wip/chergert/layout] layout: add transient sidebar class
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/wip/chergert/layout] layout: add transient sidebar class
- Date: Thu, 13 Jul 2017 00:24:06 +0000 (UTC)
commit df32fe98ab4d5d865aff5f45a5378d5e558897ca
Author: Christian Hergert <chergert redhat com>
Date: Wed Jul 12 17:20:32 2017 -0700
layout: add transient sidebar class
This is going to be our base-class for a transient sidebar. It
will be used in the editor, but possibly other perspectives such
as the debugger.
The purpose is for it to be smart enough to transition in/out as
necessary based on some set of conditions.
libide/ide.h | 1 +
libide/layout/ide-layout-transient-sidebar.c | 33 +++++++++++++++++++
libide/layout/ide-layout-transient-sidebar.h | 45 ++++++++++++++++++++++++++
libide/meson.build | 2 +
4 files changed, 81 insertions(+), 0 deletions(-)
---
diff --git a/libide/ide.h b/libide/ide.h
index 3f3a3e2..54508dd 100644
--- a/libide/ide.h
+++ b/libide/ide.h
@@ -97,6 +97,7 @@ G_BEGIN_DECLS
#include "layout/ide-layout-stack-addin.h"
#include "layout/ide-layout-stack-header.h"
#include "layout/ide-layout-stack.h"
+#include "layout/ide-layout-transient-sidebar.h"
#include "layout/ide-layout-view.h"
#include "layout/ide-layout.h"
#include "local/ide-local-device.h"
diff --git a/libide/layout/ide-layout-transient-sidebar.c b/libide/layout/ide-layout-transient-sidebar.c
new file mode 100644
index 0000000..fa248f6
--- /dev/null
+++ b/libide/layout/ide-layout-transient-sidebar.c
@@ -0,0 +1,33 @@
+/* ide-layout-transient-sidebar.c
+ *
+ * Copyright (C) 2017 Christian Hergert <chergert redhat com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#define G_LOG_DOMAIN "ide-layout-transient-sidebar"
+
+#include "layout/ide-layout-transient-sidebar.h"
+
+G_DEFINE_TYPE (IdeLayoutTransientSidebar, ide_layout_transient_sidebar, IDE_TYPE_LAYOUT_PANE)
+
+static void
+ide_layout_transient_sidebar_class_init (IdeLayoutTransientSidebarClass *klass)
+{
+}
+
+static void
+ide_layout_transient_sidebar_init (IdeLayoutTransientSidebar *self)
+{
+}
diff --git a/libide/layout/ide-layout-transient-sidebar.h b/libide/layout/ide-layout-transient-sidebar.h
new file mode 100644
index 0000000..4604d24
--- /dev/null
+++ b/libide/layout/ide-layout-transient-sidebar.h
@@ -0,0 +1,45 @@
+/* ide-layout-transient-sidebar.h
+ *
+ * Copyright (C) 2017 Christian Hergert <chergert redhat com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include <dazzle.h>
+
+#include "layout/ide-layout-pane.h"
+
+G_BEGIN_DECLS
+
+#define IDE_TYPE_LAYOUT_TRANSIENT_SIDEBAR (ide_layout_transient_sidebar_get_type())
+
+G_DECLARE_DERIVABLE_TYPE (IdeLayoutTransientSidebar, ide_layout_transient_sidebar, IDE,
LAYOUT_TRANSIENT_SIDEBAR, IdeLayoutPane)
+
+struct _IdeLayoutTransientSidebarClass
+{
+ IdeLayoutPaneClass parent_class;
+
+ gpointer _reserved1;
+ gpointer _reserved2;
+ gpointer _reserved3;
+ gpointer _reserved4;
+ gpointer _reserved5;
+ gpointer _reserved6;
+ gpointer _reserved7;
+ gpointer _reserved8;
+};
+
+G_END_DECLS
diff --git a/libide/meson.build b/libide/meson.build
index 516f9a6..eac7089 100644
--- a/libide/meson.build
+++ b/libide/meson.build
@@ -131,6 +131,7 @@ libide_public_headers = [
'layout/ide-layout-stack-header.h',
'layout/ide-layout-view.h',
'layout/ide-layout-pane.h',
+ 'layout/ide-layout-transient-sidebar.h',
'layout/ide-layout.h',
'local/ide-local-device.h',
'logging/ide-log.h',
@@ -332,6 +333,7 @@ libide_public_sources = [
'layout/ide-layout-stack.c',
'layout/ide-layout-stack-addin.c',
'layout/ide-layout-stack-header.c',
+ 'layout/ide-layout-transient-sidebar.c',
'layout/ide-layout-view.c',
'layout/ide-layout.c',
'local/ide-local-device.c',
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]