1 #ifndef __INK_EXTENSION_PARAMENUM_H__\r
2 #define __INK_EXTENSION_PARAMENUM_H__\r
3 \r
4 /** \file\r
5 * Enumeration parameter for extensions.\r
6 */\r
7 \r
8 /*\r
9 * Author:\r
10 * Johan Engelen <johan@shouraizou.nl>\r
11 *\r
12 * Copyright (C) 2006 Author\r
13 *\r
14 * Released under GNU GPL, read the file 'COPYING' for more information\r
15 */\r
16 \r
17 #include <gtkmm/widget.h>\r
18 \r
19 #include "xml/document.h"\r
20 #include "extension-forward.h"\r
21 \r
22 #include "parameter.h"\r
23 \r
24 namespace Inkscape {\r
25 namespace Extension {\r
26 \r
27 \r
28 \r
29 // \brief A class to represent a notebookparameter of an extension\r
30 class ParamComboBox : public Parameter {\r
31 private:\r
32 /** \brief Internal value. This should point to a string that has\r
33 been allocated in memory. And should be free'd. \r
34 It is the value of the current selected string */\r
35 gchar * _value;\r
36 \r
37 GSList * choices; /**< A table to store the choice strings */\r
38 \r
39 public:\r
40 ParamComboBox(const gchar * name, const gchar * guitext, const gchar * desc, const Parameter::_scope_t scope, Inkscape::Extension::Extension * ext, Inkscape::XML::Node * xml);\r
41 ~ParamComboBox(void);\r
42 Gtk::Widget * get_widget(SPDocument * doc, Inkscape::XML::Node * node);\r
43 Glib::ustring * string (void);\r
44 \r
45 const gchar * get (const SPDocument * doc, const Inkscape::XML::Node * node) { return _value; }\r
46 const gchar * set (const gchar * in, SPDocument * doc, Inkscape::XML::Node * node);\r
47 }; /* class ParamComboBox */\r
48 \r
49 \r
50 \r
51 \r
52 \r
53 } /* namespace Extension */\r
54 } /* namespace Inkscape */\r
55 \r
56 #endif /* __INK_EXTENSION_PARAMENUM_H__ */\r
57 \r
58 /*\r
59 Local Variables:\r
60 mode:c++\r
61 c-file-style:"stroustrup"\r
62 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))\r
63 indent-tabs-mode:nil\r
64 fill-column:99\r
65 End:\r
66 */\r
67 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :\r