[enable_iliad=no])
AM_CONDITIONAL(TARGET_ILIAD, $TEST "x$enable_iliad" = xyes)
-### BUILD WITHOUT RECENT FILES MANAGER #########################################
-# (to work around a bug on OS X)
-AC_ARG_ENABLE([recent],
- [AS_HELP_STRING([--disable-recent],
- [Omit recent files menu (to work around a bug on OS X])],
- [],
- [enable_recent=yes])
-AS_IF([$TEST "x$enable_recent" = "xyes"],
- [OPEN_RECENT_MENU_ITEM="<menuitem action=\"recent\"/>"],
- [OPEN_RECENT_MENU_ITEM="<!-- <menuitem action=\"recent\"/>-->"])
-AC_SUBST(OPEN_RECENT_MENU_ITEM)
-
### RPM CONFIGURATION ##########################################################
# --enable-rpm requires rpm and rpmbuild
AC_PATH_PROG([RPMBUILD], [rpmbuild], [notfound])
])
CHIMARA_LIBS="$CHIMARA_LIBS -lm"
AC_SUBST(CHIMARA_LIBS)
+ # Libraries needed to build Chimara player
+ PKG_CHECK_MODULES([PLAYER], [
+ glib-2.0 >= $GLIB_REQUIRED_VERSION
+ gtk+-2.0 >= $GTK_REQUIRED_VERSION
+ gmodule-2.0
+ libgda-4.0
+ libsoup-2.4
+ ])
# Libraries needed to build test programs
PKG_CHECK_MODULES([TEST], [
gtk+-2.0 >= $GTK_REQUIRED_VERSION
interpreters/git/Makefile
tests/Makefile
player/Makefile
-player/chimara.menus
docs/Makefile
docs/reference/Makefile
docs/reference/version.xml
docs/reference/build-selector-table.pl
po/Makefile.in
+ babel/Makefile
])
# Do it
#define CHIMARA_GLK_MIN_WIDTH 0
#define CHIMARA_GLK_MIN_HEIGHT 0
+ /* Substitute functions for compiling on iLiad */
+
+ #if !GTK_CHECK_VERSION(2, 18, 0)
+ #define gtk_widget_get_allocation(w, a) \
+ G_STMT_START { \
+ (a)->x = (w)->allocation.x; \
+ (a)->y = (w)->allocation.y; \
+ (a)->width = (w)->allocation.width; \
+ (a)->height = (w)->allocation.height; \
+ } G_STMT_END
+ #define gtk_widget_set_allocation(w, a) \
+ G_STMT_START { (w)->allocation = *(a); } G_STMT_END
+ #define gtk_widget_set_has_window(w, f) \
+ G_STMT_START { \
+ if(f) \
+ GTK_WIDGET_UNSET_FLAGS((w), GTK_NO_WINDOW); \
+ else \
+ GTK_WIDGET_SET_FLAGS((w), GTK_NO_WINDOW); \
+ } G_STMT_END
+ #endif /* GTK 2.18 */
+
/**
* SECTION:chimara-glk
* @short_description: Widget which executes a Glk program
static void
chimara_glk_init(ChimaraGlk *self)
{
- GTK_WIDGET_SET_FLAGS(GTK_WIDGET(self), GTK_NO_WINDOW);
+ gtk_widget_set_has_window(GTK_WIDGET(self), FALSE);
ChimaraGlkPrivate *priv = CHIMARA_GLK_PRIVATE(self);
ChimaraGlkPrivate *priv = CHIMARA_GLK_PRIVATE(widget);
+ guint border_width = gtk_container_get_border_width(GTK_CONTAINER(widget));
/* For now, just pass the size request on to the root Glk window */
if(priv->root_window)
{
request_recurse(priv->root_window->data, requisition, priv->spacing);
- requisition->width += 2 * GTK_CONTAINER(widget)->border_width;
- requisition->height += 2 * GTK_CONTAINER(widget)->border_width;
+ requisition->width += 2 * border_width;
+ requisition->height += 2 * border_width;
}
else
{
- requisition->width = CHIMARA_GLK_MIN_WIDTH + 2 * GTK_CONTAINER(widget)->border_width;
- requisition->height = CHIMARA_GLK_MIN_HEIGHT + 2 * GTK_CONTAINER(widget)->border_width;
+ requisition->width = CHIMARA_GLK_MIN_WIDTH + 2 * border_width;
+ requisition->height = CHIMARA_GLK_MIN_HEIGHT + 2 * border_width;
}
}
/* It says in the spec that when a text grid window is resized smaller,
the bottom or right area is thrown away; when it is resized larger, the
bottom or right area is filled with blanks. */
- glui32 newwidth = (glui32)(win->widget->allocation.width / win->unit_width);
- glui32 newheight = (glui32)(win->widget->allocation.height / win->unit_height);
+ GtkAllocation widget_allocation;
+ gtk_widget_get_allocation(win->widget, &widget_allocation);
+ glui32 newwidth = (glui32)(widget_allocation.width / win->unit_width);
+ glui32 newheight = (glui32)(widget_allocation.height / win->unit_height);
gint line;
GtkTextBuffer *textbuffer = gtk_text_view_get_buffer( GTK_TEXT_VIEW(win->widget) );
GtkTextIter start, end;
ChimaraGlkPrivate *priv = CHIMARA_GLK_PRIVATE(widget);
- widget->allocation = *allocation;
+ gtk_widget_set_allocation(widget, allocation);
if(priv->root_window) {
GtkAllocation child;
- child.x = allocation->x + GTK_CONTAINER(widget)->border_width;
- child.y = allocation->y + GTK_CONTAINER(widget)->border_width;
- child.width = CLAMP(allocation->width - 2 * GTK_CONTAINER(widget)->border_width, 0, allocation->width);
- child.height = CLAMP(allocation->height - 2 * GTK_CONTAINER(widget)->border_width, 0, allocation->height);
+ guint border_width = gtk_container_get_border_width(GTK_CONTAINER(widget));
+ child.x = allocation->x + border_width;
+ child.y = allocation->y + border_width;
+ child.width = CLAMP(allocation->width - 2 * border_width, 0, allocation->width);
+ child.height = CLAMP(allocation->height - 2 * border_width, 0, allocation->height);
winid_t arrange = allocate_recurse(priv->root_window->data, &child, priv->spacing);
/* arrange points to a window that contains all text grid and graphics
/**
* chimara_glk_get_tag_names:
- * @glk: a #ChimaraGlk widget
* @num_tags: Return location for the number of tag names retrieved.
*
- * Retrieves the possible tag names to use in chimara_glk_get_tag().
+ * Class method. Retrieves the possible tag names to use in
+ * chimara_glk_get_tag().
*
* Returns: (transfer none) (array length=num_tags) (element-type utf8):
* Array of strings containing the tag names. This array is owned by Chimara,
* do not free it.
*/
const gchar **
-chimara_glk_get_tag_names(ChimaraGlk *glk, unsigned int *num_tags)
+chimara_glk_get_tag_names(unsigned int *num_tags)
{
g_return_val_if_fail(num_tags != NULL, NULL);