diff --git a/src/ui/dialog/find.h b/src/ui/dialog/find.h
index 08a14570755ea84f83436a88441d99813f708008..fb52b2c8e2ebc19a730af7ae1a7eff0acffb7d2b 100644 (file)
--- a/src/ui/dialog/find.h
+++ b/src/ui/dialog/find.h
#ifndef INKSCAPE_UI_DIALOG_FIND_H
#define INKSCAPE_UI_DIALOG_FIND_H
-#include <gtkmm/notebook.h>
#include <glibmm/i18n.h>
#include "dialog.h"
-#include "ui/widget/notebook-page.h"
#include "ui/widget/button.h"
-#include "ui/widget/entry.h"
+#include "ui/widget/entry.h"
+#include <gtkmm/separator.h>
+
+#include "message-stack.h"
+#include "helper/window.h"
+#include "macros.h"
+#include "inkscape.h"
+#include "document.h"
+#include "desktop.h"
+#include "selection.h"
+#include "desktop-handles.h"
+
+#include "dialogs/dialog-events.h"
+#include "prefs-utils.h"
+#include "verbs.h"
+#include "interface.h"
+#include "sp-text.h"
+#include "sp-flowtext.h"
+#include "text-editing.h"
+#include "sp-tspan.h"
+#include "selection-chemistry.h"
+#include "sp-defs.h"
+#include "sp-rect.h"
+#include "sp-ellipse.h"
+#include "sp-star.h"
+#include "sp-spiral.h"
+#include "sp-path.h"
+#include "sp-line.h"
+#include "sp-polyline.h"
+#include "sp-item-group.h"
+#include "sp-use.h"
+#include "sp-image.h"
+#include "sp-offset.h"
+#include <xml/repr.h>
using namespace Inkscape::UI::Widget;
class Find : public Dialog {
public:
- Find();
+ Find(Behavior::BehaviorFactory behavior_factory);
virtual ~Find();
- static Find *create() { return new Find(); }
+ static Find *create(Behavior::BehaviorFactory behavior_factory)
+ { return new Find(behavior_factory); }
protected:
// Widgets:
CheckButton _check_groups;
CheckButton _check_clones;
CheckButton _check_images;
- CheckButton _check_offsets;
+ CheckButton _check_offsets;
+
+ // Button-click handlers
+ void onClear();
+ void onFind();
+ void onToggleAlltypes();
+ void onToggleShapes();
+
+
+ // onFind helper functions
+ bool item_id_match (SPItem *item, const gchar *id, bool exact);
+ bool item_text_match (SPItem *item, const gchar *text, bool exact);
+ bool item_style_match (SPItem *item, const gchar *text, bool exact);
+ bool item_attr_match (SPItem *item, const gchar *name, bool exact);
+ GSList * filter_fields (GSList *l, bool exact);
+ bool item_type_match (SPItem *item);
+ GSList * filter_types (GSList *l);
+ GSList * filter_list (GSList *l, bool exact);
+ GSList * all_items (SPObject *r, GSList *l, bool hidden, bool locked);
+ GSList * all_selection_items (Inkscape::Selection *s, GSList *l, SPObject *ancestor, bool hidden, bool locked);
+ void squeeze_window();
private:
Find(Find const &d);