Commit ea9c9248 authored by Naba Kumar's avatar Naba Kumar

Added Module symbol-browser

	* Makefile.am:
	Added Module symbol-browser

	* configure.in:
	Added library checks for glib and gal.
	Added ctags configuration checks to be used with
	symbol-browser.
	Added configure outputs for symbol-browser.

	* acconfig.h:
	Added undefs for ctags configuration.

	* idl/symbol-browser.idl, idl/Makefile.am,
	  gdl/Makefile.am, idl/GDL.idl:
	Added symbol-browser.idl

	* symbol-browser/*/*/*
	Added symbol-browser module.
parent 45ba6bd0
2001-12-20 Naba Kumar <kh_naba@yahoo.com>
* Makefile.am:
Added Module symbol-browser
* configure.in:
Added library checks for glib and gal.
Added ctags configuration checks to be used with
symbol-browser.
Added configure outputs for symbol-browser.
* acconfig.h:
Added undefs for ctags configuration.
* idl/symbol-browser.idl, idl/Makefile.am,
gdl/Makefile.am, idl/GDL.idl:
Added symbol-browser.idl
* symbol-browser/*/*/*
Added symbol-browser module.
2001-12-09 Simos Xenitellis <simos@hellug.gr>
* configure.in: Added "el" to ALL_LINGUAS.
......
SUBDIRS = idl gdl scintilla-control po intl
SUBDIRS = idl gdl scintilla-control symbol-browser-control po intl
m4datadir = $(datadir)/aclocal
m4data_DATA = gdl.m4
......
......@@ -6,3 +6,32 @@
#undef HAVE_LIBSM
#undef PACKAGE
#undef VERSION
#undef clock_t
#undef fpos_t
#undef L_tmpnam
#undef HAVE_STAT_ST_INO
#undef remove
#undef SEEK_SET
#undef INT_MAX
#undef CUSTOM_CONFIGURATION_FILE
#undef MACROS_USE_PATTERNS
#define DEFAULT_FILE_FORMAT 2
#undef SYS_INTERPRETER
#ifndef INTERNAL_SORT
# undef EXTERNAL_SORT
#endif
#undef TMPDIR
#undef REGCOMP_BROKEN
#undef CHECK_REGCOMP
#undef __USE_FIXED_PROTOTYPES__
#undef NON_CONST_PUTENV_PROTOTYPE
#undef NEED_PROTO_REMOVE
#undef NEED_PROTO_UNLINK
#undef NEED_PROTO_MALLOC
#undef NEED_PROTO_GETENV
#undef NEED_PROTO_FGETPOS
#undef NEED_PROTO_STAT
#undef NEED_PROTO_LSTAT
#undef NEED_PROTO_TRUNCATE
#undef NEED_PROTO_FTRUNCATE
......@@ -8,19 +8,23 @@ dnl it too, or it will never make it into the spec file!
dnl
dnl ==========================================================================
GLIB_REQUIRED=1.2.0
GTK_REQUIRED=1.2.0
GNOME_LIBS_REQUIRED=1.2.9
BONOBO_REQUIRED=1.0.7
OAF_REQUIRED=0.6.5
GNOME_VFS_REQUIRED=1.0
LIBXML_REQUIRED=1.8.15
GAL_REQUIRED=0.8.0
AC_SUBST(GLIB_REQUIRED)
AC_SUBST(GTK_REQUIRED)
AC_SUBST(GNOME_LIBS_REQUIRED)
AC_SUBST(BONOBO_REQUIRED)
AC_SUBST(OAF_REQUIRED)
AC_SUBST(GNOME_VFS_REQUIRED)
AC_SUBST(LIBXML_REQUIRED)
AC_SUBST(GAL_REQUIRED)
dnl ==========================================================================
......@@ -31,6 +35,203 @@ AM_ACLOCAL_INCLUDE(macros)
AM_MAINTAINER_MODE
dnl =====================================================================
dnl ======== Ctags stuffs below =========================================
dnl Define convenience macros
dnl -------------------------
dnl CHECK_HEADER_DEFINE(LABEL, HEADER [,ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ] ])
AC_DEFUN(CHECK_HEADER_DEFINE,
[
AC_MSG_CHECKING("if $1 is defined in $2")
AC_EGREP_CPP(yes,
[#include <$2>
#ifdef $1
yes
#endif
], [
AC_MSG_RESULT(yes)
$3
], [
AC_MSG_RESULT(no)
$4
]) ])
AC_ISC_POSIX
AC_PROG_CC
AC_PROG_RANLIB
AM_PROG_CC_STDC
AC_HEADER_STDC
dnl Checks for programs.
AC_CHECK_PROG(GLIB_CONFIG, glib-config, true, false)
dnl Checks for libraries.
GLIB_LIBS="`glib-config --libs`"
AC_SUBST(GLIB_LIBS)
dnl Checks for header files.
GLIB_CFLAGS="`glib-config --cflags`"
AC_SUBST(GLIB_CFLAGS)
AC_CHECK_HEADERS(dirent.h fcntl.h fnmatch.h stat.h stdlib.h string.h)
AC_CHECK_HEADERS(time.h types.h unistd.h)
AC_CHECK_HEADERS(sys/dir.h sys/stat.h sys/times.h sys/types.h)
dnl Checks for typedefs, structures, and compiler characteristics.
AC_CYGWIN
AC_MINGW32
AC_C_CONST
AC_OBJEXT
AC_EXEEXT
AC_TYPE_SIZE_T
AC_TYPE_OFF_T
AC_MSG_CHECKING("for fpos_t")
AC_EGREP_HEADER(fpos_t, stdio.h, AC_MSG_RESULT(yes),
[
AC_MSG_RESULT(no)
AC_DEFINE(fpos_t, long)
])
AC_MSG_CHECKING("for clock_t")
AC_EGREP_HEADER(clock_t, time.h, AC_MSG_RESULT(yes),
[
AC_MSG_RESULT(no)
AC_DEFINE(clock_t, long)
])
CHECK_HEADER_DEFINE(L_tmpnam, stdio.h,, AC_DEFINE(L_tmpnam, 20))
CHECK_HEADER_DEFINE(INT_MAX, limits.h,,
CHECK_HEADER_DEFINE(MAXINT, limits.h,
AC_DEFINE(INT_MAX, MAXINT), AC_DEFINE(INT_MAX, 32767)))
AC_MSG_CHECKING(if struct stat contains st_ino)
AC_TRY_COMPILE([#include <sys/stat.h>], [
struct stat st;
stat(".", &st);
if (st.st_ino > 0)
exit(0);
], have_st_ino=yes, have_st_ino=no)
AC_MSG_RESULT($have_st_ino)
if test yes = "$have_st_ino"; then
AC_DEFINE(HAVE_STAT_ST_INO)
fi
dnl Checks for library functions.
AC_CHECK_FUNCS(fnmatch)
AC_CHECK_FUNCS(strstr)
AC_CHECK_FUNCS(stricmp)
AC_CHECK_FUNCS(strnicmp)
AC_CHECK_FUNCS(fgetpos, have_fgetpos=yes)
dnl SEEK_SET should be in stdio.h, but may be in unistd.h on SunOS 4.1.x
if test "$have_fgetpos" != yes ; then
CHECK_HEADER_DEFINE(SEEK_SET, stdio.h,,
CHECK_HEADER_DEFINE(SEEK_SET, unistd.h,,
AC_DEFINE(SEEK_SET, 0)))
fi
AC_CHECK_FUNCS(mkstemp, have_mkstemp=yes)
if test "$have_mkstemp" != yes ; then
AC_CHECK_FUNCS(chmod)
if test "$tmpdir_specified" = yes ; then
AC_MSG_RESULT(use of tmpnam overrides temporary directory selection)
fi
else
AC_MSG_CHECKING(directory to use for temporary files)
if test -z "$enable_tmpdir" -o "$enable_tmpdir" = no -o "$enable_tmpdir" = yes ;
then tmpdir=/tmp
else tmpdir="$enable_tmpdir"
fi
if test -d $tmpdir ; then
AC_MSG_RESULT($tmpdir)
AC_DEFINE_UNQUOTED(TMPDIR, "$tmpdir")
else
AC_MSG_WARN($tmpdir does not exist)
fi
fi
AC_CHECK_FUNCS(strerror opendir)
AC_CHECK_FUNCS(clock times, break)
AC_CHECK_FUNCS(remove, have_remove=yes,
CHECK_HEADER_DEFINE(remove, unistd.h,, AC_DEFINE(remove, unlink)))
AC_CHECK_FUNCS(truncate, have_truncate=yes)
dnl === Cannot nest AC_CHECK_FUNCS() calls
if test "$have_truncate" != yes ; then
AC_CHECK_FUNCS(ftruncate, have_ftruncate=yes)
if test "$have_ftruncate" != yes ; then
AC_CHECK_FUNCS(chsize)
fi
fi
AC_CHECK_FUNCS(setenv, have_setenv=yes)
dnl === Cannot nest AC_CHECK_FUNCS() calls
if test "$have_setenv" != yes ; then
AC_CHECK_FUNCS(putenv, have_putenv=yes)
if test "$have_putenv" = yes ; then
AC_EGREP_HEADER(putenv, stdlib.h, have_putenv_prototype=yes)
if test "$have_putenv_prototype" = yes ; then
AC_MSG_CHECKING("putenv prototype")
AC_EGREP_HEADER([[^A-Za-zo-9_]putenv[ ]*\(.*const.*\)[ ]*;],
stdlib.h, AC_MSG_RESULT(correct),
[
AC_MSG_RESULT(no const)
AC_DEFINE(NON_CONST_PUTENV_PROTOTYPE)
])
fi
fi
fi
dnl
dnl if test yes = "$CYGWIN"; then with_posix_regex=no; fi
if test no != "$with_posix_regex"; then
AC_CHECK_FUNCS(regcomp)
AC_MSG_CHECKING(if regcomp works)
AC_TRY_RUN([
#include <sys/types.h>
#include <regex.h>
main() {
regex_t patbuf;
exit (regcomp (&patbuf, "/hello/", 0) != 0);
}],regcomp_works=yes,regcomp_works=no,AC_DEFINE(CHECK_REGCOMP))
AC_MSG_RESULT($regcomp_works)
if test yes != "$regcomp_works"; then
AC_DEFINE(REGCOMP_BROKEN)
fi
fi
dnl Checks for missing prototypes
dnl -----------------------------
AC_CHECKING("for missing prototypes")
AC_DEFUN(CHECK_PROTO, [AC_EGREP_HEADER([[^A-Za-z0-9_]$1([ ]+[A-Za-z0-9_]*)?\(], $2,, AC_DEFINE(patsubst([NEED_PROTO_NAME], [NAME], translit($1, [a-z], [A-Z]))) AC_MSG_RESULT(adding prototype for $1))])
if test "$have_remove" = yes ; then
CHECK_PROTO(remove, stdio.h)
else
CHECK_PROTO(unlink, unistd.h)
fi
CHECK_PROTO(malloc, stdlib.h)
CHECK_PROTO(getenv, stdlib.h)
CHECK_PROTO(stat, sys/stat.h)
CHECK_PROTO(lstat, sys/stat.h)
if test "$have_fgetpos" = yes ; then
CHECK_PROTO(fgetpos, stdio.h)
fi
if test "$have_truncate" = yes ; then
CHECK_PROTO(truncate, unistd.h)
fi
if test "$have_ftruncate" = yes ; then
CHECK_PROTO(ftruncate, unistd.h)
fi
dnl ========== ctags stuffs ends =======================================
dnl =====================================================================
dnl
dnl GDL_CHECK_LIB is defined in gdl.m4. However, we can't use that yet.
dnl So we have a copy here. If you modify this, see if you should modify
......@@ -130,15 +331,18 @@ dnl ***************
dnl GNOME Libraries
dnl ***************
CHECK_LIB(glib, glib, $GLIB_REQUIRED)
CHECK_LIB(gnome-libs, gnome, $GNOME_LIBS_REQUIRED)
CHECK_LIB(Bonobo, bonobo, $BONOBO_REQUIRED)
CHECK_LIB(Bonobo X, bonobox, $BONOBO_REQUIRED)
CHECK_LIB(OAF, oaf, $OAF_REQUIRED)
CHECK_LIB(GNOME-VFS, vfs, $GNOME_VFS_REQUIRED)
CHECK_LIB(libxml, xml, $LIBXML_REQUIRED)
CHECK_LIB(gal, gal, $GAL_REQUIRED)
IDL_CFLAGS=`gnome-config --cflags idl`
AC_SUBST(GLIB_CFLAGS)
AC_SUBST(BONOBO_CFLAGS)
AC_SUBST(BONOBO_LIBS)
AC_SUBST(BONOBOX_CFLAGS)
......@@ -149,6 +353,7 @@ AC_SUBST(VFS_LIBS)
AC_SUBST(IDL_CFLAGS)
AC_SUBST(XML_CFLAGS)
AC_SUBST(XML_LIBS)
AC_SUBST(GAL_LIBS)
GNOME_IDL_DIR="`$GNOME_CONFIG --datadir`/idl"
......@@ -170,6 +375,9 @@ gdl/Makefile
idl/Makefile
scintilla-control/Makefile
scintilla-control/scintilla/Makefile
symbol-browser-control/Makefile
symbol-browser-control/tagmanager/Makefile
symbol-browser-control/tagmanager/include/Makefile
intl/Makefile
po/Makefile.in
stamp.h
......
......@@ -20,7 +20,8 @@ IDL_FLAGS = -D__GDL_COMPILATION -I $(idl_dir) -I $(datadir)/idl $(IDL_CFLAGS)
$(CORBA_GENERATED) : $(idl_dir)/GDL.idl \
$(idl_dir)/editor-buffer.idl \
$(idl_dir)/editor-gutter.idl
$(idl_dir)/editor-gutter.idl \
$(idl_dir)/symbol-browser.idl
$(ORBIT_IDL) $(IDL_FLAGS) $(idl_dir)/GDL.idl
libgdl_la_SOURCES = \
......
......@@ -34,6 +34,7 @@
#include "editor-buffer.idl"
#include "editor-gutter.idl"
#include "symbol-browser.idl"
#if !defined(__GDL_COMPILATION && defined(__ORBIT_IDL__)
#pragma inhibit pop
......
......@@ -3,6 +3,7 @@ idldir = $(datadir)/idl
idl_DATA = \
GDL.idl \
editor-buffer.idl \
editor-gutter.idl
editor-gutter.idl \
symbol-browser.idl
EXTRA_DIST = $(idl_DATA)
\ No newline at end of file
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* This file is part of the GNOME Devtool Libraries
*
* Copyright (C) 2001 Naba Kumar <kh_naba@yahoo.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 2 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, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
module GNOME {
module Development {
interface SymbolBrowser : Bonobo::Unknown {
exception NotFound{};
/* set the project dir */
void openDirectory (in string dir)
raises(NotFound);
/* Updates the whole tree */
void update ();
/* Save the project tree in xml cache file */
void save ();
/* Add a file (full path) in the project */
void updateFile (in string filename)
raises (NotFound);
/* Remove the file (full path) from the project */
void removeFile (in string filename)
raises (NotFound);
/* Clear the project tree */
void clear ();
};
};
};
<oaf_info>
<oaf_server iid="OAFIID:GNOME_Development_SymbolBrowser_ControlFactory"
type="exe" location="gnome-symbol-browser">
<oaf_attribute name="repo_ids" type="stringv">
<item value="IDL:GNOME/GenericFactory:1.0"/>
</oaf_attribute>
<oaf_attribute name="name" type="string" _value="Gnome Symbol Browser Control Factory"/>
<oaf_attribute name="description" type="string"
_value="Factory for the Gnome Symbol Browser control."/>
</oaf_server>
<oaf_server iid="OAFIID:GNOME_Development_SymbolBrowser_Control"
type="factory"
location="OAFIID:GNOME_Development_SymbolBrowser_ControlFactory">
<oaf_attribute name="repo_ids" type="stringv">
<item value="IDL:Bonobo/Unknown:1.0"/>
<item value="IDL:Bonobo/Control:1.0"/>
<item value="IDL:GNOME/Development/SymbolBrowser:1.0"/>
</oaf_attribute>
<oaf_attribute name="name" type="string" _value="Gnome Symbol Browser Control"/>
<oaf_attribute name="description" type="string" _value="Gnome Symbol Browser."/>
</oaf_server>
</oaf_info>
## Process this file with automake to produce Makefile.in
SUBDIRS = tagmanager
INCLUDES = \
-I$(top_srcdir) \
-I$(srcdir)/tagmanager/include \
-I$(top_srcdir)/gdl \
-DGNOME_DATADIR=\""$(datadir)"\" \
-DPACKAGE_LOCALE_DIR=\""$(gnomelocaledir)"\" \
$(GNOME_INCLUDEDIR) \
$(OAF_CFLAGS) \
$(BONOBO_CFLAGS) \
$(BONOBOX_CFLAGS) \
$(GAL_CFLAGS)
## Using exec binary for testing.
#lib_LTLIBRARIES = \
# libgnome-symbol-browser.la
#
#libgnome_symbol_browser_la_SOURCES = \
# symbol-browser-cobject.c\
# symbol-browser-cobject.h\
# factory.c
#
#libgnome_symbol_browser_la_LIBADD = \
# $(GNOME_LIBS) \
# $(GNOMEUI_LIBS) \
# $(BONOBO_LIBS) \
# $(BONOBOX_LIBS) \
# $(VFS_LIBS) \
# $(XML_LIBS) \
# ccview/libccview.la
bin_PROGRAMS = gnome-symbol-browser
gnome_symbol_browser_SOURCES = \
symbol-browser.c\
symbol-browser.h\
symbol-browser-cobject.c\
symbol-browser-cobject.h\
factory.c
gnome_symbol_browser_LDADD = \
$(BONOBO_LIBS) \
$(BONOBOX_LIBS) \
../gdl/libgdl.la \
$(GAL_LIBS)\
-L$(srcdir)/tagmanager\
-lctags
noinst_PROGRAMS = test-symbol-browser
test_symbol_browser_SOURCES = \
test-symbol-browser.c
test_symbol_browser_LDADD = \
$(GNOME_LIBS) \
$(BONOBO_LIBS) \
$(BONOBOX_LIBS) \
../gdl/libgdl.la
oaf_in_files = \
GNOME_Development_SymbolBrowser.oaf.in
oaf_DATA = $(oaf_in_files:.oaf.in=.oaf)
oafdir = $(datadir)/oaf
@XML_I18N_MERGE_OAF_RULE@
uidir = $(datadir)/gnome/ui
ui_DATA = gnome-symbol-browser.xml
EXTRA_DIST = $(oaf_in_files)\
$(oaf_DATA)\
$(ui_DATA)
/*
* Symbol browser component for GNOME Development Tools
*
* Copyright (c) 2001 Naba Kumar <kh_naba@yahoo.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 2 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 Library General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <gnome.h>
#include <bonobo.h>
#include <liboaf/liboaf.h>
#include <bonobo/bonobo-shlib-factory.h>
#include <gdl/gdl.h>
#include "symbol-browser.h"
#include "symbol-browser-cobject.h"
/* #define USE_SHARED_LIBRARY_COMPONENT */
enum
{
ARG_FILE,
ARG_LINE,
ARG_CLASS
};
#ifndef USE_SHARED_LIBRARY_COMPONENT
static BonoboGenericFactory *factory;
static gint active_controls = 0;
#endif
static void on_format_update(GtkWidget* w, BonoboControl* control)
{
/*
GnomeSymbolBrowser* symbol_browser = GNOME_SYMBOL_BROWSER(
gtk_object_get_data (GTK_OBJECT(control), "SymbolBrowser"));
gnome_symbol_browser_update (symbol_browser);
*/
}
static BonoboUIVerb verbs[] =
{
BONOBO_UI_UNSAFE_VERB ("FormatUpdate", on_format_update),
BONOBO_UI_VERB_END
};
typedef struct {
gchar* file;
glong line;
} ControlData;
static ControlData*
control_data_new (gchar* file, glong line)
{
ControlData* cd;
g_return_val_if_fail (file != NULL, NULL);
g_return_val_if_fail (line > -1, NULL);
cd = g_malloc (sizeof(ControlData));
cd->file = g_strdup(file);
cd->line = line;
return cd;
}
static void
control_data_destroy (ControlData* cd)
{
g_return_if_fail (cd != NULL);
if (cd->file) g_free (cd->file);
g_free (cd);
}
static void
get_prop (BonoboPropertyBag * bag, BonoboArg * arg, guint arg_id,
CORBA_Environment *ev, gpointer data)
{
ControlData* cd;
GtkObject* obj = data;
cd = gtk_object_get_data (obj, "ControlData");
switch (arg_id) {
case ARG_FILE:
if (cd && cd->file) {
BONOBO_ARG_SET_STRING (arg, cd->file);
} else {
BONOBO_ARG_SET_STRING (arg, "");
}
break;
case ARG_LINE:
if (cd) {
BONOBO_ARG_SET_LONG (arg, cd->line);
} else {
BONOBO_ARG_SET_LONG (arg, -1);
}
break;
default:
g_warning ("Unknow property queried with the control");
break;
}
}
static void
set_prop (BonoboPropertyBag * bag, const BonoboArg * arg, guint arg_id,
CORBA_Environment *ev, gpointer data)
{
switch (arg_id) {
case ARG_FILE:
break;
case ARG_LINE:
break;
default:
g_warning ("Unknow property set in the control");
}
}
static void
on_control_set_frame (BonoboControl *control,
gpointer data)
{
Bonobo_UIContainer uic;
BonoboUIComponent *component;
if (bonobo_control_get_control_frame (control) == CORBA_OBJECT_NIL)
return;
uic = bonobo_control_get_remote_ui_container (control);
component = bonobo_control_get_ui_component (control);
bonobo_ui_component_set_container (component, uic);
/* FIXME: Merge UI */
bonobo_ui_component_add_verb_list_with_data (component, verbs, control);
bonobo_ui_util_set_ui (component, GNOME_DATADIR,
"gnome-symbol-browser.xml",
"Gnome Symbol Browser");
}
static void
on_control_destroy (GtkObject *control, GnomeSymbolBrowser *symbol_browser)
{
#ifndef USE_SHARED_LIBRARY_COMPONENT
active_controls --;
if (active_controls)
return;
g_print ("Gnome symbol browser: factory now shutting down\n");
bonobo_object_unref (BONOBO_OBJECT (factory));
gtk_main_quit ();
#endif
gtk_object_destroy (GTK_OBJECT(symbol_browser));
}
static void
on_symbol_browser_go_to (GnomeSymbolBrowser* symbol_browser,
gchar* file, glong line, gpointer data)
{
GtkObject* obj;
BonoboPropertyBag* prop_bag;
BonoboArg *arg;
g_return_if_fail (data != NULL);
g_return_if_fail (GTK_IS_OBJECT(data));
obj = data;
prop_bag = gtk_object_get_data (obj, "PropertyBag");
g_return_if_fail (prop_bag != NULL);
g_return_if_fail (BONOBO_IS_PROPERTY_BAG(prop_bag));
if (file != NULL && line > -1) {
gtk_object_set_data_full (obj, "ControlData",
control_data_new(file, line),
(GtkDestroyNotify)control_data_destroy);
g_print ("Go to: %s:%ld\n", file, line);
arg = bonobo_arg_new (BONOBO_ARG_LONG);
BONOBO_ARG_SET_LONG(arg, line);
/* Notify listeners */
bonobo_property_bag_notify_listeners(prop_bag, "Line", arg, NULL);
}
}
/* PropertyBag */
static void
property_bag_init(BonoboControl* control)
{
BonoboPropertyBag *pb;
BonoboArg *arg;
GtkWidget* symbol_browser;
GDL_TRACE_EXTRA ("Initializing property bag.");
symbol_browser = gtk_object_get_data(GTK_OBJECT(control), "SymbolBrowser");