glyphs.h revision 8a915294ce73ce81e8077663f5b986bb3934d12b
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh/**
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh * Glyph selector dialog.
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh */
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh/* Authors:
9dc68827cbd515262ecb8d5ae8547d9e82c72e00Jon A. Cruz * Jon A. Cruz
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh *
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh * Copyright (C) 2010 Jon A. Cruz
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh * Released under GNU GPL, read the file 'COPYING' for more information
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh */
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh#ifndef SEEN_DIALOGS_GLYPHS_H
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh#define SEEN_DIALOGS_GLYPHS_H
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh#include <gtkmm/treemodel.h>
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh#include "ui/widget/panel.h"
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh#include "ui/dialog/desktop-tracker.h"
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh
75b857d473541532819bd791105cb352c9a43214buliabyak
75b857d473541532819bd791105cb352c9a43214buliabyaknamespace Gtk {
7a7fa095a483e8b652af9f00e5169f62c84f09b9mikloshclass ComboBoxText;
7a7fa095a483e8b652af9f00e5169f62c84f09b9mikloshclass Entry;
7a7fa095a483e8b652af9f00e5169f62c84f09b9mikloshclass IconView;
7a7fa095a483e8b652af9f00e5169f62c84f09b9mikloshclass Label;
7a7fa095a483e8b652af9f00e5169f62c84f09b9mikloshclass ListStore;
3711b3e25395437ee0a09dbbb2a76d999c4ef322miklosh}
3711b3e25395437ee0a09dbbb2a76d999c4ef322miklosh
7a7fa095a483e8b652af9f00e5169f62c84f09b9mikloshclass SPFontSelector;
7a7fa095a483e8b652af9f00e5169f62c84f09b9mikloshclass font_instance;
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh
7a7fa095a483e8b652af9f00e5169f62c84f09b9mikloshnamespace Inkscape {
7a7fa095a483e8b652af9f00e5169f62c84f09b9mikloshnamespace UI {
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh
7a7fa095a483e8b652af9f00e5169f62c84f09b9mikloshclass PreviewHolder;
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh
7a7fa095a483e8b652af9f00e5169f62c84f09b9mikloshnamespace Dialog {
3711b3e25395437ee0a09dbbb2a76d999c4ef322miklosh
3711b3e25395437ee0a09dbbb2a76d999c4ef322mikloshclass GlyphColumns;
b5b35fce2e3df933e5223ef6645d814eacf51cfamiklosh
3711b3e25395437ee0a09dbbb2a76d999c4ef322miklosh/**
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh * A panel that displays character glyphs.
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh */
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh
3711b3e25395437ee0a09dbbb2a76d999c4ef322mikloshclass GlyphsPanel : public Inkscape::UI::Widget::Panel
3711b3e25395437ee0a09dbbb2a76d999c4ef322miklosh{
dc4f69a188c203f2fdc65f22d0d57904a8c52dd7mikloshpublic:
3711b3e25395437ee0a09dbbb2a76d999c4ef322miklosh GlyphsPanel();
3711b3e25395437ee0a09dbbb2a76d999c4ef322miklosh virtual ~GlyphsPanel();
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh static GlyphsPanel& getInstance();
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh virtual void setDesktop(SPDesktop *desktop);
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh
3711b3e25395437ee0a09dbbb2a76d999c4ef322mikloshprotected:
3711b3e25395437ee0a09dbbb2a76d999c4ef322miklosh
3711b3e25395437ee0a09dbbb2a76d999c4ef322mikloshprivate:
3711b3e25395437ee0a09dbbb2a76d999c4ef322miklosh GlyphsPanel(GlyphsPanel const &); // no copy
3711b3e25395437ee0a09dbbb2a76d999c4ef322miklosh GlyphsPanel &operator=(GlyphsPanel const &); // no assign
f9325af537ca5517eb50ef95f432a3204616f6b3apenner
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh static GlyphColumns *getColumns();
c53f16f52840e8c0f2be9c1cc3af633c0ba1552emiklosh
c53f16f52840e8c0f2be9c1cc3af633c0ba1552emiklosh static void fontChangeCB(SPFontSelector *fontsel, font_instance *font, GlyphsPanel *self);
c53f16f52840e8c0f2be9c1cc3af633c0ba1552emiklosh
c53f16f52840e8c0f2be9c1cc3af633c0ba1552emiklosh void rebuild();
c53f16f52840e8c0f2be9c1cc3af633c0ba1552emiklosh
c53f16f52840e8c0f2be9c1cc3af633c0ba1552emiklosh void glyphActivated(Gtk::TreeModel::Path const & path);
c53f16f52840e8c0f2be9c1cc3af633c0ba1552emiklosh void glyphSelectionChanged();
c53f16f52840e8c0f2be9c1cc3af633c0ba1552emiklosh void setTargetDesktop(SPDesktop *desktop);
c53f16f52840e8c0f2be9c1cc3af633c0ba1552emiklosh
c53f16f52840e8c0f2be9c1cc3af633c0ba1552emiklosh
c53f16f52840e8c0f2be9c1cc3af633c0ba1552emiklosh Glib::RefPtr<Gtk::ListStore> store;
c53f16f52840e8c0f2be9c1cc3af633c0ba1552emiklosh Gtk::IconView *iconView;
c53f16f52840e8c0f2be9c1cc3af633c0ba1552emiklosh Gtk::Entry *entry;
c53f16f52840e8c0f2be9c1cc3af633c0ba1552emiklosh Gtk::Label *label;
c53f16f52840e8c0f2be9c1cc3af633c0ba1552emiklosh#if GLIB_CHECK_VERSION(2,14,0)
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh Gtk::ComboBoxText *scriptCombo;
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh#endif //GLIB_CHECK_VERSION(2,14,0)
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh SPFontSelector *fsel;
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh SPDesktop *targetDesktop;
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh DesktopTracker deskTrack;
9dc68827cbd515262ecb8d5ae8547d9e82c72e00Jon A. Cruz sigc::connection iconActiveConn;
9dc68827cbd515262ecb8d5ae8547d9e82c72e00Jon A. Cruz sigc::connection iconSelectConn;
1cda9431ef400135f5e1bd899a94b921bdad0eafmiklosh sigc::connection scriptSelectConn;
3711b3e25395437ee0a09dbbb2a76d999c4ef322miklosh sigc::connection desktopChangeConn;
68664e00e2372534b4df2fdc5f54f836bafece18miklosh};
dc4f69a188c203f2fdc65f22d0d57904a8c52dd7miklosh
9dc68827cbd515262ecb8d5ae8547d9e82c72e00Jon A. Cruz
3711b3e25395437ee0a09dbbb2a76d999c4ef322miklosh} // namespace Dialogs
a4d12a5147f3d1d6b568a326e39ef5dca384248dmiklosh} // namespace UI
1667116521643e2475184b048e0abb77a2aa9735miklosh} // namespace Inkscape
cb814cb0df20053ca3ef16ce55da474435daf045miklosh
cb814cb0df20053ca3ef16ce55da474435daf045miklosh#endif // SEEN_DIALOGS_GLYPHS_H
cb814cb0df20053ca3ef16ce55da474435daf045miklosh/*
cb814cb0df20053ca3ef16ce55da474435daf045miklosh Local Variables:
75b857d473541532819bd791105cb352c9a43214buliabyak mode:c++
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh c-file-style:"stroustrup"
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
7a7fa095a483e8b652af9f00e5169f62c84f09b9miklosh indent-tabs-mode:nil
1cda9431ef400135f5e1bd899a94b921bdad0eafmiklosh fill-column:99
3711b3e25395437ee0a09dbbb2a76d999c4ef322miklosh End:
68664e00e2372534b4df2fdc5f54f836bafece18miklosh*/
dc4f69a188c203f2fdc65f22d0d57904a8c52dd7miklosh// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :
3711b3e25395437ee0a09dbbb2a76d999c4ef322miklosh