summaryrefslogtreecommitdiffstats
path: root/src/ui
diff options
context:
space:
mode:
authorAlexander Valavanis <valavanisalex@gmail.com>2017-06-29 16:13:40 +0000
committerAlexander Valavanis <valavanisalex@gmail.com>2017-06-29 16:13:40 +0000
commitad826f2d8da43745b3f01f72616439102ad85b32 (patch)
treefaead64e9df74ecb395b557dfe505536884c0ae3 /src/ui
parentaboutbox: Gtk3 fixes (diff)
parentFilter editor fix for gcc 5 (diff)
downloadinkscape-ad826f2d8da43745b3f01f72616439102ad85b32.tar.gz
inkscape-ad826f2d8da43745b3f01f72616439102ad85b32.zip
Merge branch 'master' of gitlab.com:inkscape/inkscape
Diffstat (limited to 'src/ui')
-rw-r--r--src/ui/CMakeLists.txt2
-rw-r--r--src/ui/dialog/dialog-manager.cpp3
-rw-r--r--src/ui/dialog/filter-editor.cpp128
-rw-r--r--src/ui/dialog/filter-editor.h53
-rw-r--r--src/ui/dialog/filter-effects-dialog.h8
5 files changed, 186 insertions, 8 deletions
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;
};