nemiver r680 - in trunk: . src/persp/dbgperspective src/uicommon
- From: jjongsma svn gnome org
- To: svn-commits-list gnome org
- Subject: nemiver r680 - in trunk: . src/persp/dbgperspective src/uicommon
- Date: Sun, 13 Jan 2008 21:13:29 +0000 (GMT)
Author: jjongsma
Date: Sun Jan 13 21:13:29 2008
New Revision: 680
URL: http://svn.gnome.org/viewvc/nemiver?rev=680&view=rev
Log:
* configure.ac: add --enable-sourceviewmm2
* src/persp/dbgperspective/nmv-dbg-perspective.cc:
* src/uicommon/nmv-source-editor.cc: update these to gtksourceviewmm-2.0
API, with #ifdefs to allow using gtksourceviewmm-1.0 as well
Modified:
trunk/ChangeLog
trunk/config.h.in
trunk/configure.ac
trunk/src/persp/dbgperspective/nmv-dbg-perspective.cc
trunk/src/uicommon/nmv-source-editor.cc
Modified: trunk/config.h.in
==============================================================================
--- trunk/config.h.in (original)
+++ trunk/config.h.in Sun Jan 13 21:13:29 2008
@@ -93,9 +93,12 @@
/* Version number of package */
#undef VERSION
-/* compile the workbench */
+/* compile the the memory view widget */
#undef WITH_MEMORYVIEW
+/* build with gtksourceviewmm 2.x instead of 1.x */
+#undef WITH_SOURCEVIEWMM2
+
/* enable variables walker interface */
#undef WITH_VARIABLE_WALKER
Modified: trunk/configure.ac
==============================================================================
--- trunk/configure.ac (original)
+++ trunk/configure.ac Sun Jan 13 21:13:29 2008
@@ -36,7 +36,9 @@
AC_SUBST([LIBXML2_VERSION])
LIBGTKMM_VERSION=2.6.0
LIBGLADEMM_VERSION=2.6.0
-LIBGTKSOURCEVIEWMM_VERSION=1.9.4
+dnl default to using gtksourceview-1.0
+LIBGTKSOURCEVIEWMM_PKG=libgtksourceviewmm-1.0
+LIBGTKSOURCEVIEWMM_VERSION=0.3.0
SQLITE3_VERSION=3.0
LIBGTOP_VERSION=2.14
LIBVTE_VERSION=0.12.0
@@ -68,6 +70,7 @@
ENABLE_DBGENGINE=yes
ENABLE_WORKBENCH=yes
ENABLE_MEMORYVIEW=yes
+ENABLE_SOURCEVIEWMM2=no
dnl *************************************
dnl Internationalization support
@@ -141,13 +144,30 @@
ENABLE_MEMORYVIEW=$enableval,
ENABLE_MEMORYVIEW=yes)
if test x$ENABLE_MEMORYVIEW = xyes ; then
- AC_DEFINE([WITH_MEMORYVIEW], 1, [compile the workbench])
+ AC_DEFINE([WITH_MEMORYVIEW], 1, [compile the the memory view widget])
else
ENABLE_MEMORYVIEW=no
fi
AM_CONDITIONAL(BUILD_MEMORYVIEW, test x$ENABLE_MEMORYVIEW = xyes)
+AC_ARG_ENABLE(sourceviewmm2,
+ AC_HELP_STRING([--enable-sourceviewmm2=yes|no],
+ [enable the memory view hex editor (default is no)]),
+ ENABLE_SOURCEVIEWMM2=$enableval,
+ ENABLE_SOURCEVIEWMM2=yes)
+if test x$ENABLE_SOURCEVIEWMM2 = xyes ; then
+ AC_DEFINE([WITH_SOURCEVIEWMM2], 1, [build with gtksourceviewmm 2.x instead of 1.x])
+ LIBGTKSOURCEVIEWMM_VERSION=1.9.4
+ LIBGTKSOURCEVIEWMM_PKG=gtksourceviewmm-2.0
+else
+ ENABLE_SOURCEVIEWMM2=no
+ LIBGTKSOURCEVIEWMM_VERSION=0.3.0
+ LIBGTKSOURCEVIEWMM_PKG=libgtksourceviewmm-1.0
+fi
+AM_CONDITIONAL(BUILD_MEMORYVIEW, test x$ENABLE_MEMORYVIEW = xyes)
+
+
ENABLE_DEBUG=yes
AC_ARG_ENABLE(debug,
AC_HELP_STRING([--enable-debug=yes|no],
@@ -220,7 +240,7 @@
if test x$ENABLE_WORKBENCH = xyes ; then
PKG_CHECK_MODULES(LIBGTKMM, [gtkmm-2.4 >= $LIBGTKMM_VERSION])
PKG_CHECK_MODULES(LIBGLADEMM, [libglademm-2.4 >= $LIBGLADEMM_VERSION])
- PKG_CHECK_MODULES(LIBGTKSOURCEVIEWMM, [gtksourceviewmm-2.0 >= $LIBGTKSOURCEVIEWMM_VERSION])
+ PKG_CHECK_MODULES(LIBGTKSOURCEVIEWMM, [$LIBGTKSOURCEVIEWMM_PKG >= $LIBGTKSOURCEVIEWMM_VERSION])
fi
if test x$ENABLE_MEMORYVIEW = xyes ; then
Modified: trunk/src/persp/dbgperspective/nmv-dbg-perspective.cc
==============================================================================
--- trunk/src/persp/dbgperspective/nmv-dbg-perspective.cc (original)
+++ trunk/src/persp/dbgperspective/nmv-dbg-perspective.cc Sun Jan 13 21:13:29 2008
@@ -24,6 +24,7 @@
*See COPYRIGHT file copyright information.
*/
+#include "config.h"
#include <algorithm>
#include <iostream>
#include <fstream>
@@ -33,7 +34,11 @@
#include <libgnomevfs/gnome-vfs-ops.h>
#include <libgnomevfs/gnome-vfs-utils.h>
#include <gtksourceviewmm/init.h>
+#ifdef WITH_SOURCEVIEWMM2
#include <gtksourceviewmm/sourcelanguagemanager.h>
+#else
+#include <gtksourceviewmm/sourcelanguagesmanager.h>
+#endif // WITH_SOURCEVIEWMM2
#include <pangomm/fontdescription.h>
#include <gtkmm/clipboard.h>
#include <gtkmm/separatortoolitem.h>
@@ -1643,7 +1648,11 @@
it != m_priv->pagenum_2_source_editor_map.end ();
++it) {
if (it->second && it->second->source_view ().get_buffer ()) {
+#ifdef WITH_SOURCEVIEWMM2
it->second->source_view ().get_source_buffer ()->set_highlight_syntax
+#else
+ it->second->source_view ().get_source_buffer ()->set_highlight
+#endif // WITH_SOURCEVIEWMM2
(boost::get<bool> (a_value)) ;
}
}
@@ -3771,10 +3780,37 @@
}
LOG_DD ("file has mime type: " << mime_type) ;
+#ifdef WITH_SOURCEVIEWMM2
Glib::RefPtr<SourceLanguageManager> lang_manager =
- SourceLanguageManager::create () ;
- Glib::RefPtr<SourceLanguage> lang =
- lang_manager->get_language (mime_type) ;
+ SourceLanguageManager::get_default () ;
+#else
+ Glib::RefPtr<SourceLanguagesManager> lang_manager =
+ SourceLanguagesManager::create () ;
+#endif // WITH_SOURCEVIEWMM2
+ Glib::RefPtr<SourceLanguage> lang;
+#ifdef WITH_SOURCEVIEWMM2
+ std::list<Glib::ustring> lang_ids = lang_manager->get_language_ids () ;
+ for (std::list<Glib::ustring>::const_iterator it = lang_ids.begin ();
+ it != lang_ids.end (); ++it) {
+ Glib::RefPtr<gtksourceview::SourceLanguage> candidate =
+ lang_manager->get_language (*it);
+ std::list<Glib::ustring> mime_types = candidate->get_mime_types ();
+ for (std::list<Glib::ustring>::const_iterator mime_it = mime_types.begin ();
+ mime_it != mime_types.end (); ++mime_it) {
+ if (*mime_it == mime_type)
+ {
+ // one of the mime types associated with this language matches
+ // the mime type of our file, so use this language
+ lang = candidate;
+ break; // no need to look at further mime types
+ }
+ }
+ // we found a matching language, so stop looking for other languages
+ if (lang) break;
+ }
+#else
+ lang = lang_manager->get_language_from_mime_type (mime_type) ;
+#endif // WITH_SOURCEVIEWMM2
Glib::RefPtr<SourceBuffer> source_buffer ;
if (a_source_buffer) {
@@ -3801,7 +3837,11 @@
}
file.close () ;
+#ifdef WITH_SOURCEVIEWMM2
source_buffer->set_highlight_syntax (m_priv->enable_syntax_highlight) ;
+#else
+ source_buffer->set_highlight (m_priv->enable_syntax_highlight) ;
+#endif // WITH_SOURCEVIEWMM2
a_source_buffer = source_buffer ;
NEMIVER_CATCH_AND_RETURN (false) ;
@@ -3873,10 +3913,17 @@
Gtk::TextIter cur_line_iter =
source_buffer->get_iter_at_line (a_current_line) ;
if (cur_line_iter) {
+#ifdef WITH_SOURCEVIEWMM2
Glib::RefPtr<SourceMark> where_marker =
source_buffer->create_mark (WHERE_MARK,
WHERE_CATEGORY,
cur_line_iter) ;
+#else
+ Glib::RefPtr<SourceMarker> where_marker =
+ source_buffer->create_marker (WHERE_MARK,
+ WHERE_CATEGORY,
+ cur_line_iter) ;
+#endif // WITH_SOURCEVIEWMM2
THROW_IF_FAIL (where_marker) ;
}
}
Modified: trunk/src/uicommon/nmv-source-editor.cc
==============================================================================
--- trunk/src/uicommon/nmv-source-editor.cc (original)
+++ trunk/src/uicommon/nmv-source-editor.cc Sun Jan 13 21:13:29 2008
@@ -22,12 +22,17 @@
*
*See COPYRIGHT file copyright information.
*/
+#include "config.h"
#include <map>
#include <glib/gi18n.h>
#include <gtkmm/table.h>
#include <gtkmm/label.h>
#include <gtkmm/scrolledwindow.h>
+#ifdef WITH_SOURCEVIEWMM2
#include <gtksourceviewmm/sourcemark.h>
+#else
+#include <gtksourceviewmm/sourcemarker.h>
+#endif // WITH_SOURCEVIEWMM2
#include <gtksourceviewmm/sourceiter.h>
#include "common/nmv-exception.h"
#include "common/nmv-sequence.h"
@@ -36,7 +41,11 @@
using namespace std ;
using namespace nemiver::common;
+#ifdef WITH_SOURCEVIEWMM2
using gtksourceview::SourceMark;
+#else
+using gtksourceview::SourceMarker;
+#endif // WITH_SOURCEVIEWMM2
using gtksourceview::SourceIter;
using gtksourceview::SearchFlags;
@@ -135,7 +144,11 @@
struct SourceEditor::Priv {
Sequence sequence ;
+#ifdef WITH_SOURCEVIEWMM2
std::map<int, Glib::RefPtr<gtksourceview::SourceMark> > markers ;
+#else
+ std::map<int, Glib::RefPtr<gtksourceview::SourceMarker> > markers ;
+#endif // WITH_SOURCEVIEWMM2
UString root_dir ;
gint current_column ;
gint current_line ;
@@ -269,8 +282,12 @@
Glib::RefPtr<Gdk::Pixbuf> bm_pixbuf =
Gdk::Pixbuf::create_from_file (path) ;
+#ifdef WITH_SOURCEVIEWMM2
source_view->set_mark_category_pixbuf (a_name, bm_pixbuf) ;
source_view->set_mark_category_priority (a_name, 0);
+#else
+ source_view->set_marker_pixbuf (a_name, bm_pixbuf) ;
+#endif // WITH_SOURCEVIEWMM2
}
void init ()
@@ -329,11 +346,15 @@
THROW ("could not get path to line-pointer.png") ;
}
Glib::RefPtr<Gdk::Pixbuf> lp_pixbuf = Gdk::Pixbuf::create_from_file (path) ;
+#ifdef WITH_SOURCEVIEWMM2
source_view ().set_mark_category_pixbuf (WHERE_CATEGORY, lp_pixbuf) ;
// show this on top
source_view ().set_mark_category_priority (WHERE_CATEGORY, 100);
-
source_view ().set_show_line_marks (true) ;
+#else
+ source_view ().set_marker_pixbuf (WHERE_CATEGORY, lp_pixbuf) ;
+ source_view ().set_show_line_markers (true) ;
+#endif // WITH_SOURCEVIEWMM2
}
SourceEditor::SourceEditor ()
@@ -395,18 +416,33 @@
source_view ().get_source_buffer ()->get_iter_at_line (a_line - 1) ;
THROW_IF_FAIL (line_iter) ;
+#ifdef WITH_SOURCEVIEWMM2
Glib::RefPtr<Gtk::TextMark> where_marker =
source_view ().get_source_buffer ()->get_mark (WHERE_MARK) ;
+#else
+ Glib::RefPtr<gtksourceview::SourceMarker> where_marker =
+ source_view ().get_source_buffer ()->get_marker (WHERE_MARK) ;
+#endif // WITH_SOURCEVIEWMM2
if (!where_marker) {
+#ifdef WITH_SOURCEVIEWMM2
Glib::RefPtr<Gtk::TextMark> where_marker =
source_view ().get_source_buffer ()->create_mark
+#else
+ Glib::RefPtr<gtksourceview::SourceMarker> where_marker =
+ source_view ().get_source_buffer ()->create_marker
+#endif // WITH_SOURCEVIEWMM2
(WHERE_MARK,
WHERE_CATEGORY,
line_iter) ;
THROW_IF_FAIL (where_marker) ;
} else {
+#ifdef WITH_SOURCEVIEWMM2
source_view ().get_source_buffer ()->move_mark (where_marker,
line_iter) ;
+#else
+ source_view ().get_source_buffer ()->move_marker (where_marker,
+ line_iter) ;
+#endif // WITH_SOURCEVIEWMM2
}
if (a_do_scroll) {
scroll_to_line (a_line) ;
@@ -417,10 +453,19 @@
void
SourceEditor::unset_where_marker ()
{
+#ifdef WITH_SOURCEVIEWMM2
Glib::RefPtr<Gtk::TextMark> where_marker =
source_view ().get_source_buffer ()->get_mark (WHERE_MARK) ;
+#else
+ Glib::RefPtr<gtksourceview::SourceMarker> where_marker =
+ source_view ().get_source_buffer ()->get_marker (WHERE_MARK) ;
+#endif // WITH_SOURCEVIEWMM2
if (where_marker && !where_marker->get_deleted ()) {
+#ifdef WITH_SOURCEVIEWMM2
source_view ().get_source_buffer ()->delete_mark (where_marker) ;
+#else
+ source_view ().get_source_buffer ()->delete_marker (where_marker) ;
+#endif // WITH_SOURCEVIEWMM2
}
}
@@ -437,12 +482,20 @@
}
std::map<int,
+#ifdef WITH_SOURCEVIEWMM2
Glib::RefPtr<gtksourceview::SourceMark> >::iterator mark_iter =
+#else
+ Glib::RefPtr<gtksourceview::SourceMarker> >::iterator mark_iter =
+#endif // WITH_SOURCEVIEWMM2
m_priv->markers.find (a_line);
if (mark_iter != m_priv->markers.end ()) {
if (!mark_iter->second->get_deleted ()) {
LOG_DD ("deleting marker") ;
+#ifdef WITH_SOURCEVIEWMM2
source_view ().get_source_buffer ()->delete_mark
+#else
+ source_view ().get_source_buffer ()->delete_marker
+#endif // WITH_SOURCEVIEWMM2
(mark_iter->second);
}
m_priv->markers.erase (a_line);
@@ -454,8 +507,13 @@
UString marker_name = UString::from_int (a_line);
LOG_DD ("creating marker of type: " << marker_type) ;
+#ifdef WITH_SOURCEVIEWMM2
Glib::RefPtr<gtksourceview::SourceMark> marker =
source_view ().get_source_buffer ()->create_mark
+#else
+ Glib::RefPtr<gtksourceview::SourceMarker> marker =
+ source_view ().get_source_buffer ()->create_marker
+#endif // WITH_SOURCEVIEWMM2
(marker_name, marker_type, iter) ;
m_priv->markers[a_line] = marker ;
}
@@ -463,20 +521,32 @@
void
SourceEditor::remove_visual_breakpoint_from_line (int a_line)
{
+#ifdef WITH_SOURCEVIEWMM2
std::map<int, Glib::RefPtr<gtksourceview::SourceMark> >::iterator iter ;
+#else
+ std::map<int, Glib::RefPtr<gtksourceview::SourceMarker> >::iterator iter ;
+#endif // WITH_SOURCEVIEWMM2
iter = m_priv->markers.find (a_line) ;
if (iter == m_priv->markers.end ()) {
return ;
}
if (!iter->second->get_deleted ())
+#ifdef WITH_SOURCEVIEWMM2
source_view ().get_source_buffer ()->delete_mark (iter->second) ;
+#else
+ source_view ().get_source_buffer ()->delete_marker (iter->second) ;
+#endif // WITH_SOURCEVIEWMM2
m_priv->markers.erase (iter) ;
}
bool
SourceEditor::is_visual_breakpoint_set_at_line (int a_line) const
{
+#ifdef WITH_SOURCEVIEWMM2
std::map<int, Glib::RefPtr<gtksourceview::SourceMark> >::iterator iter ;
+#else
+ std::map<int, Glib::RefPtr<gtksourceview::SourceMarker> >::iterator iter ;
+#endif // WITH_SOURCEVIEWMM2
iter = m_priv->markers.find (a_line) ;
if (iter == m_priv->markers.end ()) {
return false ;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]