Revision: 4796
http://geany.svn.sourceforge.net/geany/?rev=4796&view=rev
Author: ntrel
Date: 2010-03-31 16:36:36 +0000 (Wed, 31 Mar 2010)
Log Message:
-----------
Revert commit to use AC_PATH_PROG instead of 'which' (fixes
#2973764).
Modified Paths:
--------------
trunk/ChangeLog
trunk/configure.ac
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2010-03-31 16:21:28 UTC (rev 4795)
+++ trunk/ChangeLog 2010-03-31 16:36:36 UTC (rev 4796)
@@ -7,6 +7,9 @@
* src/plugindata.h, src/stash.c, src/stash.h, src/plugins.c,
plugins/geanyfunctions.h:
Add Stash widget functions to API.
+ * configure.ac:
+ Revert commit to use AC_PATH_PROG instead of 'which' (fixes
+ #2973764).
2010-03-30 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
Modified: trunk/configure.ac
===================================================================
--- trunk/configure.ac 2010-03-31 16:21:28 UTC (rev 4795)
+++ trunk/configure.ac 2010-03-31 16:36:36 UTC (rev 4796)
@@ -17,9 +17,8 @@
AC_PROG_CXX
# check for C++ compiler explicitly and fail if none is found, do this check
# after AC_PROG_CXX has set the CXX environment variable
-AC_PATH_PROG([CXXCOMPILER], [$CXX])
-if ! test -x "${CXXCOMPILER}"
-then
+which $CXX >/dev/null 2>&1
+if test "x$?" != "x0"; then
AC_MSG_ERROR([No C++ compiler found. Please install a C++ compiler.])
fi
@@ -51,7 +50,7 @@
# get svn revision (try GIT first, then check for SVN)
REVISION="r0"
-AC_PATH_PROG([GIT], [git])
+GIT=`which git 2>/dev/null`
if test -d ".git" -a "x${GIT}" != "x" -a -x "${GIT}"
then
REVISION=r`git svn find-rev origin/trunk 2>/dev/null ||
@@ -60,7 +59,7 @@
fi
if test "x${REVISION}" = "xr0"
then
- AC_PATH_PROG([SVN], [svn])
+ SVN=`which svn 2>/dev/null`
if test -d ".svn" -a "x${SVN}" != "x" -a -x "${SVN}"
then
REVISION=r`$SVN info|grep 'Last Changed Rev'|cut -d' ' -f4`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 4795
http://geany.svn.sourceforge.net/geany/?rev=4795&view=rev
Author: ntrel
Date: 2010-03-31 16:21:28 +0000 (Wed, 31 Mar 2010)
Log Message:
-----------
Add Stash widget functions to API.
Modified Paths:
--------------
trunk/ChangeLog
trunk/plugins/geanyfunctions.h
trunk/src/plugindata.h
trunk/src/plugins.c
trunk/src/stash.c
trunk/src/stash.h
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2010-03-31 13:39:33 UTC (rev 4794)
+++ trunk/ChangeLog 2010-03-31 16:21:28 UTC (rev 4795)
@@ -4,6 +4,9 @@
Beep if the user hasn't entered a class name on pressing OK.
* src/search.c:
Fix replacing '^' regex.
+ * src/plugindata.h, src/stash.c, src/stash.h, src/plugins.c,
+ plugins/geanyfunctions.h:
+ Add Stash widget functions to API.
2010-03-30 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
Modified: trunk/plugins/geanyfunctions.h
===================================================================
--- trunk/plugins/geanyfunctions.h 2010-03-31 13:39:33 UTC (rev 4794)
+++ trunk/plugins/geanyfunctions.h 2010-03-31 16:21:28 UTC (rev 4795)
@@ -348,5 +348,23 @@
geany_functions->p_stash->stash_group_load_from_file
#define stash_group_save_to_file \
geany_functions->p_stash->stash_group_save_to_file
+#define stash_group_add_toggle_button \
+ geany_functions->p_stash->stash_group_add_toggle_button
+#define stash_group_add_radio_buttons \
+ geany_functions->p_stash->stash_group_add_radio_buttons
+#define stash_group_add_spin_button_integer \
+ geany_functions->p_stash->stash_group_add_spin_button_integer
+#define stash_group_add_combo_box \
+ geany_functions->p_stash->stash_group_add_combo_box
+#define stash_group_add_combo_box_entry \
+ geany_functions->p_stash->stash_group_add_combo_box_entry
+#define stash_group_add_entry \
+ geany_functions->p_stash->stash_group_add_entry
+#define stash_group_add_widget_property \
+ geany_functions->p_stash->stash_group_add_widget_property
+#define stash_group_display \
+ geany_functions->p_stash->stash_group_display
+#define stash_group_update \
+ geany_functions->p_stash->stash_group_update
#endif
Modified: trunk/src/plugindata.h
===================================================================
--- trunk/src/plugindata.h 2010-03-31 13:39:33 UTC (rev 4794)
+++ trunk/src/plugindata.h 2010-03-31 16:21:28 UTC (rev 4795)
@@ -50,7 +50,7 @@
enum {
/** The Application Programming Interface (API) version, incremented
* whenever any plugin data types are modified or appended to. */
- GEANY_API_VERSION = 180,
+ GEANY_API_VERSION = 181,
/** The Application Binary Interface (ABI) version, incremented whenever
* existing fields in the plugin data types have to be changed or reordered. */
@@ -612,6 +612,24 @@
gboolean (*stash_group_load_from_file)(struct StashGroup *group, const gchar *filename);
gint (*stash_group_save_to_file)(struct StashGroup *group, const gchar *filename,
GKeyFileFlags flags);
+ void (*stash_group_add_toggle_button)(struct StashGroup *group, gboolean *setting,
+ const gchar *key_name, gboolean default_value, gpointer widget_id);
+ void (*stash_group_add_radio_buttons)(struct StashGroup *group, gint *setting,
+ const gchar *key_name, gint default_value,
+ gpointer widget_id, gint enum_id, ...) G_GNUC_NULL_TERMINATED;
+ void (*stash_group_add_spin_button_integer)(struct StashGroup *group, gint *setting,
+ const gchar *key_name, gint default_value, gpointer widget_id);
+ void (*stash_group_add_combo_box)(struct StashGroup *group, gint *setting,
+ const gchar *key_name, gint default_value, gpointer widget_id);
+ void (*stash_group_add_combo_box_entry)(struct StashGroup *group, gchar **setting,
+ const gchar *key_name, const gchar *default_value, gpointer widget_id);
+ void (*stash_group_add_entry)(struct StashGroup *group, gchar **setting,
+ const gchar *key_name, const gchar *default_value, gpointer widget_id);
+ void (*stash_group_add_widget_property)(struct StashGroup *group, gpointer setting,
+ const gchar *key_name, gpointer default_value, gpointer widget_id,
+ const gchar *property_name, GType type);
+ void (*stash_group_display)(struct StashGroup *group, GtkWidget *owner);
+ void (*stash_group_update)(struct StashGroup *group, GtkWidget *owner);
}
StashFuncs;
Modified: trunk/src/plugins.c
===================================================================
--- trunk/src/plugins.c 2010-03-31 13:39:33 UTC (rev 4794)
+++ trunk/src/plugins.c 2010-03-31 16:21:28 UTC (rev 4795)
@@ -311,7 +311,16 @@
&stash_group_save_to_key_file,
&stash_group_free,
&stash_group_load_from_file,
- &stash_group_save_to_file
+ &stash_group_save_to_file,
+ &stash_group_add_toggle_button,
+ &stash_group_add_radio_buttons,
+ &stash_group_add_spin_button_integer,
+ &stash_group_add_combo_box,
+ &stash_group_add_combo_box_entry,
+ &stash_group_add_entry,
+ &stash_group_add_widget_property,
+ &stash_group_display,
+ &stash_group_update
};
static GeanyFunctions geany_functions = {
Modified: trunk/src/stash.c
===================================================================
--- trunk/src/stash.c 2010-03-31 13:39:33 UTC (rev 4794)
+++ trunk/src/stash.c 2010-03-31 16:21:28 UTC (rev 4795)
@@ -44,14 +44,36 @@
*
* @section Widget Support
* Widgets very commonly used in configuration dialogs will be supported with their own function.
- * Widgets less commonly used such as GtkExpander or widget settings that aren't commonly needed
+ * Widgets less commonly used such as @c GtkExpander or widget settings that aren't commonly needed
* to be persistent won't be directly supported, to keep the library lightweight. However, you can
* use stash_group_add_widget_property() to also save these settings for any read/write widget
- * property.
+ * property. Macros could be added for common widget properties such as @c GtkExpander:"expanded".
*
- * @section Example
+ * @section settings-example Settings Example
* @include stash-example.c
* @note You might want to handle the warning/error conditions differently from above.
+ *
+ * @section prefs-example GUI Prefs Example
+ * For prefs, it's the same as the above example but you add widget prefs instead of e.g.
+ * boolean settings.
+ *
+ * This example uses lookup strings for widgets as they are more flexible than widget pointers.
+ * @code
+gboolean want_handle;
+GtkWidget *parent;
+GtkWidget *my_check_button;
+
+stash_group_add_toggle_button(group, &want_handle, "handle", TRUE, "check_handle");
+...
+gtk_container_add(GTK_CONTAINER(parent), my_check_button);
+ui_hookup_widget(parent, my_check_button, "check_handle");
+...
+stash_group_display(group, parent);
+* @endcode
+* Now let the user manipulate widgets. To synchronize the Stash settings afterwards, call:
+* @code
+stash_group_update(group, parent);
+ * @endcode
*/
/* Implementation Note
@@ -674,13 +696,24 @@
}
-/* @param owner If non-NULL, used to lookup widgets by name. */
+/** Applies Stash settings to widgets, usually called before displaying the widgets.
+ * The @a owner argument depends on which type you use for @ref StashWidgetID.
+ * @param group .
+ * @param owner If non-NULL, used to lookup widgets by name, otherwise
+ * widget pointers are assumed.
+ * @see stash_group_update(). */
void stash_group_display(StashGroup *group, GtkWidget *owner)
{
pref_action(PREF_DISPLAY, group, owner);
}
+/** Applies widget values to Stash settings, usually called after displaying the widgets.
+ * The @a owner argument depends on which type you use for @ref StashWidgetID.
+ * @param group .
+ * @param owner If non-NULL, used to lookup widgets by name, otherwise
+ * widget pointers are assumed.
+ * @see stash_group_display(). */
void stash_group_update(StashGroup *group, GtkWidget *owner)
{
pref_action(PREF_UPDATE, group, owner);
@@ -701,7 +734,12 @@
}
-/* Used for GtkCheckButton or GtkToggleButton widgets.
+/** Adds a @c GtkToggleButton (or @c GtkCheckButton) widget pref.
+ * @param group .
+ * @param setting Address of setting variable.
+ * @param key_name Name for key in a @c GKeyFile.
+ * @param default_value Value to use if the key doesn't exist when loading.
+ * @param widget_id @c GtkWidget pointer or string to lookup widget later.
* @see stash_group_add_radio_buttons(). */
void stash_group_add_toggle_button(StashGroup *group, gboolean *setting,
const gchar *key_name, gboolean default_value, StashWidgetID widget_id)
@@ -711,7 +749,14 @@
}
-/* @param ... pairs of widget_id, enum_id.
+/** Adds a @c GtkRadioButton widget group pref.
+ * @param group .
+ * @param setting Address of setting variable.
+ * @param key_name Name for key in a @c GKeyFile.
+ * @param default_value Value to use if the key doesn't exist when loading.
+ * @param widget_id @c GtkWidget pointer or string to lookup widget later.
+ * @param enum_id Enum value for @a widget_id.
+ * @param ... pairs of @a widget_id, @a enum_id.
* Example (using widget lookup strings, but widget pointers can also work):
* @code
* enum {FOO, BAR};
@@ -764,6 +809,12 @@
}
+/** Adds a @c GtkSpinButton widget pref.
+ * @param group .
+ * @param setting Address of setting variable.
+ * @param key_name Name for key in a @c GKeyFile.
+ * @param default_value Value to use if the key doesn't exist when loading.
+ * @param widget_id @c GtkWidget pointer or string to lookup widget later. */
void stash_group_add_spin_button_integer(StashGroup *group, gint *setting,
const gchar *key_name, gint default_value, StashWidgetID widget_id)
{
@@ -772,7 +823,13 @@
}
-/* @see stash_group_add_combo_box_entry(). */
+/** Adds a @c GtkComboBox widget pref.
+ * @param group .
+ * @param setting Address of setting variable.
+ * @param key_name Name for key in a @c GKeyFile.
+ * @param default_value Value to use if the key doesn't exist when loading.
+ * @param widget_id @c GtkWidget pointer or string to lookup widget later.
+ * @see stash_group_add_combo_box_entry(). */
void stash_group_add_combo_box(StashGroup *group, gint *setting,
const gchar *key_name, gint default_value, StashWidgetID widget_id)
{
@@ -781,6 +838,12 @@
}
+/** Adds a @c GtkComboBoxEntry widget pref.
+ * @param group .
+ * @param setting Address of setting variable.
+ * @param key_name Name for key in a @c GKeyFile.
+ * @param default_value Value to use if the key doesn't exist when loading.
+ * @param widget_id @c GtkWidget pointer or string to lookup widget later. */
/* We could maybe also have something like stash_group_add_combo_box_entry_with_menu()
* for the history list - or should that be stored as a separate setting? */
void stash_group_add_combo_box_entry(StashGroup *group, gchar **setting,
@@ -791,6 +854,12 @@
}
+/** Adds a @c GtkEntry widget pref.
+ * @param group .
+ * @param setting Address of setting variable.
+ * @param key_name Name for key in a @c GKeyFile.
+ * @param default_value Value to use if the key doesn't exist when loading.
+ * @param widget_id @c GtkWidget pointer or string to lookup widget later. */
void stash_group_add_entry(StashGroup *group, gchar **setting,
const gchar *key_name, const gchar *default_value, StashWidgetID widget_id)
{
@@ -809,14 +878,20 @@
}
-/* Add a widget's read/write property to the stash group. The property will be set when calling
+/** Adds a widget's read/write property to the stash group.
+ * The property will be set when calling
* stash_group_display(), and read when calling stash_group_update().
- * @param setting address of e.g. an integer if using an integer property.
- * @param default_value should be cast into a pointer e.g. with @c GINT_TO_POINTER().
- * @param type can be 0 if passing a GtkWidget as the @a widget_id argument to look it up from the
- * GObject data.
+ * @param group .
+ * @param setting Address of e.g. an integer if using an integer property.
+ * @param key_name Name for key in a @c GKeyFile.
+ * @param default_value Value to use if the key doesn't exist when loading.
+ * Should be cast into a pointer e.g. with @c GINT_TO_POINTER().
+ * @param widget_id @c GtkWidget pointer or string to lookup widget later.
+ * @param property_name .
+ * @param type can be @c 0 if passing a @c GtkWidget as the @a widget_id argument to look it up from the
+ * @c GObject data.
* @warning Currently only string GValue properties will be freed before setting; patch for
- * other types - see handle_widget_property(). */
+ * other types - see @c handle_widget_property(). */
void stash_group_add_widget_property(StashGroup *group, gpointer setting,
const gchar *key_name, gpointer default_value, StashWidgetID widget_id,
const gchar *property_name, GType type)
Modified: trunk/src/stash.h
===================================================================
--- trunk/src/stash.h 2010-03-31 13:39:33 UTC (rev 4794)
+++ trunk/src/stash.h 2010-03-31 16:21:28 UTC (rev 4795)
@@ -28,7 +28,7 @@
/** Opaque type for a group of settings. */
typedef struct StashGroup StashGroup;
-/* Can be @c GtkWidget* or @c gchar* depending on whether the @c owner argument is used for
+/** Can be @c GtkWidget* or @c gchar* depending on whether the @a owner argument is used for
* stash_group_display() and stash_group_update(). */
typedef gpointer StashWidgetID;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 4787
http://geany.svn.sourceforge.net/geany/?rev=4787&view=rev
Author: eht16
Date: 2010-03-25 22:45:30 +0000 (Thu, 25 Mar 2010)
Log Message:
-----------
Increase plugin API version for last commit
Modified Paths:
--------------
trunk/src/plugindata.h
Modified: trunk/src/plugindata.h
===================================================================
--- trunk/src/plugindata.h 2010-03-25 22:18:00 UTC (rev 4786)
+++ trunk/src/plugindata.h 2010-03-25 22:45:30 UTC (rev 4787)
@@ -50,7 +50,7 @@
enum {
/** The Application Programming Interface (API) version, incremented
* whenever any plugin data types are modified or appended to. */
- GEANY_API_VERSION = 178,
+ GEANY_API_VERSION = 179,
/** The Application Binary Interface (ABI) version, incremented whenever
* existing fields in the plugin data types have to be changed or reordered. */
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.