[niepce: 1/22] Use AppFrame for Gtk::ApplicationWindow
- From: Hubert Figuière <hub src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [niepce: 1/22] Use AppFrame for Gtk::ApplicationWindow
- Date: Tue, 29 Jul 2014 08:05:35 +0000 (UTC)
commit a916521d0859d08f3cfb5eade5509eb8fd80f9f5
Author: Hubert Figuière <hub figuiere net>
Date: Sun Jul 13 06:19:52 2014 -0400
Use AppFrame for Gtk::ApplicationWindow
camerawire/src/cwwindow.cpp | 2 +-
camerawire/src/cwwindow.hpp | 4 ++--
magellan/src/mgwindow.cpp | 2 +-
magellan/src/mgwindow.hpp | 4 ++--
src/fwk/toolkit/appframe.hpp | 29 +++++++++++++++++++++++++++++
src/fwk/toolkit/frame.cpp | 33 ++++++++++++++++++++-------------
src/fwk/toolkit/frame.hpp | 15 +++++++++------
src/niepce/ui/niepcewindow.cpp | 2 +-
src/niepce/ui/niepcewindow.hpp | 6 +++---
9 files changed, 68 insertions(+), 29 deletions(-)
---
diff --git a/camerawire/src/cwwindow.cpp b/camerawire/src/cwwindow.cpp
index 2f66651..67b8cd5 100644
--- a/camerawire/src/cwwindow.cpp
+++ b/camerawire/src/cwwindow.cpp
@@ -35,7 +35,7 @@ namespace cw {
CwWindow::CwWindow()
- : fwk::Frame("cw-window-frame")
+ : fwk::AppFrame("cw-window-frame")
, m_vbox(Gtk::ORIENTATION_VERTICAL)
, m_hbox(Gtk::ORIENTATION_HORIZONTAL)
{
diff --git a/camerawire/src/cwwindow.hpp b/camerawire/src/cwwindow.hpp
index e0dcd36..404a758 100644
--- a/camerawire/src/cwwindow.hpp
+++ b/camerawire/src/cwwindow.hpp
@@ -29,12 +29,12 @@
#include <gtkmm/treeview.h>
#include "fwk/utils/gphoto.hpp"
-#include "fwk/toolkit/frame.hpp"
+#include "fwk/toolkit/appframe.hpp"
namespace cw {
class CwWindow
- : public fwk::Frame
+ : public fwk::AppFrame
{
public:
CwWindow();
diff --git a/magellan/src/mgwindow.cpp b/magellan/src/mgwindow.cpp
index d958a30..426d47b 100644
--- a/magellan/src/mgwindow.cpp
+++ b/magellan/src/mgwindow.cpp
@@ -36,7 +36,7 @@ namespace mg {
MgWindow::MgWindow()
- : fwk::Frame("mg-window-frame")
+ : fwk::AppFrame("mg-window-frame")
{
}
diff --git a/magellan/src/mgwindow.hpp b/magellan/src/mgwindow.hpp
index c376236..f804948 100644
--- a/magellan/src/mgwindow.hpp
+++ b/magellan/src/mgwindow.hpp
@@ -28,12 +28,12 @@
#include <gtkmm/treemodel.h>
#include <gtkmm/treeview.h>
-#include "fwk/toolkit/frame.hpp"
+#include "fwk/toolkit/appframe.hpp"
namespace mg {
class MgWindow
- : public fwk::Frame
+ : public fwk::AppFrame
{
public:
MgWindow();
diff --git a/src/fwk/toolkit/appframe.hpp b/src/fwk/toolkit/appframe.hpp
new file mode 100644
index 0000000..84fc7b3
--- /dev/null
+++ b/src/fwk/toolkit/appframe.hpp
@@ -0,0 +1,29 @@
+
+
+#pragma once
+
+#include <gtkmm/applicationwindow.h>
+
+#include "fwk/toolkit/frame.hpp"
+
+namespace fwk {
+
+class AppFrame
+ : public Frame
+{
+public:
+ typedef std::shared_ptr<AppFrame> Ptr;
+
+ AppFrame(const std::string & layout_cfg_key = "")
+ : Frame(new Gtk::ApplicationWindow(), layout_cfg_key)
+ {
+ }
+
+ Glib::RefPtr<Gio::Menu> get_menu() const
+ { return m_menu; }
+
+protected:
+ Glib::RefPtr<Gio::Menu> m_menu;
+};
+
+}
diff --git a/src/fwk/toolkit/frame.cpp b/src/fwk/toolkit/frame.cpp
index a96272f..544b42b 100644
--- a/src/fwk/toolkit/frame.cpp
+++ b/src/fwk/toolkit/frame.cpp
@@ -29,32 +29,39 @@
#include "frame.hpp"
#include "application.hpp"
-
-
namespace fwk {
+Frame::Frame(Gtk::Window* win, const std::string & layout_cfg_key)
+ : m_window(win),
+ m_builder(nullptr),
+ m_layout_cfg_key(layout_cfg_key)
+{
+ connectSignals();
+ frameRectFromConfig();
+}
+
Frame::Frame(const std::string & layout_cfg_key)
- : m_window(new Gtk::Window()),
- m_builder(nullptr),
- m_layout_cfg_key(layout_cfg_key)
+ : m_window(new Gtk::Window()),
+ m_builder(nullptr),
+ m_layout_cfg_key(layout_cfg_key)
{
- connectSignals();
- frameRectFromConfig();
+ connectSignals();
+ frameRectFromConfig();
}
-Frame::Frame(const std::string & gladeFile,
+Frame::Frame(const std::string & gladeFile,
const Glib::ustring & widgetName,
const std::string & layout_cfg_key)
- : m_window(nullptr),
- m_builder(Gtk::Builder::create_from_file(gladeFile)),
- m_layout_cfg_key(layout_cfg_key)
+ : m_window(nullptr),
+ m_builder(Gtk::Builder::create_from_file(gladeFile)),
+ m_layout_cfg_key(layout_cfg_key)
{
- if (m_builder) {
+ if (m_builder) {
m_builder->get_widget(widgetName, m_window);
connectSignals();
frameRectFromConfig();
- }
+ }
}
diff --git a/src/fwk/toolkit/frame.hpp b/src/fwk/toolkit/frame.hpp
index 6f4713f..6c48e65 100644
--- a/src/fwk/toolkit/frame.hpp
+++ b/src/fwk/toolkit/frame.hpp
@@ -37,16 +37,19 @@ namespace Gtk {
namespace fwk {
-class Frame
- : public UiController
+class Frame
+ : public UiController
{
+protected:
+ Frame(Gtk::Window* win, const std::string & layout_cfg_key = "");
+
public:
- typedef std::shared_ptr<Frame> Ptr;
+ typedef std::shared_ptr<Frame> Ptr;
- Frame(const std::string & gladeFile, const Glib::ustring & widgetName,
+ Frame(const std::string & gladeFile, const Glib::ustring & widgetName,
const std::string & layout_cfg_key = "");
- Frame(const std::string & layout_cfg_key = "");
- virtual ~Frame();
+ Frame(const std::string & layout_cfg_key = "");
+ virtual ~Frame();
/** convenience to return the Frame::Ptr from this */
Ptr shared_frame_ptr()
diff --git a/src/niepce/ui/niepcewindow.cpp b/src/niepce/ui/niepcewindow.cpp
index a403644..e1122a6 100644
--- a/src/niepce/ui/niepcewindow.cpp
+++ b/src/niepce/ui/niepcewindow.cpp
@@ -56,7 +56,7 @@ namespace ui {
NiepceWindow::NiepceWindow()
- : fwk::Frame("mainWindow-frame")
+ : fwk::AppFrame("mainWindow-frame")
, m_vbox(Gtk::ORIENTATION_VERTICAL)
{
}
diff --git a/src/niepce/ui/niepcewindow.hpp b/src/niepce/ui/niepcewindow.hpp
index 0f2629b..cb929fa 100644
--- a/src/niepce/ui/niepcewindow.hpp
+++ b/src/niepce/ui/niepcewindow.hpp
@@ -28,7 +28,7 @@
#include <gtkmm/statusbar.h>
#include <gtkmm/paned.h>
-#include "fwk/toolkit/frame.hpp"
+#include "fwk/toolkit/appframe.hpp"
#include "fwk/toolkit/configdatabinder.hpp"
#include "engine/db/label.hpp"
#include "libraryclient/libraryclient.hpp"
@@ -41,7 +41,7 @@
namespace ui {
class NiepceWindow
- : public fwk::Frame
+ : public fwk::AppFrame
{
public:
NiepceWindow();
@@ -83,7 +83,7 @@ private:
bool open_library(const std::string & libMoniker);
void _createModuleShell();
-
+
niepce::NotificationCenter::Ptr m_notifcenter;
Gtk::Box m_vbox;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]