summaryrefslogtreecommitdiffstats
path: root/src/ui/dialog/cssdialog.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/dialog/cssdialog.h')
-rw-r--r--src/ui/dialog/cssdialog.h136
1 files changed, 0 insertions, 136 deletions
diff --git a/src/ui/dialog/cssdialog.h b/src/ui/dialog/cssdialog.h
deleted file mode 100644
index 6c5a0fe4c..000000000
--- a/src/ui/dialog/cssdialog.h
+++ /dev/null
@@ -1,136 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later
-/** @file
- * @brief A dialog for CSS selectors
- */
-/* Authors:
- * Kamalpreet Kaur Grewal
- * Tavmjong Bah
- *
- * Copyright (C) Kamalpreet Kaur Grewal 2016 <grewalkamal005@gmail.com>
- * Copyright (C) Tavmjong Bah 2017 <tavmjong@free.fr>
- *
- * Released under GNU GPL v2+, read the file 'COPYING' for more information.
- */
-
-#ifndef SEEN_UI_DIALOGS_CSSDIALOG_H
-#define SEEN_UI_DIALOGS_CSSDIALOG_H
-
-#include "desktop.h"
-#include "message.h"
-
-#include <glibmm/regex.h>
-#include <gtkmm/dialog.h>
-#include <gtkmm/liststore.h>
-#include <gtkmm/scrolledwindow.h>
-#include <gtkmm/treeview.h>
-#include <ui/widget/panel.h>
-
-#define CSS_DIALOG(obj) (dynamic_cast<Inkscape::UI::Dialog::CssDialog *>((Inkscape::UI::Dialog::CssDialog *)obj))
-#define REMOVE_SPACES(x) \
- x.erase(0, x.find_first_not_of(' ')); \
- x.erase(x.find_last_not_of(' ') + 1);
-
-namespace Inkscape {
-class MessageStack;
-class MessageContext;
-namespace UI {
-namespace Dialog {
-
-/**
- * @brief The CssDialog class
- * This dialog allows to add, delete and modify CSS properties for selectors
- * created in Style Dialog. Double clicking any selector in Style dialog, a list
- * of CSS properties will show up in this dialog (if any exist), else new properties
- * can be added and each new property forms a new row in this pane.
- */
-class CssDialog : public UI::Widget::Panel
-{
-public:
- CssDialog();
- ~CssDialog() override;
-
- static CssDialog &getInstance() { return *new CssDialog(); }
-
- // Data structure
- class CssColumns : public Gtk::TreeModel::ColumnRecord {
- public:
- CssColumns() {
- add(deleteButton);
- add(label);
- add(_styleSheetVal);
- add(_styleAttrVal);
- add(label_color);
- add(attr_color);
- add(attr_strike);
- add(editable);
- }
- Gtk::TreeModelColumn<bool> deleteButton;
- Gtk::TreeModelColumn<Glib::ustring> label;
- Gtk::TreeModelColumn<Glib::ustring> _styleAttrVal;
- Gtk::TreeModelColumn<Glib::ustring> _styleSheetVal;
- Gtk::TreeModelColumn<Gdk::RGBA> label_color;
- Gtk::TreeModelColumn<Gdk::RGBA> attr_color;
- Gtk::TreeModelColumn<bool> attr_strike;
- Gtk::TreeModelColumn<bool> editable;
- };
- CssColumns _cssColumns;
-
- /**
- * Status bar
- */
- std::shared_ptr<Inkscape::MessageStack> _message_stack;
- std::unique_ptr<Inkscape::MessageContext> _message_context;
-
- // TreeView
- Gtk::TreeView _treeView;
- Glib::RefPtr<Gtk::ListStore> _store;
- Gtk::TreeModel::Row _propRow;
- Gtk::TreeViewColumn *_propCol;
- Gtk::TreeViewColumn *_sheetCol;
- Gtk::TreeViewColumn *_attrCol;
- Gtk::HBox status_box;
- Gtk::Label status;
-
- /**
- * Sets the XML status bar, depending on which attr is selected.
- */
- void css_reset_context(gint css);
- static void _set_status_message(Inkscape::MessageType type, const gchar *message, GtkWidget *dialog);
-
-
- // Variables - Inkscape
- SPDesktop* _desktop;
- Inkscape::XML::Node *_repr;
-
- // Helper functions
- void setDesktop(SPDesktop* desktop) override;
- void setRepr(Inkscape::XML::Node *repr);
-
- // Parsing functions
- std::map<Glib::ustring, Glib::ustring> parseStyle(Glib::ustring style_string);
- Glib::ustring compileStyle(std::map<Glib::ustring, Glib::ustring> props);
-
- // Signal handlers
- void onAttrChanged(Inkscape::XML::Node *repr, const gchar *name, const gchar *new_value);
-
- private:
- Glib::RefPtr<Glib::Regex> r_props = Glib::Regex::create("\\s*;\\s*");
- Glib::RefPtr<Glib::Regex> r_pair = Glib::Regex::create("\\s*:\\s*");
-
- bool onPropertyCreate(GdkEventButton *event);
- void onPropertyDelete(Glib::ustring path);
- bool setStyleProperty(Glib::ustring name, Glib::ustring value);
-
- /**
- * Signal handlers
- */
- sigc::connection _message_changed_connection;
- bool _addProperty(GdkEventButton *event);
-};
-
-
-} // namespace Dialog
-} // namespace UI
-} // namespace Inkscape
-
-#endif // CSSDIALOG_H