Branch: refs/heads/master
Author: Dimitar Zhekov <dimitar.zhekov(a)gmail.com>
Committer: Dimitar Zhekov <dimitar.zhekov(a)gmail.com>
Date: Tue, 10 Jun 2014 19:19:02 UTC
Commit: 8f98d4fb3c9e763352318febe98ad4c2cf3766b0
https://github.com/geany/geany-plugins/commit/8f98d4fb3c9e763352318febe98ad…
Log Message:
-----------
scope - ScpTreeStore documentation update
Modified Paths:
--------------
scope/src/store/ChangeLog
scope/src/store/fullspeed.html
scope/src/store/scptreestore.html
Modified: scope/src/store/ChangeLog
20 lines changed, 19 insertions(+), 1 deletions(-)
===================================================================
@@ -1,3 +1,19 @@
+2014-03-29 Dimitar Zhekov <dimitar.zhekov(a)gmail.com>
+
+ * scptreestore.html:
+ Clarification about Glade support.
+ * scptreestore.html, wscript:
+ Increased version to 0.86.1.
+ * wscript:
+ Added ChangeLog to the distribution package.
+
+
+2014-02-18 Dimitar Zhekov <dimitar.zhekov(a)gmail.com>
+
+ * scptreestore.c:
+ Avoid warning when sorting an empty branch.
+
+
2013-09-29 Dimitar Zhekov <dimitar.zhekov(a)gmail.com>
* scptreestore.c, scptreestore.h, scptreestore.html:
@@ -6,7 +22,7 @@
Added command line arguments.
Different default # of searches for >= 1000 elements.
Level 2: is #define, speed test fix.
- * scptreestore.html:
+ * scptreestore.html, wscript:
Increased version to 0.86.
@@ -16,6 +32,7 @@
Added scp_tree_store_register_dynamic().
* scptreestore.html, fullspeed.html:
Moved the full speed test results to a separate file.
+ * scptreestore.html, wscript:
Increased version to 0.85.
* speed.c:
Replaced // with /* */ for glib/gtk+ compliance.
@@ -29,6 +46,7 @@
Added scp_tree_store_traverse().
* scptreestore.html:
Documentation and speed test results for scp_tree_store_traverse().
+ * scptreestore.html, wscript
Increased version to 0.84.
* speed.c:
Added speed test for scp_tree_store_traverse().
Modified: scope/src/store/fullspeed.html
3 lines changed, 2 insertions(+), 1 deletions(-)
===================================================================
@@ -171,7 +171,7 @@
<tr><td>sublevel 1 set </td><td>10000</td><td>1.159 </td><td>0.110</td><td></td></tr>
<tr><td>sublevel 1 remove </td><td>10000</td><td>0.971 </td><td>0.120</td><td></td></tr>
<tr><td>sublevel 1 insert with values </td><td>10000</td><td>1.039 </td><td>0.140</td><td></td></tr>
-<tr><td>both levels model foreach </td><td>10000</td><td>n/a </td><td>3.218</td><td>2510</td></tr>
+<tr><td>both levels model foreach </td><td>10000</td><td>16.602</td><td>3.218</td><td>2510</td></tr>
<tr><td>both levels store traverse </td><td>10000</td><td>n/a </td><td>2.224</td><td>2510</td></tr>
<tr><td>both levels quick sort double </td><td>10000</td><td>0.218 </td><td>0.046</td><td></td></tr>
<tr><td>both levels quick sort string </td><td>10000</td><td>1.383 </td><td>1.083</td><td></td></tr>
@@ -272,6 +272,7 @@
<li>top-level only quick sort is always 2x faster</li>
<li>all defensive checks are enabled</li>
<li>all string tests are with utf8 collation</li>
+<li>GtkTreeStore is converted to model with (GtkTreeModel *), not GTK_TREE_MODEL()</li>
<li>GtkListStore speed is practically identical to GtkTreeStore.</li>
</ul>
Modified: scope/src/store/scptreestore.html
21 lines changed, 12 insertions(+), 9 deletions(-)
===================================================================
@@ -454,10 +454,10 @@
<h3><a name="speed">Speed</a></h3>
<p>An unsorted ScpTreeStore is faster than GtkTreeStore, but the difference is not big (20%
-on average, depending on the operation and number of elements), and not significant (< 0.5+
-seconds) for stores with less than 10000 elements. Normally, inserting into and removing from
-a list is faster than using an array, but all store operations must emit a signal, containing
-the row path (numeric index), which negates this advantage.</p>
+on average, depending on the operation and number of elements), and not significant for stores
+with less than 10000 elements (except foreach or lots of searches). Normally, inserting into
+and removing from a list is faster than using an array, but all store operations must emit a
+signal, containing the row path (element indexes), which negates this advantage.</p>
<p>The sorted gtk+ stores are slow, since they are based on lists, and sorting by a string
with utf-8 collation makes them even slower.</p>
@@ -496,15 +496,18 @@
</table>
-<p>The full speed test is <a href="fullspeed.html">here</a>. In general, a sorted ScpTreeStore
-can be used as a normal data structure, which is not the case with GtkTree/ListStore.</p>
+<p>The full speed test is <a href="fullspeed.html">here</a>. In general, a large sorted
+ScpTreeStore can be used as a normal data structure, unlike a GtkTree/ListStore. And, since
+ScpTreeStore is not part of gtk+, you can easily recompile it with -DG_DISABLE_CHECKS, but
+don't expect any significant difference.</p>
<hr>
<h3><a name="bugs">Bugs</a></h3>
-<p>Incomplete Glade support. You can include ScpTreeStore-s in .glade files with a text
-editor, but editing such files with Glade will discard the stores.</p>
+<p>Incomplete Glade support. ScpTreeStore-s can be included in .glade files with a text
+editor, but saving such files with Glade will discard the stores. I don't plan to fix this.
+</p>
<p>The linguistically correct string comparision is not well tested.</p>
@@ -520,7 +523,7 @@
<p>ScpTreeStore was written for the Scope plugin of Geany light IDE, which relies heavily on
stores.</p>
-<p><b>ScpTreeStore 0.85, Copyright (C) 2013 Dimitar Toshkov Zhekov</b></p>
+<p><b>ScpTreeStore 0.86.1, Copyright (C) 2014 Dimitar Toshkov Zhekov</b></p>
<p>ScpTreeStore is distributed 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
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
Branch: refs/heads/master
Author: Dimitar Zhekov <dimitar.zhekov(a)gmail.com>
Committer: Dimitar Zhekov <dimitar.zhekov(a)gmail.com>
Date: Mon, 02 Jun 2014 17:22:24 UTC
Commit: 944654e21a9f8d09cd3d6639522c8015aa0f6b68
https://github.com/geany/geany-plugins/commit/944654e21a9f8d09cd3d6639522c8…
Log Message:
-----------
Merge branch 'master' of github.com:geany/geany-plugins
Modified Paths:
--------------
HACKING
geniuspaste/src/geniuspaste.c
pairtaghighlighter/src/pair_tag_highlighter.c
Modified: HACKING
26 lines changed, 25 insertions(+), 1 deletions(-)
===================================================================
@@ -192,13 +192,37 @@ build files, which macro is called from configure.ac::
AC_DEFUN([GP_CHECK_YOURFANCYPLUGINNAME],
[
GP_ARG_DISABLE([yourfancypluginname], [auto])
- GP_STATUS_PLUGIN_ADD([yourfancypluginname], [$enable_yourfancxpluginname])
+ GP_COMMIT_PLUGIN_STATUS([yourfancypluginname])
AC_CONFIG_FILES([
yourplugin/Makefile
yourplugin/src/Makefile
])
])
+You may add checks for dependencies of your plugin between the
+``GP_ARG_DISABLE`` and ``GP_COMMIT_PLUGIN_STATUS`` calls. Note that you
+must respect the ``$enable_yourfancypluginname`` (lowercase) variable
+and try to avoid performing checks if it is set to ``no``, and never
+abort unless it is set to ``yes``. If a required dependency is not met
+and ``$enable_yourfancypluginname`` is not set to ``yes``, you should
+update ``enable_yourfancypluginname`` and set it to ``no`` to disable
+building of your plugin.
+
+To ease checking for modules using *pkg-config*, the
+``GP_CHECK_PLUGIN_DEPS`` macro is provided, which wraps
+``PKG_CHECK_MODULES`` and follows the above rules about plugin
+enabling/disabling.
+
+While we recommend plugins to work with both GTK 2 and 3, you can use
+the ``GP_CHECK_PLUGIN_GTK2_ONLY`` or ``GP_CHECK_PLUGIN_GTK3_ONLY``
+macros if your plugin only works with one version.
+
+You may also check which GTK version is used for the build using either
+the ``$GP_GTK_VERSION`` or ``$GP_GTK_PACKAGE`` variables, or the
+``GP_CHECK_GTK3`` macro. For example, if your plugin works with both
+GTK 2 and 3 but you want to check for a minimal GTK2 version, you may
+use ``$GP_GTK_PACKAGE >= 2.XX`` in a ``GP_CHECK_PLUGIN_DEPS`` call.
+
Makefile inside your plugin folder
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Modified: geniuspaste/src/geniuspaste.c
4 lines changed, 2 insertions(+), 2 deletions(-)
===================================================================
@@ -201,7 +201,7 @@ static void paste(GeanyDocument * doc, const gchar * website)
};
gint occ_position;
- gint i;
+ guint i;
guint status;
gsize f_length;
@@ -440,7 +440,7 @@ static void on_configure_response(GtkDialog * dialog, gint response, gpointer *
GtkWidget *plugin_configure(GtkDialog * dialog)
{
- gint i;
+ guint i;
GtkWidget *label, *vbox, *author_label;
vbox = gtk_vbox_new(FALSE, 6);
Modified: pairtaghighlighter/src/pair_tag_highlighter.c
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -171,7 +171,7 @@ static gboolean is_tag_empty(gchar *tagName)
"hr", "img", "input", "keygen", "link", "meta",
"param", "source", "track", "wbr", "!DOCTYPE"};
- int i;
+ unsigned int i;
for(i=0; i<(sizeof(emptyTags)/sizeof(emptyTags[0])); i++)
{
if(strcmp(tagName, emptyTags[i]) == 0)
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).