From 54fa1347a2ead6cc79a679a97b39addc1feaea38 Mon Sep 17 00:00:00 2001 From: Marc Jeanmougin Date: Thu, 29 Jun 2017 15:28:06 +0200 Subject: glade WIP --- src/ui/dialog/filter-editor.cpp | 61 +++++++++++++++++++++++++---------------- src/ui/dialog/filter-editor.h | 14 ++-------- 2 files changed, 41 insertions(+), 34 deletions(-) (limited to 'src') diff --git a/src/ui/dialog/filter-editor.cpp b/src/ui/dialog/filter-editor.cpp index bf4fbdf99..31723506d 100644 --- a/src/ui/dialog/filter-editor.cpp +++ b/src/ui/dialog/filter-editor.cpp @@ -29,6 +29,7 @@ #include #include #include +#include #include "desktop.h" @@ -55,39 +56,53 @@ #include "verbs.h" #include "io/sys.h" +#include "io/resource.h" #include "selection-chemistry.h" -#include -#include -#include +#include -using namespace Inkscape::Filters; +#include +using namespace Inkscape::Filters; +using namespace Inkscape::IO::Resource; namespace Inkscape::UI::Dialog { -FilterEditorDialog::FilterEditorDialog() { +FilterEditorDialog::FilterEditorDialog() : UI::Widget::Panel("", "/dialogs/filtereffects", SP_VERB_DIALOG_FILTER_EFFECTS) +{ - builder = Gtk::Builder::create_from_file("/home/mc/Desktop/test.glade"); - builder->get_widget("FilterEditor", FilterEditor); - builder->get_widget("FilterList", FilterList); - builder->get_widget("FilterFERX", FilterFERX); - builder->get_widget("FilterFERY", FilterFERY); - builder->get_widget("FilterFERH", FilterFERH); - builder->get_widget("FilterFERW", FilterFERW); - builder->get_widget("FilterPreview",FilterPreview); - builder->get_widget("FilterStore", FilterStore); - builder->get_widget("FilterPrimitiveDescImage", FilterPrimitiveDescImage); - //builder->get_widget("FilterPrimitiveParameters",FilterPrimitiveParameters); - builder->get_widget("FilterPrimitiveDescText", FilterPrimitiveDescText); - builder->get_widget("FilterPrimitiveList", FilterPrimitiveList); - builder->get_widget("FilterPrimitiveAdd", FilterPrimitiveAdd); - if (!(FilterList && FilterFERX && FilterFERY && FilterFERH && FilterFERW && FilterPreview - && FilterStore && FilterPrimitiveDescImage && FilterPrimitiveDescText && FilterPrimitiveList - && FilterPrimitiveAdd )) { - g_warning("Some widget does not exist!"); + 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 fs = Glib::RefPtr::cast_static(FilterStore); + Gtk::TreeModel::Row row = *(fs->append()); + row[3]=OptionList; + + + + + } FilterEditorDialog::~FilterEditorDialog(){} diff --git a/src/ui/dialog/filter-editor.h b/src/ui/dialog/filter-editor.h index 1ca4e1760..6acb83f02 100644 --- a/src/ui/dialog/filter-editor.h +++ b/src/ui/dialog/filter-editor.h @@ -9,8 +9,8 @@ * Released under GNU GPL. Read the file 'COPYING' for more information. */ -#ifndef INKSCAPE_UI_DIALOG_FILTER_EFFECTS_H -#define INKSCAPE_UI_DIALOG_FILTER_EFFECTS_H +#ifndef INKSCAPE_UI_DIALOG_FILTER_EDITOR_H +#define INKSCAPE_UI_DIALOG_FILTER_EDITOR_H #include "attributes.h" #include "ui/widget/panel.h" @@ -44,15 +44,7 @@ public: // void set_attrs_locked(const bool); private: Glib::RefPtr builder; - Gtk::ComboBoxText *FilterList; - Gtk::SpinButton *FilterFERX, *FilterFERY, *FilterFERW, *FilterFERH; - Gtk::DrawingArea *FilterPreview; - Gtk::Image *FilterPrimitiveDescImage; - Gtk::Box *FilterPrimitiveParameters; - Gtk::Label *FilterPrimitiveDescText; - Gtk::ComboBox *FilterPrimitiveList; - Gtk::Button *FilterPrimitiveAdd; - Gtk::ListStore *FilterStore; + Glib::RefPtr FilterStore; Gtk::Box *FilterEditor; }; } -- cgit v1.2.3