sp-widget.cpp revision 26e71e50b0b4e5e36494cd8ee7fdd3a7abf71988
/*
* Abstract base class for dynamic control widgets
*
* Authors:
* Lauris Kaplinski <lauris@kaplinski.com>
* bulia byak <buliabyak@users.sf.net>
* Jon A. Cruz <jon@joncruz.org>
*
* Copyright (C) 1999-2002 Lauris Kaplinski
* Copyright (C) 2000-2001 Ximian, Inc.
* Copyright (C) 2012 Authors
*
* Released under GNU GPL, read the file 'COPYING' for more information
*/
#include "macros.h"
#include "document.h"
#include "sp-widget.h"
#include "helper/sp-marshal.h"
using Inkscape::SPWidgetImpl;
enum {
};
namespace Inkscape {
class SPWidgetImpl
{
public:
~SPWidgetImpl();
#if GTK_CHECK_VERSION(3,0,0)
#else
#endif
static void modifySelectionCB(Application *inkscape, Selection *selection, guint flags, SPWidget *spw);
private:
static GtkBinClass *parentClass;
};
} // namespace Inkscape
{
if (!type) {
sizeof(SPWidgetClass),
sizeof(SPWidget),
0,
};
"SPWidget",
&info,
static_cast<GTypeFlags>(0));
}
return type;
}
namespace Inkscape {
{
}
{
}
{
G_TYPE_NONE, 0);
G_TYPE_NONE, 1,
G_TYPE_NONE, 2,
G_TYPE_NONE, 1,
#if GTK_CHECK_VERSION(3,0,0)
#else
#endif
}
{
}
{
// Disconnect signals
// the checks are necessary because when destroy is caused by the the program shutting down,
// the inkscape object may already be (partly?) invalid --bb
}
}
}
}
{
// Connect signals
g_signal_connect(spw->inkscape, "modify_selection", G_CALLBACK(SPWidgetImpl::modifySelectionCB), spw);
g_signal_connect(spw->inkscape, "change_selection", G_CALLBACK(SPWidgetImpl::changeSelectionCB), spw);
}
}
}
{
// Disconnect signals
}
}
}
#if GTK_CHECK_VERSION(3,0,0)
#else
#endif
{
if (child) {
#if GTK_CHECK_VERSION(3,0,0)
#else
#endif
}
return FALSE;
}
{
if (child) {
}
}
#if GTK_CHECK_VERSION(3,0,0)
{
}
void SPWidgetImpl::getPreferredHeight(GtkWidget *widget, gint *minimal_height, gint *natural_height)
{
}
#endif
{
if (child) {
}
}
{
}
}
void SPWidgetImpl::modifySelectionCB(Application *inkscape, Selection *selection, guint flags, SPWidget *spw)
{
}
{
}
{
}
{
}
{
}
{
// Emit "set_selection" signal
// Inkscape will force "change_selection" anyways
}
} // namespace Inkscape
// Methods
{
spw = 0;
}
}
/*
Local Variables:
mode:c++
c-file-style:"stroustrup"
c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
indent-tabs-mode:nil
fill-column:99
End:
*/
// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :