diff options
| author | Alexander Valavanis <valavanisalex@gmail.com> | 2017-06-29 16:13:40 +0000 |
|---|---|---|
| committer | Alexander Valavanis <valavanisalex@gmail.com> | 2017-06-29 16:13:40 +0000 |
| commit | ad826f2d8da43745b3f01f72616439102ad85b32 (patch) | |
| tree | faead64e9df74ecb395b557dfe505536884c0ae3 | |
| parent | aboutbox: Gtk3 fixes (diff) | |
| parent | Filter editor fix for gcc 5 (diff) | |
| download | inkscape-ad826f2d8da43745b3f01f72616439102ad85b32.tar.gz inkscape-ad826f2d8da43745b3f01f72616439102ad85b32.zip | |
Merge branch 'master' of gitlab.com:inkscape/inkscape
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | share/ui/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | share/ui/filter-editor.glade | 381 | ||||
| -rw-r--r-- | src/helper/window.cpp | 6 | ||||
| -rw-r--r-- | src/shortcuts.cpp | 21 | ||||
| -rw-r--r-- | src/shortcuts.h | 13 | ||||
| -rw-r--r-- | src/ui/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | src/ui/dialog/dialog-manager.cpp | 3 | ||||
| -rw-r--r-- | src/ui/dialog/filter-editor.cpp | 128 | ||||
| -rw-r--r-- | src/ui/dialog/filter-editor.h | 53 | ||||
| -rw-r--r-- | src/ui/dialog/filter-effects-dialog.h | 8 |
11 files changed, 605 insertions, 13 deletions
diff --git a/.gitignore b/.gitignore index a56790eb5..8d7ae7a81 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ share/*/*.h *.old *.swp +*~ diff --git a/share/ui/CMakeLists.txt b/share/ui/CMakeLists.txt index 80bcd1b5d..e3eb742b2 100644 --- a/share/ui/CMakeLists.txt +++ b/share/ui/CMakeLists.txt @@ -1,3 +1,3 @@ -file(GLOB _FILES "*.xml" "*.rc" "*.css" "*.ui") +file(GLOB _FILES "*.xml" "*.rc" "*.css" "*.ui" "*.glade") install(FILES ${_FILES} DESTINATION ${INKSCAPE_SHARE_INSTALL}/ui) diff --git a/share/ui/filter-editor.glade b/share/ui/filter-editor.glade new file mode 100644 index 000000000..908e0d7e3 --- /dev/null +++ b/share/ui/filter-editor.glade @@ -0,0 +1,381 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Generated with glade 3.20.0 --> +<interface> + <requires lib="gtk+" version="3.18"/> + <object class="GtkListStore" id="FilterStore"> + <columns> + <!-- column-name Effect --> + <column type="gchararray"/> + <!-- column-name Name --> + <column type="gchararray"/> + <!-- column-name gboolean1 --> + <column type="gboolean"/> + <!-- column-name Origin --> + <column type="GObject"/> + </columns> + <data> + <row> + <col id="0" translatable="yes">test1</col> + <col id="1" translatable="yes">a</col> + <col id="2">False</col> + <col id="3"/> + </row> + <row> + <col id="0" translatable="yes">test2</col> + <col id="1" translatable="yes">b</col> + <col id="2">False</col> + <col id="3"/> + </row> + <row> + <col id="0" translatable="yes">test3</col> + <col id="1" translatable="yes">c</col> + <col id="2">False</col> + <col id="3"/> + </row> + <row> + <col id="0" translatable="yes"/> + <col id="1" translatable="yes"/> + <col id="2">False</col> + <col id="3"/> + </row> + </data> + </object> + <object class="GtkListStore" id="FilterStore1"> + <columns> + <!-- column-name origin_name --> + <column type="gchararray"/> + </columns> + <data> + <row> + <col id="0" translatable="yes">whatever</col> + </row> + <row> + <col id="0" translatable="yes">second choice</col> + </row> + </data> + </object> + <object class="GtkBox" id="FilterEditor"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkBox"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkComboBoxText" id="FilterList"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <items> + <item translatable="yes">filter1</item> + <item translatable="yes">filter2</item> + </items> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">FER: </property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">X: </property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + <child> + <object class="GtkSpinButton" id="FilterFERX"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="input_purpose">number</property> + <property name="orientation">vertical</property> + <property name="value">-0.10000000000000001</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">3</property> + </packing> + </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Y: </property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">4</property> + </packing> + </child> + <child> + <object class="GtkSpinButton" id="FilterFERY"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="orientation">vertical</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">5</property> + </packing> + </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">W: </property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">6</property> + </packing> + </child> + <child> + <object class="GtkSpinButton" id="FilterFERW"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="orientation">vertical</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">7</property> + </packing> + </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">H: </property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">8</property> + </packing> + </child> + <child> + <object class="GtkSpinButton" id="FilterFERH"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="orientation">vertical</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">9</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkPaned"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <child> + <object class="GtkBox"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkTreeView" id="FilterPrimitiveList"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="model">FilterStore</property> + <property name="headers_clickable">False</property> + <property name="reorderable">True</property> + <property name="fixed_height_mode">True</property> + <property name="enable_tree_lines">True</property> + <property name="activate_on_single_click">True</property> + <child internal-child="selection"> + <object class="GtkTreeSelection"/> + </child> + <child> + <object class="GtkTreeViewColumn"> + <property name="sizing">fixed</property> + <property name="title" translatable="yes">Effect</property> + <child> + <object class="GtkCellRendererText" id="cellrenderertext4"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkTreeViewColumn"> + <property name="sizing">fixed</property> + <property name="title" translatable="yes">Name</property> + <child> + <object class="GtkCellRendererText" id="cellrenderertext44"/> + <attributes> + <attribute name="text">1</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkTreeViewColumn"> + <property name="sizing">fixed</property> + <property name="title" translatable="yes">Origin(s)</property> + <property name="expand">True</property> + <child> + <object class="GtkCellRendererCombo" id="cellrenderertext45"> + <property name="model">FilterStore1</property> + <property name="text_column">0</property> + </object> + </child> + </object> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkBox"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkComboBox" id="FilterPrimitiveDropDown"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="FilterPrimitiveAdd"> + <property name="label" translatable="yes">Add</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="pack_type">end</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="resize">True</property> + <property name="shrink">True</property> + </packing> + </child> + <child> + <object class="GtkBox"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkDrawingArea" id="FilterPreview"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <placeholder/> + </child> + <child> + <object class="GtkBox"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkImage" id="FilterPrimitiveDescImage"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="stock">gtk-dialog-info</property> + <property name="icon_size">6</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="FilterPrimitiveDescText"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">This effect does this and that.</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + </object> + <packing> + <property name="resize">True</property> + <property name="shrink">True</property> + </packing> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <object class="GtkComboBox" id="OptionList"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="model">FilterStore1</property> + <property name="active">0</property> + <property name="id_column">0</property> + </object> +</interface> diff --git a/src/helper/window.cpp b/src/helper/window.cpp index 98e886a38..270f9a3c8 100644 --- a/src/helper/window.cpp +++ b/src/helper/window.cpp @@ -23,6 +23,12 @@ static bool on_window_key_press(GdkEventKey* event) shortcut = Inkscape::UI::Tools::get_group0_keyval (event) | ( event->state & GDK_SHIFT_MASK ? SP_SHORTCUT_SHIFT_MASK : 0 ) | + ( event->state & GDK_SUPER_MASK ? + SP_SHORTCUT_SUPER_MASK : 0 ) | + ( event->state & GDK_HYPER_MASK ? + SP_SHORTCUT_HYPER_MASK : 0 ) | + ( event->state & GDK_META_MASK ? + SP_SHORTCUT_META_MASK : 0 ) | ( event->state & GDK_CONTROL_MASK ? SP_SHORTCUT_CONTROL_MASK : 0 ) | ( event->state & GDK_MOD1_MASK ? diff --git a/src/shortcuts.cpp b/src/shortcuts.cpp index f8a647040..0cb0285f8 100644 --- a/src/shortcuts.cpp +++ b/src/shortcuts.cpp @@ -122,6 +122,12 @@ unsigned int sp_gdkmodifier_to_shortcut(guint accel_key, Gdk::ModifierType gdkmo SP_SHORTCUT_SHIFT_MASK : 0 ) | ( gdkmodifier & GDK_CONTROL_MASK ? SP_SHORTCUT_CONTROL_MASK : 0 ) | + ( gdkmodifier & GDK_SUPER_MASK ? + SP_SHORTCUT_SUPER_MASK : 0 ) | + ( gdkmodifier & GDK_HYPER_MASK ? + SP_SHORTCUT_HYPER_MASK : 0 ) | + ( gdkmodifier & GDK_META_MASK ? + SP_SHORTCUT_META_MASK : 0 ) | ( gdkmodifier & GDK_MOD1_MASK ? SP_SHORTCUT_ALT_MASK : 0 ); @@ -138,6 +144,12 @@ Glib::ustring sp_shortcut_to_label(unsigned int const shortcut) { modifiers += "Shift,"; if (shortcut & SP_SHORTCUT_ALT_MASK) modifiers += "Alt,"; + if (shortcut & SP_SHORTCUT_SUPER_MASK) + modifiers += "Super,"; + if (shortcut & SP_SHORTCUT_HYPER_MASK) + modifiers += "Hyper,"; + if (shortcut & SP_SHORTCUT_META_MASK) + modifiers += "Meta,"; if(modifiers.length() > 0 && modifiers.find(',',modifiers.length()-1)!=modifiers.npos) { @@ -607,6 +619,12 @@ static void read_shortcuts_file(char const *filename, bool const is_user_set) { modifiers |= SP_SHORTCUT_SHIFT_MASK; } else if (!strcmp(mod, "Alt")) { modifiers |= SP_SHORTCUT_ALT_MASK; + } else if (!strcmp(mod, "Super")) { + modifiers |= SP_SHORTCUT_SUPER_MASK; + } else if (!strcmp(mod, "Hyper")) { + modifiers |= SP_SHORTCUT_HYPER_MASK; + } else if (!strcmp(mod, "Meta")) { + modifiers |= SP_SHORTCUT_META_MASK; } else { g_warning("Unknown modifier %s for %s", mod, verb_name); } @@ -694,6 +712,9 @@ sp_shortcut_get_modifiers(unsigned int const shortcut) return static_cast<GdkModifierType>( ((shortcut & SP_SHORTCUT_SHIFT_MASK) ? GDK_SHIFT_MASK : 0) | ((shortcut & SP_SHORTCUT_CONTROL_MASK) ? GDK_CONTROL_MASK : 0) | + ((shortcut & SP_SHORTCUT_SUPER_MASK) ? GDK_SUPER_MASK : 0) | + ((shortcut & SP_SHORTCUT_HYPER_MASK) ? GDK_HYPER_MASK : 0) | + ((shortcut & SP_SHORTCUT_META_MASK) ? GDK_META_MASK : 0) | ((shortcut & SP_SHORTCUT_ALT_MASK) ? GDK_MOD1_MASK : 0) ); } diff --git a/src/shortcuts.h b/src/shortcuts.h index f24a82603..fb36dfd11 100644 --- a/src/shortcuts.h +++ b/src/shortcuts.h @@ -12,6 +12,8 @@ #include <vector> #include <gdkmm/types.h> +#include <gdk/gdktypes.h> + typedef struct _GtkAccelGroup GtkAccelGroup; typedef struct _GtkWidget GtkWidget; @@ -27,10 +29,13 @@ namespace Inkscape { /* We define high-bit mask for packing into single int */ -#define SP_SHORTCUT_SHIFT_MASK (1 << 24) -#define SP_SHORTCUT_CONTROL_MASK (1 << 25) -#define SP_SHORTCUT_ALT_MASK (1 << 26) -#define SP_SHORTCUT_MODIFIER_MASK (SP_SHORTCUT_SHIFT_MASK|SP_SHORTCUT_CONTROL_MASK|SP_SHORTCUT_ALT_MASK) +#define SP_SHORTCUT_SHIFT_MASK GDK_MODIFIER_RESERVED_20_MASK +#define SP_SHORTCUT_CONTROL_MASK GDK_MODIFIER_RESERVED_21_MASK +#define SP_SHORTCUT_ALT_MASK GDK_MODIFIER_RESERVED_22_MASK +#define SP_SHORTCUT_SUPER_MASK GDK_MODIFIER_RESERVED_23_MASK +#define SP_SHORTCUT_HYPER_MASK GDK_MODIFIER_RESERVED_24_MASK +#define SP_SHORTCUT_META_MASK GDK_MODIFIER_RESERVED_25_MASK +#define SP_SHORTCUT_MODIFIER_MASK (SP_SHORTCUT_SHIFT_MASK|SP_SHORTCUT_CONTROL_MASK|SP_SHORTCUT_ALT_MASK|SP_SHORTCUT_SUPER_MASK|SP_SHORTCUT_HYPER_MASK|SP_SHORTCUT_META_MASK) /* Returns true if action was performed */ diff --git a/src/ui/CMakeLists.txt b/src/ui/CMakeLists.txt index c253daed9..b6b88e50b 100644 --- a/src/ui/CMakeLists.txt +++ b/src/ui/CMakeLists.txt @@ -72,6 +72,7 @@ set(ui_SRC dialog/filedialog.cpp dialog/filedialogimpl-gtkmm.cpp dialog/fill-and-stroke.cpp + dialog/filter-editor.cpp dialog/filter-effects-dialog.cpp dialog/find.cpp dialog/floating-behavior.cpp @@ -216,6 +217,7 @@ set(ui_SRC dialog/filedialogimpl-gtkmm.h dialog/filedialogimpl-win32.h dialog/fill-and-stroke.h + dialog/filter-editor.h dialog/filter-effects-dialog.h dialog/find.h dialog/floating-behavior.h diff --git a/src/ui/dialog/dialog-manager.cpp b/src/ui/dialog/dialog-manager.cpp index 01cd9dd0f..c5392864d 100644 --- a/src/ui/dialog/dialog-manager.cpp +++ b/src/ui/dialog/dialog-manager.cpp @@ -26,6 +26,7 @@ #include "ui/dialog/extension-editor.h" #include "ui/dialog/fill-and-stroke.h" #include "ui/dialog/filter-effects-dialog.h" +#include "ui/dialog/filter-editor.h" #include "ui/dialog/find.h" #include "ui/dialog/glyphs.h" #include "ui/dialog/inkscape-preferences.h" @@ -113,6 +114,7 @@ DialogManager::DialogManager() { registerFactory("ExtensionEditor", &create<ExtensionEditor, FloatingBehavior>); registerFactory("FillAndStroke", &create<FillAndStroke, FloatingBehavior>); registerFactory("FilterEffectsDialog", &create<FilterEffectsDialog, FloatingBehavior>); + registerFactory("FilterEditorDialog", &create<FilterEditorDialog, FloatingBehavior>); registerFactory("Find", &create<Find, FloatingBehavior>); registerFactory("Glyphs", &create<GlyphsPanel, FloatingBehavior>); registerFactory("IconPreviewPanel", &create<IconPreviewPanel, FloatingBehavior>); @@ -155,6 +157,7 @@ DialogManager::DialogManager() { registerFactory("ExtensionEditor", &create<ExtensionEditor, DockBehavior>); registerFactory("FillAndStroke", &create<FillAndStroke, DockBehavior>); registerFactory("FilterEffectsDialog", &create<FilterEffectsDialog, DockBehavior>); + registerFactory("FilterEditorDialog", &create<FilterEditorDialog, DockBehavior>); registerFactory("Find", &create<Find, DockBehavior>); registerFactory("Glyphs", &create<GlyphsPanel, DockBehavior>); registerFactory("IconPreviewPanel", &create<IconPreviewPanel, DockBehavior>); diff --git a/src/ui/dialog/filter-editor.cpp b/src/ui/dialog/filter-editor.cpp new file mode 100644 index 000000000..730f8175c --- /dev/null +++ b/src/ui/dialog/filter-editor.cpp @@ -0,0 +1,128 @@ +/** + * @file + * Filter Effects dialog. + */ +/* Authors: + * Marc Jeanmougin + * + * Copyright (C) 2017 Authors + * + * Released under GNU GPL. Read the file 'COPYING' for more information. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "dialog-manager.h" + +#include <gdkmm/display.h> +#if GTK_CHECK_VERSION(3, 20, 0) +# include <gdkmm/seat.h> +#else +# include <gdkmm/devicemanager.h> +#endif + +#include "ui/widget/spinbutton.h" + +#include <glibmm/i18n.h> +#include <glibmm/stringutils.h> +#include <glibmm/main.h> +#include <glibmm/convert.h> +#include <glibmm/error.h> + +#include "desktop.h" + +#include "document.h" +#include "document-undo.h" +#include "filter-chemistry.h" +#include "filter-editor.h" +#include "filter-enums.h" +#include "inkscape.h" +#include "filters/blend.h" +#include "filters/colormatrix.h" +#include "filters/componenttransfer.h" +#include "filters/componenttransfer-funcnode.h" +#include "filters/convolvematrix.h" +#include "filters/distantlight.h" +#include "filters/merge.h" +#include "filters/mergenode.h" +#include "filters/pointlight.h" +#include "filters/spotlight.h" + +#include "style.h" +#include "svg/svg-color.h" +#include "ui/dialog/filedialog.h" +#include "verbs.h" + +#include "io/sys.h" +#include "io/resource.h" +#include "selection-chemistry.h" + +#include <string> + +#include <gtkmm.h> + +using namespace Inkscape::Filters; +using namespace Inkscape::IO::Resource; +namespace Inkscape { +namespace UI { +namespace Dialog { + +FilterEditorDialog::FilterEditorDialog() : UI::Widget::Panel("", "/dialogs/filtereffects", SP_VERB_DIALOG_FILTER_EFFECTS) +{ + + const std::string req_widgets[] = {"FilterEditor", "FilterList", "FilterFERX", "FilterFERY", "FilterFERH", "FilterFERW", "FilterPreview", "FilterPrimitiveDescImage", "FilterPrimitiveList", "FilterPrimitiveDescText", "FilterPrimitiveAdd"}; + Glib::ustring gladefile = get_filename(UIS, "filter-editor.glade"); + try { + builder = Gtk::Builder::create_from_file(gladefile); + } catch(const Glib::Error& ex) { + g_warning("Glade file loading failed for filter effect dialog"); + return; + } + + Gtk::Object* test; + for(std::string w:req_widgets) { + builder->get_widget(w,test); + if(!test){ + g_warning("Required widget %s does not exist", w); + return; + } + } + + builder->get_widget("FilterEditor", FilterEditor); + _getContents()->add(*FilterEditor); + +//test + Gtk::ComboBox *OptionList; + builder->get_widget("OptionList",OptionList); + FilterStore = builder->get_object("FilterStore"); + Glib::RefPtr<Gtk::ListStore> fs = Glib::RefPtr<Gtk::ListStore>::cast_static(FilterStore); + Gtk::TreeModel::Row row = *(fs->append()); + + + + + +} +FilterEditorDialog::~FilterEditorDialog(){} + + + + + + +} // Never put these namespaces together unless you are using gcc 6+ +} +} // P.S. This is for Inkscape::UI::Dialog + +/* + Local Variables: + mode:c++ + c-file-style:"stroustrup" + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) + indent-tabs-mode:nil + fill-column:99 + End: +*/ +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 : diff --git a/src/ui/dialog/filter-editor.h b/src/ui/dialog/filter-editor.h new file mode 100644 index 000000000..6acb83f02 --- /dev/null +++ b/src/ui/dialog/filter-editor.h @@ -0,0 +1,53 @@ +/** @file + * @brief Filter Editor dialog + */ +/* Authors: + * Marc Jeanmougin + * + * Copyright (C) 2017 Authors + * + * Released under GNU GPL. Read the file 'COPYING' for more information. + */ + +#ifndef INKSCAPE_UI_DIALOG_FILTER_EDITOR_H +#define INKSCAPE_UI_DIALOG_FILTER_EDITOR_H + +#include "attributes.h" +#include "ui/widget/panel.h" +#include "sp-filter.h" + +#include <gtkmm/notebook.h> +#include <gtkmm/sizegroup.h> +#include <gtkmm/builder.h> +#include <gtkmm/comboboxtext.h> +#include <gtkmm/combobox.h> +#include <gtkmm/drawingarea.h> +#include <gtkmm/liststore.h> + +#include <gtkmm/paned.h> +#include <gtkmm/scrolledwindow.h> +#include <gtkmm/treeview.h> + +namespace Inkscape { +namespace UI { +namespace Dialog { + +class FilterEditorDialog : public UI::Widget::Panel { +public: + + FilterEditorDialog(); + ~FilterEditorDialog(); + + static FilterEditorDialog &getInstance() + { return *new FilterEditorDialog(); } + +// void set_attrs_locked(const bool); +private: + Glib::RefPtr<Gtk::Builder> builder; + Glib::RefPtr<Glib::Object> FilterStore; + Gtk::Box *FilterEditor; +}; +} +} +} +#endif diff --git a/src/ui/dialog/filter-effects-dialog.h b/src/ui/dialog/filter-effects-dialog.h index 32fabb741..e410a88f9 100644 --- a/src/ui/dialog/filter-effects-dialog.h +++ b/src/ui/dialog/filter-effects-dialog.h @@ -132,11 +132,7 @@ private: Gtk::Button _add; Glib::RefPtr<Gtk::Menu> _menu; sigc::signal<void> _signal_filter_changed; -#if __cplusplus <= 199711L - std::auto_ptr<Inkscape::XML::SignalObserver> _observer; -#else std::unique_ptr<Inkscape::XML::SignalObserver> _observer; -#endif }; class PrimitiveColumns : public Gtk::TreeModel::ColumnRecord @@ -244,11 +240,7 @@ private: sigc::connection _scroll_connection; int _autoscroll_y; int _autoscroll_x; -#if __cplusplus <= 199711L - std::auto_ptr<Inkscape::XML::SignalObserver> _observer; -#else std::unique_ptr<Inkscape::XML::SignalObserver> _observer; -#endif int _input_type_width; int _input_type_height; }; |
