summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBryce Harrington <bryce@bryceharrington.org>2007-02-20 08:08:25 +0000
committerbryce <bryce@users.sourceforge.net>2007-02-20 08:08:25 +0000
commitc8106f51b4f2f77e7ce9e65ecd9b75acf1696a79 (patch)
tree0273752c6fcd9a37f6f6400c8c437213e76ab801 /src
parentMoving functions from svg_preview_cache.h to a new .cpp (diff)
downloadinkscape-c8106f51b4f2f77e7ce9e65ecd9b75acf1696a79.tar.gz
inkscape-c8106f51b4f2f77e7ce9e65ecd9b75acf1696a79.zip
Moving cache management code from .h to .cpp.
Making the marker dropdowns static so they can be updated. (bzr r2403)
Diffstat (limited to 'src')
-rw-r--r--src/dialogs/stroke-style.cpp38
-rw-r--r--src/ui/cache/svg_preview_cache.cpp47
-rw-r--r--src/ui/cache/svg_preview_cache.h40
3 files changed, 74 insertions, 51 deletions
diff --git a/src/dialogs/stroke-style.cpp b/src/dialogs/stroke-style.cpp
index 0dedcfe4c..a488c1533 100644
--- a/src/dialogs/stroke-style.cpp
+++ b/src/dialogs/stroke-style.cpp
@@ -74,6 +74,12 @@ static void sp_stroke_style_paint_changed(SPPaintSelector *psel, SPWidget *spw);
static void sp_stroke_style_widget_change_subselection ( Inkscape::Application *inkscape, SPDesktop *desktop, SPWidget *spw );
+/** Marker selection option menus */
+static GtkWidget * marker_start_menu = NULL;
+static GtkWidget * marker_mid_menu = NULL;
+static GtkWidget * marker_end_menu = NULL;
+
+
/**
* Create the stroke style widget, and hook up all the signals.
*/
@@ -1153,35 +1159,33 @@ sp_stroke_style_line_widget_new(void)
// TRANSLATORS: Path markers are an SVG feature that allows you to attach arbitrary shapes
// (arrowheads, bullets, faces, whatever) to the start, end, or middle nodes of a path.
spw_label(t, _("Start Markers:"), 0, i);
- GtkWidget *mnu = ink_marker_menu( spw ,"marker-start", sandbox);
- gtk_signal_connect( GTK_OBJECT(mnu), "changed", GTK_SIGNAL_FUNC(sp_marker_select), spw );
- gtk_widget_show(mnu);
- gtk_table_attach( GTK_TABLE(t), mnu, 1, 4, i, i+1,
+ marker_start_menu = ink_marker_menu( spw ,"marker-start", sandbox);
+ gtk_signal_connect( GTK_OBJECT(marker_start_menu), "changed", GTK_SIGNAL_FUNC(sp_marker_select), spw );
+ gtk_widget_show(marker_start_menu);
+ gtk_table_attach( GTK_TABLE(t), marker_start_menu, 1, 4, i, i+1,
(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),
(GtkAttachOptions)0, 0, 0 );
- gtk_object_set_data(GTK_OBJECT(spw), "start_mark_menu", mnu);
+ gtk_object_set_data(GTK_OBJECT(spw), "start_mark_menu", marker_start_menu);
i++;
spw_label(t, _("Mid Markers:"), 0, i);
- mnu = NULL;
- mnu = ink_marker_menu( spw ,"marker-mid", sandbox);
- gtk_signal_connect( GTK_OBJECT(mnu), "changed", GTK_SIGNAL_FUNC(sp_marker_select), spw );
- gtk_widget_show(mnu);
- gtk_table_attach( GTK_TABLE(t), mnu, 1, 4, i, i+1,
+ marker_mid_menu = ink_marker_menu( spw ,"marker-mid", sandbox);
+ gtk_signal_connect( GTK_OBJECT(marker_mid_menu), "changed", GTK_SIGNAL_FUNC(sp_marker_select), spw );
+ gtk_widget_show(marker_mid_menu);
+ gtk_table_attach( GTK_TABLE(t), marker_mid_menu, 1, 4, i, i+1,
(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),
(GtkAttachOptions)0, 0, 0 );
- gtk_object_set_data(GTK_OBJECT(spw), "mid_mark_menu", mnu);
+ gtk_object_set_data(GTK_OBJECT(spw), "mid_mark_menu", marker_mid_menu);
i++;
spw_label(t, _("End Markers:"), 0, i);
- mnu = NULL;
- mnu = ink_marker_menu( spw ,"marker-end", sandbox);
- gtk_signal_connect( GTK_OBJECT(mnu), "changed", GTK_SIGNAL_FUNC(sp_marker_select), spw );
- gtk_widget_show(mnu);
- gtk_table_attach( GTK_TABLE(t), mnu, 1, 4, i, i+1,
+ marker_end_menu = ink_marker_menu( spw ,"marker-end", sandbox);
+ gtk_signal_connect( GTK_OBJECT(marker_end_menu), "changed", GTK_SIGNAL_FUNC(sp_marker_select), spw );
+ gtk_widget_show(marker_end_menu);
+ gtk_table_attach( GTK_TABLE(t), marker_end_menu, 1, 4, i, i+1,
(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),
(GtkAttachOptions)0, 0, 0 );
- gtk_object_set_data(GTK_OBJECT(spw), "end_mark_menu", mnu);
+ gtk_object_set_data(GTK_OBJECT(spw), "end_mark_menu", marker_end_menu);
i++;
diff --git a/src/ui/cache/svg_preview_cache.cpp b/src/ui/cache/svg_preview_cache.cpp
index 6b3bc3930..4aa46af2b 100644
--- a/src/ui/cache/svg_preview_cache.cpp
+++ b/src/ui/cache/svg_preview_cache.cpp
@@ -97,4 +97,51 @@ GdkPixbuf* render_pixbuf(NRArenaItem* root, double scale_factor, const NR::Rect&
return pixbuf;
}
+namespace Inkscape {
+namespace UI {
+namespace Cache {
+SvgPreview::SvgPreview()
+{
+}
+
+SvgPreview::~SvgPreview()
+{
+}
+
+Glib::ustring SvgPreview::cache_key(gchar const *name, unsigned psize) const {
+ Glib::ustring key = name;
+ key += ":";
+ key += psize;
+ return key;
+}
+
+GdkPixbuf* SvgPreview::get_preview_from_cache(const Glib::ustring& key) {
+ std::map<Glib::ustring, GdkPixbuf *>::iterator found = _pixmap_cache.find(key);
+ if ( found != _pixmap_cache.end() ) {
+ return found->second;
+ }
+ return NULL;
+}
+
+void SvgPreview::set_preview_in_cache(const Glib::ustring& key, GdkPixbuf* px) {
+ _pixmap_cache[key] = px;
+}
+
+GdkPixbuf* SvgPreview::get_preview(const gchar* id, NRArenaItem *root,
+ double scale_factor, unsigned int psize) {
+ // First try looking up the cached preview in the cache map
+ Glib::ustring key = cache_key(id, psize);
+ GdkPixbuf* px = get_preview_from_cache(key);
+
+ if (px == NULL) {
+ /*
+ px = render_pixbuf(root, scale_factor, dbox, psize);
+ set_preview_in_cache(key, px);
+ */
+ }
+}
+
+};
+};
+};
diff --git a/src/ui/cache/svg_preview_cache.h b/src/ui/cache/svg_preview_cache.h
index 2d84b7273..14e05d2f8 100644
--- a/src/ui/cache/svg_preview_cache.h
+++ b/src/ui/cache/svg_preview_cache.h
@@ -22,41 +22,13 @@ class SvgPreview {
std::map<Glib::ustring, GdkPixbuf*> _pixmap_cache;
public:
- SvgPreview() {}
- ~SvgPreview() {}
+ SvgPreview();
+ ~SvgPreview();
- Glib::ustring cache_key(gchar const *name, unsigned psize) const {
- Glib::ustring key = name;
- key += ":";
- key += psize;
- return key;
- }
-
- GdkPixbuf* get_preview_from_cache(const Glib::ustring& key) {
- std::map<Glib::ustring, GdkPixbuf *>::iterator found = _pixmap_cache.find(key);
- if ( found != _pixmap_cache.end() ) {
- return found->second;
- }
- return NULL;
- }
-
- void set_preview_in_cache(const Glib::ustring& key, GdkPixbuf* px) {
- _pixmap_cache[key] = px;
- }
-
- GdkPixbuf* get_preview(const gchar* id, NRArenaItem *root, double scale_factor, unsigned int psize) {
- // First try looking up the cached preview in the cache map
- Glib::ustring key = cache_key(id, psize);
- GdkPixbuf* px = get_preview_from_cache(key);
-
- if (px == NULL) {
-/*
- px = render_pixbuf(root, scale_factor, dbox, psize);
- set_preview_in_cache(key, px);
-*/
- }
-
- }
+ Glib::ustring cache_key(gchar const *name, unsigned psize) const;
+ GdkPixbuf* get_preview_from_cache(const Glib::ustring& key);
+ void set_preview_in_cache(const Glib::ustring& key, GdkPixbuf* px);
+ GdkPixbuf* get_preview(const gchar* id, NRArenaItem *root, double scale_factor, unsigned int psize);
};
}; // namespace Cache