lpe-fillet-chamfer-properties.cpp revision 19715d9462f14c8543082f8df232e3c99a8453ca
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof/**
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof * From the code of Liam P.White from his Power Stroke Knot dialog
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof *
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof * Released under GNU GPL. Read the file 'COPYING' for more information
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof */
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof#ifdef HAVE_CONFIG_H
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof#include <config.h>
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof#endif
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof#if GLIBMM_DISABLE_DEPRECATED &&HAVE_GLIBMM_THREADS_H
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof#include <glibmm/threads.h>
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof#endif
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof#include "lpe-fillet-chamfer-properties.h"
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof#include <boost/lexical_cast.hpp>
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof#include <gtkmm/stock.h>
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof#include <glibmm/main.h>
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof#include <glibmm/i18n.h>
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof#include "inkscape.h"
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof#include "desktop.h"
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof#include "document.h"
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof#include "document-undo.h"
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof#include "layer-manager.h"
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof#include "message-stack.h"
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof#include "desktop-handles.h"
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof#include "sp-object.h"
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof#include "sp-item.h"
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof#include "verbs.h"
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof#include "selection.h"
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof#include "selection-chemistry.h"
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof#include "ui/icon-names.h"
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof#include "ui/widget/imagetoggler.h"
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof#include <cmath>
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof#include <gtkmm/radiobutton.h>
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof#include "util/units.h"
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof//#include "event-context.h"
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof
19715d9462f14c8543082f8df232e3c99a8453caJabiertxofnamespace Inkscape {
19715d9462f14c8543082f8df232e3c99a8453caJabiertxofnamespace UI {
19715d9462f14c8543082f8df232e3c99a8453caJabiertxofnamespace Dialogs {
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof
19715d9462f14c8543082f8df232e3c99a8453caJabiertxofFilletChamferPropertiesDialog::FilletChamferPropertiesDialog()
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof : _desktop(NULL), _knotpoint(NULL), _position_visible(false)
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof{
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof Gtk::Box *mainVBox = get_vbox();
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof mainVBox->set_homogeneous(false);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _layout_table.set_spacings(4);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _layout_table.resize(2, 2);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof // Layer name widgets
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _fillet_chamfer_position_entry.set_activates_default(true);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _fillet_chamfer_position_label.set_label(_("Radius (pixels):"));
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _fillet_chamfer_position_label.set_alignment(1.0, 0.5);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _layout_table.attach(_fillet_chamfer_position_label, 0, 1, 0, 1, Gtk::FILL,
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof Gtk::FILL);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _layout_table.attach(_fillet_chamfer_position_entry, 1, 2, 0, 1,
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof Gtk::FILL | Gtk::EXPAND, Gtk::FILL);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _fillet_chamfer_type_fillet.set_label(_("Fillet"));
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _fillet_chamfer_type_fillet.set_group(_fillet_chamfer_type_group);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _fillet_chamfer_type_inverse_fillet.set_label(_("Inverse fillet"));
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _fillet_chamfer_type_inverse_fillet.set_group(_fillet_chamfer_type_group);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _fillet_chamfer_type_chamfer.set_label(_("Chamfer"));
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _fillet_chamfer_type_chamfer.set_group(_fillet_chamfer_type_group);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _fillet_chamfer_type_double_chamfer.set_label(_("Double chamfer"));
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _fillet_chamfer_type_double_chamfer.set_group(_fillet_chamfer_type_group);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof mainVBox->pack_start(_layout_table, true, true, 4);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof mainVBox->pack_start(_fillet_chamfer_type_fillet, true, true, 4);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof mainVBox->pack_start(_fillet_chamfer_type_inverse_fillet, true, true, 4);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof mainVBox->pack_start(_fillet_chamfer_type_chamfer, true, true, 4);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof mainVBox->pack_start(_fillet_chamfer_type_double_chamfer, true, true, 4);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof // Buttons
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _close_button.set_use_stock(true);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _close_button.set_label(Gtk::Stock::CANCEL.id);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _close_button.set_can_default();
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _apply_button.set_use_underline(true);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _apply_button.set_can_default();
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _close_button.signal_clicked()
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof .connect(sigc::mem_fun(*this, &FilletChamferPropertiesDialog::_close));
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _apply_button.signal_clicked()
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof .connect(sigc::mem_fun(*this, &FilletChamferPropertiesDialog::_apply));
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof signal_delete_event().connect(sigc::bind_return(
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof sigc::hide(sigc::mem_fun(*this, &FilletChamferPropertiesDialog::_close)),
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof true));
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof add_action_widget(_close_button, Gtk::RESPONSE_CLOSE);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof add_action_widget(_apply_button, Gtk::RESPONSE_APPLY);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _apply_button.grab_default();
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof show_all_children();
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof set_focus(_fillet_chamfer_position_entry);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof}
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof
19715d9462f14c8543082f8df232e3c99a8453caJabiertxofFilletChamferPropertiesDialog::~FilletChamferPropertiesDialog()
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof{
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _setDesktop(NULL);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof}
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof
19715d9462f14c8543082f8df232e3c99a8453caJabiertxofvoid FilletChamferPropertiesDialog::showDialog(
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof SPDesktop *desktop, Geom::Point knotpoint,
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof const Inkscape::LivePathEffect::
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof FilletChamferPointArrayParamKnotHolderEntity *pt,
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof const gchar *unit)
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof{
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof FilletChamferPropertiesDialog *dialog = new FilletChamferPropertiesDialog();
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof dialog->_setDesktop(desktop);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof dialog->_setUnit(unit);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof dialog->_setKnotPoint(knotpoint);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof dialog->_setPt(pt);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof dialog->set_title(_("Modify Fillet-Chamfer"));
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof dialog->_apply_button.set_label(_("_Modify"));
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof dialog->set_modal(true);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof desktop->setWindowTransient(dialog->gobj());
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof dialog->property_destroy_with_parent() = true;
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof dialog->show();
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof dialog->present();
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof}
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof
19715d9462f14c8543082f8df232e3c99a8453caJabiertxofvoid FilletChamferPropertiesDialog::_apply()
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof{
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof std::istringstream i_pos(_fillet_chamfer_position_entry.get_text());
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof double d_pos, d_width;
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof if (i_pos >> d_pos) {
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof if (_fillet_chamfer_type_fillet.get_active() == true) {
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof d_width = 1;
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof } else if (_fillet_chamfer_type_inverse_fillet.get_active() == true) {
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof d_width = 2;
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof } else if (_fillet_chamfer_type_chamfer.get_active() == true) {
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof d_width = 3;
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof } else {
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof d_width = 4;
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof }
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof if (_flexible) {
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof if (d_pos > 99.99999 || d_pos < 0) {
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof d_pos = 0;
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof }
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof d_pos = _index + (d_pos / 100);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof } else {
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof d_pos = Inkscape::Util::Quantity::convert(d_pos, unit, "px");
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof d_pos = d_pos * -1;
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof }
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _knotpoint->knot_set_offset(Geom::Point(d_pos, d_width));
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof }
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _close();
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof}
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof
19715d9462f14c8543082f8df232e3c99a8453caJabiertxofvoid FilletChamferPropertiesDialog::_close()
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof{
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _setDesktop(NULL);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof destroy_();
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof Glib::signal_idle().connect(
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof sigc::bind_return(
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof sigc::bind(sigc::ptr_fun(&::operator delete), this),
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof false
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof )
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof );
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof}
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof
19715d9462f14c8543082f8df232e3c99a8453caJabiertxofbool FilletChamferPropertiesDialog::_handleKeyEvent(GdkEventKey *event)
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof{
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof return false;
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof}
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof
19715d9462f14c8543082f8df232e3c99a8453caJabiertxofvoid FilletChamferPropertiesDialog::_handleButtonEvent(GdkEventButton *event)
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof{
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof if ((event->type == GDK_2BUTTON_PRESS) && (event->button == 1)) {
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _apply();
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof }
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof}
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof
19715d9462f14c8543082f8df232e3c99a8453caJabiertxofvoid FilletChamferPropertiesDialog::_setKnotPoint(Geom::Point knotpoint)
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof{
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof double position;
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof if (knotpoint.x() > 0) {
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof double intpart;
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof position = modf(knotpoint[Geom::X], &intpart) * 100;
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _flexible = true;
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _index = intpart;
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _fillet_chamfer_position_label.set_label(_("Position (%):"));
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof } else {
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _flexible = false;
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof std::string posConcat =
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof std::string(_("Position (")) + std::string(unit) + std::string(")");
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _fillet_chamfer_position_label.set_label(_(posConcat.c_str()));
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof position = knotpoint[Geom::X] * -1;
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof position = Inkscape::Util::Quantity::convert(position, "px", unit);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof }
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof std::ostringstream s;
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof s.imbue(std::locale::classic());
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof s << position;
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _fillet_chamfer_position_entry.set_text(s.str());
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof if (knotpoint.y() == 1) {
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _fillet_chamfer_type_fillet.set_active(true);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof } else if (knotpoint.y() == 2) {
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _fillet_chamfer_type_inverse_fillet.set_active(true);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof } else if (knotpoint.y() == 3) {
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _fillet_chamfer_type_chamfer.set_active(true);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof } else if (knotpoint.y() == 1) {
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _fillet_chamfer_type_double_chamfer.set_active(true);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof }
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof}
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof
19715d9462f14c8543082f8df232e3c99a8453caJabiertxofvoid FilletChamferPropertiesDialog::_setPt(
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof const Inkscape::LivePathEffect::
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof FilletChamferPointArrayParamKnotHolderEntity *pt)
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof{
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _knotpoint = const_cast<
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof Inkscape::LivePathEffect::FilletChamferPointArrayParamKnotHolderEntity *>(
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof pt);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof}
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof
19715d9462f14c8543082f8df232e3c99a8453caJabiertxofvoid FilletChamferPropertiesDialog::_setUnit(const gchar *abbr)
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof{
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof unit = abbr;
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof}
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof
19715d9462f14c8543082f8df232e3c99a8453caJabiertxofvoid FilletChamferPropertiesDialog::_setDesktop(SPDesktop *desktop)
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof{
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof if (desktop) {
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof Inkscape::GC::anchor(desktop);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof }
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof if (_desktop) {
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof Inkscape::GC::release(_desktop);
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof }
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof _desktop = desktop;
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof}
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof} // namespace
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof} // namespace
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof} // namespace
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof/*
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof Local Variables:
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof mode:c++
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof c-file-style:"stroustrup"
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof indent-tabs-mode:nil
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof fill-column:99
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof End:
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof*/
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof// vim:
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof// filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99
19715d9462f14c8543082f8df232e3c99a8453caJabiertxof// :