text-edit.h revision f7d872affb918a763e1f4237a2af23911a2baa21
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle/** @file
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle * @brief Text-edit
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle */
2312a9d8e5342846988edcd629e1ac56a8b5d4a9Brendan Mmiller/* Authors:
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle * Lauris Kaplinski <lauris@ximian.com>
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle * bulia byak <buliabyak@users.sf.net>
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle * Johan Engelen <goejendaagh@zonnet.nl>
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle * John Smith
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle * Kris De Gussem <Kris.DeGussem@gmail.com>
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle * Tavmjong Bah
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle *
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle * Copyright (C) 1999-2013 Authors
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle * Copyright (C) 2000-2001 Ximian, Inc.
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle *
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle * Released under GNU GPL, read the file 'COPYING' for more information
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle */
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle#ifndef INKSCAPE_UI_DIALOG_TEXT_EDIT_H
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle#define INKSCAPE_UI_DIALOG_TEXT_EDIT_H
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle#include <gtkmm/box.h>
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle#include <gtkmm/notebook.h>
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle#include <gtkmm/button.h>
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle#include <gtkmm/frame.h>
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle#include <gtkmm/radiobutton.h>
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle#include <gtkmm/scrolledwindow.h>
97f3e27abc440137770ba93795c696292ecf7fcechad.kienle#include <gtkmm/separator.h>
97f3e27abc440137770ba93795c696292ecf7fcechad.kienle#include "ui/widget/panel.h"
97f3e27abc440137770ba93795c696292ecf7fcechad.kienle#include "ui/widget/frame.h"
97f3e27abc440137770ba93795c696292ecf7fcechad.kienle#include "ui/dialog/desktop-tracker.h"
33c021457bc11072601be0484041e2f46c2616a5Brendan Miller
49ca89f51e0242b83f998f16a269dc1982460f02Chad Kienleclass SPItem;
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienlestruct SPFontSelector;
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienleclass font_instance;
a1883adb3d9355849dced1d5b0c6e76fa7a65811chad.kienleclass SPCSSAttr;
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienlenamespace Inkscape {
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienlenamespace UI {
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienlenamespace Dialog {
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle#define VB_MARGIN 4
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle/**
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle * The TextEdit class defines the Text and font dialog.
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle *
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle * The Text and font dialog allows you to set the font family, style and size
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle * and shows a preview of the result. The dialogs layout settings include
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle * horizontal and vertical alignment and inter line distance.
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle */
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienleclass TextEdit : public UI::Widget::Panel {
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienlepublic:
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle TextEdit();
ad0b283113c3f11ac1877df97d5d0fae899b56caBrendan Mmiller virtual ~TextEdit();
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle
b84068e6021ec8a830c26c4494f6e335d1f9c0efBrendan Miller /**
21dcdac963f79c098a5ea1a2c5c5e109429c9786Brendan Miller * Helper function which returns a new instance of the dialog.
0365e5e502b10b8712ae1fc77b744025f6ac1900chad.kienle * getInstance is needed by the dialog manager (Inkscape::UI::Dialog::DialogManager).
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle */
0365e5e502b10b8712ae1fc77b744025f6ac1900chad.kienle static TextEdit &getInstance() { return *new TextEdit(); }
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienleprotected:
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle /**
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle * Callback for pressing the default button.
0365e5e502b10b8712ae1fc77b744025f6ac1900chad.kienle */
0365e5e502b10b8712ae1fc77b744025f6ac1900chad.kienle void onSetDefault ();
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle /**
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle * Callback for pressing the apply button.
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle */
0365e5e502b10b8712ae1fc77b744025f6ac1900chad.kienle void onApply ();
97f3e27abc440137770ba93795c696292ecf7fcechad.kienle void onSelectionChange ();
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle void onSelectionModified (guint flags);
adb077e59a0318a46a2079cccd8fd4a05841130cChad Kienle
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle /**
9a25d0f810bf910b9320f3d33279eec8b54c03a9Chad Kienle * Called whenever something 'changes' on canvas.
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle *
0365e5e502b10b8712ae1fc77b744025f6ac1900chad.kienle * onReadSelection gets the currently selected item from the canvas and sets all the controls in this dialog to the correct state.
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle *
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle * @param dostyle Indicates whether the modification of the user includes a style change.
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle * @param content Indicates whether the modification of the user includes a style change. Actually refers to the question if we do want to show the content? (Parameter currently not used)
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle */
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle void onReadSelection (gboolean style, gboolean content);
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle void onToggle ();
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle static void onLineSpacingChange (GtkComboBox* widget, gpointer data);
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle /**
470b8b61c1e994020f9a8611860732b7532a859bBrendan Mmiller * Callback invoked when the user modifies the text of the selected text object.
5c2bb8cec4e7fc08472a3ba78d54f115895bb50echad.kienle *
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle * onTextChange is responsible for initiating the commands after the user
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle * modified the text in the selected object. The UI of the dialog is
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle * updated. The subfunction setPreviewText updates the preview label.
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle *
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle * @param text_buffer pointer to GtkTextBuffer with the text of the selected text object
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle * @param self pointer to the current instance of the dialog.
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle */
39a2b1613dd6d8f45a32a9efda82fd0aead4cf43Brendan Mmiller static void onTextChange (GtkTextBuffer *text_buffer, TextEdit *self);
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle
39a2b1613dd6d8f45a32a9efda82fd0aead4cf43Brendan Mmiller /**
39a2b1613dd6d8f45a32a9efda82fd0aead4cf43Brendan Mmiller * Callback invoked when the user modifies the font through the dialog or the tools control bar.
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle *
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle * onFontChange updates the dialog UI. The subfunction setPreviewText updates the preview label.
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle *
9a25d0f810bf910b9320f3d33279eec8b54c03a9Chad Kienle * @param fontsel pointer to SPFontSelector (currently not used).
9a25d0f810bf910b9320f3d33279eec8b54c03a9Chad Kienle * @param fontspec for the text to be previewed.
9a25d0f810bf910b9320f3d33279eec8b54c03a9Chad Kienle * @param self pointer to the current instance of the dialog.
0365e5e502b10b8712ae1fc77b744025f6ac1900chad.kienle */
9a25d0f810bf910b9320f3d33279eec8b54c03a9Chad Kienle static void onFontChange (SPFontSelector *fontsel, gchar* fontspec, TextEdit *self);
9a25d0f810bf910b9320f3d33279eec8b54c03a9Chad Kienle
9a25d0f810bf910b9320f3d33279eec8b54c03a9Chad Kienle /**
9a25d0f810bf910b9320f3d33279eec8b54c03a9Chad Kienle * Callback invoked when the user modifies the startOffset of text on a path.
0365e5e502b10b8712ae1fc77b744025f6ac1900chad.kienle *
49ca89f51e0242b83f998f16a269dc1982460f02Chad Kienle * @param text_buffer pointer to the GtkTextBuffer with the text of the selected text object.
49ca89f51e0242b83f998f16a269dc1982460f02Chad Kienle * @param self pointer to the current instance of the dialog.
49ca89f51e0242b83f998f16a269dc1982460f02Chad Kienle */
49ca89f51e0242b83f998f16a269dc1982460f02Chad Kienle static void onStartOffsetChange(GtkTextBuffer *text_buffer, TextEdit *self);
0365e5e502b10b8712ae1fc77b744025f6ac1900chad.kienle
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle /**
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle * Get the selected text off the main canvas.
9a25d0f810bf910b9320f3d33279eec8b54c03a9Chad Kienle *
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle * @return SPItem pointer to the selected text object
0365e5e502b10b8712ae1fc77b744025f6ac1900chad.kienle */
9a25d0f810bf910b9320f3d33279eec8b54c03a9Chad Kienle SPItem *getSelectedTextItem (void);
9a25d0f810bf910b9320f3d33279eec8b54c03a9Chad Kienle
49ca89f51e0242b83f998f16a269dc1982460f02Chad Kienle /**
49ca89f51e0242b83f998f16a269dc1982460f02Chad Kienle * Count the number of text objects in the selection on the canvas.
0365e5e502b10b8712ae1fc77b744025f6ac1900chad.kienle */
49ca89f51e0242b83f998f16a269dc1982460f02Chad Kienle unsigned getSelectedTextCount (void);
49ca89f51e0242b83f998f16a269dc1982460f02Chad Kienle
49ca89f51e0242b83f998f16a269dc1982460f02Chad Kienle /**
9a25d0f810bf910b9320f3d33279eec8b54c03a9Chad Kienle * Helper function to create markup from a fontspec and display in the preview label.
0365e5e502b10b8712ae1fc77b744025f6ac1900chad.kienle *
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle * @param fontspec for the text to be previewed
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle * @param phrase text to be shown
9a25d0f810bf910b9320f3d33279eec8b54c03a9Chad Kienle */
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle void setPreviewText (Glib::ustring font_spec, Glib::ustring phrase);
9a25d0f810bf910b9320f3d33279eec8b54c03a9Chad Kienle
9a25d0f810bf910b9320f3d33279eec8b54c03a9Chad Kienle void updateObjectText ( SPItem *text );
9a25d0f810bf910b9320f3d33279eec8b54c03a9Chad Kienle SPCSSAttr *fillTextStyle ();
9a25d0f810bf910b9320f3d33279eec8b54c03a9Chad Kienle
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle /**
ad0b283113c3f11ac1877df97d5d0fae899b56caBrendan Mmiller * Helper function to style radio buttons with icons, tooltips.
ad0b283113c3f11ac1877df97d5d0fae899b56caBrendan Mmiller *
ad0b283113c3f11ac1877df97d5d0fae899b56caBrendan Mmiller * styleButton is used when creating the dialog.
b84068e6021ec8a830c26c4494f6e335d1f9c0efBrendan Miller *
b84068e6021ec8a830c26c4494f6e335d1f9c0efBrendan Miller * @param button pointer to the button which is created
ad0b283113c3f11ac1877df97d5d0fae899b56caBrendan Mmiller * @param tooltip pointer to its tooltip string
2312a9d8e5342846988edcd629e1ac56a8b5d4a9Brendan Mmiller * @param iconname string identifying the icon to be shown
2312a9d8e5342846988edcd629e1ac56a8b5d4a9Brendan Mmiller * @param group_button group to which the radio button belongs to
2312a9d8e5342846988edcd629e1ac56a8b5d4a9Brendan Mmiller */
2312a9d8e5342846988edcd629e1ac56a8b5d4a9Brendan Mmiller void styleButton(Gtk::RadioButton *button, gchar const *tooltip, gchar const *iconname, Gtk::RadioButton *group_button );
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle
9a25d0f810bf910b9320f3d33279eec8b54c03a9Chad Kienle /**
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle * Can be invoked for setting the desktop. Currently not used.
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle */
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle void setDesktop(SPDesktop *desktop);
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle
9a25d0f810bf910b9320f3d33279eec8b54c03a9Chad Kienle /**
9a25d0f810bf910b9320f3d33279eec8b54c03a9Chad Kienle * Is invoked by the desktop tracker when the desktop changes.
9a25d0f810bf910b9320f3d33279eec8b54c03a9Chad Kienle *
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle * @see DesktopTracker
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle */
9a25d0f810bf910b9320f3d33279eec8b54c03a9Chad Kienle void setTargetDesktop(SPDesktop *desktop);
9a25d0f810bf910b9320f3d33279eec8b54c03a9Chad Kienle
9a25d0f810bf910b9320f3d33279eec8b54c03a9Chad Kienle
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienleprivate:
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle /*
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle * All the dialogs widgets
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle */
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle Gtk::Notebook notebook;
9a25d0f810bf910b9320f3d33279eec8b54c03a9Chad Kienle
9a25d0f810bf910b9320f3d33279eec8b54c03a9Chad Kienle Gtk::VBox font_vbox;
9a25d0f810bf910b9320f3d33279eec8b54c03a9Chad Kienle Gtk::Label font_label;
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle Gtk::HBox fontsel_hbox;
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle SPFontSelector *fsel;
9a25d0f810bf910b9320f3d33279eec8b54c03a9Chad Kienle
9a25d0f810bf910b9320f3d33279eec8b54c03a9Chad Kienle Gtk::Alignment layout_frame;
9a25d0f810bf910b9320f3d33279eec8b54c03a9Chad Kienle Gtk::HBox layout_hbox;
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle Gtk::RadioButton align_left;
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle Gtk::RadioButton align_center;
9a25d0f810bf910b9320f3d33279eec8b54c03a9Chad Kienle Gtk::RadioButton align_right;
9a25d0f810bf910b9320f3d33279eec8b54c03a9Chad Kienle Gtk::RadioButton align_justify;
9a25d0f810bf910b9320f3d33279eec8b54c03a9Chad Kienle
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle#if WITH_GTKMM_3_0
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle Gtk::Separator align_sep;
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle#else
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle Gtk::VSeparator align_sep;
0365e5e502b10b8712ae1fc77b744025f6ac1900chad.kienle#endif
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle
0365e5e502b10b8712ae1fc77b744025f6ac1900chad.kienle Gtk::RadioButton text_vertical;
0365e5e502b10b8712ae1fc77b744025f6ac1900chad.kienle Gtk::RadioButton text_horizontal;
0365e5e502b10b8712ae1fc77b744025f6ac1900chad.kienle
0365e5e502b10b8712ae1fc77b744025f6ac1900chad.kienle#if WITH_GTKMM_3_0
0365e5e502b10b8712ae1fc77b744025f6ac1900chad.kienle Gtk::Separator text_sep;
0365e5e502b10b8712ae1fc77b744025f6ac1900chad.kienle#else
0365e5e502b10b8712ae1fc77b744025f6ac1900chad.kienle Gtk::VSeparator text_sep;
0365e5e502b10b8712ae1fc77b744025f6ac1900chad.kienle#endif
0365e5e502b10b8712ae1fc77b744025f6ac1900chad.kienle
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle GtkWidget *spacing_combo;
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle GtkWidget *startOffset;
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle Gtk::Label preview_label;
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle
0365e5e502b10b8712ae1fc77b744025f6ac1900chad.kienle Gtk::Label text_label;
0365e5e502b10b8712ae1fc77b744025f6ac1900chad.kienle Gtk::VBox text_vbox;
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle Gtk::ScrolledWindow scroller;
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle GtkWidget *text_view; // TODO - Convert this to a Gtk::TextView, but GtkSpell doesn't seem to work with it
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle GtkTextBuffer *text_buffer;
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle Gtk::HBox button_row;
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle Gtk::Button setasdefault_button;
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle Gtk::Button close_button;
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle Gtk::Button apply_button;
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle SPDesktop *desktop;
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle DesktopTracker deskTrack;
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle sigc::connection desktopChangeConn;
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle sigc::connection selectChangedConn;
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle sigc::connection subselChangedConn;
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle sigc::connection selectModifiedConn;
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle bool blocked;
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle const Glib::ustring samplephrase;
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle TextEdit(TextEdit const &d);
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle TextEdit operator=(TextEdit const &d);
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle};
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle} //namespace Dialog
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle} //namespace UI
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle} //namespace Inkscape
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle#endif // INKSCAPE_UI_DIALOG_TEXT_EDIT_H
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle/*
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle Local Variables:
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle mode:c++
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle c-file-style:"stroustrup"
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle indent-tabs-mode:nil
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle fill-column:99
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle End:
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle*/
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
d1ca2a638584eac08f1e7197086f6c903d6d553eChad Kienle