[gdlmm] update .gitignore
- From: Fabien Parent <fparent src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gdlmm] update .gitignore
- Date: Wed, 14 Oct 2009 15:34:54 +0000 (UTC)
commit b85a9949285da7a81102fb504782203db4c6c92c
Author: Fabien Parent <parent f gmail com>
Date: Wed Oct 14 17:34:26 2009 +0200
update .gitignore
update the example (remove all C code)
fix the StyleSwitcher
create init files
add get_master method
doc/reference/.gitignore | 4 +-
doc/reference/gdlmm-1.0.devhelp2 | 257 -----
doc/reference/gdlmm-1.0.tag | 1910 --------------------------------------
examples/dock.cc | 140 ++--
gdl/.gitignore | 16 +-
gdl/gdlmm.h | 1 +
gdl/gdlmm/dock.cc | 342 -------
gdl/gdlmm/dock.h | 278 ------
gdl/gdlmm/dockbar.cc | 202 ----
gdl/gdlmm/dockbar.h | 197 ----
gdl/gdlmm/dockitem.cc | 576 ------------
gdl/gdlmm/dockitem.h | 394 --------
gdl/gdlmm/docklayout.cc | 234 -----
gdl/gdlmm/docklayout.h | 200 ----
gdl/gdlmm/dockmaster.cc | 298 ------
gdl/gdlmm/dockmaster.h | 238 -----
gdl/gdlmm/dockobject.cc | 373 --------
gdl/gdlmm/dockobject.h | 354 -------
gdl/gdlmm/dockplaceholder.cc | 243 -----
gdl/gdlmm/dockplaceholder.h | 261 ------
gdl/gdlmm/filelist.am | 4 +-
gdl/gdlmm/init.cc | 36 +
gdl/gdlmm/init.h | 34 +
gdl/gdlmm/wrap_init.cc | 79 --
gdl/src/dockmaster.hg | 5 +-
gdl/src/dockobject.ccg | 7 +
gdl/src/dockobject.hg | 2 +
27 files changed, 157 insertions(+), 6528 deletions(-)
---
diff --git a/doc/reference/.gitignore b/doc/reference/.gitignore
index 005f07a..0d1ad88 100644
--- a/doc/reference/.gitignore
+++ b/doc/reference/.gitignore
@@ -1,5 +1,5 @@
/Doxyfile
/doxygen.log
-/skeletonmm-1.0.devhelp2
-/skeletonmm-1.0.tag
+/gdlmm-1.0.devhelp2
+/gdlmm-1.0.tag
/html
diff --git a/examples/dock.cc b/examples/dock.cc
index a8ad046..d0ab69b 100644
--- a/examples/dock.cc
+++ b/examples/dock.cc
@@ -22,106 +22,77 @@
#include <gdlmm.h>
#include <gdl/gdl.h>
+
Gtk::Widget* create_text_item(void)
{
- GtkWidget *vbox1;
- GtkWidget *scrolledwindow1;
- GtkWidget *text;
-
- vbox1 = gtk_vbox_new (FALSE, 0);
- gtk_widget_show (vbox1);
-
- scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL);
- gtk_widget_show (scrolledwindow1);
- gtk_box_pack_start (GTK_BOX (vbox1), scrolledwindow1, TRUE, TRUE, 0);
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1),
- GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
- gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow1),
- GTK_SHADOW_ETCHED_IN);
- text = gtk_text_view_new ();
- g_object_set (text, "wrap-mode", GTK_WRAP_WORD, NULL);
- gtk_widget_show (text);
- gtk_container_add (GTK_CONTAINER (scrolledwindow1), text);
-
- return Glib::wrap(vbox1);
+ Gtk::VBox* vbox = new Gtk::VBox(false);
+ Gtk::TextView* text = new Gtk::TextView();
+ Gtk::ScrolledWindow* scrolledwindow = new Gtk::ScrolledWindow();
+ scrolledwindow->set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC);
+ scrolledwindow->set_shadow_type(Gtk::SHADOW_ETCHED_IN);
+ scrolledwindow->add(*Gtk::manage(text));
+ vbox->pack_start(*Gtk::manage(scrolledwindow));
+ vbox->show_all();
+
+ return Gtk::manage(vbox);
}
-Gtk::Widget* create_item(const gchar *button_title)
+Gtk::Widget* create_item(const Glib::ustring& button_title)
{
- GtkWidget *vbox1;
- GtkWidget *button1;
-
- vbox1 = gtk_vbox_new (FALSE, 0);
- gtk_widget_show (vbox1);
-
- button1 = gtk_button_new_with_label (button_title);
- gtk_widget_show (button1);
- gtk_box_pack_start (GTK_BOX (vbox1), button1, TRUE, TRUE, 0);
-
- return Glib::wrap(vbox1);
+ Gtk::VBox* vbox = new Gtk::VBox(false);
+ Gtk::Button* button = new Gtk::Button(button_title);
+ vbox->pack_start(*Gtk::manage(button));
+ vbox->show_all();
+
+ return Gtk::manage(vbox);
}
-void on_style_button_toggled(GtkRadioButton *button, GdlDock *dock)
+void on_style_button_toggled(Gtk::RadioButton* button, Gdl::Dock& dock, Gdl::SwitcherStyle style)
{
- gboolean active;
- GdlDockMaster *master = GDL_DOCK_OBJECT_GET_MASTER (dock);
- GdlSwitcherStyle style =
- static_cast<GdlSwitcherStyle>(GPOINTER_TO_INT (g_object_get_data (G_OBJECT (button),
- "__style_id")));
- active = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button));
- if (active) {
- g_object_set (master, "switcher-style", style, NULL);
+ Glib::RefPtr<Gdl::DockMaster> master = dock.property_master();
+ if (button->get_active())
+ {
+ master->property_switcher_style() = style;
}
}
-GtkWidget* create_style_button (GtkWidget *dock, GtkWidget *box, GtkWidget *group,
- GdlSwitcherStyle style, const gchar *style_text)
+Gtk::RadioButton* create_style_button(Gdl::Dock& dock, Gtk::VBox* box, Gtk::RadioButtonGroup* group, Gdl::SwitcherStyle style, const Glib::ustring& style_text)
{
- GdlSwitcherStyle current_style;
- GtkWidget *button1;
- GdlDockMaster *master = GDL_DOCK_OBJECT_GET_MASTER (dock);
-
- g_object_get (master, "switcher-style", ¤t_style, NULL);
- button1 = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (group),
- style_text);
- gtk_widget_show (button1);
- g_object_set_data (G_OBJECT (button1), "__style_id",
- GINT_TO_POINTER (style));
- if (current_style == style) {
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button1), TRUE);
+ Gdl::SwitcherStyle current_style;
+ Gtk::RadioButton* button;
+ if (group)
+ button = new Gtk::RadioButton(*group, style_text);
+ else
+ button = new Gtk::RadioButton(style_text);
+
+ Glib::RefPtr<Gdl::DockMaster> master = dock.property_master();
+ current_style = master->property_switcher_style();
+
+ if (current_style == style)
+ {
+ button->set_active(true);
}
- g_signal_connect (button1, "toggled",
- G_CALLBACK (on_style_button_toggled),
- dock);
- gtk_box_pack_start (GTK_BOX (box), button1, FALSE, FALSE, 0);
- return button1;
+
+ button->signal_toggled().connect(sigc::bind<Gtk::RadioButton*, Gdl::Dock&, Gdl::SwitcherStyle>(sigc::ptr_fun(&on_style_button_toggled), button, dock, style));
+ box->pack_start(*Gtk::manage(button), false, false);
+ return button;
}
-Gtk::Widget* create_styles_item(GtkWidget *dock)
+Gtk::Widget* create_styles_item(Gdl::Dock& dock)
{
- GtkWidget *vbox1;
- GtkWidget *group;
+ Gtk::VBox* vbox = new Gtk::VBox(false);
+ Gtk::RadioButtonGroup* group;
- vbox1 = gtk_vbox_new (FALSE, 0);
- gtk_widget_show (vbox1);
-
- group = create_style_button (dock, vbox1, NULL,
- GDL_SWITCHER_STYLE_ICON, "Only icon");
- group = create_style_button (dock, vbox1, group,
- GDL_SWITCHER_STYLE_TEXT, "Only text");
- group = create_style_button (dock, vbox1, group,
- GDL_SWITCHER_STYLE_BOTH,
- "Both icons and texts");
- group = create_style_button (dock, vbox1, group,
- GDL_SWITCHER_STYLE_TOOLBAR,
- "Desktop toolbar style");
- group = create_style_button (dock, vbox1, group,
- GDL_SWITCHER_STYLE_TABS,
- "Notebook tabs");
- group = create_style_button (dock, vbox1, group,
- GDL_SWITCHER_STYLE_NONE,
- "None of the above");
- return Glib::wrap(vbox1);
+ group = &(create_style_button(dock, vbox, 0, Gdl::SWITCHER_STYLE_ICON, "Only icon")->get_group());
+ create_style_button(dock, vbox, group, Gdl::SWITCHER_STYLE_TEXT, "Only text");
+ create_style_button(dock, vbox, group, Gdl::SWITCHER_STYLE_BOTH, "Both icons and texts");
+ create_style_button(dock, vbox, group, Gdl::SWITCHER_STYLE_TOOLBAR, "Desktop toolbar style");
+ create_style_button(dock, vbox, group, Gdl::SWITCHER_STYLE_TABS, "Notebook tabs");
+ create_style_button(dock, vbox, group, Gdl::SWITCHER_STYLE_NONE, "None of the above");
+
+ vbox->show_all();
+
+ return Gtk::manage(vbox);
}
void button_dump_cb(Glib::RefPtr<Gdl::DockLayout> layout)
@@ -159,6 +130,7 @@ void save_layout_cb(Glib::RefPtr<Gdl::DockLayout> layout)
int main(int argc, char** argv)
{
Gtk::Main kit(argc, argv);
+ Gdl::init();
Gtk::Window window;
window.set_title("Docking widget test");
@@ -184,7 +156,7 @@ int main(int argc, char** argv)
dock.add_item(*(items[0]), Gdl::DOCK_BOTTOM);
item1.add(*create_text_item());
- item2.add(*create_styles_item((GtkWidget*) dock.gobj()));
+ item2.add(*create_styles_item(dock));
item3.add(*create_item("Button 3"));
items[0]->add(*create_text_item());
diff --git a/gdl/.gitignore b/gdl/.gitignore
index 6dd3485..5055445 100644
--- a/gdl/.gitignore
+++ b/gdl/.gitignore
@@ -1,6 +1,18 @@
/gdlmmconfig.h
/gdlmm-*.pc
-/gdlmm/gdl.cc
-/gdlmm/gdl.h
+/gdlmm/dock.cc
+/gdlmm/dock.h
+/gdlmm/dockbar.cc
+/gdlmm/dockbar.h
+/gdlmm/dockitem.cc
+/gdlmm/dockitem.h
+/gdlmm/docklayout.cc
+/gdlmm/docklayout.h
+/gdlmm/dockmaster.cc
+/gdlmm/dockmaster.h
+/gdlmm/dockobject.cc
+/gdlmm/dockobject.h
+/gdlmm/dockplaceholder.cc
+/gdlmm/dockplaceholder.h
/gdlmm/wrap_init.cc
/src/.stamps
diff --git a/gdl/gdlmm.h b/gdl/gdlmm.h
index 3492560..47fc082 100644
--- a/gdl/gdlmm.h
+++ b/gdl/gdlmm.h
@@ -20,6 +20,7 @@
*/
+#include <gdlmm/init.h>
#include <gdlmm/dock.h>
#include <gdlmm/dockbar.h>
#include <gdlmm/dockitem.h>
diff --git a/gdl/gdlmm/filelist.am b/gdl/gdlmm/filelist.am
index e6fc821..ddde010 100644
--- a/gdl/gdlmm/filelist.am
+++ b/gdl/gdlmm/filelist.am
@@ -3,6 +3,6 @@
files_built_cc = $(files_hg:.hg=.cc) wrap_init.cc
files_built_h = $(files_hg:.hg=.h)
files_built_ph = $(patsubst %.hg,private/%_p.h,$(files_hg))
-files_extra_cc =
-files_extra_h = wrap_init.h
+files_extra_cc = init.cc
+files_extra_h = wrap_init.h init.h
files_extra_ph =
diff --git a/gdl/gdlmm/init.cc b/gdl/gdlmm/init.cc
new file mode 100644
index 0000000..0b9bf0c
--- /dev/null
+++ b/gdl/gdlmm/init.cc
@@ -0,0 +1,36 @@
+/* Copyright (c) 2009 Fabien Parent <parent f gmail com>
+ *
+ * This file is part of gdlmm.
+ *
+ * gdlmm is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation, either version 2.1 of the License,
+ * or (at your option) any later version.
+ *
+ * gdlmm 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "init.h"
+#include <gtkmm/main.h>
+
+namespace Gdl
+{
+
+void init()
+{
+ static bool is_init = false;
+ if (!is_init)
+ {
+ Gtk::Main::init_gtkmm_internals();
+ Gdl::wrap_init();
+ is_init = true;
+ }
+}
+
+} // namespace Gdl
diff --git a/gdl/gdlmm/init.h b/gdl/gdlmm/init.h
new file mode 100644
index 0000000..ed0a288
--- /dev/null
+++ b/gdl/gdlmm/init.h
@@ -0,0 +1,34 @@
+// -*- c++ -*-
+#ifndef _GDLMM_INIT_H
+#define _GDLMM_INIT_H
+
+#include "wrap_init.h"
+
+/* Copyright (c) 2009 Fabien Parent <parent f gmail com>
+ *
+ * This file is part of gdlmm.
+ *
+ * gdlmm is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation, either version 2.1 of the License,
+ * or (at your option) any later version.
+ *
+ * gdlmm 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+namespace Gdl
+{
+
+void init() ;
+
+} // namespace Gdl
+
+#endif //_GDLMM_INIT_H
+
diff --git a/gdl/src/dockmaster.hg b/gdl/src/dockmaster.hg
index b231fc2..90a3630 100644
--- a/gdl/src/dockmaster.hg
+++ b/gdl/src/dockmaster.hg
@@ -22,12 +22,14 @@ _PINCLUDE(glibmm/private/object_p.h)
#include <glibmm/object.h>
#include "dockobject.h"
+#include <gdl/libgdltypebuiltins.h>
+
namespace Gdl
{
_CC_INCLUDE(gdl/gdl-dock-master.h)
-_WRAP_ENUM(SwitcherStyle, GdlSwitcherStyle, NO_GTYPE)
+_WRAP_ENUM(SwitcherStyle, GdlSwitcherStyle)
class DockMaster : public Glib::Object
{
@@ -39,7 +41,6 @@ protected:
public:
_WRAP_CREATE()
-
_WRAP_METHOD(void add(DockObject& object), gdl_dock_master_add)
_WRAP_METHOD(void remove(DockObject& object), gdl_dock_master_remove)
diff --git a/gdl/src/dockobject.ccg b/gdl/src/dockobject.ccg
index 5483836..118a494 100644
--- a/gdl/src/dockobject.ccg
+++ b/gdl/src/dockobject.ccg
@@ -19,6 +19,8 @@
#include "dockmaster.h"
#include <glibmm/object.h>
+#include <gdl/gdl-dock-master.h>
+
namespace Gdl
{
@@ -42,4 +44,9 @@ bool DockObject::reorder(DockObject& child, const Glib::ValueBase& other_data, D
return gdl_dock_object_reorder(gobj(), child.gobj(), static_cast<GdlDockPlacement>(new_position), const_cast<GValue*>(other_data.gobj()));
}
+Glib::RefPtr<DockMaster> DockObject::get_master()
+{
+ return Glib::wrap(GDL_DOCK_OBJECT_GET_MASTER(gobj()), true);
+}
+
} // namespace Gdl
diff --git a/gdl/src/dockobject.hg b/gdl/src/dockobject.hg
index 5c2db53..7923b75 100644
--- a/gdl/src/dockobject.hg
+++ b/gdl/src/dockobject.hg
@@ -75,6 +75,8 @@ public:
_WRAP_METHOD(bool child_placement(DockObject& child, DockPlacement placement = static_cast<DockPlacement>(DOCK_NONE)), gdl_dock_object_child_placement)
+ Glib::RefPtr<DockMaster> get_master();
+
_WRAP_PROPERTY("long-name", Glib::ustring)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]