add new sigc++2 directory
[ardour.git] / libs / gtkmm2 / gtk / gtkmm / stock.cc
1 // -*- c++ -*-
2 /* $Id$ */
3
4 /* Copyright (C) 2002 The gtkmm Development Team
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Library General Public
8  * License as published by the Free Software Foundation; either
9  * version 2 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Library General Public License for more details.
15  *
16  * You should have received a copy of the GNU Library General Public
17  * License along with this library; if not, write to the Free
18  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19  */
20
21 #include <gtkmm/stock.h>
22 #include <gtkmm/stockitem.h>
23 #include <gtk/gtkstock.h>
24
25 // Get rid of macro DELETE (from winnt.h).  We have some macro
26 // shadowing magic in stock.h, but it's safer to get rid of it
27 // entirely in the .cc file.
28 #undef DELETE
29
30
31 namespace Gtk
32 {
33
34 namespace Stock
35 {
36
37 const Gtk::BuiltinStockID DIALOG_AUTHENTICATION = { GTK_STOCK_DIALOG_AUTHENTICATION };
38 const Gtk::BuiltinStockID DIALOG_INFO = { GTK_STOCK_DIALOG_INFO };
39 const Gtk::BuiltinStockID DIALOG_WARNING = { GTK_STOCK_DIALOG_WARNING };
40 const Gtk::BuiltinStockID DIALOG_ERROR = { GTK_STOCK_DIALOG_ERROR };
41 const Gtk::BuiltinStockID DIALOG_QUESTION  = { GTK_STOCK_DIALOG_QUESTION };
42 const Gtk::BuiltinStockID DND = { GTK_STOCK_DND };
43 const Gtk::BuiltinStockID DND_MULTIPLE = { GTK_STOCK_DND_MULTIPLE };
44 const Gtk::BuiltinStockID ABOUT = { GTK_STOCK_ABOUT };
45 const Gtk::BuiltinStockID ADD = { GTK_STOCK_ADD };
46 const Gtk::BuiltinStockID APPLY= { GTK_STOCK_APPLY };
47 const Gtk::BuiltinStockID BOLD= { GTK_STOCK_BOLD };
48 const Gtk::BuiltinStockID CANCEL = { GTK_STOCK_CANCEL };
49 const Gtk::BuiltinStockID CDROM = { GTK_STOCK_CDROM };
50 const Gtk::BuiltinStockID CLEAR = { GTK_STOCK_CLEAR };
51 const Gtk::BuiltinStockID CLOSE = { GTK_STOCK_CLOSE };
52 const Gtk::BuiltinStockID COLOR_PICKER = { GTK_STOCK_COLOR_PICKER };
53 const Gtk::BuiltinStockID CONVERT = { GTK_STOCK_CONVERT };
54 const Gtk::BuiltinStockID CONNECT = { GTK_STOCK_CONNECT };
55 const Gtk::BuiltinStockID COPY = { GTK_STOCK_COPY };
56 const Gtk::BuiltinStockID CUT = { GTK_STOCK_CUT };
57 const Gtk::BuiltinStockID DELETE = { GTK_STOCK_DELETE };
58 const Gtk::BuiltinStockID DIRECTORY = { GTK_STOCK_DIRECTORY };
59 const Gtk::BuiltinStockID DISCARD = { GTK_STOCK_DISCARD };
60 const Gtk::BuiltinStockID DISCONNECT = { GTK_STOCK_DISCONNECT };
61 const Gtk::BuiltinStockID EDIT = { GTK_STOCK_EDIT };
62 const Gtk::BuiltinStockID EXECUTE = { GTK_STOCK_EXECUTE };
63 const Gtk::BuiltinStockID FILE = { GTK_STOCK_FILE };
64 const Gtk::BuiltinStockID FIND = { GTK_STOCK_FIND };
65 const Gtk::BuiltinStockID FIND_AND_REPLACE = { GTK_STOCK_FIND_AND_REPLACE };
66 const Gtk::BuiltinStockID FLOPPY = { GTK_STOCK_FLOPPY };
67 const Gtk::BuiltinStockID FULLSCREEN = { GTK_STOCK_FULLSCREEN };
68 const Gtk::BuiltinStockID LEAVE_FULLSCREEN = { GTK_STOCK_LEAVE_FULLSCREEN };
69 const Gtk::BuiltinStockID GOTO_BOTTOM = { GTK_STOCK_GOTO_BOTTOM };
70 const Gtk::BuiltinStockID GOTO_FIRST = { GTK_STOCK_GOTO_FIRST };
71 const Gtk::BuiltinStockID GOTO_LAST = { GTK_STOCK_GOTO_LAST };
72 const Gtk::BuiltinStockID GOTO_TOP = { GTK_STOCK_GOTO_TOP };
73 const Gtk::BuiltinStockID GO_BACK = { GTK_STOCK_GO_BACK };
74 const Gtk::BuiltinStockID GO_DOWN = { GTK_STOCK_GO_DOWN };
75 const Gtk::BuiltinStockID GO_FORWARD = { GTK_STOCK_GO_FORWARD };
76 const Gtk::BuiltinStockID GO_UP = { GTK_STOCK_GO_UP };
77 const Gtk::BuiltinStockID HARDDISK = { GTK_STOCK_HARDDISK };
78 const Gtk::BuiltinStockID HELP = { GTK_STOCK_HELP };
79 const Gtk::BuiltinStockID HOME = { GTK_STOCK_HOME };
80 const Gtk::BuiltinStockID INDEX = { GTK_STOCK_INDEX };
81 const Gtk::BuiltinStockID INFO = { GTK_STOCK_INFO };
82 const Gtk::BuiltinStockID INDENT = { GTK_STOCK_INDENT };
83 const Gtk::BuiltinStockID UNINDENT = { GTK_STOCK_UNINDENT };
84 const Gtk::BuiltinStockID ITALIC = { GTK_STOCK_ITALIC };
85 const Gtk::BuiltinStockID JUMP_TO = { GTK_STOCK_JUMP_TO };
86 const Gtk::BuiltinStockID JUSTIFY_CENTER = { GTK_STOCK_JUSTIFY_CENTER };
87 const Gtk::BuiltinStockID JUSTIFY_FILL = { GTK_STOCK_JUSTIFY_FILL };
88 const Gtk::BuiltinStockID JUSTIFY_LEFT = { GTK_STOCK_JUSTIFY_LEFT };
89 const Gtk::BuiltinStockID JUSTIFY_RIGHT = { GTK_STOCK_JUSTIFY_RIGHT };
90 const Gtk::BuiltinStockID MISSING_IMAGE = { GTK_STOCK_MISSING_IMAGE };
91 const Gtk::BuiltinStockID MEDIA_FORWARD = { GTK_STOCK_MEDIA_FORWARD };
92 const Gtk::BuiltinStockID MEDIA_NEXT = { GTK_STOCK_MEDIA_NEXT };
93 const Gtk::BuiltinStockID MEDIA_PAUSE = { GTK_STOCK_MEDIA_PAUSE };
94 const Gtk::BuiltinStockID MEDIA_PLAY = { GTK_STOCK_MEDIA_PLAY };
95 const Gtk::BuiltinStockID MEDIA_PREVIOUS = { GTK_STOCK_MEDIA_PREVIOUS };
96 const Gtk::BuiltinStockID MEDIA_RECORD = { GTK_STOCK_MEDIA_RECORD };
97 const Gtk::BuiltinStockID MEDIA_REWIND = { GTK_STOCK_MEDIA_REWIND };
98 const Gtk::BuiltinStockID MEDIA_STOP = { GTK_STOCK_MEDIA_STOP };
99 const Gtk::BuiltinStockID NETWORK = { GTK_STOCK_NETWORK };
100 const Gtk::BuiltinStockID NEW = { GTK_STOCK_NEW };
101 const Gtk::BuiltinStockID NO = { GTK_STOCK_NO };
102 const Gtk::BuiltinStockID OK = { GTK_STOCK_OK };
103 const Gtk::BuiltinStockID OPEN = { GTK_STOCK_OPEN };
104 const Gtk::BuiltinStockID PASTE = { GTK_STOCK_PASTE };
105 const Gtk::BuiltinStockID PREFERENCES = { GTK_STOCK_PREFERENCES };
106 const Gtk::BuiltinStockID PRINT = { GTK_STOCK_PRINT };
107 const Gtk::BuiltinStockID PRINT_PREVIEW = { GTK_STOCK_PRINT_PREVIEW };
108 const Gtk::BuiltinStockID PROPERTIES = { GTK_STOCK_PROPERTIES };
109 const Gtk::BuiltinStockID QUIT = { GTK_STOCK_QUIT };
110 const Gtk::BuiltinStockID REDO = { GTK_STOCK_REDO };
111 const Gtk::BuiltinStockID REFRESH = { GTK_STOCK_REFRESH };
112 const Gtk::BuiltinStockID REMOVE = { GTK_STOCK_REMOVE };
113 const Gtk::BuiltinStockID REVERT_TO_SAVED = { GTK_STOCK_REVERT_TO_SAVED };
114 const Gtk::BuiltinStockID SAVE = { GTK_STOCK_SAVE };
115 const Gtk::BuiltinStockID SAVE_AS = { GTK_STOCK_SAVE_AS };
116 const Gtk::BuiltinStockID SELECT_ALL = { GTK_STOCK_SELECT_ALL };
117 const Gtk::BuiltinStockID SELECT_COLOR = { GTK_STOCK_SELECT_COLOR };
118 const Gtk::BuiltinStockID SELECT_FONT = { GTK_STOCK_SELECT_FONT };
119 const Gtk::BuiltinStockID SORT_ASCENDING = { GTK_STOCK_SORT_ASCENDING };
120 const Gtk::BuiltinStockID SORT_DESCENDING = { GTK_STOCK_SORT_DESCENDING };
121 const Gtk::BuiltinStockID SPELL_CHECK = { GTK_STOCK_SPELL_CHECK };
122 const Gtk::BuiltinStockID STOP = { GTK_STOCK_STOP };
123 const Gtk::BuiltinStockID STRIKETHROUGH = { GTK_STOCK_STRIKETHROUGH };
124 const Gtk::BuiltinStockID UNDELETE = { GTK_STOCK_UNDELETE };
125 const Gtk::BuiltinStockID UNDERLINE = { GTK_STOCK_UNDERLINE };
126 const Gtk::BuiltinStockID UNDO = { GTK_STOCK_UNDO };
127 const Gtk::BuiltinStockID YES = { GTK_STOCK_YES };
128 const Gtk::BuiltinStockID ZOOM_100 = { GTK_STOCK_ZOOM_100 };
129 const Gtk::BuiltinStockID ZOOM_FIT = { GTK_STOCK_ZOOM_FIT };
130 const Gtk::BuiltinStockID ZOOM_IN = { GTK_STOCK_ZOOM_IN };
131 const Gtk::BuiltinStockID ZOOM_OUT = { GTK_STOCK_ZOOM_OUT };
132
133
134 void add(const Gtk::StockItem& item)
135 {
136   gtk_stock_add(item.gobj(), 1);
137 }
138
139 bool lookup(const Gtk::StockID& stock_id, Gtk::StockItem& item)
140 {
141   return Gtk::StockItem::lookup(stock_id, item);
142 }
143
144 bool lookup(const Gtk::StockID& stock_id, Gtk::IconSet& iconset)
145 {
146   iconset = Gtk::IconSet::lookup_default(stock_id);
147   return (iconset.gobj() != 0);
148 }
149
150 bool lookup(const Gtk::StockID& stock_id, Gtk::IconSize size, Gtk::Image& image)
151 {
152   image.set(stock_id, size);
153   return (image.gobj() != 0);
154 }
155
156 Glib::SListHandle<Gtk::StockID,Gtk::StockID_Traits> get_ids()
157 {
158   return Glib::SListHandle<Gtk::StockID,Gtk::StockID_Traits>(
159       gtk_stock_list_ids(), Glib::OWNERSHIP_DEEP);
160 }
161
162 } // namespace Stock
163
164 } // namespace Gtk
165