Commit b194c5c1 authored by Murray Cumming's avatar Murray Cumming

2009-02-08 Murray Cumming <murrayc@murrayc.com>h>

* gtk/gtkmm/stock.[h|cc]: Added CAPS_LOCK_WARNING.

* tools/extra_defs_gen/generate_defs_gtk.cc: Added new interfaces.
* gtk/src/gtk_signals.defs: Regenerated.

* gtk/src/Makefile_list_of_hg.am_fragment:
* gtk/src/gtk_vfuncs.defs:
* gtk/src/activatable.[hg|ccg]:
* gtk/src/orientation.[hg|ccg]: Added the new interfaces, though 
we cannot use them yet without breaking ABI.
* gtk/src/box.hg:
* gtk/src/button.hg:
* gtk/src/buttonbox.hg:
* gtk/src/menu.hg:
* gtk/src/menuitem.hg:
* gtk/src/paned.hg:
* gtk/src/recentchoosermenu.hg:
* gtk/src/ruler.hg:
* gtk/src/scalebutton.hg:
* gtk/src/scrollbar.hg:
* gtk/src/separator.hg:
* gtk/src/toolbutton.hg: Added TODOs about deriving from the new 
interfaces when we can break ABI. I only did this for base classes, 
though GTK+ does it for further derived classes too, for some reason.

svn path=/trunk/; revision=1093
parent bed78f6b
2009-02-08 Murray Cumming <murrayc@murrayc.com>h>
* gtk/gtkmm/stock.[h|cc]: Added CAPS_LOCK_WARNING.
* tools/extra_defs_gen/generate_defs_gtk.cc: Added new interfaces.
* gtk/src/gtk_signals.defs: Regenerated.
* gtk/src/Makefile_list_of_hg.am_fragment:
* gtk/src/gtk_vfuncs.defs:
* gtk/src/activatable.[hg|ccg]:
* gtk/src/orientation.[hg|ccg]: Added the new interfaces, though
we cannot use them yet without breaking ABI.
* gtk/src/box.hg:
* gtk/src/button.hg:
* gtk/src/buttonbox.hg:
* gtk/src/menu.hg:
* gtk/src/menuitem.hg:
* gtk/src/paned.hg:
* gtk/src/recentchoosermenu.hg:
* gtk/src/ruler.hg:
* gtk/src/scalebutton.hg:
* gtk/src/scrollbar.hg:
* gtk/src/separator.hg:
* gtk/src/toolbutton.hg: Added TODOs about deriving from the new
interfaces when we can break ABI. I only did this for base classes,
though GTK+ does it for further derived classes too, for some reason.
2.15.3:
(2.15.2 was skipped.)
......
......@@ -46,6 +46,7 @@ const Gtk::BuiltinStockID ADD = { GTK_STOCK_ADD };
const Gtk::BuiltinStockID APPLY= { GTK_STOCK_APPLY };
const Gtk::BuiltinStockID BOLD= { GTK_STOCK_BOLD };
const Gtk::BuiltinStockID CANCEL = { GTK_STOCK_CANCEL };
const Gtk::BuiltinStockID CAPS_LOCK_WARNING = { GTK_STOCK_CAPS_LOCK_WARNING };
const Gtk::BuiltinStockID CDROM = { GTK_STOCK_CDROM };
const Gtk::BuiltinStockID CLEAR = { GTK_STOCK_CLEAR };
const Gtk::BuiltinStockID CLOSE = { GTK_STOCK_CLOSE };
......
......@@ -69,6 +69,7 @@ extern GTKMM_API const Gtk::BuiltinStockID ADD; /*!< @image html gt
extern GTKMM_API const Gtk::BuiltinStockID APPLY; /*!< @image html gtk-apply.png */
extern GTKMM_API const Gtk::BuiltinStockID BOLD; /*!< @image html gtk-bold.png */
extern GTKMM_API const Gtk::BuiltinStockID CANCEL; /*!< @image html gtk-cancel.png */
extern GTKMM_API const Gtk::BuiltinStockID CAPS_LOCK_WARNING; /*!< @image html gtk-caps-lock-warning.png */
extern GTKMM_API const Gtk::BuiltinStockID CDROM; /*!< @image html gtk-cdrom.png */
extern GTKMM_API const Gtk::BuiltinStockID CLEAR; /*!< @image html gtk-clear.png */
extern GTKMM_API const Gtk::BuiltinStockID CLOSE; /*!< @image html gtk-close.png */
......
......@@ -5,7 +5,7 @@
files_posix_hg = pagesetupunixdialog.hg printunixdialog.hg \
printer.hg printjob.hg
files_win32_hg =
files_general_hg = aboutdialog.hg accelgroup.hg accellabel.hg action.hg actiongroup.hg adjustment.hg alignment.hg \
files_general_hg = aboutdialog.hg accelgroup.hg accellabel.hg action.hg actiongroup.hg activatable.hg adjustment.hg alignment.hg \
arrow.hg aspectframe.hg assistant.hg \
bin.hg box.hg builder.hg button.hg buttonbox.hg \
calendar.hg celleditable.hg celllayout.hg cellview.hg \
......@@ -20,7 +20,7 @@ files_general_hg = aboutdialog.hg accelgroup.hg accellabel.hg action.hg actiongr
iconfactory.hg iconset.hg iconsource.hg iconinfo.hg icontheme.hg iconview.hg image.hg imagemenuitem.hg inputdialog.hg invisible.hg item.hg \
label.hg layout.hg linkbutton.hg liststore.hg \
main.hg menu.hg menubar.hg menuitem.hg menushell.hg menutoolbutton.hg messagedialog.hg misc.hg \
notebook.hg object.hg optionmenu.hg \
notebook.hg object.hg optionmenu.hg orientable.hg \
paned.hg plug.hg progressbar.hg \
papersize.hg pagesetup.hg printsettings.hg printcontext.hg printoperation.hg printoperationpreview.hg \
radioaction.hg radiobutton.hg radiomenuitem.hg radiotoolbutton.hg range.hg rc.hg \
......
// -*- c++ -*-
/* $Id: activatable.ccg,v 1.1 2003/01/21 13:38:48 murrayc Exp $ */
/* Copyright 2009 The gtkmm Development Team
*
* This library 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.
*
* This library 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 library; if not, write to the Free
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <gtk/gtk.h>
/* $Id: activatable.hg,v 1.3 2006/05/18 17:53:15 murrayc Exp $ */
/* Copyright (C) 2009 The gtkmm Development Team
*
* This library 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.
*
* This library 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 library; if not, write to the Free
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <gtkmm/action.h>
#include <glibmm/interface.h>
#include <gtk/gtk.h>
_DEFS(gtkmm,gtk)
_PINCLUDE(glibmm/private/interface_p.h)
namespace Gtk
{
/** Activatable widgets can be connected to a GtkAction and reflect the state
* of the action. An Activatable can also provide feedback through its action,
* as it is responsible for activating the related action.
*
* @newin2p16
*/
class Activatable : public Glib::Interface
{
_CLASS_INTERFACE(Activatable, GtkActivatable, GTK_ACTIVATABLE, GtkActivatableIface)
public:
_WRAP_METHOD(void do_set_related_action(const Glib::RefPtr<Action>& action), gtk_activatable_do_set_related_action)
_WRAP_METHOD(Glib::RefPtr<Action> get_related_action(), gtk_activatable_get_related_action, refreturn)
_WRAP_METHOD(Glib::RefPtr<const Action> get_related_action() const, gtk_activatable_get_related_action, refreturn, constversion)
_WRAP_METHOD(bool get_use_action_appearance() const, gtk_activatable_get_use_action_appearance)
_WRAP_METHOD(void reset(const Glib::RefPtr<Action>& action), gtk_activatable_reset)
_WRAP_METHOD(void set_related_action(const Glib::RefPtr<Action>& action), gtk_activatable_set_related_action)
_WRAP_METHOD(void set_use_action_appearance(bool use_appearance = true), gtk_activatable_set_use_action_appearance)
_WRAP_PROPERTY("related-action", Glib::RefPtr<Action>)
_WRAP_PROPERTY("use-action-appearance", bool)
#m4 _CONVERSION(`const char*',`const Glib::ustring&',__GCHARP_TO_USTRING)
_WRAP_VFUNC(void update(const Glib::RefPtr<Action>& action, const Glib::ustring& property_name), update)
_WRAP_VFUNC(void reset(const Glib::RefPtr<Action>& action), reset)
};
} // namespace Gtk
......@@ -121,7 +121,9 @@ struct EndElem : public Element
} /* namespace Box_Helpers */
/** A base class for box containers
//TODO: Inherit/Implement Orientation when we can break ABI.
/** A base class for box containers.
*
* Abstract base class for horizontal and vertical boxes, which organize a
* variable number of widgets into a rectangular area. This is an abstract
......
......@@ -30,6 +30,7 @@ namespace Gtk
namespace Stock { struct BuiltinStockID; }
// TODO: Inherit/Implement Activatable when we can break ABI.
/** A widget that creates a signal when clicked on.
*
......
......@@ -31,6 +31,8 @@ namespace Gtk
enum { BUTTONBOX_DEFAULT = -1 };
//TODO: Inherit/Implement Orientation when we can break ABI.
/** Base class for Gtk::HButtonBox and Gtk::VButtonBox
*
* A button box should be used to provide a consistent layout of buttons
......
This diff is collapsed.
......@@ -29,7 +29,26 @@
'("GtkWidget*" "proxy")
)
)
; GtkActivatable
(define-vfunc update
(of-object "GtkActivatable")
(return-type "void")
(parameters
'("GtkAction*" "action")
'("const-gchar*" "property_name")
)
)
(define-vfunc reset
(of-object "GtkActivatable")
(return-type "void")
(parameters
'("GtkAction*" "action")
)
)
; GtkCellEditable
(define-vfunc start_editing
......
......@@ -35,7 +35,7 @@ class AccelGroup;
/** A drop-down menu consisting of Gtk::MenuItem objects which can be navigated and activated by the user to perform application functions.
* Menus are normally placed inside a Gtk::MenuBar or another MenuItem as a sub menu.
* A Menu can also be popped up, for instance as a right-click context menu, by calling the popup() method.
* See also Gtk::OptionMenu.
* .
* @ingroup Widgets
* @ingroup Menus
*/
......
......@@ -33,6 +33,8 @@ namespace Gtk
class Menu;
namespace Menu_Helpers { class Element; }
// TODO: Inherit/Implement Activatable when we can break ABI.
/** Child item for menus.
* Handle highlighting, alignment, events and submenus.
* As it derives from Gtk::Bin it can hold any valid child widget, altough only a few are really useful.
......
// -*- c++ -*-
/* $Id: orientatoin.ccg,v 1.1 2003/01/21 13:38:48 murrayc Exp $ */
/* Copyright 2009 The gtkmm Development Team
*
* This library 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.
*
* This library 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 library; if not, write to the Free
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <gtk/gtk.h>
/* $Id: orientable.hg,v 1.3 2006/05/18 17:53:15 murrayc Exp $ */
/* Copyright (C) 2009 The gtkmm Development Team
*
* This library 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.
*
* This library 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 library; if not, write to the Free
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <glibmm/interface.h>
#include <gtkmm/enums.h>
#include <gtk/gtk.h>
_DEFS(gtkmm,gtk)
_PINCLUDE(glibmm/private/interface_p.h)
namespace Gtk
{
/** This interface is implemented by all widgets that can be oriented
* horizontally or vertically. Historically, such widgets have been realized as
* subclasses of a common base class (e.g GtkBox/GtkHBox/GtkVBox and
* GtkScale/GtkHScale/GtkVScale). GtkOrientable is more flexible in that it
* allows the orientation to be changed at runtime, allowing the widgets to 'flip'.
*
* @newin2p16
*/
class Orientable : public Glib::Interface
{
_CLASS_INTERFACE(Orientable, GtkOrientable, GTK_ORIENTABLE, GtkOrientableIface)
public:
_WRAP_METHOD(void set_orientation(Orientation orientation), gtk_orientable_set_orientation)
_WRAP_METHOD(Orientation get_orientation() const, gtk_orientable_get_orientation)
_WRAP_PROPERTY("orientation", Orientation)
};
} // namespace Gtk
......@@ -30,6 +30,8 @@ _PINCLUDE(gtkmm/private/container_p.h)
namespace Gtk
{
//TODO: Inherit/Implement Orientation when we can break ABI.
/** This is the base class for widgets with two panes, arranged either
* horizontally (Gtk::HPaned) or vertically (Gtk::VPaned).
*
......
......@@ -26,6 +26,8 @@ _PINCLUDE(gtkmm/private/menu_p.h)
namespace Gtk
{
// TODO: Inherit/Implement Activatable when we can break ABI.
/** RecentChooserMenu is a widget suitable for displaying recently used files
* inside a menu. It can be used to set a sub-menu of a MenuItem using
* MenuItem::item_set_submenu(), or as the menu of a MenuToolButton.
......
......@@ -28,6 +28,8 @@ _PINCLUDE(gtkmm/private/widget_p.h)
namespace Gtk
{
//TODO: Inherit/Implement Orientation when we can break ABI.
/** Base class for horizontal or vertical rulers.
*
* NOTE this widget is considered too specialized/little-used for GTK+, and will in the future be moved to some other package. If your application needs this widget, feel free to use it, as the widget does work and is useful in some applications; it's just not of general interest. However, we are not accepting new features for the widget, and it will eventually move out of the GTK+ distribution.
......
......@@ -29,6 +29,8 @@ _PINCLUDE(gtkmm/private/button_p.h)
namespace Gtk
{
//TODO: Inherit/Implement Orientation when we can break ABI.
/** A button which pops up a scale widget.
*
* This kind of widget is commonly used for volume controls in multimedia
......
......@@ -29,6 +29,8 @@ _PINCLUDE(gtkmm/private/range_p.h)
namespace Gtk
{
//TODO: Inherit/Implement Orientation when we can break ABI.
/**
* The Gtk::Scrollbar widget is an abstract base class for Gtk::HScrollbar
* and Gtk::VScrollbar. It is not very useful in itself.
......
......@@ -28,6 +28,9 @@ _PINCLUDE(gtkmm/private/widget_p.h)
namespace Gtk
{
//TODO: Inherit/Implement Orientation when we can break ABI.
/** Separator base class.
* Abstract base class for Gtk::VSeperator and Gtk::HSeperator.
*/
......
......@@ -27,6 +27,8 @@ _PINCLUDE(gtkmm/private/toolitem_p.h)
namespace Gtk
{
// TODO: Inherit/Implement Activatable when we can break ABI.
/** A Gtk::ToolItem subclass that displays buttons.
*
* A ToolButton is are Gtk::ToolItem containing a button.
......
......@@ -74,6 +74,7 @@ int main (int argc, char *argv[])
<< get_defs( GTK_TYPE_ACCEL_LABEL )
<< get_defs( GTK_TYPE_ACTION )
<< get_defs( GTK_TYPE_ACTION_GROUP )
<< get_defs( GTK_TYPE_ACTIVATABLE )
<< get_defs( GTK_TYPE_ADJUSTMENT )
<< get_defs( GTK_TYPE_ALIGNMENT)
<< get_defs( GTK_TYPE_ARROW )
......@@ -109,6 +110,7 @@ int main (int argc, char *argv[])
<< get_defs( GTK_TYPE_CURVE )
<< get_defs( GTK_TYPE_DIALOG )
<< get_defs( GTK_TYPE_DRAWING_AREA )
<< get_defs( GTK_TYPE_EDITABLE )
<< get_defs( GTK_TYPE_ENTRY )
<< get_defs( GTK_TYPE_ENTRY_COMPLETION )
<< get_defs( GTK_TYPE_EVENT_BOX )
......@@ -146,6 +148,7 @@ int main (int argc, char *argv[])
<< get_defs( GTK_TYPE_NOTEBOOK )
<< get_defs( GTK_TYPE_OBJECT )
<< get_defs( GTK_TYPE_OPTION_MENU )
<< get_defs( GTK_TYPE_ORIENTABLE )
<< get_defs( GTK_TYPE_PANED )
<< get_defs( GTK_TYPE_PIXMAP )
#if !defined(G_OS_WIN32)
......@@ -208,6 +211,7 @@ int main (int argc, char *argv[])
<< get_defs( GTK_TYPE_TOOLTIP )
<< get_defs( GTK_TYPE_TOOLTIPS )
<< get_defs( GTK_TYPE_TREE_SELECTION )
<< get_defs( GTK_TYPE_TREE_MODEL )
<< get_defs( GTK_TYPE_TREE_MODEL_FILTER )
<< get_defs( GTK_TYPE_TREE_STORE )
<< get_defs( GTK_TYPE_TREE_VIEW )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment